void Render_DrawSpriteScaled(int a, int b, int c) __attribute__((naked));
void Render_DrawSpriteScaled(int a, int b, int c)
{
  (void)a; (void)b; (void)c;
  __asm__ volatile(
  ".syntax unified\n"
  ".thumb\n"
  "push {r4, r5, r6, r7, lr}\n"
  "mov r7, r9\n"
  "mov r6, r8\n"
  "push {r6, r7}\n"
  "mov ip, r0\n"
  "movs r0, #252\n"
  "add r0, ip\n"
  "mov r9, r0\n"
  "str r1, [r0, #0]\n"
  "movs r0, #128\n"
  "lsls r0, r0, #1\n"
  "add r0, ip\n"
  "str r2, [r0, #0]\n"
  "movs r0, #130\n"
  "lsls r0, r0, #1\n"
  "add r0, ip\n"
  "movs r2, #0\n"
  "str r2, [r0, #0]\n"
  "movs r0, #132\n"
  "lsls r0, r0, #1\n"
  "add r0, ip\n"
  "str r2, [r0, #0]\n"
  "ldr r1, [r1, #4]\n"
  "mov r0, ip\n"
  "adds r0, #60\n"
  "movs r3, #134\n"
  "lsls r3, r3, #1\n"
  "add r3, ip\n"
  "adds r4, r1, #0\n"
  "adds r4, #64\n"
  "adds r1, #32\n"
  "movs r5, #14\n"
  "movs r6, #16\n"
  "mov r8, r6\n"
  "movs r6, #0\n"
  "strh r2, [r0, #16]\n"
  "strb r6, [r0, #0]\n"
  "strh r2, [r0, #18]\n"
  "strh r2, [r0, #20]\n"
  "strh r2, [r0, #22]\n"
  "str r3, [r0, #4]\n"
  "str r4, [r0, #8]\n"
  "str r1, [r0, #12]\n"
  "strh r2, [r0, #24]\n"
  "strh r2, [r0, #26]\n"
  "strh r5, [r0, #28]\n"
  "mov r7, r8\n"
  "strh r7, [r0, #30]\n"
  "mov r1, r9\n"
  "ldr r0, [r1, #0]\n"
  "ldr r1, [r0, #4]\n"
  "mov r0, ip\n"
  "adds r0, #92\n"
  "movs r3, #150\n"
  "lsls r3, r3, #1\n"
  "add r3, ip\n"
  "adds r4, r1, #0\n"
  "adds r4, #96\n"
  "adds r1, #64\n"
  "movs r5, #15\n"
  "strh r2, [r0, #16]\n"
  "strb r6, [r0, #0]\n"
  "strh r2, [r0, #18]\n"
  "strh r2, [r0, #20]\n"
  "strh r2, [r0, #22]\n"
  "str r3, [r0, #4]\n"
  "str r4, [r0, #8]\n"
  "str r1, [r0, #12]\n"
  "strh r2, [r0, #24]\n"
  "strh r2, [r0, #26]\n"
  "strh r5, [r0, #28]\n"
  "strh r7, [r0, #30]\n"
  "mov r1, r9\n"
  "ldr r0, [r1, #0]\n"
  "ldr r1, [r0, #4]\n"
  "mov r0, ip\n"
  "adds r0, #124\n"
  "movs r3, #166\n"
  "lsls r3, r3, #1\n"
  "add r3, ip\n"
  "adds r4, r1, #0\n"
  "adds r4, #128\n"
  "adds r1, #160\n"
  "movs r5, #4\n"
  "strh r2, [r0, #16]\n"
  "strb r6, [r0, #0]\n"
  "strh r2, [r0, #18]\n"
  "strh r2, [r0, #20]\n"
  "strh r2, [r0, #22]\n"
  "str r3, [r0, #4]\n"
  "str r4, [r0, #8]\n"
  "str r1, [r0, #12]\n"
  "strh r2, [r0, #24]\n"
  "strh r2, [r0, #26]\n"
  "strh r5, [r0, #28]\n"
  "strh r7, [r0, #30]\n"
  "mov r1, r9\n"
  "ldr r0, [r1, #0]\n"
  "ldr r1, [r0, #4]\n"
  "mov r0, ip\n"
  "adds r0, #156\n"
  "movs r3, #182\n"
  "lsls r3, r3, #1\n"
  "add r3, ip\n"
  "ldr r4, .Lp0\n"
  "adds r1, #224\n"
  "movs r5, #6\n"
  "movs r7, #8\n"
  "mov r8, r7\n"
  "strh r2, [r0, #16]\n"
  "strb r6, [r0, #0]\n"
  "strh r2, [r0, #18]\n"
  "strh r2, [r0, #20]\n"
  "strh r2, [r0, #22]\n"
  "str r3, [r0, #4]\n"
  "str r4, [r0, #8]\n"
  "str r1, [r0, #12]\n"
  "strh r2, [r0, #24]\n"
  "strh r2, [r0, #26]\n"
  "strh r5, [r0, #28]\n"
  "mov r1, r8\n"
  "strh r1, [r0, #30]\n"
  "adds r0, #64\n"
  "ldr r3, .Lp1\n"
  "movs r1, #1\n"
  "strh r1, [r0, #16]\n"
  "strb r6, [r0, #0]\n"
  "strh r2, [r0, #18]\n"
  "strh r2, [r0, #20]\n"
  "strh r1, [r0, #22]\n"
  "str r2, [r0, #4]\n"
  "str r3, [r0, #8]\n"
  "str r2, [r0, #12]\n"
  "strh r2, [r0, #24]\n"
  "strh r2, [r0, #26]\n"
  "strh r2, [r0, #28]\n"
  "mov r6, r8\n"
  "strh r6, [r0, #30]\n"
  "pop {r3, r4}\n"
  "mov r8, r3\n"
  "mov r9, r4\n"
  "pop {r4, r5, r6, r7}\n"
  "pop {r0}\n"
  "bx r0\n"
  ".Lp0: .word 0x08027892\n"
  ".Lp1: .word 0x08065AD4\n"
  ::: "r0","r1","r2","r3","r4","r5","r6","r7","memory");
}
