extern int Image_DrawBitmap(int,int,int);
extern int Collectible_Init(int,int);
void Sub_0800A448(int a) __attribute__((naked));
void Sub_0800A448(int a)
{
  (void)a;
  __asm__ volatile(
  ".syntax unified\n"
  ".thumb\n"
  "Sec_%=:\n"
  "push {r4, r5, r6, lr}\n"
  "adds r4, r0, #0\n"
  "ldr	r0, .LpQ800A4B8\n"
  "ldr r6, [r0, #0]\n"
  "ldr r0, [r4, #16]\n"
  "cmp r0, #0\n"
  "bne QQL800A4B0_%=\n"
  "movs r1, #206\n"
  "lsls r1, r1, #1\n"
  "adds r0, r4, r1\n"
  "ldr r1, [r0, #0]\n"
  "lsls r0, r1, #4\n"
  "subs r0, r0, r1\n"
  "lsls r0, r0, #2\n"
  "ldr	r1, .LpQ800A4BC\n"
  "adds r5, r0, r1\n"
  "ldr r0, [r5, #56]\n"
  "cmp r0, #7\n"
  "bls QQL800A47A_%=\n"
  "ldr	r0, .LpQ800A4C0\n"
  "ldr	r1, .LpQ800A4C4\n"
  "movs r2, #150\n"
  "lsls r2, r2, #1\n"
  "bl Image_DrawBitmap\n"
  "QQL800A47A_%=:\n"
  "ldr	r1, .LpQ800A4C8\n"
  "ldr r0, [r5, #56]\n"
  "lsls r0, r0, #2\n"
  "adds r0, r0, r1\n"
  "ldr r3, [r0, #0]\n"
  "ldr	r0, .LpQ800A4CC\n"
  "adds r1, r6, r0\n"
  "asrs r2, r3, #5\n"
  "movs r0, #31\n"
  "ands r3, r0\n"
  "lsls r2, r2, #2\n"
  "adds r2, r2, r1\n"
  "movs r1, #1\n"
  "lsls r1, r3\n"
  "ldr r0, [r2, #0]\n"
  "orrs r0, r1\n"
  "str r0, [r2, #0]\n"
  "movs r1, #146\n"
  "lsls r1, r1, #6\n"
  "adds r0, r4, r1\n"
  "bl Collectible_Init\n"
  "movs r0, #2\n"
  "movs r1, #1\n"
  "negs r1, r1\n"
  "str r0, [r4, #8]\n"
  "str r1, [r4, #12]\n"
  "QQL800A4B0_%=:\n"
  "pop {r4, r5, r6}\n"
  "pop {r0}\n"
  "bx r0\n"
  "movs r0, r0\n"
  ".LpQ800A4B8: .word 0x02000134\n"
  ".LpQ800A4BC: .word 0x08028518\n"
  ".LpQ800A4C0: .word 0x0802A094\n"
  ".LpQ800A4C4: .word 0x0802A0B4\n"
  ".LpQ800A4C8: .word 0x08029E68\n"
  ".LpQ800A4CC: .word 0x000009A4\n"
  ::: "r0","r1","r2","r3","memory");
}
