diff options
Diffstat (limited to 'arm9/modules/05/asm/module_05.s')
-rw-r--r-- | arm9/modules/05/asm/module_05.s | 1317 |
1 files changed, 0 insertions, 1317 deletions
diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s index 38ca97a9..96673023 100644 --- a/arm9/modules/05/asm/module_05.s +++ b/arm9/modules/05/asm/module_05.s @@ -3,1292 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD05_021E779C -MOD05_021E779C: ; 0x021E779C - push {r4, lr} - mov r2, #0 - mov r1, #0x14 - add r3, r2, #0 - add r4, r0, #0 - bl MOD05_021E4BE8 - str r4, [r0, #0x10] - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E77B0 -MOD05_021E77B0: ; 0x021E77B0 - push {r4, lr} - add r4, r0, #0 - bl MOD05_021E78B4 - add r0, r4, #0 - bl MOD05_021E4C00 - pop {r4, pc} - - thumb_func_start MOD05_021E77C0 -MOD05_021E77C0: ; 0x021E77C0 - ldr r1, [r0] - add r1, r1, #1 - str r1, [r0] - bx lr - - thumb_func_start MOD05_021E77C8 -MOD05_021E77C8: ; 0x021E77C8 - push {r3, lr} - ldr r1, [r0] - sub r1, r1, #1 - str r1, [r0] - bpl _021E77D6 - bl ErrorHandling -_021E77D6: - pop {r3, pc} - - thumb_func_start MOD05_021E77D8 -MOD05_021E77D8: ; 0x021E77D8 - ldr r1, [r0, #4] - add r1, r1, #1 - str r1, [r0, #4] - bx lr - - thumb_func_start MOD05_021E77E0 -MOD05_021E77E0: ; 0x021E77E0 - push {r3, lr} - ldr r1, [r0, #4] - sub r1, r1, #1 - str r1, [r0, #4] - bpl _021E77EE - bl ErrorHandling -_021E77EE: - pop {r3, pc} - - thumb_func_start MOD05_021E77F0 -MOD05_021E77F0: ; 0x021E77F0 - push {r3, lr} - cmp r1, #0 - bne _021E77FC - bl MOD05_021E77C0 - pop {r3, pc} -_021E77FC: - bl MOD05_021E77D8 - pop {r3, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E7804 -MOD05_021E7804: ; 0x021E7804 - push {r3, lr} - cmp r1, #0 - bne _021E7810 - bl MOD05_021E77C8 - pop {r3, pc} -_021E7810: - bl MOD05_021E77E0 - pop {r3, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E7818 -MOD05_021E7818: ; 0x021E7818 - push {r3, r4, lr} - sub sp, #0xc - add r4, r0, #0 - ldr r0, [r4, #8] - cmp r0, #0 - bne _021E785C - mov r1, #1 - str r1, [r4, #8] - ldr r0, [r4, #0x10] - mov r2, #0x55 - bl MOD05_021E5078 - ldr r0, [r4, #0x10] - mov r1, #1 - mov r2, #0x75 - bl MOD05_021E50AC - mov r1, #1 - ldr r0, [r4, #0x10] - mov r2, #4 - add r3, r1, #0 - bl MOD05_021E50D4 - mov r1, #1 - str r1, [sp] - mov r0, #0 - str r0, [sp, #4] - ldr r0, _021E7860 ; =UNK05_021F7854 - add r2, r1, #0 - str r0, [sp, #8] - ldr r0, [r4, #0x10] - add r3, r1, #0 - bl MOD05_021E4EFC -_021E785C: - add sp, #0xc - pop {r3, r4, pc} - .balign 4, 0 -_021E7860: .word UNK05_021F7854 - - thumb_func_start MOD05_021E7864 -MOD05_021E7864: ; 0x021E7864 - push {r3, r4, lr} - sub sp, #0xc - add r4, r0, #0 - ldr r0, [r4, #0xc] - cmp r0, #0 - bne _021E78AC - mov r0, #1 - str r0, [r4, #0xc] - ldr r0, [r4, #0x10] - mov r1, #0xa - mov r2, #0x6c - bl MOD05_021E5078 - ldr r0, [r4, #0x10] - mov r1, #0xa - mov r2, #0x75 - bl MOD05_021E50AC - ldr r0, [r4, #0x10] - mov r1, #0xb - mov r2, #0xd - mov r3, #1 - bl MOD05_021E50D4 - mov r0, #0xb - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - ldr r0, _021E78B0 ; =UNK05_021F7854 - mov r2, #0xa - str r0, [sp, #8] - ldr r0, [r4, #0x10] - mov r1, #0xc - add r3, r2, #0 - bl MOD05_021E4EFC -_021E78AC: - add sp, #0xc - pop {r3, r4, pc} - .balign 4, 0 -_021E78B0: .word UNK05_021F7854 - - thumb_func_start MOD05_021E78B4 -MOD05_021E78B4: ; 0x021E78B4 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #8] - cmp r0, #1 - bne _021E78E2 - mov r0, #0 - str r0, [r4, #8] - ldr r0, [r4, #0x10] - mov r1, #1 - bl MOD05_021E50A0 - ldr r0, [r4, #0x10] - mov r1, #1 - bl MOD05_021E50C8 - ldr r0, [r4, #0x10] - mov r1, #1 - bl MOD05_021E5114 - ldr r0, [r4, #0x10] - mov r1, #1 - bl MOD05_021E506C -_021E78E2: - pop {r4, pc} - - thumb_func_start MOD05_021E78E4 -MOD05_021E78E4: ; 0x021E78E4 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0xc] - cmp r0, #1 - bne _021E7912 - mov r0, #0 - str r0, [r4, #0xc] - ldr r0, [r4, #0x10] - mov r1, #0xa - bl MOD05_021E50A0 - ldr r0, [r4, #0x10] - mov r1, #0xa - bl MOD05_021E50C8 - ldr r0, [r4, #0x10] - mov r1, #0xb - bl MOD05_021E5114 - ldr r0, [r4, #0x10] - mov r1, #0xc - bl MOD05_021E506C -_021E7912: - pop {r4, pc} - - thumb_func_start MOD05_021E7914 -MOD05_021E7914: ; 0x021E7914 - push {r3, lr} - ldr r1, [r0] - cmp r1, #0 - bne _021E7920 - bl MOD05_021E7818 -_021E7920: - pop {r3, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E7924 -MOD05_021E7924: ; 0x021E7924 - push {r3, lr} - ldr r1, [r0, #4] - cmp r1, #0 - bne _021E7930 - bl MOD05_021E7864 -_021E7930: - pop {r3, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E7934 -MOD05_021E7934: ; 0x021E7934 - push {r3, lr} - ldr r1, [r0] - cmp r1, #0 - bne _021E7940 - bl MOD05_021E78B4 -_021E7940: - pop {r3, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E7944 -MOD05_021E7944: ; 0x021E7944 - push {r3, lr} - ldr r1, [r0, #4] - cmp r1, #0 - bne _021E7950 - bl MOD05_021E78E4 -_021E7950: - pop {r3, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E7954 -MOD05_021E7954: ; 0x021E7954 - push {r3, lr} - cmp r1, #0 - bne _021E7960 - bl MOD05_021E7914 - pop {r3, pc} -_021E7960: - bl MOD05_021E7924 - pop {r3, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E7968 -MOD05_021E7968: ; 0x021E7968 - push {r3, lr} - cmp r1, #0 - bne _021E7974 - bl MOD05_021E7934 - pop {r3, pc} -_021E7974: - bl MOD05_021E7944 - pop {r3, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E797C -MOD05_021E797C: ; 0x021E797C - push {r3, r4, r5, lr} - sub sp, #8 - ldr r3, _021E7998 ; =UNK05_021F7824 - add r4, sp, #0 - ldr r5, [r3] - ldr r3, [r3, #4] - str r5, [sp] - str r3, [sp, #4] - lsl r1, r1, #2 - ldr r1, [r4, r1] - bl MOD05_021E4EE4 - add sp, #8 - pop {r3, r4, r5, pc} - .balign 4, 0 -_021E7998: .word UNK05_021F7824 - - thumb_func_start MOD05_021E799C -MOD05_021E799C: ; 0x021E799C - push {r3, lr} - bl FUN_02064738 - ldr r0, [r0, #0x14] - pop {r3, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E79A8 -MOD05_021E79A8: ; 0x021E79A8 - push {r4, r5, lr} - sub sp, #0xc - add r4, r1, #0 - add r5, r0, #0 - bl FUN_0206475C - add r2, r4, #0 - add r3, r0, #0 - add r2, #0x30 - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - mov r0, #6 - lsl r0, r0, #0xc - str r0, [r4, #0x28] - ldr r0, [r4, #0x38] - ldr r1, [r4, #0x30] - bl MOD05_021E7954 - add r0, r5, #0 - add r1, sp, #0 - bl FUN_0206477C - ldr r0, [r4, #0x34] - ldr r1, [r4, #0x30] - add r2, sp, #0 - bl MOD05_021E797C - str r0, [r4, #0x40] - ldr r0, [r4, #0x38] - ldr r1, [r4, #0x30] - bl MOD05_021E77F0 - add r0, r5, #0 - bl FUN_02064754 - cmp r0, #1 - bne _021E79FC - ldr r0, _021E7A04 ; =0x000005DD - bl FUN_020054C8 -_021E79FC: - mov r0, #1 - add sp, #0xc - pop {r4, r5, pc} - nop -_021E7A04: .word 0x000005DD - - thumb_func_start MOD05_021E7A08 -MOD05_021E7A08: ; 0x021E7A08 - push {r4, r5, lr} - sub sp, #0xc - add r4, r1, #0 - add r1, sp, #0 - add r5, r0, #0 - bl FUN_0206477C - ldr r0, [r4] - cmp r0, #0 - beq _021E7A24 - cmp r0, #1 - beq _021E7A46 - cmp r0, #2 - b _021E7A5E -_021E7A24: - ldr r1, [r4, #0x1c] - ldr r0, [r4, #0x28] - add r0, r1, r0 - str r0, [r4, #0x1c] - beq _021E7A3A - mov r0, #2 - ldr r1, [r4, #0x28] - lsl r0, r0, #0xc - sub r0, r1, r0 - str r0, [r4, #0x28] - b _021E7A5E -_021E7A3A: - mov r0, #0 - str r0, [r4, #0x28] - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - b _021E7A5E -_021E7A46: - ldr r0, [r4, #4] - add r0, r0, #1 - str r0, [r4, #4] - cmp r0, #0x1e - blt _021E7A5E - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - mov r0, #0 - str r0, [r4, #4] - mov r0, #1 - str r0, [r4, #0x14] -_021E7A5E: - add r0, r5, #0 - add r1, sp, #0 - bl FUN_0206476C - add sp, #0xc - pop {r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E7A6C -MOD05_021E7A6C: ; 0x021E7A6C - push {r4, lr} - add r4, r1, #0 - ldr r0, [r4, #0x40] - bl FUN_0201F744 - ldr r0, [r4, #0x38] - ldr r1, [r4, #0x30] - bl MOD05_021E7804 - ldr r0, [r4, #0x38] - ldr r1, [r4, #0x30] - bl MOD05_021E7968 - pop {r4, pc} - - thumb_func_start MOD05_021E7A88 -MOD05_021E7A88: ; 0x021E7A88 - push {r3, r4, lr} - sub sp, #0xc - add r4, r1, #0 - ldr r1, [r4, #0x10] - cmp r1, #1 - beq _021E7ABA - add r1, sp, #0 - bl FUN_0206477C - ldr r1, [sp] - ldr r0, [r4, #0x18] - add r0, r1, r0 - str r0, [sp] - ldr r1, [sp, #4] - ldr r0, [r4, #0x1c] - add r0, r1, r0 - str r0, [sp, #4] - ldr r1, [sp, #8] - ldr r0, [r4, #0x20] - add r0, r1, r0 - str r0, [sp, #8] - ldr r0, [r4, #0x40] - add r1, sp, #0 - bl FUN_0201F7C8 -_021E7ABA: - add sp, #0xc - pop {r3, r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E7AC0 -MOD05_021E7AC0: ; 0x021E7AC0 - push {r4, r5, r6, r7, lr} - sub sp, #0x24 - add r5, r0, #0 - add r6, r1, #0 - add r7, r2, #0 - bl MOD05_021E4C24 - add r4, r0, #0 - mov r1, #0x16 - str r6, [sp, #0x14] - str r4, [sp, #0x18] - bl MOD05_021E4C08 - str r0, [sp, #0x1c] - add r0, r5, #0 - add r1, sp, #8 - str r5, [sp, #0x20] - bl FUN_02058B5C - add r0, r5, #0 - bl FUN_02058744 - add r1, r0, #1 - add r0, sp, #0x14 - str r0, [sp] - str r1, [sp, #4] - ldr r1, _021E7B04 ; =UNK05_021F7840 - add r0, r4, #0 - add r2, sp, #8 - add r3, r7, #0 - bl MOD05_021E4DC4 - add sp, #0x24 - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_021E7B04: .word UNK05_021F7840 - - thumb_func_start MOD05_021E7B08 -MOD05_021E7B08: ; 0x021E7B08 - push {r4, r5, lr} - sub sp, #0xc - add r4, r1, #0 - add r5, r0, #0 - bl FUN_0206475C - add r2, r4, #0 - add r3, r0, #0 - add r2, #0x30 - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldr r0, [r4, #0x3c] - bl FUN_02058448 - str r0, [r4, #8] - ldr r0, [r4, #0x3c] - bl FUN_02058450 - str r0, [r4, #0xc] - mov r0, #6 - lsl r0, r0, #0xc - str r0, [r4, #0x28] - ldr r0, [r4, #0x38] - ldr r1, [r4, #0x30] - bl MOD05_021E7954 - add r0, r5, #0 - add r1, sp, #0 - bl FUN_0206477C - ldr r0, [r4, #0x34] - ldr r1, [r4, #0x30] - add r2, sp, #0 - bl MOD05_021E797C - str r0, [r4, #0x40] - ldr r0, [r4, #0x38] - ldr r1, [r4, #0x30] - bl MOD05_021E77F0 - add r0, r5, #0 - bl FUN_02064754 - cmp r0, #1 - bne _021E7B6C - ldr r0, _021E7B74 ; =0x000005DD - bl FUN_020054C8 -_021E7B6C: - mov r0, #1 - add sp, #0xc - pop {r4, r5, pc} - nop -_021E7B74: .word 0x000005DD - - thumb_func_start MOD05_021E7B78 -MOD05_021E7B78: ; 0x021E7B78 - push {r3, r4, r5, r6, lr} - sub sp, #0xc - add r4, r1, #0 - ldr r6, [r4, #0x3c] - ldr r1, [r4, #8] - add r5, r0, #0 - ldr r2, [r4, #0xc] - add r0, r6, #0 - bl FUN_020582A8 - cmp r0, #0 - bne _021E7B94 - bl ErrorHandling -_021E7B94: - add r0, r6, #0 - add r1, sp, #0 - bl MOD05_021F1E64 - mov r0, #2 - ldr r1, [sp, #4] - lsl r0, r0, #0x10 - add r1, r1, r0 - str r1, [sp, #4] - ldr r2, [sp, #8] - lsr r1, r0, #5 - add r1, r2, r1 - str r1, [sp, #8] - ldr r1, [r4] - cmp r1, #0 - beq _021E7BBC - cmp r1, #1 - beq _021E7BDC - cmp r1, #2 - b _021E7BF4 -_021E7BBC: - ldr r2, [r4, #0x1c] - ldr r1, [r4, #0x28] - add r1, r2, r1 - str r1, [r4, #0x1c] - beq _021E7BD0 - ldr r1, [r4, #0x28] - lsr r0, r0, #4 - sub r0, r1, r0 - str r0, [r4, #0x28] - b _021E7BF4 -_021E7BD0: - mov r0, #0 - str r0, [r4, #0x28] - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - b _021E7BF4 -_021E7BDC: - ldr r0, [r4, #4] - add r0, r0, #1 - str r0, [r4, #4] - cmp r0, #0x1e - blt _021E7BF4 - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - mov r0, #0 - str r0, [r4, #4] - mov r0, #1 - str r0, [r4, #0x14] -_021E7BF4: - add r0, r5, #0 - add r1, sp, #0 - bl FUN_0206476C - add sp, #0xc - pop {r3, r4, r5, r6, pc} - - thumb_func_start MOD05_021E7C00 -MOD05_021E7C00: ; 0x021E7C00 - push {r4, lr} - mov r1, #0x46 - lsl r1, r1, #6 - bl AllocFromHeap - add r4, r0, #0 - bl MOD05_021E7C1C - add r0, r4, #0 - pop {r4, pc} - - thumb_func_start MOD05_021E7C14 -MOD05_021E7C14: ; 0x021E7C14 - ldr r3, _021E7C18 ; =FreeToHeap - bx r3 - .balign 4, 0 -_021E7C18: .word FreeToHeap - - thumb_func_start MOD05_021E7C1C -MOD05_021E7C1C: ; 0x021E7C1C - push {r3, r4, r5, r6, r7} - sub sp, #0xc - mov r4, #0 - mov ip, r0 - add r7, sp, #0 - add r3, r4, #0 -_021E7C28: - str r3, [r7] - str r3, [r7, #4] - mov r0, #0x8c - add r1, r4, #0 - mul r1, r0 - mov r0, ip - add r2, r0, r1 - add r5, r2, #0 - str r3, [r7, #8] - mov r0, ip - str r3, [r0, r1] - str r3, [r2, #4] - str r3, [r2, #8] - str r3, [r2, #0xc] - add r6, r7, #0 - ldmia r6!, {r0, r1} - add r5, #0x68 - stmia r5!, {r0, r1} - ldr r0, [r6] - add r6, r7, #0 - str r0, [r5] - add r5, r2, #0 - ldmia r6!, {r0, r1} - add r5, #0x74 - stmia r5!, {r0, r1} - ldr r0, [r6] - add r6, r7, #0 - str r0, [r5] - add r5, r2, #0 - ldmia r6!, {r0, r1} - add r5, #0x80 - stmia r5!, {r0, r1} - ldr r0, [r6] - str r0, [r5] - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - str r3, [r2, #0x64] - cmp r4, #0x20 - blo _021E7C28 - add sp, #0xc - pop {r3, r4, r5, r6, r7} - bx lr - .balign 4, 0 - - thumb_func_start MOD05_021E7C80 -MOD05_021E7C80: ; 0x021E7C80 - push {r3, r4, r5, r6, lr} - sub sp, #0xc - add r5, r0, #0 - add r4, r1, #0 - cmp r5, #0x20 - blt _021E7C90 - bl ErrorHandling -_021E7C90: - add r6, sp, #0 - mov r3, #0 - str r3, [r6] - str r3, [r6, #4] - mov r0, #0x8c - mul r0, r5 - str r3, [r6, #8] - str r3, [r4, r0] - add r2, r4, r0 - str r3, [r2, #4] - str r3, [r2, #8] - add r4, r2, #0 - str r3, [r2, #0xc] - add r5, r6, #0 - ldmia r5!, {r0, r1} - add r4, #0x68 - stmia r4!, {r0, r1} - ldr r0, [r5] - add r5, r6, #0 - str r0, [r4] - add r4, r2, #0 - ldmia r5!, {r0, r1} - add r4, #0x74 - stmia r4!, {r0, r1} - ldr r0, [r5] - str r0, [r4] - add r4, r2, #0 - ldmia r6!, {r0, r1} - add r4, #0x80 - stmia r4!, {r0, r1} - ldr r0, [r6] - str r0, [r4] - str r3, [r2, #0x64] - add sp, #0xc - pop {r3, r4, r5, r6, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E7CD8 -MOD05_021E7CD8: ; 0x021E7CD8 - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r6, r0, #0 - ldr r0, [sp, #0x28] - add r4, r1, #0 - str r0, [sp, #0x28] - mov r0, #0 - add r7, r2, #0 - add r5, r3, #0 - str r0, [sp, #4] - cmp r4, #0 - beq _021E7D0E - mov r0, #4 - bl AllocFromHeapAtEnd - str r0, [sp, #4] - ldr r2, [sp, #4] - add r0, r6, #0 - add r1, r4, #0 - bl NARC_ReadFile - add r0, r4, #0 - mov r1, #0x30 - bl _u32_div_f - str r0, [sp] - b _021E7D10 -_021E7D0E: - str r0, [sp] -_021E7D10: - ldr r4, [sp, #4] - mov r6, #0 -_021E7D14: - ldr r0, [sp] - cmp r6, r0 - bhs _021E7D82 - ldr r0, [r4] - add r2, r5, #0 - str r0, [r5] - mov r0, #1 - str r0, [r5, #4] - mov r0, #0 - add r3, r4, #4 - str r0, [r5, #0xc] - ldmia r3!, {r0, r1} - add r2, #0x68 - stmia r2!, {r0, r1} - ldr r0, [r3] - add r3, r4, #0 - str r0, [r2] - add r3, #0x10 - add r2, r5, #0 - ldmia r3!, {r0, r1} - add r2, #0x74 - stmia r2!, {r0, r1} - ldr r0, [r3] - add r3, r4, #0 - str r0, [r2] - add r3, #0x1c - add r2, r5, #0 - ldmia r3!, {r0, r1} - add r2, #0x80 - stmia r2!, {r0, r1} - ldr r0, [r3] - add r3, r5, #0 - str r0, [r2] - add r2, r5, #0 - ldr r0, [r5] - add r1, r7, #0 - add r2, #0x10 - add r3, #0x64 - bl MOD05_021E7F10 - ldr r1, [r5] - add r0, r7, #0 - bl MOD05_021F4CE4 - cmp r0, #0 - bne _021E7D74 - mov r0, #0 - str r0, [r5] -_021E7D74: - add r1, r5, #0 - ldr r0, [r5] - ldr r2, [sp, #0x28] - add r1, #0x10 - bl MOD05_021D9E80 - b _021E7DBE -_021E7D82: - mov r1, #0 - add r0, sp, #8 - str r1, [r0] - str r1, [r0, #4] - str r1, [r0, #8] - add r0, r1, #0 - str r0, [r5] - str r0, [r5, #4] - add r2, r5, #0 - add r3, sp, #8 - str r0, [r5, #0xc] - ldmia r3!, {r0, r1} - add r2, #0x68 - stmia r2!, {r0, r1} - ldr r0, [r3] - add r3, sp, #8 - str r0, [r2] - add r2, r5, #0 - ldmia r3!, {r0, r1} - add r2, #0x74 - stmia r2!, {r0, r1} - ldr r0, [r3] - add r3, sp, #8 - str r0, [r2] - add r2, r5, #0 - ldmia r3!, {r0, r1} - add r2, #0x80 - stmia r2!, {r0, r1} - ldr r0, [r3] - str r0, [r2] -_021E7DBE: - add r6, r6, #1 - add r5, #0x8c - add r4, #0x30 - cmp r6, #0x20 - blt _021E7D14 - ldr r0, [sp, #4] - cmp r0, #0 - beq _021E7DD2 - bl FreeToHeap -_021E7DD2: - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E7DD8 -MOD05_021E7DD8: ; 0x021E7DD8 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x48 - ldr r4, _021E7E94 ; =UNK05_021F7878 - str r2, [sp, #0xc] - str r3, [sp, #0x10] - add r6, r0, #0 - str r1, [sp, #8] - add r3, sp, #0x18 - mov r2, #4 -_021E7DEA: - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - sub r2, r2, #1 - bne _021E7DEA - ldr r0, [r4] - ldr r5, [sp, #0x60] - str r0, [r3] - mov r7, #0 -_021E7DFA: - ldr r0, [r5, #4] - cmp r0, #0 - beq _021E7E86 - ldr r0, [r5, #8] - cmp r0, #0 - bne _021E7E86 - add r4, r5, #0 - add r4, #0x68 - ldmia r4!, {r0, r1} - add r3, sp, #0x3c - add r2, r3, #0 - stmia r3!, {r0, r1} - ldr r0, [r4] - str r0, [r3] - ldr r1, [sp, #0x3c] - ldr r0, [r6] - add r3, r5, #0 - add r0, r1, r0 - str r0, [sp, #0x3c] - ldr r1, [sp, #0x44] - ldr r0, [r6, #8] - add r3, #0x80 - add r0, r1, r0 - str r0, [sp, #0x44] - add r1, r2, #0 - ldr r0, [r5, #0x64] - add r2, sp, #0x18 - bl FUN_0201B6D0 - cmp r0, #0 - beq _021E7E86 - ldr r0, [sp, #8] - bl MOD05_021F4C9C - add r4, r0, #0 - ldr r0, [sp, #0xc] - cmp r0, #1 - bne _021E7E50 - ldr r0, [sp, #0x10] - ldr r1, [r5, #0x64] - ldr r2, _021E7E98 ; =0x00000F33 - bl MOD05_021DBB8C -_021E7E50: - ldr r0, [r5] - add r1, r4, #0 - add r2, sp, #0x14 - bl MOD05_021DB9D4 - add r0, sp, #0x14 - ldrh r0, [r0] - add r1, sp, #0x3c - cmp r0, #0 - bne _021E7E74 - add r0, r5, #0 - add r3, r5, #0 - add r0, #0x10 - add r2, sp, #0x18 - add r3, #0x80 - bl FUN_0201B26C - b _021E7E86 -_021E7E74: - str r4, [sp] - ldr r0, [r5] - add r3, r5, #0 - str r0, [sp, #4] - ldr r0, [r5, #0x64] - add r2, sp, #0x18 - add r3, #0x80 - bl MOD05_021E7F34 -_021E7E86: - add r7, r7, #1 - add r5, #0x8c - cmp r7, #0x20 - blt _021E7DFA - add sp, #0x48 - pop {r3, r4, r5, r6, r7, pc} - nop -_021E7E94: .word UNK05_021F7878 -_021E7E98: .word 0x00000F33 - - thumb_func_start MOD05_021E7E9C -MOD05_021E7E9C: ; 0x021E7E9C - add r0, #0x74 - bx lr - - thumb_func_start MOD05_021E7EA0 -MOD05_021E7EA0: ; 0x021E7EA0 - add r2, r1, #0 - add r2, #0x68 - add r3, r0, #0 - ldmia r2!, {r0, r1} - stmia r3!, {r0, r1} - ldr r0, [r2] - str r0, [r3] - bx lr - - thumb_func_start MOD05_021E7EB0 -MOD05_021E7EB0: ; 0x021E7EB0 - add r3, r1, #0 - add r2, r0, #0 - ldmia r3!, {r0, r1} - add r2, #0x68 - stmia r2!, {r0, r1} - ldr r0, [r3] - str r0, [r2] - bx lr - - thumb_func_start MOD05_021E7EC0 -MOD05_021E7EC0: ; 0x021E7EC0 - str r1, [r0, #8] - bx lr - - thumb_func_start MOD05_021E7EC4 -MOD05_021E7EC4: ; 0x021E7EC4 - ldr r0, [r0] - bx lr - - thumb_func_start MOD05_021E7EC8 -MOD05_021E7EC8: ; 0x021E7EC8 - add r0, #0x10 - bx lr - - thumb_func_start MOD05_021E7ECC -MOD05_021E7ECC: ; 0x021E7ECC - ldr r0, [r0, #0x64] - bx lr - - thumb_func_start MOD05_021E7ED0 -MOD05_021E7ED0: ; 0x021E7ED0 - mov r2, #0x8c - mul r2, r1 - add r0, r0, r2 - bx lr - - thumb_func_start MOD05_021E7ED8 -MOD05_021E7ED8: ; 0x021E7ED8 - mov r3, #0 -_021E7EDA: - ldr r2, [r0] - cmp r2, r1 - beq _021E7EEA - add r3, r3, #1 - add r0, #0x8c - cmp r3, #0x20 - blt _021E7EDA - mov r0, #0 -_021E7EEA: - bx lr - - thumb_func_start MOD05_021E7EEC -MOD05_021E7EEC: ; 0x021E7EEC - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0x20 - blt _021E7EFA - bl ErrorHandling -_021E7EFA: - mov r0, #0x8c - mul r0, r4 - add r4, r5, r0 - ldr r0, [r4, #4] - cmp r0, #0 - bne _021E7F0A - bl ErrorHandling -_021E7F0A: - add r0, r4, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E7F10 -MOD05_021E7F10: ; 0x021E7F10 - push {r3, r4, r5, lr} - add r5, r2, #0 - add r4, r3, #0 - bl MOD05_021F4BD0 - ldr r0, [r0] - bl FUN_020BC13C - ldrh r1, [r0, #0xe] - add r1, r0, r1 - ldr r1, [r1, #0xc] - add r1, r0, r1 - add r0, r5, #0 - str r1, [r4] - bl FUN_020B80B4 - pop {r3, r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E7F34 -MOD05_021E7F34: ; 0x021E7F34 - push {r3, r4, r5, r6, r7, lr} - add r7, r0, #0 - add r0, r1, #0 - add r4, r2, #0 - add r5, r3, #0 - bl FUN_020B8474 - ldr r1, _021E7FB4 ; =UNK_021CEDD4 - add r0, r4, #0 - bl MI_Copy36B - ldr r1, _021E7FB8 ; =UNK_021CED98 - mov r0, #0xa4 - ldr r2, [r1, #0x7c] - bic r2, r0 - add r0, r5, #0 - str r2, [r1, #0x7c] - bl FUN_020B844C - bl FUN_020B849C - add r2, sp, #0 - ldr r0, [sp, #0x1c] - ldr r1, [sp, #0x18] - add r2, #2 - add r3, sp, #0 - bl MOD05_021DB9E0 - add r0, sp, #0 - ldrh r0, [r0] - ldr r1, [sp, #0x18] - bl MOD05_021DB9F8 - add r6, r0, #0 - add r0, sp, #0 - ldrh r0, [r0, #2] - mov r5, #0xff - mov r4, #0 - cmp r0, #0 - ble _021E7FB0 -_021E7F84: - lsl r0, r4, #2 - add r2, r6, r0 - ldrh r0, [r6, r0] - cmp r5, r0 - beq _021E7F96 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - mov r3, #1 - b _021E7F98 -_021E7F96: - mov r3, #0 -_021E7F98: - ldrh r2, [r2, #2] - add r0, r7, #0 - add r1, r5, #0 - bl FUN_020BAFB8 - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - add r0, sp, #0 - ldrh r0, [r0, #2] - cmp r4, r0 - blt _021E7F84 -_021E7FB0: - pop {r3, r4, r5, r6, r7, pc} - nop -_021E7FB4: .word UNK_021CEDD4 -_021E7FB8: .word UNK_021CED98 - - thumb_func_start MOD05_021E7FBC -MOD05_021E7FBC: ; 0x021E7FBC - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - ldr r5, _021E8058 ; =UNK05_021F786C - add r6, r0, #0 - add r7, r1, #0 - ldmia r5!, {r0, r1} - add r4, sp, #4 - stmia r4!, {r0, r1} - ldr r0, [r5] - str r0, [r4] - mov r4, #0 - mov r0, #0x8c -_021E7FD4: - add r1, r4, #0 - mul r1, r0 - add r5, r6, r1 - ldr r1, [r5, #4] - cmp r1, #0 - bne _021E8044 - mov r0, #1 - str r0, [r5, #4] - add r6, r5, #0 - ldmia r3!, {r0, r1} - add r6, #0x68 - stmia r6!, {r0, r1} - ldr r0, [r3] - str r0, [r6] - ldr r6, [sp, #0x28] - cmp r6, #0 - beq _021E8008 - mov r0, #1 - str r0, [r5, #0xc] - add r3, r5, #0 - ldmia r6!, {r0, r1} - add r3, #0x74 - stmia r3!, {r0, r1} - ldr r0, [r6] - str r0, [r3] - b _021E800C -_021E8008: - mov r0, #0 - str r0, [r5, #0xc] -_021E800C: - add r6, sp, #4 - add r3, r5, #0 - ldmia r6!, {r0, r1} - add r3, #0x80 - stmia r3!, {r0, r1} - ldr r0, [r6] - add r1, r7, #0 - str r0, [r3] - add r3, r5, #0 - str r2, [r5] - add r0, r2, #0 - add r2, r5, #0 - add r2, #0x10 - add r3, #0x64 - bl MOD05_021E7F10 - ldr r0, [sp, #0x2c] - mov r1, #0 - str r0, [sp] - ldr r0, [r5] - add r5, #0x10 - add r2, r1, #0 - add r3, r5, #0 - bl MOD05_021D9DC0 - add sp, #0x10 - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} -_021E8044: - add r1, r4, #1 - lsl r1, r1, #0x18 - lsr r4, r1, #0x18 - cmp r4, #0x20 - blo _021E7FD4 - bl ErrorHandling - mov r0, #0x20 - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_021E8058: .word UNK05_021F786C - - thumb_func_start MOD05_021E805C -MOD05_021E805C: ; 0x021E805C - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x38 - ldr r4, _021E80F4 ; =UNK05_021F789C - str r0, [sp, #8] - str r1, [sp, #0xc] - add r3, sp, #0x14 - mov r2, #4 -_021E806A: - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - sub r2, r2, #1 - bne _021E806A - ldr r0, [r4] - mov r4, #0 - str r0, [r3] - add r7, sp, #0x14 -_021E807A: - mov r0, #0x8c - add r1, r4, #0 - mul r1, r0 - ldr r0, [sp, #8] - add r5, r0, r1 - ldr r0, [r5, #4] - cmp r0, #0 - beq _021E80E4 - ldr r0, [r5, #8] - cmp r0, #0 - bne _021E80E4 - ldr r0, [sp, #0xc] - bl MOD05_021F4C9C - add r6, r0, #0 - ldr r0, [r5] - add r1, r6, #0 - add r2, sp, #0x10 - bl MOD05_021DB9D4 - ldr r0, [r5, #0xc] - cmp r0, #0 - beq _021E80B2 - add r1, r5, #0 - add r0, r7, #0 - add r1, #0x74 - bl FUN_0201CAA8 -_021E80B2: - add r0, sp, #0x10 - ldrh r0, [r0] - cmp r0, #0 - bne _021E80CE - add r0, r5, #0 - add r1, r5, #0 - add r5, #0x80 - add r0, #0x10 - add r1, #0x68 - add r2, r7, #0 - add r3, r5, #0 - bl FUN_0201B26C - b _021E80E4 -_021E80CE: - str r6, [sp] - ldr r0, [r5] - add r1, r5, #0 - str r0, [sp, #4] - ldr r0, [r5, #0x64] - add r5, #0x80 - add r1, #0x68 - add r2, r7, #0 - add r3, r5, #0 - bl MOD05_021E7F34 -_021E80E4: - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x20 - blo _021E807A - add sp, #0x38 - pop {r3, r4, r5, r6, r7, pc} - nop -_021E80F4: .word UNK05_021F789C - thumb_func_start MOD05_021E80F8 MOD05_021E80F8: ; 0x021E80F8 push {r3, lr} @@ -30518,37 +29232,6 @@ _021F6428: .word MOD05_021F57F0 .section .rodata - .global UNK05_021F7824 -UNK05_021F7824: ; 0x021F7824 - .word 0x00000001, 0x0000000C, 0x00000044, MOD05_021E79A8 - .word MOD05_021E7A6C, MOD05_021E7A08, MOD05_021E7A88 - - .global UNK05_021F7840 -UNK05_021F7840: ; 0x021F7840 - .word 0x00000044, MOD05_021E7B08, MOD05_021E7A6C, MOD05_021E7B78 - .word MOD05_021E7A88 - - .global UNK05_021F7854 -UNK05_021F7854: ; 0x021F7854 - .word 0x00000000, 0x00000001, 0x00000000, 0x00000000 - .word 0x00000000, 0x00000002 - - .global UNK05_021F786C -UNK05_021F786C: ; 0x021F786C - .word 0x00001000, 0x00001000, 0x00001000 - - .global UNK05_021F7878 -UNK05_021F7878: ; 0x021F7878 - .byte 0x00, 0x10, 0x00, 0x00 ;word - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 - - .global UNK05_021F789C -UNK05_021F789C: ; 0x021F789C - .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ;word - .byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x10, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 - .global UNK05_021F78C4 UNK05_021F78C4: ; 0x021F78C4 .byte 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 |