diff options
author | sceptillion <33798691+sceptillion@users.noreply.github.com> | 2017-12-16 23:54:22 -0800 |
---|---|---|
committer | sceptillion <33798691+sceptillion@users.noreply.github.com> | 2017-12-16 23:54:22 -0800 |
commit | 670fef77ac4d9116d5fdc28c0da40622919a062b (patch) | |
tree | 61c0e925f059404473826ac775305ba5e2706ab1 /asm/load_save.s |
first commit
Diffstat (limited to 'asm/load_save.s')
-rw-r--r-- | asm/load_save.s | 814 |
1 files changed, 814 insertions, 0 deletions
diff --git a/asm/load_save.s b/asm/load_save.s new file mode 100644 index 000000000..570d44cfa --- /dev/null +++ b/asm/load_save.s @@ -0,0 +1,814 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_804BFE4 +sub_804BFE4: @ 804BFE4 + push {lr} + bl IdentifyFlash + lsls r0, 16 + cmp r0, 0 + bne _0804C000 + ldr r1, _0804BFFC @ =gUnknown_3005004 + movs r0, 0x1 + str r0, [r1] + bl sub_80007C8 + b _0804C006 + .align 2, 0 +_0804BFFC: .4byte gUnknown_3005004 +_0804C000: + ldr r1, _0804C00C @ =gUnknown_3005004 + movs r0, 0 + str r0, [r1] +_0804C006: + pop {r0} + bx r0 + .align 2, 0 +_0804C00C: .4byte gUnknown_3005004 + thumb_func_end sub_804BFE4 + + thumb_func_start sub_804C010 +sub_804C010: @ 804C010 + push {lr} + sub sp, 0x4 + mov r1, sp + movs r0, 0 + strh r0, [r1] + ldr r1, _0804C02C @ =gUnknown_2024588 + ldr r2, _0804C030 @ =0x010007d2 + mov r0, sp + bl CpuSet + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_0804C02C: .4byte gUnknown_2024588 +_0804C030: .4byte 0x010007d2 + thumb_func_end sub_804C010 + + thumb_func_start sub_804C034 +sub_804C034: @ 804C034 + push {lr} + sub sp, 0x4 + mov r1, sp + movs r0, 0 + strh r0, [r1] + ldr r1, _0804C050 @ =gUnknown_202552C + ldr r2, _0804C054 @ =0x01001ef4 + mov r0, sp + bl CpuSet + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_0804C050: .4byte gUnknown_202552C +_0804C054: .4byte 0x01001ef4 + thumb_func_end sub_804C034 + + thumb_func_start sub_804C058 +sub_804C058: @ 804C058 + push {r4,r5,lr} + ldr r4, _0804C08C @ =gUnknown_3005008 + ldr r5, [r4] + bl sub_8044EC8 + movs r1, 0x7C + ands r1, r0 + ldr r2, _0804C090 @ =gUnknown_300500C + ldr r0, _0804C094 @ =gUnknown_2024588 + adds r0, r1, r0 + str r0, [r2] + ldr r0, _0804C098 @ =gUnknown_202552C + adds r0, r1, r0 + str r0, [r4] + ldr r2, _0804C09C @ =gUnknown_3005010 + ldr r0, _0804C0A0 @ =gUnknown_2029314 + adds r1, r0 + str r1, [r2] + bl sub_8099E44 + adds r0, r5, 0 + bl sub_8110840 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0804C08C: .4byte gUnknown_3005008 +_0804C090: .4byte gUnknown_300500C +_0804C094: .4byte gUnknown_2024588 +_0804C098: .4byte gUnknown_202552C +_0804C09C: .4byte gUnknown_3005010 +_0804C0A0: .4byte gUnknown_2029314 + thumb_func_end sub_804C058 + + thumb_func_start sub_804C0A4 +sub_804C0A4: @ 804C0A4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + ldr r4, _0804C160 @ =gUnknown_30030F0 + ldr r0, [r4, 0xC] + str r0, [sp] + ldr r1, [r4, 0x10] + str r1, [sp, 0x4] + movs r0, 0 + str r0, [r4, 0xC] + str r0, [r4, 0x10] + str r0, [r4, 0x20] + ldr r5, _0804C164 @ =gHeap + ldr r0, _0804C168 @ =gUnknown_300500C + ldr r1, [r0] + ldr r0, _0804C16C @ =0x00000f24 + mov r9, r0 + adds r0, r5, 0 + mov r2, r9 + bl memcpy + ldr r1, _0804C170 @ =gUnknown_3005008 + mov r10, r1 + ldr r1, [r1] + ldr r7, _0804C174 @ =0x00003d68 + ldr r0, _0804C178 @ =gHeap + 0xf24 + adds r2, r7, 0 + bl memcpy + ldr r6, _0804C17C @ =gUnknown_3005010 + ldr r1, [r6] + ldr r0, _0804C180 @ =0x000083d0 + mov r8, r0 + ldr r0, _0804C184 @ =gHeap + 0x4c8c + mov r2, r8 + bl memcpy + bl sub_804C058 + ldr r1, _0804C168 @ =gUnknown_300500C + ldr r0, [r1] + adds r1, r5, 0 + mov r2, r9 + bl memcpy + mov r1, r10 + ldr r0, [r1] + ldr r1, _0804C178 @ =gHeap + 0xf24 + adds r2, r7, 0 + bl memcpy + ldr r0, [r6] + ldr r1, _0804C184 @ =gHeap + 0x4c8c + mov r2, r8 + bl memcpy + movs r1, 0xE0 + lsls r1, 9 + adds r0, r5, 0 + bl sub_8002B80 + ldr r0, [sp, 0x4] + str r0, [r4, 0x10] + ldr r1, [sp] + str r1, [r4, 0xC] + bl sub_8044EC8 + adds r4, r0, 0 + bl sub_8044EC8 + lsls r4, 16 + lsls r0, 16 + lsrs r0, 16 + adds r4, r0 + adds r0, r4, 0 + bl sub_804C5A4 + ldr r1, _0804C168 @ =gUnknown_300500C + ldr r0, [r1] + movs r1, 0xF2 + lsls r1, 4 + adds r0, r1 + str r4, [r0] + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0804C160: .4byte gUnknown_30030F0 +_0804C164: .4byte gHeap +_0804C168: .4byte gUnknown_300500C +_0804C16C: .4byte 0x00000f24 +_0804C170: .4byte gUnknown_3005008 +_0804C174: .4byte 0x00003d68 +_0804C178: .4byte gHeap + 0xf24 +_0804C17C: .4byte gUnknown_3005010 +_0804C180: .4byte 0x000083d0 +_0804C184: .4byte gHeap + 0x4c8c + thumb_func_end sub_804C0A4 + + thumb_func_start sub_804C188 +sub_804C188: @ 804C188 + ldr r0, _0804C194 @ =gUnknown_300500C + ldr r0, [r0] + ldrb r1, [r0, 0x9] + movs r0, 0x1 + ands r0, r1 + bx lr + .align 2, 0 +_0804C194: .4byte gUnknown_300500C + thumb_func_end sub_804C188 + + thumb_func_start sub_804C198 +sub_804C198: @ 804C198 + ldr r0, _0804C1A8 @ =gUnknown_300500C + ldr r2, [r0] + ldrb r1, [r2, 0x9] + movs r0, 0xFE + ands r0, r1 + strb r0, [r2, 0x9] + bx lr + .align 2, 0 +_0804C1A8: .4byte gUnknown_300500C + thumb_func_end sub_804C198 + + thumb_func_start sub_804C1AC +sub_804C1AC: @ 804C1AC + ldr r0, _0804C1BC @ =gUnknown_300500C + ldr r2, [r0] + ldrb r1, [r2, 0x9] + movs r0, 0x1 + orrs r0, r1 + strb r0, [r2, 0x9] + bx lr + .align 2, 0 +_0804C1BC: .4byte gUnknown_300500C + thumb_func_end sub_804C1AC + + thumb_func_start sub_804C1C0 +sub_804C1C0: @ 804C1C0 + push {lr} + movs r0, 0 + bl sub_8055778 + ldr r0, _0804C1D8 @ =gUnknown_300500C + ldr r2, [r0] + ldrb r1, [r2, 0x9] + movs r0, 0x1 + orrs r0, r1 + strb r0, [r2, 0x9] + pop {r0} + bx r0 + .align 2, 0 +_0804C1D8: .4byte gUnknown_300500C + thumb_func_end sub_804C1C0 + + thumb_func_start sub_804C1DC +sub_804C1DC: @ 804C1DC + ldr r0, _0804C1EC @ =gUnknown_300500C + ldr r2, [r0] + ldrb r1, [r2, 0x9] + movs r0, 0xFE + ands r0, r1 + strb r0, [r2, 0x9] + bx lr + .align 2, 0 +_0804C1EC: .4byte gUnknown_300500C + thumb_func_end sub_804C1DC + + thumb_func_start sub_804C1F0 +sub_804C1F0: @ 804C1F0 + push {r4,lr} + ldr r0, _0804C224 @ =gUnknown_3005008 + ldr r0, [r0] + ldr r1, _0804C228 @ =gUnknown_2024029 + ldrb r1, [r1] + adds r0, 0x34 + strb r1, [r0] + movs r4, 0 +_0804C200: + ldr r0, _0804C224 @ =gUnknown_3005008 + ldr r0, [r0] + movs r1, 0x64 + muls r1, r4 + adds r0, r1 + ldr r2, _0804C22C @ =gUnknown_2024284 + adds r1, r2 + adds r0, 0x38 + movs r2, 0x64 + bl memcpy + adds r4, 0x1 + cmp r4, 0x5 + ble _0804C200 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0804C224: .4byte gUnknown_3005008 +_0804C228: .4byte gUnknown_2024029 +_0804C22C: .4byte gUnknown_2024284 + thumb_func_end sub_804C1F0 + + thumb_func_start sub_804C230 +sub_804C230: @ 804C230 + push {r4,r5,lr} + ldr r1, _0804C264 @ =gUnknown_2024029 + ldr r0, _0804C268 @ =gUnknown_3005008 + ldr r0, [r0] + adds r0, 0x34 + ldrb r0, [r0] + strb r0, [r1] + movs r4, 0 + ldr r5, _0804C26C @ =gUnknown_2024284 +_0804C242: + movs r0, 0x64 + adds r2, r4, 0 + muls r2, r0 + adds r0, r2, r5 + ldr r1, _0804C268 @ =gUnknown_3005008 + ldr r1, [r1] + adds r1, r2 + adds r1, 0x38 + movs r2, 0x64 + bl memcpy + adds r4, 0x1 + cmp r4, 0x5 + ble _0804C242 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0804C264: .4byte gUnknown_2024029 +_0804C268: .4byte gUnknown_3005008 +_0804C26C: .4byte gUnknown_2024284 + thumb_func_end sub_804C230 + + thumb_func_start sub_804C270 +sub_804C270: @ 804C270 + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r0, _0804C2B0 @ =gUnknown_3005008 + mov r12, r0 + movs r5, 0xD4 + lsls r5, 3 + mov r8, r5 + ldr r4, _0804C2B4 @ =gUnknown_2036E38 + movs r3, 0 + movs r2, 0xF +_0804C286: + mov r6, r12 + ldr r1, [r6] + adds r1, r3 + add r1, r8 + adds r0, r4, 0 + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + adds r4, 0x24 + adds r3, 0x24 + subs r2, 0x1 + cmp r2, 0 + bge _0804C286 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0804C2B0: .4byte gUnknown_3005008 +_0804C2B4: .4byte gUnknown_2036E38 + thumb_func_end sub_804C270 + + thumb_func_start sub_804C2B8 +sub_804C2B8: @ 804C2B8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r0, _0804C2F8 @ =gUnknown_3005008 + mov r12, r0 + movs r5, 0xD4 + lsls r5, 3 + mov r8, r5 + ldr r4, _0804C2FC @ =gUnknown_2036E38 + movs r3, 0 + movs r2, 0xF +_0804C2CE: + mov r6, r12 + ldr r1, [r6] + adds r1, r3 + adds r0, r4, 0 + add r1, r8 + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + adds r4, 0x24 + adds r3, 0x24 + subs r2, 0x1 + cmp r2, 0 + bge _0804C2CE + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0804C2F8: .4byte gUnknown_3005008 +_0804C2FC: .4byte gUnknown_2036E38 + thumb_func_end sub_804C2B8 + + thumb_func_start sub_804C300 +sub_804C300: @ 804C300 + push {lr} + bl sub_804C1F0 + bl sub_804C270 + pop {r0} + bx r0 + thumb_func_end sub_804C300 + + thumb_func_start sub_804C310 +sub_804C310: @ 804C310 + push {lr} + bl sub_804C230 + bl sub_804C2B8 + pop {r0} + bx r0 + thumb_func_end sub_804C310 + + thumb_func_start sub_804C320 +sub_804C320: @ 804C320 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + movs r2, 0 + ldr r0, _0804C424 @ =gUnknown_2031C8C + mov r12, r0 + ldr r1, _0804C428 @ =gUnknown_300500C + mov r10, r1 + ldr r5, _0804C42C @ =gUnknown_3005008 + movs r3, 0xC4 + lsls r3, 2 + ldr r4, _0804C430 @ =gUnknown_2031764 +_0804C33C: + lsls r0, r2, 2 + ldr r1, [r5] + adds r1, r3 + adds r1, r0 + ldr r0, [r1] + stm r4!, {r0} + adds r2, 0x1 + cmp r2, 0x29 + ble _0804C33C + movs r2, 0 + ldr r0, _0804C430 @ =gUnknown_2031764 + ldr r5, _0804C42C @ =gUnknown_3005008 + movs r3, 0xEE + lsls r3, 2 + adds r4, r0, 0 + adds r4, 0xA8 +_0804C35C: + lsls r0, r2, 2 + ldr r1, [r5] + adds r1, r3 + adds r1, r0 + ldr r0, [r1] + stm r4!, {r0} + adds r2, 0x1 + cmp r2, 0x1D + ble _0804C35C + movs r2, 0 + ldr r0, _0804C430 @ =gUnknown_2031764 + ldr r5, _0804C42C @ =gUnknown_3005008 + movs r6, 0x90 + lsls r6, 1 + adds r4, r0, r6 + movs r3, 0x86 + lsls r3, 3 +_0804C37E: + lsls r0, r2, 2 + ldr r1, [r5] + adds r1, r3 + adds r1, r0 + ldr r0, [r1] + stm r4!, {r0} + adds r2, 0x1 + cmp r2, 0xC + ble _0804C37E + movs r2, 0 + ldr r0, _0804C430 @ =gUnknown_2031764 + ldr r5, _0804C42C @ =gUnknown_3005008 + movs r7, 0xAA + lsls r7, 1 + adds r4, r0, r7 + ldr r3, _0804C434 @ =0x00000464 +_0804C39E: + lsls r0, r2, 2 + ldr r1, [r5] + adds r1, r3 + adds r1, r0 + ldr r0, [r1] + stm r4!, {r0} + adds r2, 0x1 + cmp r2, 0x39 + ble _0804C39E + movs r2, 0 + ldr r0, _0804C430 @ =gUnknown_2031764 + ldr r5, _0804C42C @ =gUnknown_3005008 + movs r1, 0x8F + lsls r1, 2 + adds r4, r0, r1 + ldr r3, _0804C438 @ =0x0000054c +_0804C3BE: + lsls r0, r2, 2 + ldr r1, [r5] + adds r1, r3 + adds r1, r0 + ldr r0, [r1] + stm r4!, {r0} + adds r2, 0x1 + cmp r2, 0x2A + ble _0804C3BE + ldr r0, _0804C430 @ =gUnknown_2031764 + ldr r5, _0804C42C @ =gUnknown_3005008 + mov r8, r5 + movs r6, 0xBA + lsls r6, 2 + adds r4, r0, r6 + movs r3, 0 + ldr r7, _0804C43C @ =0x00002cd0 + mov r9, r7 + movs r2, 0xF +_0804C3E4: + mov r0, r8 + ldr r1, [r0] + adds r1, r3 + adds r0, r4, 0 + add r1, r9 + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + ldm r1!, {r5-r7} + stm r0!, {r5-r7} + adds r4, 0x24 + adds r3, 0x24 + subs r2, 0x1 + cmp r2, 0 + bge _0804C3E4 + mov r1, r10 + ldr r0, [r1] + movs r5, 0xF2 + lsls r5, 4 + adds r0, r5 + ldr r0, [r0] + mov r6, r12 + str r0, [r6] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0804C424: .4byte gUnknown_2031C8C +_0804C428: .4byte gUnknown_300500C +_0804C42C: .4byte gUnknown_3005008 +_0804C430: .4byte gUnknown_2031764 +_0804C434: .4byte 0x00000464 +_0804C438: .4byte 0x0000054c +_0804C43C: .4byte 0x00002cd0 + thumb_func_end sub_804C320 + + thumb_func_start sub_804C440 +sub_804C440: @ 804C440 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + movs r2, 0 + ldr r0, _0804C550 @ =gUnknown_300500C + mov r8, r0 + ldr r1, _0804C554 @ =gUnknown_2031C8C + mov r12, r1 + ldr r5, _0804C558 @ =gUnknown_3005008 + movs r3, 0xC4 + lsls r3, 2 + ldr r4, _0804C55C @ =gUnknown_2031764 +_0804C45C: + ldr r0, [r5] + lsls r1, r2, 2 + adds r0, r3 + adds r0, r1 + ldm r4!, {r1} + str r1, [r0] + adds r2, 0x1 + cmp r2, 0x29 + ble _0804C45C + movs r2, 0 + ldr r5, _0804C558 @ =gUnknown_3005008 + movs r4, 0xEE + lsls r4, 2 + ldr r0, _0804C55C @ =gUnknown_2031764 + adds r3, r0, 0 + adds r3, 0xA8 +_0804C47C: + ldr r0, [r5] + lsls r1, r2, 2 + adds r0, r4 + adds r0, r1 + ldm r3!, {r1} + str r1, [r0] + adds r2, 0x1 + cmp r2, 0x1D + ble _0804C47C + movs r2, 0 + ldr r5, _0804C558 @ =gUnknown_3005008 + movs r4, 0x86 + lsls r4, 3 + ldr r0, _0804C55C @ =gUnknown_2031764 + movs r6, 0x90 + lsls r6, 1 + adds r3, r0, r6 +_0804C49E: + ldr r0, [r5] + lsls r1, r2, 2 + adds r0, r4 + adds r0, r1 + ldm r3!, {r1} + str r1, [r0] + adds r2, 0x1 + cmp r2, 0xC + ble _0804C49E + movs r2, 0 + ldr r5, _0804C558 @ =gUnknown_3005008 + ldr r4, _0804C560 @ =0x00000464 + ldr r0, _0804C55C @ =gUnknown_2031764 + movs r7, 0xAA + lsls r7, 1 + adds r3, r0, r7 +_0804C4BE: + ldr r0, [r5] + lsls r1, r2, 2 + adds r0, r4 + adds r0, r1 + ldm r3!, {r1} + str r1, [r0] + adds r2, 0x1 + cmp r2, 0x39 + ble _0804C4BE + movs r2, 0 + ldr r5, _0804C558 @ =gUnknown_3005008 + ldr r4, _0804C564 @ =0x0000054c + ldr r0, _0804C55C @ =gUnknown_2031764 + movs r1, 0x8F + lsls r1, 2 + adds r3, r0, r1 +_0804C4DE: + ldr r0, [r5] + lsls r1, r2, 2 + adds r0, r4 + adds r0, r1 + ldm r3!, {r1} + str r1, [r0] + adds r2, 0x1 + cmp r2, 0x2A + ble _0804C4DE + ldr r2, _0804C558 @ =gUnknown_3005008 + mov r9, r2 + ldr r5, _0804C568 @ =0x00002cd0 + mov r10, r5 + ldr r4, _0804C55C @ =gUnknown_2031764 + movs r3, 0 + movs r2, 0xF +_0804C4FE: + mov r6, r9 + ldr r1, [r6] + adds r1, r3 + add r1, r10 + movs r7, 0xBA + lsls r7, 2 + adds r0, r4, r7 + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + adds r4, 0x24 + adds r3, 0x24 + subs r2, 0x1 + cmp r2, 0 + bge _0804C4FE + mov r1, r8 + ldr r0, [r1] + movs r5, 0xF2 + lsls r5, 4 + adds r0, r5 + ldr r4, [r0] + mov r2, r12 + ldr r1, [r2] + str r1, [r0] + adds r0, r4, 0 + bl sub_8099DE0 + mov r6, r8 + ldr r0, [r6] + adds r0, r5 + str r4, [r0] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0804C550: .4byte gUnknown_300500C +_0804C554: .4byte gUnknown_2031C8C +_0804C558: .4byte gUnknown_3005008 +_0804C55C: .4byte gUnknown_2031764 +_0804C560: .4byte 0x00000464 +_0804C564: .4byte 0x0000054c +_0804C568: .4byte 0x00002cd0 + thumb_func_end sub_804C440 + + thumb_func_start sub_804C56C +sub_804C56C: @ 804C56C + ldr r2, _0804C584 @ =gUnknown_300500C + ldr r2, [r2] + movs r3, 0xF2 + lsls r3, 4 + adds r2, r3 + ldr r2, [r2] + ldrh r3, [r0] + eors r2, r3 + eors r2, r1 + strh r2, [r0] + bx lr + .align 2, 0 +_0804C584: .4byte gUnknown_300500C + thumb_func_end sub_804C56C + + thumb_func_start sub_804C588 +sub_804C588: @ 804C588 + ldr r2, _0804C5A0 @ =gUnknown_300500C + ldr r3, [r2] + movs r2, 0xF2 + lsls r2, 4 + adds r3, r2 + ldr r2, [r0] + ldr r3, [r3] + eors r2, r3 + eors r2, r1 + str r2, [r0] + bx lr + .align 2, 0 +_0804C5A0: .4byte gUnknown_300500C + thumb_func_end sub_804C588 + + thumb_func_start sub_804C5A4 +sub_804C5A4: @ 804C5A4 + push {r4-r7,lr} + adds r5, r0, 0 + ldr r7, _0804C5F8 @ =gUnknown_3005008 + ldr r6, _0804C5FC @ =0x00003d38 + movs r4, 0x3 +_0804C5AE: + ldr r0, [r7] + adds r0, r6 + adds r0, 0x4 + adds r1, r5, 0 + bl sub_804C588 + adds r6, 0xC + subs r4, 0x1 + cmp r4, 0 + bge _0804C5AE + adds r0, r5, 0 + bl sub_8054F38 + adds r0, r5, 0 + bl sub_8099E38 + adds r0, r5, 0 + bl sub_815EE6C + ldr r4, _0804C5F8 @ =gUnknown_3005008 + ldr r0, [r4] + movs r1, 0xA4 + lsls r1, 2 + adds r0, r1 + adds r1, r5, 0 + bl sub_804C588 + ldr r0, [r4] + movs r1, 0xA5 + lsls r1, 2 + adds r0, r1 + adds r1, r5, 0 + bl sub_804C56C + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0804C5F8: .4byte gUnknown_3005008 +_0804C5FC: .4byte 0x00003d38 + thumb_func_end sub_804C5A4 + + .align 2, 0 @ Don't pad with nop. |