extern int Mem_CpuSetTail(int,int,int);
void Sub_08012158(int a) __attribute__((naked));
void Sub_08012158(int a)
{
  (void)a;
  __asm__ volatile(
  ".syntax unified\n"
  ".thumb\n"
  "Sec_%=:\n"
  "push {r4, r7, lr}\n"
  "sub sp, #36\n"
  "mov r7, sp\n"
  "movs r0, #0\n"
  "str r0, [r7, #0]\n"
  "adds r0, r7, #4\n"
  "movs r1, #0\n"
  "strb r1, [r0, #0]\n"
  "movs r0, #0\n"
  "str r0, [r7, #8]\n"
  "movs r0, #0\n"
  "str r0, [r7, #12]\n"
  "adds r0, r7, #0\n"
  "adds r0, #16\n"
  "movs r1, #32\n"
  "strh r1, [r0, #0]\n"
  "movs r0, #0\n"
  "str r0, [r7, #20]\n"
  "adds r0, r7, #0\n"
  "adds r0, #24\n"
  "movs r1, #0\n"
  "strh r1, [r0, #0]\n"
  "adds r0, r7, #0\n"
  "adds r0, #26\n"
  "movs r1, #0\n"
  "strh r1, [r0, #0]\n"
  "ldr	r0, .LpQ8012224\n"
  "str r0, [r7, #28]\n"
  "ldr r0, [r7, #28]\n"
  "ldr	r1, .LpQ8012228\n"
  "str r1, [r0, #0]\n"
  "ldr r1, [r7, #28]\n"
  "adds r0, r1, #4\n"
  "ldr	r1, .LpQ801222C\n"
  "str r1, [r0, #0]\n"
  "ldr r1, [r7, #28]\n"
  "adds r0, r1, #0\n"
  "adds r0, #8\n"
  "ldr	r1, .LpQ8012230\n"
  "str r1, [r0, #0]\n"
  "ldr r0, [r7, #28]\n"
  "adds r1, r0, #0\n"
  "adds r1, #8\n"
  "ldr r0, [r1, #0]\n"
  "ldr	r0, .LpQ8012224\n"
  "str r0, [r7, #28]\n"
  "ldr r0, [r7, #28]\n"
  "ldr	r1, .LpQ8012234\n"
  "str r1, [r0, #0]\n"
  "ldr r1, [r7, #28]\n"
  "adds r0, r1, #4\n"
  "movs r1, #160\n"
  "lsls r1, r1, #19\n"
  "str r1, [r0, #0]\n"
  "ldr r1, [r7, #28]\n"
  "adds r0, r1, #0\n"
  "adds r0, #8\n"
  "ldr	r1, .LpQ8012238\n"
  "str r1, [r0, #0]\n"
  "ldr r0, [r7, #28]\n"
  "adds r1, r0, #0\n"
  "adds r1, #8\n"
  "ldr r0, [r1, #0]\n"
  "ldr	r0, .LpQ8012224\n"
  "str r0, [r7, #28]\n"
  "ldr r0, [r7, #28]\n"
  "ldr	r1, .LpQ801223C\n"
  "str r1, [r0, #0]\n"
  "ldr r1, [r7, #28]\n"
  "adds r0, r1, #4\n"
  "movs r1, #192\n"
  "lsls r1, r1, #19\n"
  "str r1, [r0, #0]\n"
  "ldr r1, [r7, #28]\n"
  "adds r0, r1, #0\n"
  "adds r0, #8\n"
  "ldr	r1, .LpQ8012240\n"
  "str r1, [r0, #0]\n"
  "ldr r0, [r7, #28]\n"
  "adds r1, r0, #0\n"
  "adds r1, #8\n"
  "ldr r0, [r1, #0]\n"
  "ldr	r0, .LpQ8012244\n"
  "movs r1, #136\n"
  "strh r1, [r0, #0]\n"
  "ldr	r0, .LpQ8012248\n"
  "movs r1, #129\n"
  "strh r1, [r0, #0]\n"
  "ldr	r0, .LpQ801224C\n"
  "adds r1, r7, #0\n"
  "adds r1, #16\n"
  "ldrh r2, [r1, #0]\n"
  "lsrs r1, r2, #1\n"
  "adds r2, r1, #0\n"
  "strh r2, [r0, #0]\n"
  "movs r0, #128\n"
  "lsls r0, r0, #19\n"
  "movs r2, #136\n"
  "QQL801221C_%=:\n"
  "lsls r2, r2, #5\n"
  "adds r1, r2, #0\n"
  "strh r1, [r0, #0]\n"
  "QQL8012222_%=:\n"
  "b QQL8012252_%=\n"
  ".LpQ8012224: .word 0x040000D4\n"
  ".LpQ8012228: .word 0x08031D40\n"
  ".LpQ801222C: .word 0x06008000\n"
  ".LpQ8012230: .word 0x80002000\n"
  ".LpQ8012234: .word 0x08031B40\n"
  ".LpQ8012238: .word 0x80000100\n"
  ".LpQ801223C: .word 0x08035D40\n"
  ".LpQ8012240: .word 0x80000280\n"
  ".LpQ8012244: .word 0x04000008\n"
  ".LpQ8012248: .word 0x04000050\n"
  ".LpQ801224C: .word 0x04000054\n"
  "b QQL80123A4_%=\n"
  "QQL8012252_%=:\n"
  "bl Mem_CpuSetTail\n"
  "ldr r0, [r7, #0]\n"
  "adds r1, r0, #1\n"
  "str r1, [r7, #0]\n"
  "ldr r0, [r7, #20]\n"
  "cmp r0, #1\n"
  "beq QQL80122A8_%=\n"
  "cmp r0, #1\n"
  "bgt QQL801226C_%=\n"
  "cmp r0, #0\n"
  "beq QQL8012272_%=\n"
  "b QQL801231C_%=\n"
  "QQL801226C_%=:\n"
  "cmp r0, #2\n"
  "beq QQL80122C4_%=\n"
  "b QQL801231C_%=\n"
  "QQL8012272_%=:\n"
  "ldr	r0, .LpQ80122A4\n"
  "adds r1, r7, #0\n"
  "adds r1, #16\n"
  "ldrh r2, [r1, #0]\n"
  "lsrs r1, r2, #1\n"
  "adds r2, r1, #0\n"
  "strh r2, [r0, #0]\n"
  "adds r1, r7, #0\n"
  "adds r1, #16\n"
  "adds r0, r7, #0\n"
  "adds r0, #16\n"
  "adds r1, r7, #0\n"
  "adds r1, #16\n"
  "ldrh r2, [r1, #0]\n"
  "subs r1, r2, #1\n"
  "adds r2, r1, #0\n"
  "strh r2, [r0, #0]\n"
  "ldr r0, [r7, #0]\n"
  "cmp r0, #30\n"
  "bne QQL80122A2_%=\n"
  "movs r0, #1\n"
  "str r0, [r7, #20]\n"
  "movs r0, #0\n"
  "str r0, [r7, #0]\n"
  "QQL80122A2_%=:\n"
  "b QQL801231C_%=\n"
  ".LpQ80122A4: .word 0x04000054\n"
  "QQL80122A8_%=:\n"
  "ldr	r0, .LpQ80122C0\n"
  "movs r1, #0\n"
  "strh r1, [r0, #0]\n"
  "ldr r0, [r7, #0]\n"
  "cmp r0, #22\n"
  "bne QQL80122BC_%=\n"
  "movs r0, #2\n"
  "str r0, [r7, #20]\n"
  "movs r0, #0\n"
  "str r0, [r7, #0]\n"
  "QQL80122BC_%=:\n"
  "b QQL801231C_%=\n"
  "movs r0, r0\n"
  ".LpQ80122C0: .word 0x04000054\n"
  "QQL80122C4_%=:\n"
  "ldr	r0, .LpQ801230C\n"
  "adds r1, r7, #0\n"
  "adds r1, #16\n"
  "ldrh r2, [r1, #0]\n"
  "lsrs r1, r2, #1\n"
  "adds r2, r1, #0\n"
  "QQL80122D0_%=:\n"
  "strh r2, [r0, #0]\n"
  "adds r1, r7, #0\n"
  "adds r1, #16\n"
  "adds r0, r7, #0\n"
  "adds r0, #16\n"
  "adds r1, r7, #0\n"
  "adds r1, #16\n"
  "ldrh r2, [r1, #0]\n"
  "adds r1, r2, #1\n"
  "adds r2, r1, #0\n"
  "QQL80122E4_%=:\n"
  "strh r2, [r0, #0]\n"
  "ldr r0, [r7, #0]\n"
  "cmp r0, #30\n"
  "ble QQL801231A_%=\n"
  "movs r0, #128\n"
  "lsls r0, r0, #19\n"
  "movs r1, #128\n"
  "strh r1, [r0, #0]\n"
  "ldr	r0, .LpQ8012310\n"
  "movs r1, #0\n"
  "strh r1, [r0, #0]\n"
  "ldr	r0, .LpQ801230C\n"
  "movs r1, #0\n"
  "strh r1, [r0, #0]\n"
  "adds r0, r7, #4\n"
  "ldrb r1, [r0, #0]\n"
  "cmp r1, #0\n"
  "beq QQL8012316_%=\n"
  "movs r0, #1\n"
  "b QQL80123A4_%=\n"
  ".LpQ801230C: .word 0x04000054\n"
  ".LpQ8012310: .word 0x04000050\n"
  "b QQL801231A_%=\n"
  "QQL8012316_%=:\n"
  "movs r0, #0\n"
  "b QQL80123A4_%=\n"
  "QQL801231A_%=:\n"
  "b QQL801231C_%=\n"
  "QQL801231C_%=:\n"
  "adds r1, r7, #0\n"
  "adds r1, #32\n"
  "ldr	r2, .LpQ801239C\n"
  "ldrh r3, [r2, #0]\n"
  "ldr	r4, .LpQ80123A0\n"
  "adds r2, r3, #0\n"
  "eors r2, r4\n"
  "adds r3, r2, #0\n"
  "strh r3, [r1, #0]\n"
  "adds r1, r7, #0\n"
  "adds r1, #24\n"
  "adds r2, r7, #0\n"
  "adds r2, #26\n"
  "ldrh r3, [r2, #0]\n"
  "strh r3, [r1, #0]\n"
  "adds r1, r7, #0\n"
  "adds r1, #26\n"
  "adds r2, r7, #0\n"
  "adds r2, #32\n"
  "ldrh r3, [r2, #0]\n"
  "strh r3, [r1, #0]\n"
  "adds r1, r7, #0\n"
  "adds r1, #32\n"
  "adds r2, r7, #0\n"
  "adds r2, #24\n"
  "adds r3, r7, #0\n"
  "adds r3, #26\n"
  "ldrh r2, [r2, #0]\n"
  "ldrh r3, [r3, #0]\n"
  "eors r2, r3\n"
  "adds r3, r7, #0\n"
  "adds r3, #26\n"
  "ldrh r3, [r3, #0]\n"
  "adds r4, r3, #0\n"
  "ands r2, r4\n"
  "adds r3, r2, #0\n"
  "strh r3, [r1, #0]\n"
  "adds r1, r7, #0\n"
  "adds r1, #32\n"
  "ldrh r2, [r1, #0]\n"
  "movs r3, #240\n"
  "adds r1, r2, #0\n"
  "ands r1, r3\n"
  "adds r3, r1, #0\n"
  "lsls r2, r3, #16\n"
  "lsrs r1, r2, #16\n"
  "cmp r1, #240\n"
  "bne QQL8012384_%=\n"
  "ldr r1, [r7, #8]\n"
  "str r1, [r7, #12]\n"
  "ldr r1, [r7, #0]\n"
  "str r1, [r7, #8]\n"
  "QQL8012384_%=:\n"
  "ldr r1, [r7, #12]\n"
  "cmp r1, #0\n"
  "beq QQL801239A_%=\n"
  "ldr r1, [r7, #8]\n"
  "ldr r2, [r7, #12]\n"
  "subs r1, r1, r2\n"
  "cmp r1, #4\n"
  "bgt QQL801239A_%=\n"
  "adds r1, r7, #4\n"
  "movs r2, #1\n"
  "strb r2, [r1, #0]\n"
  "QQL801239A_%=:\n"
  "b QQL8012222_%=\n"
  ".LpQ801239C: .word 0x04000130\n"
  ".LpQ80123A0: .word 0x000003FF\n"
  "QQL80123A4_%=:\n"
  "add sp, #36\n"
  "pop {r4, r7}\n"
  "pop {r1}\n"
  "bx r1\n"
  "movs r0, r5\n"
  "movs r0, r0\n"
  "lsls r4, r3, #1\n"
  "movs r0, r0\n"
  "movs r0, r2\n"
  "movs r0, r0\n"
  "lsls r4, r4, #1\n"
  "movs r0, r0\n"
  "movs r0, r6\n"
  "movs r0, r0\n"
  "lsls r0, r1, #2\n"
  "movs r0, r0\n"
  "lsls r4, r6, #1\n"
  "movs r0, r0\n"
  "lsls r4, r0, #2\n"
  "movs r0, r0\n"
  "lsls r0, r6, #1\n"
  "movs r0, r0\n"
  "movs r0, r0\n"
  ".hword 0xE350\n"
  "QQL80123D4_%=:\n"
  "movs r5, r0\n"
  "lsrs r0, r0, #8\n"
  "movs r0, r0\n"
  ".hword 0xE351\n"
  "movs r3, r0\n"
  "lsrs r0, r0, #8\n"
  "movs r1, #144\n"
  "b QQL801256C_%=\n"
  "movs r6, #34\n"
  "b QQL801272A_%=\n"
  "QQL80123E8_%=:\n"
  "lsrs r3, r0, #8\n"
  "b QQL80124F2_%=\n"
  ".word 0xE12FFF1E\n"
  "movs r0, r0\n"
  ".hword 0xE3A0\n"
  ".word 0xE12FFF1E\n"
  "lsls r0, r6, #1\n"
  ".word 0x0000E92D\n"
  ".hword 0xE351\n"
  "ands r0, r0\n"
  "lsls r0, r4, #14\n"
  "movs r5, r0\n"
  "lsrs r0, r0, #8\n"
  "ands r0, r0\n"
  ".hword 0xE590\n"
  "movs r0, r0\n"
  ".hword 0xE354\n"
  "movs r2, r0\n"
  "lsrs r0, r0, #8\n"
  "str r4, [r2, r6]\n"
  "b QQL80125A6_%=\n"
  "ldrsb r5, [r4, r0]\n"
  "b QQL801275E_%=\n"
  "ldr	r2, .LpQ8012438\n"
  "b QQL801252C_%=\n"
  "ands r0, r0\n"
  ".hword 0xE580\n"
  "movs r0, r0\n"
  ".hword 0xE353\n"
  "ands r0, r0\n"
  "lsls r0, r4, #14\n"
  "movs r5, r0\n"
  "lsrs r0, r0, #8\n"
  "ands r0, r0\n"
  ".hword 0xE592\n"
  "movs r0, r0\n"
  ".hword 0xE354\n"
  ".LpQ8012438: .word 0x0A000002\n"
  "strh r4, [r2, r6]\n"
  "b QQL80125CE_%=\n"
  "ldrsb r5, [r4, r0]\n"
  "b QQL8012786_%=\n"
  "ldr	r2, .LpQ8012460\n"
  "b QQL8012554_%=\n"
  "ands r0, r0\n"
  ".hword 0xE582\n"
  "lsls r0, r6, #1\n"
  ".word 0xFF1EE8BD\n"
  "b QQL80126B4_%=\n"
  "movs r1, #144\n"
  "b QQL80125E0_%=\n"
  "movs r2, r0\n"
  "b QQL801279E_%=\n"
  "asrs r3, r0, #32\n"
  "b QQL80127A2_%=\n"
  ".LpQ8012460: .word 0xE12FFF1E\n"
  "lsls r0, r6, #1\n"
  ".word 0x4000E92D\n"
  ".hword 0xE3A0\n"
  "movs r0, #30\n"
  ".hword 0xE3A0\n"
  "adds r0, #1\n"
  ".hword 0xE284\n"
  "lsls r4, r0\n"
  "b QQL80127BA_%=\n"
  "adds r2, #19\n"
  "b QQL8012520_%=\n"
  "asrs r3, r0, #32\n"
  "movs r1, #160\n"
  "ands r4, r0\n"
  "movs r3, #132\n"
  "movs r0, #2\n"
  ".hword 0xE252\n"
  ".word 0x2AFFFFF8\n"
  "movs r0, #30\n"
  ".hword 0xE3A0\n"
  "str r2, [r0, r0]\n"
  ".hword 0xE3A0\n"
  "adds r0, #1\n"
  ".hword 0xE284\n"
  "lsls r4, r0\n"
  "b QQL80127DE_%=\n"
  "str r3, [r2, #32]\n"
  "b QQL8012542_%=\n"
  "stmia r5!, {r0, r1, r4, r5}\n"
  "b QQL8012648_%=\n"
  "movs r6, r0\n"
  "movs r1, #160\n"
  "asrs r4, r1, #32\n"
  "movs r1, #160\n"
  "ands r4, r0\n"
  "movs r3, #132\n"
  "str r2, [r0, r0]\n"
  ".hword 0xE285\n"
  "movs r0, #2\n"
  ".hword 0xE252\n"
  ".word 0x2AFFFFF5\n"
  "lsls r4, r4, #4\n"
  "b QQL8012802_%=\n"
  "lsls r0, r6, #1\n"
  ".word 0xFF1EE8BD\n"
  "b QQL8012728_%=\n"
  "movs r0, r2\n"
  ".word 0x1902E92D\n"
  ".hword 0xE3A0\n"
  "movs r0, #0\n"
  ".hword 0xE3A0\n"
  "adds r0, #1\n"
  "b QQL80125DE_%=\n"
  "lsls r3, r2, #14\n"
  "b QQL80124E6_%=\n"
  "movs r4, r0\n"
  "b QQL8012782_%=\n"
  "movs r0, #3\n"
  "add r1, pc, #640\n"
  "asrs r1, r0, #3\n"
  "QQL80124E6_%=:\n"
  "b QQL801284A_%=\n"
  ".word 0x1AFFFFF9\n"
  "movs r2, r0\n"
  "b QQL8012832_%=\n"
  "movs r0, r2\n"
  "QQL80124F2_%=:\n"
  ".word 0xFF1EE8BD\n"
  "b QQL8012758_%=\n"
  "movs r1, #2\n"
  ".hword 0xE211\n"
  "asrs r0, r0, #32\n"
  "negs r1, r4\n"
  "stmia r0!, {r6}\n"
  "b QQL801256A_%=\n"
  "movs r0, r0\n"
  "movs r2, #96\n"
  "adds r0, #1\n"
  "b QQL801286E_%=\n"
  ".word 0x0AFFFFFE\n"
  "lsls r0, r4, #8\n"
  "b QQL80127BC_%=\n"
  "adds r2, #3\n"
  "str r1, [sp, #640]\n"
  ".word 0x3AFFFFFC\n"
  "lsls r0, r4, #2\n"
  "b QQL80127C8_%=\n"
  "QQL8012520_%=:\n"
  "movs r5, r1\n"
  "ldrh r0, [r0, #16]\n"
  "lsls r0, r4, #4\n"
  "b QQL80127D0_%=\n"
  "movs r1, r1\n"
  "ldrh r0, [r0, #16]\n"
  "QQL801252C_%=:\n"
  "lsls r0, r4, #6\n"
  "b QQL80127D8_%=\n"
  "movs r4, r0\n"
  "ldrh r0, [r0, #16]\n"
  "adds r2, #35\n"
  "strh r0, [r4, #12]\n"
  "lsls r3, r0, #6\n"
  "b QQL80127DE_%=\n"
  "movs r0, #2\n"
  "b QQL8012686_%=\n"
  "lsls r3, r0, #6\n"
  "QQL8012542_%=:\n"
  "movs r0, #64\n"
  "lsls r3, r0, #4\n"
  "b QQL80127EA_%=\n"
  "movs r0, #2\n"
  "b QQL8012692_%=\n"
  "lsls r3, r0, #4\n"
  "movs r0, #64\n"
  "lsls r3, r0, #2\n"
  "b QQL80127F6_%=\n"
  "QQL8012554_%=:\n"
  "movs r0, #2\n"
  "b QQL801269E_%=\n"
  "lsls r3, r0, #2\n"
  "movs r0, #64\n"
  "movs r3, r0\n"
  "b QQL8012802_%=\n"
  "movs r0, #2\n"
  "b QQL80126AA_%=\n"
  "movs r3, r0\n"
  "movs r0, #64\n"
  "movs r1, r0\n"
  "QQL801256A_%=:\n"
  "b QQL8012814_%=\n"
  "QQL801256C_%=:\n"
  ".word 0x1AFFFFF0\n"
  "stmia r0!, {r2, r3, r7}\n"
  "b QQL80128D6_%=\n"
  "movs r2, r0\n"
  "adds r1, #160\n"
  "movs r0, r0\n"
  "movs r2, #98\n"
  ".word 0xE12FFF1E\n"
  "movs r0, #0\n"
  ".hword 0xE3A0\n"
  "adds r0, #1\n"
  "b QQL80128EA_%=\n"
  ".word 0x0AFFFFFE\n"
  "lsls r0, r4, #8\n"
  "b QQL8012838_%=\n"
  "adds r2, #3\n"
  "str r1, [sp, #640]\n"
  ".word 0x3AFFFFFC\n"
  "lsls r0, r4, #2\n"
  "b QQL8012844_%=\n"
  "movs r5, r1\n"
  "ldrh r0, [r0, #16]\n"
  "lsls r0, r4, #4\n"
  "b QQL801284C_%=\n"
  "movs r1, r1\n"
  "QQL80125A6_%=:\n"
  "ldrh r0, [r0, #16]\n"
  "lsls r0, r4, #6\n"
  "b QQL8012854_%=\n"
  "movs r4, r0\n"
  "ldrh r0, [r0, #16]\n"
  "adds r2, #35\n"
  "strh r0, [r4, #12]\n"
  "lsls r3, r0, #6\n"
  "b QQL801285A_%=\n"
  "movs r0, #2\n"
  "b QQL8012702_%=\n"
  "lsls r3, r0, #6\n"
  "movs r0, #64\n"
  "lsls r3, r0, #4\n"
  "b QQL8012866_%=\n"
  "movs r0, #2\n"
  "b QQL801270E_%=\n"
  "lsls r3, r0, #4\n"
  "movs r0, #64\n"
  "lsls r3, r0, #2\n"
  "QQL80125CE_%=:\n"
  "b QQL8012872_%=\n"
  "movs r0, #2\n"
  "b QQL801271A_%=\n"
  "lsls r3, r0, #2\n"
  "movs r0, #64\n"
  "movs r3, r0\n"
  "b QQL801287E_%=\n"
  "movs r0, #2\n"
  "QQL80125DE_%=:\n"
  "b QQL8012726_%=\n"
  "QQL80125E0_%=:\n"
  "movs r3, r0\n"
  "movs r0, #64\n"
  "movs r1, r0\n"
  "b QQL8012890_%=\n"
  ".word 0x1AFFFFF0\n"
  "movs r2, r0\n"
  ".hword 0xE1A0\n"
  ".word 0xE12FFF1E\n"
  "movs r1, #2\n"
  ".hword 0xE211\n"
  "asrs r0, r0, #32\n"
  "negs r1, r4\n"
  "stmia r0!, {r6}\n"
  "b QQL8012666_%=\n"
  "movs r0, r0\n"
  "movs r2, #96\n"
  "adds r0, #1\n"
  ".hword 0xE1B0\n"
  ".word 0x0AFFFFFE\n"
  "lsls r0, r4, #8\n"
  "b QQL80128B8_%=\n"
  "adds r2, #3\n"
  "str r1, [sp, #640]\n"
  ".word 0x3AFFFFFC\n"
  "lsls r0, r4, #2\n"
  "b QQL80128C4_%=\n"
  "movs r5, r1\n"
  "ldrh r0, [r0, #16]\n"
  "lsls r0, r4, #4\n"
  "b QQL80128CC_%=\n"
  "movs r1, r1\n"
  "ldrh r0, [r0, #16]\n"
  "lsls r0, r4, #6\n"
  "b QQL80128D4_%=\n"
  "movs r4, r0\n"
  "ldrh r0, [r0, #16]\n"
  "adds r2, #35\n"
  "strh r0, [r4, #12]\n"
  "lsls r3, r0, #6\n"
  "b QQL80128DA_%=\n"
  "movs r0, #2\n"
  "b QQL8012782_%=\n"
  "lsls r3, r0, #6\n"
  "movs r0, #64\n"
  "lsls r3, r0, #4\n"
  "b QQL80128E6_%=\n"
  "movs r0, #2\n"
  "b QQL801278E_%=\n"
  "QQL8012648_%=:\n"
  "lsls r3, r0, #4\n"
  "movs r0, #64\n"
  "lsls r3, r0, #2\n"
  ".hword 0xE150\n"
  "movs r0, #2\n"
  "b QQL801279A_%=\n"
  "lsls r3, r0, #2\n"
  "movs r0, #64\n"
  "movs r3, r0\n"
  ".hword 0xE150\n"
  "movs r0, #2\n"
  "b QQL80127A6_%=\n"
  "movs r3, r0\n"
  "movs r0, #64\n"
  "movs r1, r0\n"
  "QQL8012666_%=:\n"
  ".hword 0xE153\n"
  ".word 0x1AFFFFF0\n"
  "stmia r0!, {r2, r3, r7}\n"
  ".hword 0xE1B0\n"
  "movs r0, r0\n"
  "negs r0, r4\n"
  ".word 0xE12FFF1E\n"
  "movs r0, #0\n"
  ".hword 0xE3A0\n"
  "adds r0, #1\n"
  ".hword 0xE1B0\n"
  ".word 0x0AFFFFFE\n"
  "lsls r0, r4, #8\n"
  "QQL8012686_%=:\n"
  ".hword 0xE153\n"
  "adds r2, #3\n"
  "str r1, [sp, #640]\n"
  ".word 0x3AFFFFFC\n"
  "lsls r0, r4, #2\n"
  "QQL8012692_%=:\n"
  ".hword 0xE153\n"
  "movs r5, r1\n"
  "ldrh r0, [r0, #16]\n"
  "lsls r0, r4, #4\n"
  ".hword 0xE153\n"
  "movs r1, r1\n"
  "QQL801269E_%=:\n"
  "ldrh r0, [r0, #16]\n"
  "lsls r0, r4, #6\n"
  ".hword 0xE153\n"
  "movs r4, r0\n"
  "ldrh r0, [r0, #16]\n"
  "adds r2, #35\n"
  "QQL80126AA_%=:\n"
  "strh r0, [r4, #12]\n"
  "lsls r3, r0, #6\n"
  ".hword 0xE150\n"
  "movs r0, #2\n"
  "b QQL80127FA_%=\n"
  "QQL80126B4_%=:\n"
  "lsls r3, r0, #6\n"
  "movs r0, #64\n"
  "lsls r3, r0, #4\n"
  ".hword 0xE150\n"
  "movs r0, #2\n"
  "b QQL8012806_%=\n"
  "lsls r3, r0, #4\n"
  "movs r0, #64\n"
  "lsls r3, r0, #2\n"
  ".hword 0xE150\n"
  "movs r0, #2\n"
  "b QQL8012812_%=\n"
  "lsls r3, r0, #2\n"
  "movs r0, #64\n"
  "movs r3, r0\n"
  ".hword 0xE150\n"
  "movs r0, #2\n"
  "b QQL801281E_%=\n"
  "movs r3, r0\n"
  "movs r0, #64\n"
  "movs r1, r0\n"
  ".hword 0xE153\n"
  ".word 0x1AFFFFF0\n"
  ".word 0xE12FFF1E\n"
  "adds r3, #1\n"
  ".hword 0xE3A0\n"
  "subs r4, #2\n"
  ".hword 0xE283\n"
  "movs r0, #0\n"
  "b QQL801221C_%=\n"
  "adds r2, r4, r0\n"
  "b QQL80126FE_%=\n"
  "lsrs r2, r0, #8\n"
  ".hword 0xE211\n"
  "lsls r4, r7, #5\n"
  "QQL80126FE_%=:\n"
  "asrs r3, r0, #21\n"
  ".hword 0xFFFE\n"
  "QQL8012702_%=:\n"
  ".hword 0x1AFF\n"
  "movs r0, #0\n"
  ".hword 0xE3A0\n"
  "lsls r0, r0, #2\n"
  ".hword 0xE211\n"
  "movs r2, r4\n"
  "QQL801270E_%=:\n"
  "subs r0, r0, r0\n"
  "movs r0, #4\n"
  ".hword 0xE282\n"
  "movs r1, r0\n"
  ".hword 0xE211\n"
  "movs r7, r3\n"
  "QQL801271A_%=:\n"
  "subs r0, r0, r0\n"
  "movs r0, #4\n"
  ".hword 0xE282\n"
  "movs r2, r0\n"
  ".hword 0xE211\n"
  "movs r4, r3\n"
  "QQL8012726_%=:\n"
  "subs r0, r0, r0\n"
  "QQL8012728_%=:\n"
  "movs r0, #4\n"
  "QQL801272A_%=:\n"
  ".hword 0xE282\n"
  "movs r4, r0\n"
  ".hword 0xE211\n"
  "movs r1, r3\n"
  "subs r0, r0, r0\n"
  "movs r0, #4\n"
  ".hword 0xE282\n"
  "movs r0, r1\n"
  ".hword 0xE211\n"
  "movs r6, r2\n"
  "subs r0, r0, r0\n"
  "movs r0, #4\n"
  ".hword 0xE282\n"
  "movs r0, r2\n"
  ".hword 0xE211\n"
  "movs r3, r2\n"
  "subs r0, r0, r0\n"
  "movs r0, #4\n"
  ".hword 0xE282\n"
  "movs r0, r4\n"
  ".hword 0xE211\n"
  "movs r0, r2\n"
  "subs r0, r0, r0\n"
  "QQL8012758_%=:\n"
  "movs r0, #4\n"
  ".hword 0xE282\n"
  "lsls r0, r0, #1\n"
  "QQL801275E_%=:\n"
  ".hword 0xE211\n"
  "movs r5, r1\n"
  "subs r0, r0, r0\n"
  "movs r0, #4\n"
  ".hword 0xE282\n"
  "lsrs r1, r0, #16\n"
  ".hword 0xE211\n"
  "movs r2, r1\n"
  "subs r0, r0, r0\n"
  "movs r0, #4\n"
  ".hword 0xE282\n"
  "lsrs r2, r0, #16\n"
  ".hword 0xE211\n"
  "movs r7, r0\n"
  "subs r0, r0, r0\n"
  "movs r0, #4\n"
  ".hword 0xE282\n"
  "lsrs r1, r0, #12\n"
  "QQL8012782_%=:\n"
  ".hword 0xE211\n"
  "movs r4, r0\n"
  "QQL8012786_%=:\n"
  "subs r0, r0, r0\n"
  "movs r0, #4\n"
  ".hword 0xE282\n"
  "lsrs r2, r0, #12\n"
  "QQL801278E_%=:\n"
  ".hword 0xE211\n"
  "movs r1, r0\n"
  "subs r0, r0, r0\n"
  "movs r0, #4\n"
  ".hword 0xE282\n"
  "lsrs r1, r0, #8\n"
  "QQL801279A_%=:\n"
  ".hword 0xE211\n"
  "lsls r2, r6, #2\n"
  "QQL801279E_%=:\n"
  ".hword 0xE1C3\n"
  "asrs r4, r7, #4\n"
  "QQL80127A2_%=:\n"
  "b QQL80122E4_%=\n"
  "asrs r2, r0, #32\n"
  "QQL80127A6_%=:\n"
  "b QQL80128AC_%=\n"
  "movs r0, r0\n"
  "b QQL80122D0_%=\n"
  ".word 0xE12FFF10\n"
  "adds r3, #1\n"
  ".hword 0xE3A0\n"
  "subs r4, #2\n"
  ".hword 0xE283\n"
  "movs r0, #0\n"
  "QQL80127BA_%=:\n"
  "b QQL80122E4_%=\n"
  "QQL80127BC_%=:\n"
  "asrs r0, r7, #2\n"
  ".hword 0xE1D3\n"
  "movs r0, r0\n"
  ".hword 0xE14F\n"
  "ands r7, r1\n"
  ".hword 0xE92D\n"
  "QQL80127C8_%=:\n"
  ".hword 0x0001\n"
  ".hword 0xE3A0\n"
  "lsls r0, r7, #2\n"
  ".hword 0xE1C3\n"
  "QQL80127D0_%=:\n"
  "adds r2, r4, r0\n"
  "b QQL80127DA_%=\n"
  ".hword 0xC000\n"
  ".hword 0xE3A0\n"
  "QQL80127D8_%=:\n"
  "lsls r0, r0, #2\n"
  "QQL80127DA_%=:\n"
  ".hword 0xE211\n"
  "movs r7, r4\n"
  "QQL80127DE_%=:\n"
  "subs r0, r0, r0\n"
  "stmia r0!, {r2}\n"
  ".hword 0xE28C\n"
  "movs r1, r0\n"
  ".hword 0xE211\n"
  "movs r4, r4\n"
  "QQL80127EA_%=:\n"
  "subs r0, r0, r0\n"
  "stmia r0!, {r2}\n"
  ".hword 0xE28C\n"
  "movs r2, r0\n"
  ".hword 0xE211\n"
  "movs r1, r4\n"
  "QQL80127F6_%=:\n"
  "subs r0, r0, r0\n"
  "stmia r0!, {r2}\n"
  "QQL80127FA_%=:\n"
  ".hword 0xE28C\n"
  "movs r4, r0\n"
  ".hword 0xE211\n"
  "movs r6, r3\n"
  "QQL8012802_%=:\n"
  "subs r0, r0, r0\n"
  "stmia r0!, {r2}\n"
  "QQL8012806_%=:\n"
  ".hword 0xE28C\n"
  "movs r0, r1\n"
  ".hword 0xE211\n"
  "movs r3, r3\n"
  "subs r0, r0, r0\n"
  "stmia r0!, {r2}\n"
  "QQL8012812_%=:\n"
  ".hword 0xE28C\n"
  "QQL8012814_%=:\n"
  "movs r0, r2\n"
  ".hword 0xE211\n"
  "movs r0, r3\n"
  "subs r0, r0, r0\n"
  "stmia r0!, {r2}\n"
  "QQL801281E_%=:\n"
  ".hword 0xE28C\n"
  "movs r0, r4\n"
  ".hword 0xE211\n"
  "movs r5, r2\n"
  "subs r0, r0, r0\n"
  "stmia r0!, {r2}\n"
  ".hword 0xE28C\n"
  "lsls r0, r0, #1\n"
  ".hword 0xE211\n"
  "movs r2, r2\n"
  "QQL8012832_%=:\n"
  "subs r0, r0, r0\n"
  "stmia r0!, {r2}\n"
  ".hword 0xE28C\n"
  "QQL8012838_%=:\n"
  "lsrs r1, r0, #16\n"
  ".hword 0xE211\n"
  "movs r7, r1\n"
  "subs r0, r0, r0\n"
  "stmia r0!, {r2}\n"
  ".hword 0xE28C\n"
  "QQL8012844_%=:\n"
  "lsrs r2, r0, #16\n"
  ".hword 0xE211\n"
  "movs r4, r1\n"
  "QQL801284A_%=:\n"
  "subs r0, r0, r0\n"
  "QQL801284C_%=:\n"
  "stmia r0!, {r2}\n"
  ".hword 0xE28C\n"
  "lsrs r1, r0, #12\n"
  ".hword 0xE211\n"
  "QQL8012854_%=:\n"
  "movs r1, r1\n"
  "subs r0, r0, r0\n"
  "stmia r0!, {r2}\n"
  "QQL801285A_%=:\n"
  ".hword 0xE28C\n"
  "lsrs r2, r0, #12\n"
  ".hword 0xE211\n"
  "movs r6, r0\n"
  "subs r0, r0, r0\n"
  "stmia r0!, {r2}\n"
  "QQL8012866_%=:\n"
  ".hword 0xE28C\n"
  "lsrs r1, r0, #8\n"
  ".hword 0xE211\n"
  "movs r3, r0\n"
  "QQL801286E_%=:\n"
  "subs r0, r0, r0\n"
  "stmia r0!, {r2}\n"
  "QQL8012872_%=:\n"
  ".hword 0xE28C\n"
  "lsrs r2, r0, #8\n"
  ".hword 0xE211\n"
  "lsls r4, r7, #5\n"
  "asrs r3, r0, #21\n"
  ".hword 0xFFFE\n"
  "QQL801287E_%=:\n"
  ".hword 0x1AFF\n"
  "lsls r2, r6, #2\n"
  ".hword 0xE1C3\n"
  "adds r3, r0, #6\n"
  ".hword 0xE3A0\n"
  "movs r0, #0\n"
  ".hword 0xE1C2\n"
  "asrs r2, r0, #32\n"
  "b QQL8012894_%=\n"
  "QQL8012890_%=:\n"
  "asrs r0, r6, #2\n"
  ".hword 0xE1C3\n"
  "QQL8012894_%=:\n"
  "adds r0, #0\n"
  ".hword 0xE10F\n"
  "adds r0, #223\n"
  ".hword 0xE3C3\n"
  "adds r0, #31\n"
  ".hword 0xE383\n"
  ".hword 0xF003\n"
  "asrs r4, r7, #32\n"
  "b QQL80123E8_%=\n"
  "asrs r4, r1, #32\n"
  ".hword 0xE081\n"
  "QQL80128AC_%=:\n"
  "movs r0, r0\n"
  "b QQL80123D4_%=\n"
  "ands r0, r0\n"
  ".word 0xE000E92D\n"
  ".hword 0xE28F\n"
  "QQL80128B8_%=:\n"
  ".word 0xE12FFF10\n"
  "ands r0, r0\n"
  ".word 0x3000E8BD\n"
  ".hword 0xE10F\n"
  "QQL80128C4_%=:\n"
  "adds r0, #223\n"
  ".hword 0xE3C3\n"
  "adds r0, #146\n"
  ".hword 0xE383\n"
  "QQL80128CC_%=:\n"
  ".hword 0xF003\n"
  "ands r7, r1\n"
  ".hword 0xE8BD\n"
  "QQL80128D4_%=:\n"
  ".hword 0x20B0\n"
  "QQL80128D6_%=:\n"
  ".hword 0xE1C3\n"
  "asrs r0, r7, #2\n"
  "QQL80128DA_%=:\n"
  ".hword 0xE1C3\n"
  ".hword 0xF000\n"
  ".word 0xE12FFF1E\n"
  ".hword 0xBA0C\n"
  "QQL80128E6_%=:\n"
  "lsrs r2, r0, #32\n"
  ".hword 0xBA0C\n"
  "QQL80128EA_%=:\n"
  "lsrs r2, r0, #32\n"  ::: "r0","r1","r2","r3","memory");
}
