extern int Sub_08011018(int);
void Sub_08010F6C(int a) __attribute__((naked));
void Sub_08010F6C(int a)
{
  (void)a;
  __asm__ volatile(
  ".syntax unified\n"
  ".thumb\n"
  "push {r7, lr}\n"
  "sub sp, #8\n"
  "mov r7, sp\n"
  "ldr r0, .Lp0\n"
  "ldr r1, [r0, #0]\n"
  "str r1, [r7, #0]\n"
  "adds r0, r7, #4\n"
  "ldr r1, .Lp1\n"
  "ldrh r2, [r1, #0]\n"
  "ldr r3, .Lp2\n"
  "adds r1, r2, #0\n"
  "eors r1, r3\n"
  "adds r2, r1, #0\n"
  "strh r2, [r0, #0]\n"
  "adds r0, r7, #6\n"
  "ldr r2, .Lp0\n"
  "ldr r1, [r2, #0]\n"
  "ldrh r2, [r1, #0]\n"
  "strh r2, [r0, #0]\n"
  "ldr r0, [r7, #0]\n"
  "adds r1, r7, #4\n"
  "ldrh r2, [r0, #0]\n"
  "movs r3, #0\n"
  "ands r2, r3\n"
  "adds r3, r2, #0\n"
  "ldrh r1, [r1, #0]\n"
  "adds r2, r3, #0\n"
  "orrs r2, r1\n"
  "adds r1, r2, #0\n"
  "strh r1, [r0, #0]\n"
  "ldr r0, [r7, #0]\n"
  "adds r1, r7, #6\n"
  "ldrh r2, [r1, #0]\n"
  "mvns r1, r2\n"
  "adds r2, r7, #4\n"
  "ldrh r2, [r2, #0]\n"
  "adds r3, r2, #0\n"
  "ands r1, r3\n"
  "ldrh r2, [r0, #2]\n"
  "movs r3, #0\n"
  "ands r2, r3\n"
  "adds r3, r2, #0\n"
  "adds r2, r3, #0\n"
  "orrs r2, r1\n"
  "adds r1, r2, #0\n"
  "strh r1, [r0, #2]\n"
  "ldr r0, [r7, #0]\n"
  "adds r1, r7, #6\n"
  "adds r2, r7, #4\n"
  "ldrh r3, [r2, #0]\n"
  "mvns r2, r3\n"
  "ldrh r1, [r1, #0]\n"
  "adds r3, r2, #0\n"
  "ands r1, r3\n"
  "ldrh r2, [r0, #4]\n"
  "movs r3, #0\n"
  "ands r2, r3\n"
  "adds r3, r2, #0\n"
  "adds r2, r3, #0\n"
  "orrs r2, r1\n"
  "adds r1, r2, #0\n"
  "strh r1, [r0, #4]\n"
  "bl Sub_08011018\n"
  "add sp, #8\n"
  "pop {r7}\n"
  "pop {r0}\n"
  "bx r0\n"
  ".Lp0: .word 0x02000150\n"
  ".Lp1: .word 0x40000130\n"
  ".Lp2: .word 0x000003FF\n"
  ::: "r0","r1","r2","r3","memory");
}
