diff options
Diffstat (limited to 'arm9/modules/05/asm/mod05_021E5AB4.s')
-rw-r--r-- | arm9/modules/05/asm/mod05_021E5AB4.s | 250 |
1 files changed, 250 insertions, 0 deletions
diff --git a/arm9/modules/05/asm/mod05_021E5AB4.s b/arm9/modules/05/asm/mod05_021E5AB4.s new file mode 100644 index 00000000..ff3779f5 --- /dev/null +++ b/arm9/modules/05/asm/mod05_021E5AB4.s @@ -0,0 +1,250 @@ + .include "asm/macros.inc" + .include "global.inc" + .section .text + .balign 4, 0 + + thumb_func_start MOD05_021E5AB4 +MOD05_021E5AB4: ; 0x021E5AB4 + push {r3, r4, r5, lr} + mov r2, #0 + mov r1, #0x38 + add r3, r2, #0 + add r5, r0, #0 + bl MOD05_021E4BE8 + add r4, r0, #0 + str r5, [r4] + bl MOD05_021E5AE0 + add r0, r4, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E5AD0 +MOD05_021E5AD0: ; 0x021E5AD0 + push {r4, lr} + add r4, r0, #0 + bl MOD05_021E5B18 + add r0, r4, #0 + bl MOD05_021E4C00 + pop {r4, pc} + + thumb_func_start MOD05_021E5AE0 +MOD05_021E5AE0: ; 0x021E5AE0 + push {r4, lr} + sub sp, #8 + add r4, r0, #0 + add r1, r4, #0 + ldr r0, [r4] + add r1, #0x28 + bl MOD05_021E5294 + ldr r0, [r4] + add r1, r4, #4 + mov r2, #0x3a + mov r3, #0 + bl MOD05_021E5224 + mov r0, #0x71 + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + add r1, r4, #0 + ldr r0, [r4] + add r2, r4, #4 + add r4, #0x28 + add r1, #0x14 + add r3, r4, #0 + bl MOD05_021E5260 + add sp, #8 + pop {r4, pc} + + thumb_func_start MOD05_021E5B18 +MOD05_021E5B18: ; 0x021E5B18 + push {r4, lr} + add r4, r0, #0 + add r0, r4, #4 + bl MOD05_021F52C8 + add r0, r4, #0 + add r4, #0x28 + add r0, #0x14 + add r1, r4, #0 + bl MOD05_021F5358 + pop {r4, pc} + + thumb_func_start MOD05_021E5B30 +MOD05_021E5B30: ; 0x021E5B30 + push {r4, r5, lr} + sub sp, #0x1c + ldr r0, [r0, #0x3c] + add r5, r1, #0 + mov r1, #8 + add r4, r3, #0 + str r0, [sp, #8] + bl MOD05_021E4C08 + str r0, [sp, #0xc] + mov r0, #2 + lsl r1, r5, #0x10 + lsl r0, r0, #0xe + add r0, r1, r0 + str r0, [sp, #0x10] + mov r0, #0xa + lsl r0, r0, #0xc + str r0, [sp, #0x14] + lsl r0, r4, #0x10 + str r0, [sp, #0x18] + add r0, sp, #8 + str r0, [sp] + mov r0, #0xff + str r0, [sp, #4] + ldr r0, [sp, #8] + ldr r1, _021E5B78 ; =UNK05_021F768C + add r2, sp, #0x10 + mov r3, #0 + bl MOD05_021E4DC4 + ldr r0, _021E5B7C ; =0x00000609 + bl FUN_020054C8 + add sp, #0x1c + pop {r4, r5, pc} + nop +_021E5B78: .word UNK05_021F768C +_021E5B7C: .word 0x00000609 + + thumb_func_start MOD05_021E5B80 +MOD05_021E5B80: ; 0x021E5B80 + push {r3, r4, r5, r6, lr} + sub sp, #0xc + add r6, r0, #0 + add r5, r1, #0 + bl FUN_0206475C + ldr r1, [r0] + ldr r0, [r0, #4] + mov r2, #1 + str r1, [r5, #4] + str r0, [r5, #8] + ldr r0, [r5, #4] + mov r1, #0x90 + mov r3, #0 + bl MOD05_021E4BE8 + add r4, r0, #0 + str r4, [r5] + ldr r0, [r5, #4] + add r1, r4, #4 + bl MOD05_021E5294 + ldr r2, [r5, #8] + add r0, r4, #4 + ldr r1, [r2, #0x18] + ldr r2, [r2, #0xc] + bl FUN_020BB8D0 + str r0, [r4] + ldr r3, [r5, #8] + ldr r1, [r3, #0x18] + ldr r2, [r3, #0xc] + ldr r3, [r3, #0x10] + bl FUN_020B8110 + ldr r1, [r5, #8] + add r0, r4, #0 + add r0, #0x18 + add r1, r1, #4 + bl MOD05_021F5400 + add r0, r4, #0 + ldr r1, [r4] + add r0, #0x18 + bl FUN_020B7EFC + add r0, r6, #0 + add r1, sp, #0 + bl FUN_0206477C + add r4, #0x18 + ldr r1, [sp] + ldr r2, [sp, #4] + ldr r3, [sp, #8] + add r0, r4, #0 + bl MOD05_021F54D0 + mov r0, #1 + add sp, #0xc + pop {r3, r4, r5, r6, pc} + + thumb_func_start MOD05_021E5BF8 +MOD05_021E5BF8: ; 0x021E5BF8 + push {r4, lr} + ldr r4, [r1] + ldr r1, [r4] + add r0, r4, #4 + bl thunk_FUN_020ae84c + add r0, r4, #0 + bl MOD05_021E4C00 + pop {r4, pc} + + thumb_func_start MOD05_021E5C0C +MOD05_021E5C0C: ; 0x021E5C0C + push {r4, lr} + ldr r1, [r1] + ldr r2, [r1] + ldr r3, [r1, #0x14] + ldr r2, [r2, #8] + ldrh r2, [r2, #4] + lsl r4, r2, #0xc + mov r2, #1 + lsl r2, r2, #0xc + add r2, r3, r2 + str r2, [r1, #0x14] + cmp r2, r4 + ble _021E5C2C + bl MOD05_021E4DE4 + pop {r4, pc} +_021E5C2C: + ldr r0, [r1] + str r2, [r0] + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E5C34 +MOD05_021E5C34: ; 0x021E5C34 + push {r3, r4, r5, lr} + sub sp, #0x48 + ldr r4, [r1] + ldr r5, _021E5C88 ; =UNK05_021F76A0 + add r3, sp, #0x24 + mov r2, #4 +_021E5C40: + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + sub r2, r2, #1 + bne _021E5C40 + ldr r0, [r5] + str r0, [r3] + bl FUN_020B8344 + mov r2, #0 + add r5, r0, #0 + add r0, sp, #0x24 + mov r1, #0x5a + add r3, r2, #0 + bl FUN_0201CB20 + add r0, r5, #0 + add r1, sp, #0 + bl MI_Copy36B + add r0, sp, #0x24 + add r1, sp, #0 + add r2, r0, #0 + bl MTX_Concat33 + add r0, r4, #0 + add r1, r4, #0 + add r4, #0x78 + add r0, #0x18 + add r1, #0x6c + add r2, sp, #0x24 + add r3, r4, #0 + bl FUN_0201B26C + add sp, #0x48 + pop {r3, r4, r5, pc} + nop +_021E5C88: .word UNK05_021F76A0 + + .section .rodata + + .global UNK05_021F768C +UNK05_021F768C: ; 0x021F768C + .word 0x0000000C, MOD05_021E5B80, MOD05_021E5BF8, MOD05_021E5C0C + .word MOD05_021E5C34 + + .global UNK05_021F76A0 +UNK05_021F76A0: ; 0x021F76A0 + .word 0x00001000, 0x00000000, 0x00000000, 0x00000000 + .word 0x00001000, 0x00000000, 0x00000000, 0x00000000 + .word 0x00001000 |