extern int Text_ProcessData(int,int,int);
void Sub_08005FC8(int a) __attribute__((naked));
void Sub_08005FC8(int a)
{
  (void)a;
  __asm__ volatile(
  ".syntax unified\n"
  ".thumb\n"
  "Sec_%=:\n"
  "push {r4, r5, r6, r7, lr}\n"
  "mov r7, sl\n"
  "mov r6, r9\n"
  "mov r5, r8\n"
  "push {r5, r6, r7}\n"
  "sub sp, #4\n"
  "mov r9, r0\n"
  "ldr	r0, .LpQ8006010\n"
  "QQL8005FD8_%=:\n"
  "lsls r0, r0, #16\n"
  "lsrs r0, r0, #16\n"
  "mov sl, r0\n"
  "movs r3, #0\n"
  "cmp r3, sl\n"
  "bge QQL8006062_%=\n"
  "ldr	r0, .LpQ8006014\n"
  "lsls r0, r0, #16\n"
  "str r0, [sp, #0]\n"
  "QQL8005FEA_%=:\n"
  "lsls r0, r3, #1\n"
  "adds r0, r0, r3\n"
  "lsls r0, r0, #2\n"
  "ldr	r1, .LpQ8006018\n"
  "adds r0, r0, r1\n"
  "ldr r5, [r0, #0]\n"
  "ldr r0, [r5, #4]\n"
  "cmp r0, #0\n"
  "bge QQL8006020_%=\n"
  "lsls r0, r3, #2\n"
  "mov r1, r9\n"
  "adds r1, #20\n"
  "adds r1, r1, r0\n"
  "movs r0, #1\n"
  "negs r0, r0\n"
  "str r0, [r1, #0]\n"
  "adds r7, r3, #1\n"
  "b QQL800605C_%=\n"
  "movs r0, r0\n"
  ".LpQ8006010: .word 0x0000000D\n"
  ".LpQ8006014: .word 0x00000033\n"
  ".LpQ8006018: .word 0x081ADB14\n"
  "QQL800601C_%=:\n"
  "adds r1, r2, #0\n"
  "b QQL800604C_%=\n"
  "QQL8006020_%=:\n"
  "ldr r6, [r5, #0]\n"
  "ldr r0, [sp, #0]\n"
  "lsrs r4, r0, #16\n"
  "movs r2, #0\n"
  "lsls r1, r3, #2\n"
  "mov r8, r1\n"
  "movs r0, #20\n"
  "add r0, r9\n"
  "mov ip, r0\n"
  "adds r7, r3, #1\n"
  "cmp r2, r4\n"
  "bge QQL8006048_%=\n"
  "ldr	r1, .LpQ8006074\n"
  "QQL800603A_%=:\n"
  "ldr r0, [r1, #0]\n"
  "cmp r0, r6\n"
  "beq QQL800601C_%=\n"
  "adds r1, #8\n"
  "adds r2, #1\n"
  "QQL8006044_%=:\n"
  "cmp r2, r4\n"
  "blt QQL800603A_%=\n"
  "QQL8006048_%=:\n"
  "movs r1, #1\n"
  "negs r1, r1\n"
  "QQL800604C_%=:\n"
  "mov r0, ip\n"
  "add r0, r8\n"
  "str r1, [r0, #0]\n"
  "adds r0, r5, #0\n"
  "ldr	r1, .LpQ8006078\n"
  "movs r2, #0\n"
  "bl Text_ProcessData\n"
  "QQL800605C_%=:\n"
  "adds r3, r7, #0\n"
  "cmp r3, sl\n"
  "blt QQL8005FEA_%=\n"
  "QQL8006062_%=:\n"
  "add sp, #4\n"
  "pop {r3, r4, r5}\n"
  "mov r8, r3\n"
  "mov r9, r4\n"
  "mov sl, r5\n"
  "pop {r4, r5, r6, r7}\n"
  "pop {r0}\n"
  "bx r0\n"
  "movs r0, r0\n"
  ".LpQ8006074: .word 0x081ADBB0\n"
  ".LpQ8006078: .word 0x0000FFFF\n"
  ::: "r0","r1","r2","r3","memory");
}
