.include "asm/macros.inc" .include "global.inc" .section .text .balign 4, 0 thumb_func_start MOD61_021D74E0 MOD61_021D74E0: ; 0x021D74E0 push {r3, r4, r5, lr} add r5, r0, #0 bl FUN_02006278 mov r2, #2 mov r0, #3 mov r1, #0x29 lsl r2, r2, #0x10 bl FUN_0201681C add r0, r5, #0 mov r1, #0xbc mov r2, #0x29 bl FUN_02006268 mov r1, #0 mov r2, #0xbc add r4, r0, #0 bl Call_FillMemWithValue mov r0, #0x29 str r0, [r4] add r0, r5, #0 bl FUN_0200628C str r0, [r4, #0x1c] ldrh r0, [r0] ldr r1, _021D754C ; =0x0000FFFF strb r0, [r4, #0xc] ldrb r0, [r4, #0xc] strb r0, [r4, #0xd] ldr r0, [r4, #0x1c] ldrb r0, [r0, #2] strb r0, [r4, #0x11] ldr r0, [r4, #0x1c] ldrb r0, [r0, #3] strb r0, [r4, #0x12] ldrb r0, [r4, #0x11] strb r0, [r4, #0x16] strb r0, [r4, #0x17] ldr r0, [r4, #0x1c] strh r1, [r0] ldr r0, [r4, #0x1c] ldr r0, [r0, #4] bl FUN_02024FF4 strb r0, [r4, #0x10] ldr r0, [r4, #0x1c] ldr r0, [r0, #4] bl FUN_02025084 strh r0, [r4, #0xa] mov r0, #1 pop {r3, r4, r5, pc} .align 2, 0 _021D754C: .word 0x0000FFFF thumb_func_end MOD61_021D74E0 thumb_func_start MOD61_021D7550 MOD61_021D7550: ; 0x021D7550 push {r3, lr} bl FUN_02006278 bl MOD61_021D78D4 cmp r0, #0 beq _021D7562 mov r0, #1 pop {r3, pc} _021D7562: mov r0, #0 pop {r3, pc} .align 2, 0 thumb_func_end MOD61_021D7550 thumb_func_start MOD61_021D7568 MOD61_021D7568: ; 0x021D7568 push {r3, r4, r5, lr} add r5, r0, #0 bl FUN_02006278 ldr r4, [r0] add r0, r5, #0 bl FUN_0200627C add r0, r4, #0 bl FUN_020168D0 mov r0, #1 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD61_021D7568 thumb_func_start MOD61_021D7584 MOD61_021D7584: ; 0x021D7584 push {r4, r5, r6, lr} mov r4, #0 add r6, r0, #0 add r5, r4, #0 _021D758C: ldr r0, [r6, #0x1c] add r0, #0x1a add r0, r0, r5 bl FUN_0201385C cmp r0, #0 beq _021D759E mov r0, #0 pop {r4, r5, r6, pc} _021D759E: add r4, r4, #1 add r5, #8 cmp r4, #3 blt _021D758C mov r0, #1 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD61_021D7584 thumb_func_start MOD61_021D75AC MOD61_021D75AC: ; 0x021D75AC push {r3, lr} ldr r0, _021D75C8 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #3 tst r0, r1 beq _021D75C2 ldr r0, _021D75CC ; =0x000005E3 bl FUN_020054C8 mov r0, #1 pop {r3, pc} _021D75C2: mov r0, #0 pop {r3, pc} nop _021D75C8: .word 0x021C48B8 _021D75CC: .word 0x000005E3 thumb_func_end MOD61_021D75AC thumb_func_start MOD61_021D75D0 MOD61_021D75D0: ; 0x021D75D0 push {r3, r4, r5, lr} ldr r1, _021D76E0 ; =0x021C48B8 add r4, r0, #0 ldr r2, [r1, #0x48] mov r1, #1 add r5, r2, #0 mov r3, #0 tst r5, r1 beq _021D7648 ldrb r1, [r4, #0x11] cmp r1, #3 bne _021D762E ldrb r1, [r4, #0x12] cmp r1, #0 bne _021D7612 bl MOD61_021D7584 cmp r0, #0 beq _021D7604 ldr r0, _021D76E4 ; =0x000005DD bl FUN_020054C8 mov r0, #2 strb r0, [r4, #0xc] mov r0, #0 pop {r3, r4, r5, pc} _021D7604: ldr r0, [r4, #0x1c] mov r1, #3 strh r1, [r0] ldr r0, _021D76E8 ; =0x000005E3 bl FUN_020054C8 b _021D7620 _021D7612: ldr r0, _021D76E4 ; =0x000005DD bl FUN_020054C8 mov r0, #3 strb r0, [r4, #0xc] mov r0, #0 pop {r3, r4, r5, pc} _021D7620: ldr r0, [r4, #0x1c] mov r1, #0 strb r1, [r0, #3] ldr r1, [r4, #0x1c] ldrb r0, [r1, #3] strb r0, [r1, #2] b _021D7644 _021D762E: ldr r0, [r4, #0x1c] strb r1, [r0, #2] ldr r1, [r4, #0x1c] ldrb r0, [r1, #2] strh r0, [r1] ldrb r1, [r4, #0x12] ldr r0, [r4, #0x1c] strb r1, [r0, #3] ldr r0, _021D76E4 ; =0x000005DD bl FUN_020054C8 _021D7644: mov r0, #1 pop {r3, r4, r5, pc} _021D7648: mov r0, #2 tst r0, r2 beq _021D765C ldr r0, _021D76E4 ; =0x000005DD bl FUN_020054C8 mov r0, #3 strb r0, [r4, #0xc] mov r0, #0 pop {r3, r4, r5, pc} _021D765C: mov r0, #8 tst r0, r2 beq _021D766C mov r0, #3 strb r0, [r4, #0x11] strb r3, [r4, #0x12] add r3, r1, #0 b _021D76BE _021D766C: mov r0, #0x80 tst r0, r2 beq _021D7688 ldrb r0, [r4, #0x11] add r0, r0, #1 lsr r3, r0, #0x1f lsl r2, r0, #0x1e sub r2, r2, r3 mov r0, #0x1e ror r2, r0 add r0, r3, r2 strb r0, [r4, #0x11] add r3, r1, #0 b _021D76BE _021D7688: mov r0, #0x40 tst r0, r2 beq _021D76A4 ldrb r0, [r4, #0x11] add r0, r0, #3 lsr r3, r0, #0x1f lsl r2, r0, #0x1e sub r2, r2, r3 mov r0, #0x1e ror r2, r0 add r0, r3, r2 strb r0, [r4, #0x11] add r3, r1, #0 b _021D76BE _021D76A4: mov r0, #0x30 tst r0, r2 beq _021D76BA ldrb r0, [r4, #0x11] cmp r0, #3 bne _021D76BE ldrb r0, [r4, #0x12] add r3, r1, #0 eor r0, r1 strb r0, [r4, #0x12] b _021D76BE _021D76BA: add r0, r3, #0 pop {r3, r4, r5, pc} _021D76BE: cmp r3, #0 bne _021D76C6 mov r0, #0 pop {r3, r4, r5, pc} _021D76C6: ldr r0, _021D76EC ; =0x000005DC bl FUN_020054C8 ldrb r1, [r4, #0x11] cmp r1, #3 bne _021D76DA ldrb r0, [r4, #0x12] add r0, r1, r0 strb r0, [r4, #0x16] b _021D76DC _021D76DA: strb r1, [r4, #0x16] _021D76DC: mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 _021D76E0: .word 0x021C48B8 _021D76E4: .word 0x000005DD _021D76E8: .word 0x000005E3 _021D76EC: .word 0x000005DC thumb_func_end MOD61_021D75D0 thumb_func_start MOD61_021D76F0 MOD61_021D76F0: ; 0x021D76F0 push {r3, r4, r5, lr} sub sp, #0x10 add r5, r0, #0 ldrh r0, [r5, #8] cmp r0, #0 beq _021D7702 cmp r0, #1 beq _021D774E b _021D777C _021D7702: add r0, r5, #0 add r0, #0x94 mov r1, #1 mov r2, #0xa mov r3, #6 bl FUN_0200D0BC add r0, r5, #0 add r0, #0x94 mov r1, #0xff bl FUN_02019620 ldr r1, [r5] mov r0, #0x4c bl FUN_020219F4 add r4, r0, #0 ldr r0, [r5, #0x20] mov r1, #2 add r2, r4, #0 bl FUN_0200A8E0 mov r3, #0 str r3, [sp] ldr r0, _021D7788 ; =0x0001020F str r3, [sp, #4] str r0, [sp, #8] add r0, r5, #0 add r0, #0x94 mov r1, #1 add r2, r4, #0 str r3, [sp, #0xc] bl FUN_0201BDE0 add r0, r4, #0 bl FUN_02021A20 b _021D777C _021D774E: ldr r0, _021D778C ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #3 tst r0, r1 bne _021D775E add sp, #0x10 mov r0, #0 pop {r3, r4, r5, pc} _021D775E: add r0, r5, #0 add r0, #0x94 mov r1, #1 bl FUN_0200D0E0 add r0, r5, #0 add r0, #0x94 bl FUN_02019570 mov r0, #0 strh r0, [r5, #8] ldrb r1, [r5, #0xd] add sp, #0x10 strb r1, [r5, #0xc] pop {r3, r4, r5, pc} _021D777C: ldrh r0, [r5, #8] add r0, r0, #1 strh r0, [r5, #8] mov r0, #0 add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 _021D7788: .word 0x0001020F _021D778C: .word 0x021C48B8 thumb_func_end MOD61_021D76F0 thumb_func_start MOD61_021D7790 MOD61_021D7790: ; 0x021D7790 push {r3, r4, lr} sub sp, #4 add r4, r0, #0 ldr r0, [r4] ldr r1, _021D77B0 ; =0x021D842C str r0, [sp] ldr r0, [r4, #0x18] mov r2, #1 mov r3, #5 bl FUN_02002198 add r4, #0xa4 str r0, [r4] add sp, #4 pop {r3, r4, pc} nop _021D77B0: .word 0x021D842C thumb_func_end MOD61_021D7790 thumb_func_start MOD61_021D77B4 MOD61_021D77B4: ; 0x021D77B4 push {r3, lr} add r1, r0, #0 add r0, #0xa4 ldr r0, [r0] ldr r1, [r1] bl FUN_020021AC cmp r0, #0 beq _021D77D0 mov r1, #1 mvn r1, r1 cmp r0, r1 beq _021D77D4 b _021D77D8 _021D77D0: mov r0, #1 pop {r3, pc} _021D77D4: mov r0, #0 pop {r3, pc} _021D77D8: add r0, r1, #1 pop {r3, pc} thumb_func_end MOD61_021D77B4 thumb_func_start MOD61_021D77DC MOD61_021D77DC: ; 0x021D77DC push {r3, r4, r5, lr} sub sp, #0x10 add r5, r0, #0 ldrh r1, [r5, #8] cmp r1, #0 beq _021D77F2 cmp r1, #1 beq _021D7864 cmp r1, #2 beq _021D787C b _021D78BA _021D77F2: mov r1, #1 add r0, #0x94 mov r2, #0xa mov r3, #6 strb r1, [r5, #0x13] bl FUN_0200D0BC add r0, r5, #0 add r0, #0x94 mov r1, #0xff bl FUN_02019620 ldr r1, [r5] mov r0, #0x4c bl FUN_020219F4 add r4, r0, #0 ldr r0, [r5, #0x20] mov r1, #3 add r2, r4, #0 bl FUN_0200A8E0 mov r3, #0 str r3, [sp] ldrb r0, [r5, #0x10] mov r1, #1 add r2, r4, #0 str r0, [sp, #4] ldr r0, _021D78C8 ; =0x0001020F str r0, [sp, #8] add r0, r5, #0 str r3, [sp, #0xc] add r0, #0x94 bl FUN_0201BDE0 strb r0, [r5, #0xf] add r0, r4, #0 bl FUN_02021A20 mov r1, #0 ldr r0, _021D78CC ; =0x00007FFF str r1, [sp] str r0, [sp, #4] ldrb r2, [r5, #0x17] ldr r0, [r5, #0x30] mov r3, #1 add r2, #0x22 lsl r2, r2, #0x10 lsr r2, r2, #0x10 bl FUN_020039E8 ldrb r0, [r5, #0x16] strb r0, [r5, #0x17] mov r0, #0 strb r0, [r5, #0x15] strb r0, [r5, #0x14] b _021D78BA _021D7864: ldrb r0, [r5, #0xf] bl FUN_0201BD70 cmp r0, #0 beq _021D7874 add sp, #0x10 mov r0, #0 pop {r3, r4, r5, pc} _021D7874: add r0, r5, #0 bl MOD61_021D7790 b _021D78BA _021D787C: bl MOD61_021D77B4 add r4, r0, #0 bpl _021D788A add sp, #0x10 mov r0, #0 pop {r3, r4, r5, pc} _021D788A: add r0, r5, #0 add r0, #0x94 mov r1, #1 bl FUN_0200D0E0 add r0, r5, #0 add r0, #0x94 bl FUN_02019570 mov r0, #0 strh r0, [r5, #8] cmp r4, #0 beq _021D78B0 ldr r1, _021D78D0 ; =0x0000FFFF ldr r0, [r5, #0x1c] add sp, #0x10 strh r1, [r0] mov r0, #1 pop {r3, r4, r5, pc} _021D78B0: ldrb r1, [r5, #0xd] add sp, #0x10 strb r1, [r5, #0xc] strb r0, [r5, #0x13] pop {r3, r4, r5, pc} _021D78BA: ldrh r0, [r5, #8] add r0, r0, #1 strh r0, [r5, #8] mov r0, #0 add sp, #0x10 pop {r3, r4, r5, pc} nop _021D78C8: .word 0x0001020F _021D78CC: .word 0x00007FFF _021D78D0: .word 0x0000FFFF thumb_func_end MOD61_021D77DC thumb_func_start MOD61_021D78D4 MOD61_021D78D4: ; 0x021D78D4 push {r3, r4, lr} sub sp, #0xc add r4, r0, #0 ldr r1, [r4, #4] cmp r1, #5 bls _021D78E2 b _021D7A46 _021D78E2: add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021D78EE: ; jump table .short _021D78FA - _021D78EE - 2 ; case 0 .short _021D7940 - _021D78EE - 2 ; case 1 .short _021D798A - _021D78EE - 2 ; case 2 .short _021D79A6 - _021D78EE - 2 ; case 3 .short _021D79E0 - _021D78EE - 2 ; case 4 .short _021D7A32 - _021D78EE - 2 ; case 5 _021D78FA: mov r0, #0 add r1, r0, #0 bl FUN_02015F10 bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 mov r2, #1 lsl r2, r2, #0x1a ldr r1, [r2] ldr r0, _021D7A54 ; =0xFFFFE0FF and r1, r0 str r1, [r2] ldr r2, _021D7A58 ; =0x04001000 ldr r1, [r2] and r0, r1 str r0, [r2] mov r0, #0 add r1, r0, #0 bl FUN_0200E3A0 mov r0, #1 mov r1, #0 bl FUN_0200E3A0 mov r0, #0 bl FUN_0200E388 mov r0, #1 bl FUN_0200E388 b _021D7A46 _021D7940: bl MOD61_021D7B38 cmp r0, #0 bne _021D794E add sp, #0xc mov r0, #0 pop {r3, r4, pc} _021D794E: ldr r0, _021D7A5C ; =MOD61_021D7A6C add r1, r4, #0 bl FUN_02015F10 mov r0, #0x10 mov r1, #1 bl FUN_0201E6E4 mov r0, #0 bl FUN_0200E394 mov r1, #4 ldr r0, _021D7A60 ; =0x04000050 mov r2, #8 mov r3, #0x1c str r1, [sp] bl G2x_SetBlendAlpha_ mov r0, #0x10 str r0, [sp] mov r0, #0 str r0, [sp, #4] str r0, [sp, #8] mov r1, #5 ldr r0, [r4, #0x30] ldr r2, _021D7A64 ; =0x0000FFFF sub r3, r1, #6 bl FUN_02003210 b _021D7A46 _021D798A: add r0, #0xac ldr r0, [r0] cmp r0, #0 beq _021D7996 bl FUN_0200BC1C _021D7996: ldr r0, [r4, #0x30] bl FUN_020038E4 cmp r0, #0 beq _021D7A46 add sp, #0xc mov r0, #0 pop {r3, r4, pc} _021D79A6: add r0, #0xac ldr r0, [r0] cmp r0, #0 beq _021D79B2 bl FUN_0200BC1C _021D79B2: ldrb r1, [r4, #0xc] add r0, r4, #0 lsl r2, r1, #2 ldr r1, _021D7A68 ; =0x021D8444 ldr r1, [r1, r2] blx r1 cmp r0, #0 bne _021D79C8 add sp, #0xc mov r0, #0 pop {r3, r4, pc} _021D79C8: mov r1, #0 str r1, [sp] mov r0, #0x10 str r0, [sp, #4] str r1, [sp, #8] mov r1, #5 ldr r0, [r4, #0x30] ldr r2, _021D7A64 ; =0x0000FFFF sub r3, r1, #6 bl FUN_02003210 b _021D7A46 _021D79E0: ldr r0, [r4, #0x30] bl FUN_020038E4 cmp r0, #0 beq _021D79FC add r4, #0xac ldr r0, [r4] cmp r0, #0 beq _021D79F6 bl FUN_0200BC1C _021D79F6: add sp, #0xc mov r0, #0 pop {r3, r4, pc} _021D79FC: mov r0, #0 add r1, r0, #0 bl FUN_0200E3A0 mov r0, #1 mov r1, #0 bl FUN_0200E3A0 mov r0, #0 add r1, r0, #0 bl FUN_02015F10 bl FUN_0201E6D8 bl FUN_0201E740 mov r2, #1 lsl r2, r2, #0x1a ldr r1, [r2] ldr r0, _021D7A54 ; =0xFFFFE0FF and r1, r0 str r1, [r2] ldr r2, _021D7A58 ; =0x04001000 ldr r1, [r2] and r0, r1 str r0, [r2] b _021D7A46 _021D7A32: bl MOD61_021D7B84 cmp r0, #0 beq _021D7A40 add sp, #0xc mov r0, #1 pop {r3, r4, pc} _021D7A40: add sp, #0xc mov r0, #0 pop {r3, r4, pc} _021D7A46: ldr r0, [r4, #4] add r0, r0, #1 str r0, [r4, #4] mov r0, #0 add sp, #0xc pop {r3, r4, pc} nop _021D7A54: .word 0xFFFFE0FF _021D7A58: .word 0x04001000 _021D7A5C: .word MOD61_021D7A6C _021D7A60: .word 0x04000050 _021D7A64: .word 0x0000FFFF _021D7A68: .word 0x021D8444 thumb_func_end MOD61_021D78D4 thumb_func_start MOD61_021D7A6C MOD61_021D7A6C: ; 0x021D7A6C push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x30] cmp r0, #0 beq _021D7A7A bl FUN_0200372C _021D7A7A: add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] cmp r0, #0 beq _021D7A88 bl FUN_0200BC30 _021D7A88: bl FUN_020AEEB8 ldr r0, [r4, #0x18] bl FUN_0201AB60 ldr r3, _021D7AA0 ; =0x027E0000 ldr r1, _021D7AA4 ; =0x00003FF8 mov r0, #1 ldr r2, [r3, r1] orr r0, r2 str r0, [r3, r1] pop {r4, pc} .align 2, 0 _021D7AA0: .word 0x027E0000 _021D7AA4: .word 0x00003FF8 thumb_func_end MOD61_021D7A6C thumb_func_start MOD61_021D7AA8 MOD61_021D7AA8: ; 0x021D7AA8 push {r4, lr} sub sp, #8 add r4, r1, #0 ldr r2, [r4, #0x30] cmp r2, #0 bne _021D7ABC bl FUN_0200CAB4 add sp, #8 pop {r4, pc} _021D7ABC: ldrb r0, [r4, #0x13] cmp r0, #0 bne _021D7B30 ldrb r3, [r4, #0x17] ldrb r0, [r4, #0x16] cmp r3, r0 beq _021D7AEA mov r1, #0 ldr r0, _021D7B34 ; =0x00007FFF str r1, [sp] str r0, [sp, #4] add r3, #0x22 add r0, r2, #0 lsl r2, r3, #0x10 lsr r2, r2, #0x10 mov r3, #1 bl FUN_020039E8 ldrb r0, [r4, #0x16] strb r0, [r4, #0x17] mov r0, #0 strb r0, [r4, #0x15] strb r0, [r4, #0x14] _021D7AEA: ldrb r0, [r4, #0x14] mov r1, #0 mov r3, #1 str r0, [sp] ldr r0, _021D7B34 ; =0x00007FFF str r0, [sp, #4] ldrb r2, [r4, #0x16] ldr r0, [r4, #0x30] add r2, #0x22 lsl r2, r2, #0x10 lsr r2, r2, #0x10 bl FUN_020039E8 ldrb r0, [r4, #0x15] ldrb r1, [r4, #0x14] cmp r0, #0 beq _021D7B20 sub r0, r1, #1 strb r0, [r4, #0x14] cmp r1, #1 bne _021D7B30 ldrb r1, [r4, #0x15] mov r0, #1 add sp, #8 eor r0, r1 strb r0, [r4, #0x15] pop {r4, pc} _021D7B20: add r0, r1, #1 strb r0, [r4, #0x14] cmp r1, #0xc bne _021D7B30 ldrb r1, [r4, #0x15] mov r0, #1 eor r0, r1 strb r0, [r4, #0x15] _021D7B30: add sp, #8 pop {r4, pc} .align 2, 0 _021D7B34: .word 0x00007FFF thumb_func_end MOD61_021D7AA8 thumb_func_start MOD61_021D7B38 MOD61_021D7B38: ; 0x021D7B38 push {r4, lr} add r4, r0, #0 ldrh r1, [r4, #8] cmp r1, #3 bhi _021D7B7A add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021D7B4E: ; jump table .short _021D7B56 - _021D7B4E - 2 ; case 0 .short _021D7B5C - _021D7B4E - 2 ; case 1 .short _021D7B62 - _021D7B4E - 2 ; case 2 .short _021D7B6E - _021D7B4E - 2 ; case 3 _021D7B56: bl MOD61_021D7BD0 b _021D7B7A _021D7B5C: bl MOD61_021D7CE8 b _021D7B7A _021D7B62: bl MOD61_021D7FF4 add r0, r4, #0 bl MOD61_021D8114 b _021D7B7A _021D7B6E: bl MOD61_021D8228 mov r0, #0 strh r0, [r4, #8] mov r0, #1 pop {r4, pc} _021D7B7A: ldrh r0, [r4, #8] add r0, r0, #1 strh r0, [r4, #8] mov r0, #0 pop {r4, pc} thumb_func_end MOD61_021D7B38 thumb_func_start MOD61_021D7B84 MOD61_021D7B84: ; 0x021D7B84 push {r4, lr} add r4, r0, #0 bl MOD61_021D83E8 add r0, r4, #0 add r0, #0x24 beq _021D7B98 ldr r0, [r4, #0x20] bl FUN_0200A8B8 _021D7B98: add r0, r4, #0 bl MOD61_021D80F4 add r0, r4, #0 bl MOD61_021D7FB4 add r0, r4, #0 bl MOD61_021D7CB4 mov r0, #1 pop {r4, pc} .align 2, 0 thumb_func_end MOD61_021D7B84 thumb_func_start MOD61_021D7BB0 MOD61_021D7BB0: ; 0x021D7BB0 push {r4, lr} sub sp, #0x28 ldr r4, _021D7BCC ; =0x021D84A0 add r3, sp, #0 mov r2, #5 _021D7BBA: ldmia r4!, {r0, r1} stmia r3!, {r0, r1} sub r2, r2, #1 bne _021D7BBA add r0, sp, #0 bl FUN_0201E66C add sp, #0x28 pop {r4, pc} .align 2, 0 _021D7BCC: .word 0x021D84A0 thumb_func_end MOD61_021D7BB0 thumb_func_start MOD61_021D7BD0 MOD61_021D7BD0: ; 0x021D7BD0 push {r4, r5, lr} sub sp, #0x9c add r4, r0, #0 bl MOD61_021D7BB0 ldr r0, [r4] bl FUN_02016B94 add r3, sp, #0 ldr r5, _021D7CAC ; =0x021D8434 str r0, [r4, #0x18] add r2, r3, #0 ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} add r0, r2, #0 bl FUN_02016BBC ldr r5, _021D7CB0 ; =0x021D84C8 add r3, sp, #0x10 mov r2, #0x11 _021D7BFC: ldmia r5!, {r0, r1} stmia r3!, {r0, r1} sub r2, r2, #1 bne _021D7BFC ldr r0, [r5] mov r1, #0 str r0, [r3] ldr r0, [r4, #0x18] add r2, sp, #0x10 add r3, r1, #0 bl FUN_02016C18 ldr r0, [r4, #0x18] mov r1, #1 add r2, sp, #0x2c mov r3, #0 bl FUN_02016C18 ldr r0, [r4, #0x18] mov r1, #2 add r2, sp, #0x48 mov r3, #0 bl FUN_02016C18 ldr r0, [r4, #0x18] mov r1, #3 add r2, sp, #0x64 mov r3, #0 bl FUN_02016C18 ldr r0, [r4, #0x18] mov r1, #4 add r2, sp, #0x80 mov r3, #0 bl FUN_02016C18 ldr r0, [r4, #0x18] mov r1, #0 bl FUN_02018744 ldr r0, [r4, #0x18] mov r1, #1 bl FUN_02018744 ldr r0, [r4, #0x18] mov r1, #2 bl FUN_02018744 ldr r0, [r4, #0x18] mov r1, #3 bl FUN_02018744 ldr r0, [r4, #0x18] mov r1, #4 bl FUN_02018744 mov r0, #0 ldr r3, [r4] mov r1, #0x20 add r2, r0, #0 bl FUN_02017F18 ldr r3, [r4] mov r0, #1 mov r1, #0x20 mov r2, #0 bl FUN_02017F18 ldr r3, [r4] mov r0, #2 mov r1, #0x20 mov r2, #0 bl FUN_02017F18 ldr r3, [r4] mov r0, #3 mov r1, #0x20 mov r2, #0 bl FUN_02017F18 ldr r3, [r4] mov r0, #4 mov r1, #0x20 mov r2, #0 bl FUN_02017F18 add sp, #0x9c pop {r4, r5, pc} .align 2, 0 _021D7CAC: .word 0x021D8434 _021D7CB0: .word 0x021D84C8 thumb_func_end MOD61_021D7BD0 thumb_func_start MOD61_021D7CB4 MOD61_021D7CB4: ; 0x021D7CB4 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x18] mov r1, #4 bl FUN_020178A0 ldr r0, [r4, #0x18] mov r1, #3 bl FUN_020178A0 ldr r0, [r4, #0x18] mov r1, #2 bl FUN_020178A0 ldr r0, [r4, #0x18] mov r1, #1 bl FUN_020178A0 ldr r0, [r4, #0x18] mov r1, #0 bl FUN_020178A0 ldr r0, [r4, #0x18] bl FUN_02016A18 pop {r4, pc} thumb_func_end MOD61_021D7CB4 thumb_func_start MOD61_021D7CE8 MOD61_021D7CE8: ; 0x021D7CE8 push {r4, r5, r6, r7, lr} sub sp, #0x2c add r5, r0, #0 ldr r0, [r5, #0x1c] ldr r1, [r5] ldrb r4, [r0, #0xf] str r4, [sp, #0x1c] ldr r0, [sp, #0x1c] add r4, #0xc str r0, [sp, #0x20] add r0, #0x18 str r0, [sp, #0x20] mov r0, #0x4f bl FUN_02006670 mov r1, #0 str r1, [sp] add r6, r0, #0 ldr r0, [r5] mov r2, #1 str r0, [sp, #4] ldr r0, [r5, #0x18] mov r3, #5 bl FUN_0200CB00 ldrh r0, [r5, #0xa] mov r1, #0 mov r2, #0xa lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp] ldr r0, [r5] mov r3, #6 str r0, [sp, #4] ldr r0, [r5, #0x18] bl FUN_0200CD68 mov r0, #0x4f add r1, r4, #0 bl LoadFromNARC_7 add r1, r0, #0 ldr r0, [r5] bl FUN_020169D8 add r7, r0, #0 add r0, r6, #0 add r1, r4, #0 add r2, r7, #0 bl FUN_02006774 add r0, r7, #0 add r1, sp, #0x28 bl FUN_020B0088 ldr r3, [sp, #0x28] mov r0, #0 str r0, [sp] ldr r2, [r3, #0x14] ldr r0, [r5, #0x18] ldr r3, [r3, #0x10] mov r1, #1 bl FUN_02017E14 ldr r3, [sp, #0x28] mov r0, #0 str r0, [sp] ldr r2, [r3, #0x14] ldr r0, [r5, #0x18] ldr r3, [r3, #0x10] mov r1, #4 bl FUN_02017E14 add r0, r7, #0 bl FUN_02016A18 ldr r1, [sp, #0x1c] mov r0, #0x4f bl LoadFromNARC_7 add r1, r0, #0 ldr r0, [r5] bl FUN_020169D8 add r4, r0, #0 ldr r1, [sp, #0x1c] add r0, r6, #0 add r2, r4, #0 bl FUN_02006774 add r0, r4, #0 add r1, sp, #0x24 bl FUN_020B0138 ldr r2, [sp, #0x24] mov r0, #4 ldr r1, [r2, #0xc] ldr r2, [r2, #8] mov r3, #0 lsl r2, r2, #0x10 lsr r2, r2, #0x10 bl FUN_02017FB4 ldr r0, [r5] bl FUN_02002FD0 str r0, [r5, #0x30] ldr r3, [r5] mov r1, #0 mov r2, #0xe0 bl FUN_02003008 ldr r0, [r5, #0x30] ldr r3, [r5] mov r1, #2 mov r2, #0x60 bl FUN_02003008 mov r0, #0x60 str r0, [sp] ldr r1, [sp, #0x24] mov r2, #0 ldr r0, [r5, #0x30] ldr r1, [r1, #0xc] add r3, r2, #0 bl FUN_02003054 ldrb r0, [r5, #0xc] cmp r0, #1 bne _021D7E00 mov r0, #0x20 str r0, [sp] ldr r1, [sp, #0x24] ldr r0, [r5, #0x30] ldr r1, [r1, #0xc] mov r2, #0 add r1, #0x60 mov r3, #0x10 bl FUN_02003054 _021D7E00: mov r0, #2 str r0, [sp] mov r0, #0x60 str r0, [sp, #4] mov r2, #0 str r2, [sp, #8] ldr r0, [r5, #0x30] ldr r3, [r5] mov r1, #0x13 bl FUN_020030E8 mov r0, #0 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0x30 str r0, [sp, #8] ldr r0, [r5, #0x30] ldr r3, [r5] mov r1, #0xe mov r2, #6 bl FUN_020030E8 mov r0, #0 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0x40 str r0, [sp, #8] ldr r0, [r5, #0x30] ldr r3, [r5] mov r1, #0xe mov r2, #7 bl FUN_020030E8 mov r0, #0 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0x50 str r0, [sp, #8] ldr r0, [r5, #0x30] ldr r3, [r5] mov r1, #0x26 mov r2, #0x18 bl FUN_020030E8 mov r0, #0 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0x60 str r0, [sp, #8] ldrh r2, [r5, #0xa] ldr r0, [r5, #0x30] ldr r3, [r5] mov r1, #0x26 add r2, #0x19 bl FUN_020030E8 mov r0, #0x10 mov r1, #0 str r0, [sp] str r1, [sp, #4] ldr r0, [r5, #0x30] add r2, r1, #0 mov r3, #0x70 bl FUN_020039E8 mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] ldr r0, [r5, #0x30] mov r1, #2 mov r3, #0x30 bl FUN_020039E8 ldr r0, [r5, #0x30] mov r1, #1 bl FUN_020038F0 ldr r0, [r5, #0x30] bl FUN_0200372C add r0, r4, #0 bl FUN_02016A18 ldr r1, [sp, #0x20] mov r0, #0x4f bl LoadFromNARC_7 add r1, r0, #0 ldr r0, [r5] bl FUN_02016998 str r0, [r5, #0x34] ldr r1, [sp, #0x20] ldr r2, [r5, #0x34] add r0, r6, #0 bl FUN_02006774 add r1, r5, #0 ldr r0, [r5, #0x34] add r1, #0x3c bl FUN_020B0180 mov r0, #0x4f mov r1, #0x24 bl LoadFromNARC_7 add r1, r0, #0 ldr r0, [r5] bl FUN_02016998 str r0, [r5, #0x38] ldr r2, [r5, #0x38] add r0, r6, #0 mov r1, #0x24 bl FUN_02006774 add r1, r5, #0 ldr r0, [r5, #0x38] add r1, #0x40 bl FUN_020B0180 add r0, r6, #0 bl FUN_020066F4 mov r3, #0 str r3, [sp] mov r0, #0x20 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0x11 str r0, [sp, #0xc] ldr r0, [r5, #0x18] ldr r2, _021D7FAC ; =0x00002001 mov r1, #4 bl FUN_02018540 mov r2, #0 ldr r0, [r5, #0x3c] mov r1, #0x20 str r1, [sp] mov r1, #0x18 str r1, [sp, #4] add r1, r0, #0 add r1, #0xc str r1, [sp, #8] str r2, [sp, #0xc] str r2, [sp, #0x10] ldrh r1, [r0] add r3, r2, #0 lsl r1, r1, #0x15 lsr r1, r1, #0x18 str r1, [sp, #0x14] ldrh r0, [r0, #2] mov r1, #3 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #0x18] ldr r0, [r5, #0x18] bl FUN_02018170 ldr r0, [r5, #0x18] mov r1, #3 bl FUN_0201AC68 ldr r0, [r5, #0x18] mov r1, #4 bl FUN_0201AC68 ldrb r0, [r5, #0xc] cmp r0, #1 bne _021D7FA6 ldr r0, [r5, #0x40] mov r1, #0x20 str r1, [sp] mov r1, #0x18 str r1, [sp, #4] add r1, r0, #0 add r1, #0xc mov r2, #0 str r1, [sp, #8] str r2, [sp, #0xc] str r2, [sp, #0x10] ldrh r1, [r0] add r3, r2, #0 lsl r1, r1, #0x15 lsr r1, r1, #0x18 str r1, [sp, #0x14] ldrh r0, [r0, #2] mov r1, #2 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #0x18] ldr r0, [r5, #0x18] bl FUN_02018170 ldr r0, [r5, #0x18] mov r1, #2 bl FUN_0201AC68 mov r2, #0 strb r2, [r5, #0x14] ldr r0, _021D7FB0 ; =MOD61_021D7AA8 add r1, r5, #0 strb r2, [r5, #0x15] bl FUN_0200CA44 _021D7FA6: add sp, #0x2c pop {r4, r5, r6, r7, pc} nop _021D7FAC: .word 0x00002001 _021D7FB0: .word MOD61_021D7AA8 thumb_func_end MOD61_021D7CE8 thumb_func_start MOD61_021D7FB4 MOD61_021D7FB4: ; 0x021D7FB4 push {r3, r4, lr} sub sp, #4 add r4, r0, #0 ldr r0, [r4, #0x38] bl FUN_02016A18 ldr r0, [r4, #0x34] bl FUN_02016A18 ldr r0, [r4, #0x30] mov r1, #2 bl FUN_02003038 ldr r0, [r4, #0x30] mov r1, #0 bl FUN_02003038 ldr r0, [r4, #0x30] bl FUN_02002FEC mov r1, #0 str r1, [r4, #0x30] ldr r0, _021D7FF0 ; =0x04000050 add r2, r1, #0 mov r3, #0x1f str r1, [sp] bl G2x_SetBlendAlpha_ add sp, #4 pop {r3, r4, pc} .align 2, 0 _021D7FF0: .word 0x04000050 thumb_func_end MOD61_021D7FB4 thumb_func_start MOD61_021D7FF4 MOD61_021D7FF4: ; 0x021D7FF4 push {r3, r4, r5, r6, lr} sub sp, #0x14 mov r3, #3 add r5, r0, #0 str r3, [sp] mov r0, #0x1a str r0, [sp, #4] mov r0, #4 str r0, [sp, #8] mov r2, #1 add r1, r5, #0 ldr r0, _021D80DC ; =0x00000397 str r2, [sp, #0xc] str r0, [sp, #0x10] ldr r0, [r5, #0x18] add r1, #0x44 bl FUN_02019064 mov r0, #8 str r0, [sp] mov r0, #0x1a str r0, [sp, #4] mov r0, #4 str r0, [sp, #8] mov r2, #1 add r1, r5, #0 ldr r0, _021D80E0 ; =0x0000032F str r2, [sp, #0xc] str r0, [sp, #0x10] ldr r0, [r5, #0x18] add r1, #0x54 mov r3, #3 bl FUN_02019064 mov r0, #0xd str r0, [sp] mov r0, #0x1a str r0, [sp, #4] mov r0, #4 str r0, [sp, #8] mov r2, #1 add r1, r5, #0 ldr r0, _021D80E4 ; =0x000002C7 str r2, [sp, #0xc] str r0, [sp, #0x10] ldr r0, [r5, #0x18] add r1, #0x64 mov r3, #3 bl FUN_02019064 mov r0, #0x14 str r0, [sp] mov r0, #8 str r0, [sp, #4] mov r0, #2 str r0, [sp, #8] mov r2, #1 add r1, r5, #0 ldr r0, _021D80E8 ; =0x000002B7 str r2, [sp, #0xc] str r0, [sp, #0x10] ldr r0, [r5, #0x18] add r1, #0x74 mov r3, #0x15 bl FUN_02019064 mov r0, #0x14 str r0, [sp] mov r0, #8 str r0, [sp, #4] mov r0, #2 str r0, [sp, #8] mov r2, #1 add r1, r5, #0 ldr r0, _021D80EC ; =0x000002A7 str r2, [sp, #0xc] str r0, [sp, #0x10] ldr r0, [r5, #0x18] add r1, #0x84 mov r3, #3 bl FUN_02019064 mov r0, #0x13 str r0, [sp] mov r0, #0x1b str r0, [sp, #4] mov r0, #4 str r0, [sp, #8] str r0, [sp, #0xc] ldr r0, _021D80F0 ; =0x00000297 add r1, r5, #0 str r0, [sp, #0x10] ldr r0, [r5, #0x18] add r1, #0x94 mov r2, #0 mov r3, #2 bl FUN_02019064 mov r4, #0 add r5, #0x44 add r6, r4, #0 _021D80BE: add r0, r5, #0 add r1, r6, #0 bl FUN_02019620 cmp r4, #5 bge _021D80D0 add r0, r5, #0 bl FUN_020191D0 _021D80D0: add r4, r4, #1 add r5, #0x10 cmp r4, #6 blt _021D80BE add sp, #0x14 pop {r3, r4, r5, r6, pc} .align 2, 0 _021D80DC: .word 0x00000397 _021D80E0: .word 0x0000032F _021D80E4: .word 0x000002C7 _021D80E8: .word 0x000002B7 _021D80EC: .word 0x000002A7 _021D80F0: .word 0x00000297 thumb_func_end MOD61_021D7FF4 thumb_func_start MOD61_021D80F4 MOD61_021D80F4: ; 0x021D80F4 push {r3, r4, r5, lr} add r5, r0, #0 mov r4, #0 add r5, #0x44 _021D80FC: add r0, r5, #0 bl FUN_02019570 add r0, r5, #0 bl FUN_02019178 add r4, r4, #1 add r5, #0x10 cmp r4, #6 blt _021D80FC pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD61_021D80F4 thumb_func_start MOD61_021D8114 MOD61_021D8114: ; 0x021D8114 push {r4, r5, r6, r7, lr} sub sp, #0x1c add r4, r0, #0 mov r7, #0 add r6, r4, #0 add r5, r7, #0 add r6, #0x44 _021D8122: ldr r0, [r4, #0x1c] add r0, #0x1a add r0, r0, r5 bl FUN_0201385C cmp r0, #0 beq _021D8164 ldr r0, [r4, #0x1c] ldr r1, [r4] add r0, #0x1a add r0, r0, r5 bl FUN_020137D4 str r0, [sp, #0x10] mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _021D8220 ; =0x00010200 ldr r2, [sp, #0x10] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] add r0, r6, #0 mov r1, #1 mov r3, #0 bl FUN_0201BDE0 ldr r0, [sp, #0x10] bl FUN_02021A20 add r0, r6, #0 bl FUN_020191D0 _021D8164: add r7, r7, #1 add r5, #8 add r6, #0x10 cmp r7, #3 blt _021D8122 ldrb r0, [r4, #0xc] cmp r0, #1 bne _021D81F8 ldr r2, _021D8224 ; =0x00000169 ldr r3, [r4] mov r0, #1 mov r1, #0x1a bl FUN_0200A86C str r0, [r4, #0x20] ldr r1, [r4] mov r0, #0x10 bl FUN_020219F4 add r5, r0, #0 add r0, r4, #0 str r0, [sp, #0x18] add r0, #0x44 mov r6, #0 str r0, [sp, #0x18] _021D8196: add r0, r5, #0 bl FUN_02021A4C ldr r0, [r4, #0x20] add r1, r6, #0 add r2, r5, #0 bl FUN_0200A8E0 mov r0, #1 add r1, r5, #0 mov r2, #0 bl FUN_02002E14 mov r1, #0x40 sub r7, r1, r0 add r0, r6, #3 lsl r0, r0, #4 str r0, [sp, #0x14] mov r0, #2 str r0, [sp] mov r0, #0 str r0, [sp, #4] ldr r0, _021D8220 ; =0x00010200 lsr r3, r7, #0x1f str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] add r3, r7, r3 ldr r1, [sp, #0x14] ldr r0, [sp, #0x18] add r2, r5, #0 add r0, r0, r1 mov r1, #1 asr r3, r3, #1 bl FUN_0201BDE0 ldr r1, [sp, #0x14] ldr r0, [sp, #0x18] add r0, r0, r1 bl FUN_020191D0 add r6, r6, #1 cmp r6, #2 blt _021D8196 add r0, r5, #0 bl FUN_02021A20 add sp, #0x1c pop {r4, r5, r6, r7, pc} _021D81F8: mov r0, #2 str r0, [sp] mov r3, #0 ldr r0, _021D8220 ; =0x00010200 str r3, [sp, #4] str r0, [sp, #8] str r3, [sp, #0xc] ldr r2, [r4, #0x1c] add r0, r4, #0 ldr r2, [r2, #0x10] add r0, #0x74 mov r1, #1 bl FUN_0201BDE0 add r4, #0x74 add r0, r4, #0 bl FUN_020191D0 add sp, #0x1c pop {r4, r5, r6, r7, pc} .align 2, 0 _021D8220: .word 0x00010200 _021D8224: .word 0x00000169 thumb_func_end MOD61_021D8114 thumb_func_start MOD61_021D8228 MOD61_021D8228: ; 0x021D8228 push {r4, r5, r6, r7, lr} sub sp, #0x94 add r5, r0, #0 bl FUN_02033F20 ldrb r0, [r5, #0xc] cmp r0, #1 bne _021D823A b _021D83D4 _021D823A: ldr r1, [r5] mov r0, #0x20 bl FUN_0201C24C ldr r0, [r5] bl FUN_0200BB14 add r1, r5, #0 add r1, #0xa8 str r0, [r1] add r0, r5, #0 add r0, #0xa8 ldr r0, [r0] bl FUN_0200BB34 add r1, r5, #0 add r1, #0xac add r2, sp, #0x40 ldr r4, _021D83D8 ; =0x021D8480 str r0, [r1] ldmia r4!, {r0, r1} add r3, r2, #0 stmia r2!, {r0, r1} ldmia r4!, {r0, r1} stmia r2!, {r0, r1} ldmia r4!, {r0, r1} stmia r2!, {r0, r1} ldmia r4!, {r0, r1} ldr r6, _021D83DC ; =0x021D8454 stmia r2!, {r0, r1} add r4, sp, #0x2c ldmia r6!, {r0, r1} add r2, r4, #0 stmia r4!, {r0, r1} ldmia r6!, {r0, r1} stmia r4!, {r0, r1} ldr r0, [r6] ldr r6, _021D83E0 ; =0x021D8468 str r0, [r4] add r4, sp, #0x14 ldmia r6!, {r0, r1} stmia r4!, {r0, r1} ldmia r6!, {r0, r1} stmia r4!, {r0, r1} ldmia r6!, {r0, r1} stmia r4!, {r0, r1} add r0, r5, #0 add r0, #0xa8 add r1, r3, #0 ldr r0, [r0] mov r3, #0x20 bl FUN_0200BB6C add r0, r5, #0 add r1, r5, #0 add r0, #0xa8 add r1, #0xac ldr r0, [r0] ldr r1, [r1] mov r2, #3 bl FUN_0200BBF0 add r0, r5, #0 add r1, r5, #0 add r0, #0xa8 add r1, #0xac ldr r0, [r0] ldr r1, [r1] add r2, sp, #0x14 bl FUN_0200BF60 ldr r0, [r5] bl FUN_0200A064 bl FUN_0206B888 mov r1, #0 add r3, r0, #0 str r1, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] str r1, [sp, #0xc] add r0, r5, #0 add r1, r5, #0 add r0, #0xa8 add r1, #0xac ldr r0, [r0] ldr r1, [r1] mov r2, #0x13 bl FUN_0200C06C bl FUN_0206B88C add r3, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] add r0, r5, #0 add r1, r5, #0 add r0, #0xa8 add r1, #0xac ldr r0, [r0] ldr r1, [r1] mov r2, #0x13 bl FUN_0200C124 bl FUN_0206B898 add r3, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] add r0, r5, #0 add r1, r5, #0 add r0, #0xa8 add r1, #0xac ldr r0, [r0] ldr r1, [r1] mov r2, #0x13 bl FUN_0200C13C mov r6, #0 add r4, r6, #0 add r7, r6, #0 str r5, [sp, #0x10] _021D8338: ldr r0, [r5, #0x1c] add r3, r0, r4 ldrh r1, [r3, #0x14] ldr r0, _021D83E4 ; =0x0000FFFF cmp r1, r0 beq _021D83D4 mov r0, #0 str r0, [sp] mov r0, #1 str r0, [sp, #4] str r6, [sp, #8] ldrh r3, [r3, #0x14] add r0, r5, #0 add r1, r5, #0 add r0, #0xa8 add r1, #0xac lsl r3, r3, #0x14 ldr r0, [r0] ldr r1, [r1] mov r2, #0x13 lsr r3, r3, #0x14 bl FUN_0200C918 add r0, sp, #0x60 mov r1, #0 mov r2, #0x34 bl MI_CpuFill8 mov r0, #0x80 sub r1, r0, r7 add r0, sp, #0x60 strh r1, [r0] mov r1, #0xa0 strh r1, [r0, #2] mov r1, #0 strh r1, [r0, #4] strh r1, [r0, #6] mov r0, #2 str r0, [sp, #0x8c] ldr r0, [r5, #0x1c] add r2, sp, #0x60 add r0, r0, r4 ldrh r0, [r0, #0x14] lsl r0, r0, #0x10 lsr r0, r0, #0x1c str r0, [sp, #0x6c] add r0, r1, #0 str r0, [sp, #0x90] mov r0, #1 str r0, [sp, #0x70] add r0, r1, #0 str r0, [sp, #0x78] str r0, [sp, #0x7c] str r0, [sp, #0x80] sub r0, r1, #1 str r0, [sp, #0x84] sub r0, r1, #1 str r0, [sp, #0x88] add r0, r5, #0 add r1, r5, #0 str r6, [sp, #0x74] add r0, #0xa8 add r1, #0xac ldr r0, [r0] ldr r1, [r1] bl FUN_0200C154 ldr r1, [sp, #0x10] add r6, r6, #1 add r1, #0xb0 str r0, [r1] ldr r0, [sp, #0x10] add r4, r4, #2 add r0, r0, #4 add r7, #0x28 str r0, [sp, #0x10] cmp r6, #3 blt _021D8338 _021D83D4: add sp, #0x94 pop {r4, r5, r6, r7, pc} .align 2, 0 _021D83D8: .word 0x021D8480 _021D83DC: .word 0x021D8454 _021D83E0: .word 0x021D8468 _021D83E4: .word 0x0000FFFF thumb_func_end MOD61_021D8228 thumb_func_start MOD61_021D83E8 MOD61_021D83E8: ; 0x021D83E8 push {r4, r5, r6, lr} add r6, r0, #0 ldrb r0, [r6, #0xc] cmp r0, #0 bne _021D8428 mov r4, #0 add r5, r6, #0 _021D83F6: add r0, r5, #0 add r0, #0xb0 ldr r0, [r0] cmp r0, #0 beq _021D8404 bl FUN_0200C3DC _021D8404: add r4, r4, #1 add r5, r5, #4 cmp r4, #3 blt _021D83F6 add r0, r6, #0 add r1, r6, #0 add r0, #0xa8 add r1, #0xac ldr r0, [r0] ldr r1, [r1] bl FUN_0200C398 add r6, #0xa8 ldr r0, [r6] bl FUN_0200BD04 bl FUN_0201C29C _021D8428: pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD61_021D83E8 .section .rodata ; 0x021D842C .incbin "baserom.nds", 0x2AE94C, 0x128