.include "asm/macros.inc" .include "global.inc" .section .text .balign 4, 0 thumb_func_start MOD83_0222D5C0 MOD83_0222D5C0: ; 0x0222D5C0 mov r0, #0 bx lr thumb_func_end MOD83_0222D5C0 thumb_func_start MOD83_0222D5C4 MOD83_0222D5C4: ; 0x0222D5C4 push {r4, r5, r6, r7, lr} sub sp, #0x5c add r5, r0, #0 mov r0, #5 lsl r0, r0, #6 add r0, r5, r0 bl FUN_02019048 cmp r0, #0 bne _0222D63C mov r1, #0x4f mov r0, #0 add r3, r5, #0 lsl r1, r1, #2 _0222D5E0: ldr r2, [r3, r1] cmp r2, #1 bne _0222D632 lsl r1, r0, #2 add r3, r5, r1 mov r1, #0x4f add r6, r0, #0 mov r2, #0 lsl r1, r1, #2 str r2, [r3, r1] mov r3, #0x1c mov r0, #1 str r0, [sp] mov r0, #2 str r0, [sp, #4] add r1, r1, #4 ldr r7, _0222D670 ; =0x0223A794 mul r6, r3 add r4, r7, r6 ldr r3, [r4, #0x10] add r0, sp, #8 add r1, r5, r1 bl MOD83_022388E4 ldr r1, [r4, #8] ldr r2, [r4, #0xc] add r0, sp, #8 mov r3, #0x13 bl MOD83_02238934 ldr r0, [r4, #0x14] add r1, sp, #8 str r0, [sp] ldr r0, [r5] ldr r2, [r7, r6] ldr r3, [r4, #4] bl MOD83_02238A38 add sp, #0x5c mov r0, #1 pop {r4, r5, r6, r7, pc} _0222D632: add r0, r0, #1 add r3, r3, #4 cmp r0, #1 blt _0222D5E0 b _0222D668 _0222D63C: ldr r0, _0222D674 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #3 tst r0, r1 beq _0222D662 ldr r0, _0222D678 ; =0x000005DC bl FUN_020054C8 mov r0, #5 lsl r0, r0, #6 add r0, r5, r0 mov r1, #0 bl FUN_0200CCF8 mov r0, #5 lsl r0, r0, #6 add r0, r5, r0 bl FUN_02019178 _0222D662: add sp, #0x5c mov r0, #1 pop {r4, r5, r6, r7, pc} _0222D668: mov r0, #0 add sp, #0x5c pop {r4, r5, r6, r7, pc} nop _0222D670: .word 0x0223A794 _0222D674: .word 0x021C48B8 _0222D678: .word 0x000005DC thumb_func_end MOD83_0222D5C4 thumb_func_start MOD83_0222D67C MOD83_0222D67C: ; 0x0222D67C push {r3, r4, r5, lr} add r5, r0, #0 mov r0, #0 bl MOD83_02236E18 mov r4, #0 str r4, [r5, #0x24] cmp r0, #0 bne _0222D6E6 bl MOD83_02236E9C cmp r0, #4 bhi _0222D6BE add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0222D6A2: ; jump table .short _0222D6AC - _0222D6A2 - 2 ; case 0 .short _0222D6B0 - _0222D6A2 - 2 ; case 1 .short _0222D6B4 - _0222D6A2 - 2 ; case 2 .short _0222D6B8 - _0222D6A2 - 2 ; case 3 .short _0222D6BC - _0222D6A2 - 2 ; case 4 _0222D6AC: mov r4, #2 b _0222D6BE _0222D6B0: mov r4, #1 b _0222D6BE _0222D6B4: mov r4, #5 b _0222D6BE _0222D6B8: mov r4, #4 b _0222D6BE _0222D6BC: mov r4, #3 _0222D6BE: add r0, r4, #0 bl FUN_02016438 ldr r0, [r5, #8] bl FUN_02024CA4 cmp r0, #0 beq _0222D6E6 bl MOD83_02236EA8 ldr r1, _0222D6E8 ; =0x020ECAC4 ldrb r1, [r1] cmp r1, r0 bne _0222D6E6 bl MOD83_02236E9C add r0, r0, #1 str r0, [r5, #0x24] bl MOD83_02239490 _0222D6E6: pop {r3, r4, r5, pc} .align 2, 0 _0222D6E8: .word 0x020ECAC4 thumb_func_end MOD83_0222D67C thumb_func_start MOD83_0222D6EC MOD83_0222D6EC: ; 0x0222D6EC push {r4, lr} mov r1, #0x43 add r4, r0, #0 lsl r1, r1, #2 ldr r0, [r4, r1] sub r0, #0xa cmp r0, #4 bhi _0222D7DC add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0222D708: ; jump table .short _0222D712 - _0222D708 - 2 ; case 0 .short _0222D718 - _0222D708 - 2 ; case 1 .short _0222D7DC - _0222D708 - 2 ; case 2 .short _0222D74C - _0222D708 - 2 ; case 3 .short _0222D7D0 - _0222D708 - 2 ; case 4 _0222D712: mov r0, #0xb str r0, [r4, r1] pop {r4, pc} _0222D718: ldr r0, [r4, #4] bl FUN_02032D44 mov r1, #0x78 add r0, r1, #0 add r0, #0x98 str r1, [r4, r0] mov r1, #0xd add r0, r1, #0 add r0, #0xff str r1, [r4, r0] mov r0, #0 str r0, [r4, #0x40] ldr r0, [r4, #0x14] bl FUN_0202AF50 cmp r0, #1 bne _0222D7DC ldr r1, [r4, #0x40] mov r0, #1 orr r1, r0 str r1, [r4, #0x40] ldr r1, [r4, #0x44] orr r0, r1 str r0, [r4, #0x44] pop {r4, pc} _0222D74C: add r1, #0xc ldr r0, [r4, r1] cmp r0, #0 bne _0222D7DC bl FUN_02032D9C ldr r1, [r4, #0x40] bic r0, r1 beq _0222D7B2 mov r2, #0x45 lsl r2, r2, #2 ldr r3, [r4, r2] cmp r3, #0xf bne _0222D7B2 add r2, r2, #4 ldr r2, [r4, r2] cmp r2, #0 bne _0222D7B2 cmp r1, r0 beq _0222D7B2 mov r2, #1 add r1, r0, #0 str r2, [r4, #0x48] tst r1, r2 beq _0222D782 str r2, [r4, #0x34] add r0, r2, #0 _0222D782: mov r1, #2 add r2, r0, #0 tst r2, r1 beq _0222D790 mov r0, #1 str r0, [r4, #0x2c] add r0, r1, #0 _0222D790: mov r1, #4 add r2, r0, #0 tst r2, r1 beq _0222D79E mov r0, #1 str r0, [r4, #0x30] add r0, r1, #0 _0222D79E: mov r1, #3 tst r1, r0 beq _0222D7AC mov r1, #0x4e mov r2, #1 lsl r1, r1, #2 str r2, [r4, r1] _0222D7AC: ldr r1, [r4, #0x40] orr r0, r1 str r0, [r4, #0x40] _0222D7B2: mov r0, #0x11 lsl r0, r0, #4 ldr r1, [r4, r0] sub r1, r1, #1 str r1, [r4, r0] ldr r0, [r4, r0] cmp r0, #0 bne _0222D7DC bl FUN_02032D80 mov r0, #0x43 mov r1, #0xc lsl r0, r0, #2 str r1, [r4, r0] pop {r4, pc} _0222D7D0: bl FUN_02032D80 mov r0, #0x43 mov r1, #0xc lsl r0, r0, #2 str r1, [r4, r0] _0222D7DC: pop {r4, pc} .align 2, 0 thumb_func_end MOD83_0222D6EC thumb_func_start MOD83_0222D7E0 MOD83_0222D7E0: ; 0x0222D7E0 push {r3, r4, r5, r6, r7, lr} sub sp, #0x60 mov r1, #0x45 add r4, r0, #0 lsl r1, r1, #2 ldr r0, [r4, r1] sub r0, #0xf cmp r0, #4 bls _0222D7F4 b _0222D994 _0222D7F4: add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0222D800: ; jump table .short _0222D80A - _0222D800 - 2 ; case 0 .short _0222D832 - _0222D800 - 2 ; case 1 .short _0222D85E - _0222D800 - 2 ; case 2 .short _0222D932 - _0222D800 - 2 ; case 3 .short _0222D974 - _0222D800 - 2 ; case 4 _0222D80A: add r0, r1, #4 ldr r0, [r4, r0] cmp r0, #0 bne _0222D818 add sp, #0x60 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _0222D818: add r0, r1, #4 ldr r0, [r4, r0] sub r2, r0, #1 add r0, r1, #4 str r2, [r4, r0] ldr r0, [r4, r0] cmp r0, #0 bne _0222D82C mov r0, #0x10 str r0, [r4, r1] _0222D82C: add sp, #0x60 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _0222D832: mov r0, #0 str r0, [sp] mov r0, #0x51 str r0, [sp, #4] mov r1, #1 ldr r0, [r4] add r2, r1, #0 mov r3, #2 bl FUN_0200CB00 ldr r0, [r4] mov r1, #1 bl FUN_02018744 ldr r1, _0222D99C ; =0x00006B5A ldr r0, _0222D9A0 ; =0x05000042 strh r1, [r0] mov r0, #0x45 mov r1, #0x11 lsl r0, r0, #2 str r1, [r4, r0] b _0222D994 _0222D85E: mov r0, #1 str r0, [sp] mov r0, #2 add r1, #0x10 str r0, [sp, #4] add r0, sp, #0xc add r1, r4, r1 mov r2, #0 mov r3, #0xc bl MOD83_022388E4 ldr r0, [r4, #0x44] ldr r1, [r4, #0x40] mvn r0, r0 and r0, r1 mov r1, #1 add r2, r0, #0 tst r2, r1 beq _0222D892 ldr r2, [r4, #0x38] tst r1, r2 beq _0222D88E ldr r5, _0222D9A4 ; =0x0223A7F0 b _0222D8B2 _0222D88E: ldr r5, _0222D9A8 ; =0x0223A804 b _0222D8B2 _0222D892: mov r1, #2 add r2, r0, #0 tst r2, r1 beq _0222D8A8 ldr r2, [r4, #0x38] tst r1, r2 beq _0222D8A4 ldr r5, _0222D9AC ; =0x0223A818 b _0222D8B2 _0222D8A4: ldr r5, _0222D9B0 ; =0x0223A82C b _0222D8B2 _0222D8A8: mov r1, #0x80 tst r1, r0 beq _0222D8B2 ldr r5, _0222D9B4 ; =0x0223A840 mov r0, #0 _0222D8B2: ldr r1, [r4, #0x44] mov r3, #0x13 orr r0, r1 str r0, [r4, #0x44] ldr r1, [r5, #8] ldr r2, [r5, #0xc] add r0, sp, #0xc bl MOD83_02238934 mov r0, #1 str r0, [sp, #0x38] ldr r0, [r5, #0x10] add r1, sp, #0xc str r0, [sp] ldr r0, [r4] ldr r2, [r5] ldr r3, [r5, #4] bl MOD83_02238A38 ldr r0, [sp, #0x1c] bl FUN_0201AB14 add r6, r0, #0 ldr r0, [sp, #0x1c] bl FUN_0201AB18 add r7, r0, #0 ldr r0, [sp, #0x1c] bl FUN_0201AB0C add r5, r0, #0 ldr r0, [sp, #0x1c] bl FUN_0201AB10 str r5, [sp] str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] ldr r0, [r4] mov r1, #1 add r2, r6, #0 add r3, r7, #0 bl FUN_020186B4 mov r0, #1 mov r1, #0 bl FUN_0201E6E4 mov r0, #4 mov r1, #0 bl FUN_0201E6E4 mov r0, #2 mov r1, #1 bl FUN_0201E6E4 mov r1, #0x1e add r0, r1, #0 add r0, #0xfe str r1, [r4, r0] mov r0, #0x12 add r1, #0xf6 str r0, [r4, r1] b _0222D994 _0222D932: add r0, r1, #0 add r0, #8 ldr r0, [r4, r0] cmp r0, #0 beq _0222D94A add r0, r1, #0 add r0, #8 ldr r0, [r4, r0] add r1, #8 sub r0, r0, #1 str r0, [r4, r1] b _0222D994 _0222D94A: ldr r0, _0222D9B8 ; =0x021C48B8 ldr r2, [r0, #0x48] mov r0, #3 tst r0, r2 beq _0222D994 add r1, #0x10 add r0, r4, r1 bl FUN_02019178 mov r0, #0x45 mov r1, #0x13 lsl r0, r0, #2 str r1, [r4, r0] ldr r1, _0222D9B8 ; =0x021C48B8 add r0, #0xc ldr r1, [r1, #0x48] str r1, [r4, r0] ldr r0, _0222D9BC ; =0x000005DC bl FUN_020054C8 b _0222D994 _0222D974: mov r0, #1 add r1, r0, #0 bl FUN_0201E6E4 mov r0, #4 mov r1, #1 bl FUN_0201E6E4 mov r0, #2 mov r1, #0 bl FUN_0201E6E4 mov r0, #0x45 mov r1, #0xf lsl r0, r0, #2 str r1, [r4, r0] _0222D994: mov r0, #1 add sp, #0x60 pop {r3, r4, r5, r6, r7, pc} nop _0222D99C: .word 0x00006B5A _0222D9A0: .word 0x05000042 _0222D9A4: .word 0x0223A7F0 _0222D9A8: .word 0x0223A804 _0222D9AC: .word 0x0223A818 _0222D9B0: .word 0x0223A82C _0222D9B4: .word 0x0223A840 _0222D9B8: .word 0x021C48B8 _0222D9BC: .word 0x000005DC thumb_func_end MOD83_0222D7E0 thumb_func_start MOD83_0222D9C0 MOD83_0222D9C0: ; 0x0222D9C0 push {r3, r4, r5, lr} add r4, r0, #0 mov r0, #0x42 lsl r0, r0, #2 ldr r1, [r4, r0] sub r0, r0, #4 ldr r0, [r4, r0] cmp r0, r1 beq _0222DA48 sub r1, r1, r0 asr r0, r1, #1 lsr r0, r0, #0x1e add r0, r1, r0 asr r0, r0, #2 asr r2, r0, #0x1f add r1, r0, #0 eor r1, r2 sub r2, r1, r2 mov r1, #3 lsl r1, r1, #0xe cmp r2, r1 ble _0222D9F6 cmp r0, #0 ble _0222D9F4 add r0, r1, #0 b _0222D9F6 _0222D9F4: ldr r0, _0222DA4C ; =0xFFFF4000 _0222D9F6: mov r1, #0x41 lsl r1, r1, #2 ldr r2, [r4, r1] add r0, r2, r0 str r0, [r4, r1] add r0, r1, #4 ldr r0, [r4, r0] ldr r2, [r4, r1] sub r2, r0, r2 asr r3, r2, #0x1f eor r2, r3 sub r3, r2, r3 add r2, r1, #0 add r2, #0xfc cmp r3, r2 bge _0222DA18 str r0, [r4, r1] _0222DA18: mov r3, #0x41 lsl r3, r3, #2 ldr r5, [r4, r3] ldr r0, [r4] asr r3, r5, #0xb lsr r3, r3, #0x14 add r3, r5, r3 mov r1, #0 mov r2, #3 asr r3, r3, #0xc bl FUN_0201AEE4 mov r3, #0x41 lsl r3, r3, #2 ldr r0, [r4] ldr r4, [r4, r3] mov r1, #2 asr r3, r4, #0xb lsr r3, r3, #0x14 add r3, r4, r3 mov r2, #3 asr r3, r3, #0xc bl FUN_0201AEE4 _0222DA48: pop {r3, r4, r5, pc} nop _0222DA4C: .word 0xFFFF4000 thumb_func_end MOD83_0222D9C0 thumb_func_start MOD83_0222DA50 MOD83_0222DA50: ; 0x0222DA50 push {r3, r4, r5, lr} sub sp, #0x40 ldr r5, _0222DB4C ; =0x0223A380 add r4, r0, #0 add r3, sp, #0x18 mov r2, #5 _0222DA5C: ldmia r5!, {r0, r1} stmia r3!, {r0, r1} sub r2, r2, #1 bne _0222DA5C ldr r3, _0222DB50 ; =0x0223A370 add r2, sp, #8 ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} add r0, sp, #0x18 bl FUN_0201E66C add r0, sp, #8 bl FUN_02016BBC mov r1, #0 str r1, [sp] mov r3, #0xf ldr r0, [r4] mov r2, #2 lsl r3, r3, #0xc bl MOD83_022387D8 ldr r1, _0222DB54 ; =0x04000008 mov r0, #3 ldrh r2, [r1] mov r3, #0x51 bic r2, r0 mov r0, #2 orr r0, r2 strh r0, [r1] mov r0, #0 mov r1, #0x20 add r2, r0, #0 bl FUN_02017F18 mov r0, #2 lsl r0, r0, #0xe str r0, [sp] mov r1, #1 mov r3, #0x36 ldr r0, [r4] add r2, r1, #0 lsl r3, r3, #0xa bl MOD83_022387D8 ldr r1, _0222DB58 ; =0x0400000A mov r0, #3 ldrh r2, [r1] mov r3, #0x51 bic r2, r0 mov r0, #1 orr r2, r0 strh r2, [r1] mov r1, #0x20 mov r2, #0 bl FUN_02017F18 mov r0, #0 str r0, [sp] mov r1, #2 mov r3, #0xe ldr r0, [r4] add r2, r1, #0 lsl r3, r3, #0xc bl MOD83_022387D8 ldr r1, _0222DB5C ; =0x0400000C mov r0, #3 ldrh r2, [r1] mov r3, #0x51 bic r2, r0 strh r2, [r1] mov r0, #2 mov r1, #0x20 mov r2, #0 bl FUN_02017F18 bl FUN_0201BD5C mov r0, #0 mov r1, #0x20 mov r2, #0x51 bl FUN_02002ED0 mov r0, #0 add r1, r0, #0 mov r2, #0x51 bl FUN_02002ED0 mov r2, #5 mov r1, #0 lsl r2, r2, #0x18 ldr r0, _0222DB60 ; =0x00006B5A strh r1, [r2] strh r0, [r2, #0x3e] str r1, [sp] mov r0, #0x51 str r0, [sp, #4] ldr r0, [r4] mov r2, #1 mov r3, #2 bl FUN_0200CB00 mov r0, #1 str r0, [sp] mov r0, #0x51 str r0, [sp, #4] ldr r0, [r4] mov r1, #0 mov r2, #0xa mov r3, #3 bl FUN_0200CB00 ldr r1, _0222DB60 ; =0x00006B5A ldr r0, _0222DB64 ; =0x05000042 strh r1, [r0] add sp, #0x40 pop {r3, r4, r5, pc} .align 2, 0 _0222DB4C: .word 0x0223A380 _0222DB50: .word 0x0223A370 _0222DB54: .word 0x04000008 _0222DB58: .word 0x0400000A _0222DB5C: .word 0x0400000C _0222DB60: .word 0x00006B5A _0222DB64: .word 0x05000042 thumb_func_end MOD83_0222DA50 thumb_func_start MOD83_0222DB68 MOD83_0222DB68: ; 0x0222DB68 push {r4, lr} sub sp, #8 add r4, r0, #0 bl MOD83_02238AFC bl MOD83_02238B4C mov r0, #0x25 str r0, [sp] mov r0, #0 str r0, [sp, #4] mov r0, #0x74 mov r1, #0x27 mov r2, #0x24 mov r3, #0x26 bl MOD83_02238BC4 mov r0, #0 mov r1, #0x15 str r0, [sp] lsl r1, r1, #4 ldr r1, [r4, r1] mov r2, #0x80 mov r3, #8 bl MOD83_02238DBC mov r1, #0x15 lsl r1, r1, #4 str r0, [r4, r1] ldr r0, [r4, r1] mov r1, #0 bl FUN_020200A0 mov r0, #1 mov r1, #0x55 str r0, [sp] lsl r1, r1, #2 ldr r1, [r4, r1] mov r0, #0 mov r2, #0x80 mov r3, #0xb8 bl MOD83_02238DBC mov r1, #0x55 lsl r1, r1, #2 str r0, [r4, r1] ldr r0, [r4, r1] mov r1, #0 bl FUN_020200A0 add sp, #8 pop {r4, pc} thumb_func_end MOD83_0222DB68 thumb_func_start MOD83_0222DBD0 MOD83_0222DBD0: ; 0x0222DBD0 push {r4, lr} sub sp, #0x10 add r4, r0, #0 mov r0, #0x20 str r0, [sp] mov r0, #0x51 str r0, [sp, #4] mov r0, #0x74 mov r1, #0x29 mov r2, #0 mov r3, #0x80 bl FUN_02006930 mov r0, #0xe lsl r0, r0, #6 str r0, [sp] mov r0, #2 lsl r0, r0, #0xa str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] mov r0, #0x51 str r0, [sp, #0xc] ldr r2, [r4] mov r0, #0x74 mov r1, #0x28 mov r3, #2 bl FUN_0200687C add sp, #0x10 pop {r4, pc} .align 2, 0 thumb_func_end MOD83_0222DBD0 thumb_func_start MOD83_0222DC10 MOD83_0222DC10: ; 0x0222DC10 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 mov r1, #2 add r6, r2, #0 add r7, r3, #0 bl FUN_0201886C ldr r1, _0222DC5C ; =0x00004380 cmp r7, #2 bne _0222DC2A add r1, r1, #2 _0222DC2A: lsl r2, r6, #5 add r3, r4, r2 lsl r2, r3, #1 add r3, r3, #1 strh r1, [r0, r2] add r2, r1, #1 lsl r3, r3, #1 strh r2, [r0, r3] add r3, r1, #0 add r2, r6, #1 lsl r2, r2, #5 add r4, r4, r2 add r3, #8 lsl r2, r4, #1 strh r3, [r0, r2] add r2, r4, #1 add r1, #9 lsl r2, r2, #1 strh r1, [r0, r2] ldr r0, [r5] mov r1, #2 bl FUN_02017CD0 pop {r3, r4, r5, r6, r7, pc} nop _0222DC5C: .word 0x00004380 thumb_func_end MOD83_0222DC10 thumb_func_start MOD83_0222DC60 MOD83_0222DC60: ; 0x0222DC60 push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 add r6, r2, #0 mov r1, #2 bl FUN_0201886C lsl r1, r6, #5 add r3, r4, r1 ldr r1, _0222DC9C ; =0x00004384 lsl r2, r3, #1 strh r1, [r0, r2] add r2, r3, #1 lsl r2, r2, #1 strh r1, [r0, r2] add r2, r6, #1 lsl r2, r2, #5 add r3, r4, r2 lsl r2, r3, #1 strh r1, [r0, r2] add r2, r3, #1 lsl r2, r2, #1 strh r1, [r0, r2] ldr r0, [r5] mov r1, #2 bl FUN_02017CD0 pop {r4, r5, r6, pc} nop _0222DC9C: .word 0x00004384 thumb_func_end MOD83_0222DC60 thumb_func_start MOD83_0222DCA0 MOD83_0222DCA0: ; 0x0222DCA0 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r6, r0, #0 add r0, r2, #0 add r7, r3, #0 ldr r2, [sp, #0x28] mov r3, #0x51 bl FUN_0200A9C4 add r5, r0, #0 mov r0, #0 mov r1, #2 bl FUN_02002E4C add r2, r0, #0 mov r0, #0 add r1, r5, #0 bl FUN_02002E14 add r4, r0, #0 add r0, r6, #0 bl FUN_0201AB0C lsl r0, r0, #3 add r4, #0x20 sub r3, r0, r4 ldr r0, [sp, #0x2c] mov r1, #0 str r0, [sp] mov r0, #0xff str r0, [sp, #4] str r7, [sp, #8] add r0, r6, #0 add r2, r5, #0 str r1, [sp, #0xc] bl FUN_0201BDE0 add r0, r5, #0 bl FUN_02021A20 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD83_0222DCA0 thumb_func_start MOD83_0222DCF4 MOD83_0222DCF4: ; 0x0222DCF4 push {r3, lr} sub sp, #8 add r2, r1, #0 cmp r2, #0x64 blt _0222DD04 mov r3, #3 mov r1, #0 b _0222DD12 _0222DD04: cmp r2, #0xa blt _0222DD0E mov r3, #3 mov r1, #1 b _0222DD12 _0222DD0E: mov r3, #2 mov r1, #1 _0222DD12: str r1, [sp] mov r1, #1 str r1, [sp, #4] mov r1, #0 bl FUN_0200AD38 add sp, #8 pop {r3, pc} .align 2, 0 thumb_func_end MOD83_0222DCF4 thumb_func_start MOD83_0222DD24 MOD83_0222DD24: ; 0x0222DD24 push {r4, r5, r6, r7, lr} sub sp, #0x2c str r2, [sp, #0x18] str r0, [sp, #0x10] str r1, [sp, #0x14] add r4, r3, #0 ldr r2, _0222DEB4 ; =0x000001EE mov r0, #1 mov r1, #0x1a mov r3, #0x51 bl FUN_0200A86C str r0, [sp, #0x24] mov r0, #0x51 bl FUN_0200AA80 str r0, [sp, #0x28] ldr r0, [sp, #0x10] ldr r0, [r0, #0xc] bl FUN_020239CC cmp r0, #1 bne _0222DD58 ldr r0, _0222DEB8 ; =0x0003040F str r0, [sp, #0x1c] b _0222DD5C _0222DD58: ldr r0, _0222DEBC ; =0x0007080F str r0, [sp, #0x1c] _0222DD5C: ldr r0, [sp, #0x14] ldr r1, _0222DEC0 ; =0x0223A85C lsl r0, r0, #4 str r0, [sp, #0x20] ldr r0, [r1, r0] ldr r1, [sp, #0x18] str r0, [sp] ldr r0, [sp, #0x10] mov r2, #3 ldr r0, [r0] add r3, r4, #0 bl MOD83_02238A38 ldr r4, _0222DEC4 ; =0x0223A784 mov r6, #1 mov r5, #0x10 _0222DD7C: cmp r6, #4 bne _0222DD88 ldr r0, [sp, #0x10] ldr r0, [r0, #0x4c] cmp r0, #0 beq _0222DDB8 _0222DD88: ldr r0, [sp, #0x28] ldr r1, [sp, #0x24] ldr r2, [r4] mov r3, #0x51 bl FUN_0200A9C4 add r7, r0, #0 str r5, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, [sp, #0x1c] mov r1, #0 str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] ldr r0, [sp, #0x18] add r2, r7, #0 ldr r0, [r0, #0x10] mov r3, #0x20 bl FUN_0201BDE0 add r0, r7, #0 bl FUN_02021A20 _0222DDB8: add r6, r6, #1 add r4, r4, #4 add r5, #0x10 cmp r6, #5 blo _0222DD7C ldr r2, [sp, #0x10] ldr r0, [sp, #0x28] ldr r2, [r2, #0xc] mov r1, #0 bl FUN_0200ABC0 mov r0, #0x10 str r0, [sp] str r0, [sp, #4] ldr r0, [sp, #0x18] ldr r1, [sp, #0x24] ldr r0, [r0, #0x10] ldr r2, [sp, #0x28] ldr r3, [sp, #0x1c] bl MOD83_0222DCA0 ldr r0, [sp, #0x10] ldr r0, [r0, #0x10] bl FUN_02029EBC add r1, r0, #0 ldr r0, [sp, #0x28] bl MOD83_0222DCF4 ldr r0, [sp, #0x10] ldr r0, [r0, #0x10] bl FUN_02029EC0 add r2, r0, #0 mov r3, #2 ldr r0, [sp, #0x28] str r3, [sp] mov r1, #1 str r1, [sp, #4] bl FUN_0200AD38 mov r0, #0x11 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] ldr r0, [sp, #0x18] ldr r1, [sp, #0x24] ldr r0, [r0, #0x10] ldr r2, [sp, #0x28] ldr r3, [sp, #0x1c] bl MOD83_0222DCA0 mov r1, #0 str r1, [sp] mov r3, #1 ldr r2, [sp, #0x10] str r3, [sp, #4] ldr r0, [sp, #0x28] ldr r2, [r2, #0x50] bl FUN_0200AD38 mov r0, #0x13 str r0, [sp] mov r0, #0x30 str r0, [sp, #4] ldr r0, [sp, #0x18] ldr r1, [sp, #0x24] ldr r0, [r0, #0x10] ldr r2, [sp, #0x28] ldr r3, [sp, #0x1c] bl MOD83_0222DCA0 ldr r0, [sp, #0x10] ldr r0, [r0, #0x4c] cmp r0, #0 beq _0222DE76 ldr r0, [sp, #0x10] ldr r0, [r0, #8] bl FUN_02024440 add r1, r0, #0 ldr r0, [sp, #0x28] bl MOD83_0222DCF4 mov r0, #0x12 str r0, [sp] mov r0, #0x40 str r0, [sp, #4] ldr r0, [sp, #0x18] ldr r1, [sp, #0x24] ldr r0, [r0, #0x10] ldr r2, [sp, #0x28] ldr r3, [sp, #0x1c] bl MOD83_0222DCA0 _0222DE76: ldr r2, [sp, #0x18] ldr r3, [sp, #0x18] ldr r0, [sp, #0x18] ldr r2, [r2, #0x38] ldr r3, [r3, #0x3c] lsl r2, r2, #0x10 lsl r3, r3, #0x18 ldr r0, [r0, #0x10] mov r1, #0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 bl FUN_0200CCA4 ldr r1, _0222DEC8 ; =0x0223A854 ldr r0, [sp, #0x20] ldr r2, [r1, r0] ldr r0, [sp, #0x14] lsl r1, r0, #2 ldr r0, [sp, #0x10] add r0, r0, r1 add r0, #0xcc str r2, [r0] ldr r0, [sp, #0x28] bl FUN_0200AB18 ldr r0, [sp, #0x24] bl FUN_0200A8B8 mov r0, #1 add sp, #0x2c pop {r4, r5, r6, r7, pc} .align 2, 0 _0222DEB4: .word 0x000001EE _0222DEB8: .word 0x0003040F _0222DEBC: .word 0x0007080F _0222DEC0: .word 0x0223A85C _0222DEC4: .word 0x0223A784 _0222DEC8: .word 0x0223A854 thumb_func_end MOD83_0222DD24 thumb_func_start MOD83_0222DECC MOD83_0222DECC: ; 0x0222DECC push {r3, r4, r5, r6, lr} sub sp, #4 add r4, r0, #0 add r5, r1, #0 add r1, r2, #0 ldr r2, [r4, #0x24] add r6, r3, #0 cmp r2, #0 bne _0222DEE4 add sp, #4 mov r0, #0 pop {r3, r4, r5, r6, pc} _0222DEE4: sub r2, r2, #1 cmp r2, #4 bhi _0222DF12 add r2, r2, r2 add r2, pc ldrh r2, [r2, #6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0222DEF6: ; jump table .short _0222DF00 - _0222DEF6 - 2 ; case 0 .short _0222DF04 - _0222DEF6 - 2 ; case 1 .short _0222DF08 - _0222DEF6 - 2 ; case 2 .short _0222DF0C - _0222DEF6 - 2 ; case 3 .short _0222DF10 - _0222DEF6 - 2 ; case 4 _0222DF00: mov r0, #4 b _0222DF12 _0222DF04: mov r0, #5 b _0222DF12 _0222DF08: mov r0, #6 b _0222DF12 _0222DF0C: mov r0, #7 b _0222DF12 _0222DF10: mov r0, #8 _0222DF12: str r0, [sp] ldr r0, [r4] mov r2, #3 add r3, r6, #0 bl MOD83_02238A38 add r0, r4, #0 mov r1, #0x1a add r2, r6, #0 bl MOD83_0222DC60 ldr r0, _0222DF3C ; =0x0223A854 lsl r1, r5, #4 ldr r1, [r0, r1] lsl r0, r5, #2 add r0, r4, r0 add r0, #0xcc str r1, [r0] mov r0, #1 add sp, #4 pop {r3, r4, r5, r6, pc} .align 2, 0 _0222DF3C: .word 0x0223A854 thumb_func_end MOD83_0222DECC thumb_func_start MOD83_0222DF40 MOD83_0222DF40: ; 0x0222DF40 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r5, r0, #0 ldr r0, [r5, #0x34] add r4, r1, #0 add r7, r3, #0 str r2, [sp, #4] cmp r0, #0 bne _0222DF88 ldr r0, [r5, #0x14] bl FUN_0202AF50 cmp r0, #1 bne _0222DF60 mov r0, #1 str r0, [r5, #0x34] _0222DF60: ldr r0, [r5, #4] bl FUN_02023788 bl FUN_02023820 cmp r0, #1 bne _0222DF72 mov r0, #1 str r0, [r5, #0x34] _0222DF72: mov r0, #0x51 bl MOD83_022385FC bl MOD83_02238700 cmp r0, #0 beq _0222DF88 mov r0, #1 str r0, [r5, #0x34] bl MOD83_02239450 _0222DF88: ldr r0, [r5, #0x34] cmp r0, #1 bne _0222DF98 ldr r0, [r5, #0x4c] cmp r0, #0 bne _0222DF98 mov r0, #0 str r0, [r5, #0x34] _0222DF98: ldr r0, [r5, #0x34] cmp r0, #1 bne _0222DFDC ldr r0, _0222DFE4 ; =0x0223A85C lsl r6, r4, #4 ldr r0, [r0, r6] ldr r1, [sp, #4] str r0, [sp] ldr r0, [r5] mov r2, #3 add r3, r7, #0 bl MOD83_02238A38 add r0, r5, #0 mov r1, #0x1a add r2, r7, #0 bl MOD83_0222DC60 ldr r0, _0222DFE8 ; =0x0223A854 ldr r1, [r0, r6] lsl r0, r4, #2 add r0, r5, r0 add r0, #0xcc str r1, [r0] ldr r1, [r5, #0x38] mov r0, #1 orr r0, r1 str r0, [r5, #0x38] ldr r0, [r5, #0x14] bl FUN_0202AF60 add sp, #8 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _0222DFDC: mov r0, #0 add sp, #8 pop {r3, r4, r5, r6, r7, pc} nop _0222DFE4: .word 0x0223A85C _0222DFE8: .word 0x0223A854 thumb_func_end MOD83_0222DF40 thumb_func_start MOD83_0222DFEC MOD83_0222DFEC: ; 0x0222DFEC push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 ldr r0, [r5, #0x2c] add r4, r1, #0 add r7, r3, #0 cmp r0, #1 bne _0222E03C ldr r0, [r5, #0x4c] cmp r0, #1 bne _0222E03C ldr r0, _0222E040 ; =0x0223A85C lsl r6, r4, #4 ldr r0, [r0, r6] add r1, r2, #0 str r0, [sp] ldr r0, [r5] mov r2, #3 bl MOD83_02238A38 add r0, r5, #0 mov r1, #0x1a add r2, r7, #0 mov r3, #1 bl MOD83_0222DC10 lsl r3, r4, #2 add r1, r5, r3 mov r0, #1 add r1, #0xe8 str r0, [r1] ldr r1, _0222E044 ; =0x0223A854 ldr r2, [r1, r6] add r1, r5, r3 add r1, #0xcc str r2, [r1] ldr r2, [r5, #0x38] mov r1, #2 orr r1, r2 str r1, [r5, #0x38] pop {r3, r4, r5, r6, r7, pc} _0222E03C: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _0222E040: .word 0x0223A85C _0222E044: .word 0x0223A854 thumb_func_end MOD83_0222DFEC thumb_func_start MOD83_0222E048 MOD83_0222E048: ; 0x0222E048 push {r3, r4, r5, r6, r7, lr} add r4, r0, #0 ldr r0, [r4, #0x30] add r5, r1, #0 add r7, r3, #0 cmp r0, #1 bne _0222E08A ldr r0, _0222E090 ; =0x0223A85C lsl r6, r5, #4 ldr r0, [r0, r6] add r1, r2, #0 str r0, [sp] ldr r0, [r4] mov r2, #3 bl MOD83_02238A38 lsl r5, r5, #2 add r0, r4, r5 mov r3, #1 add r0, #0xe8 str r3, [r0] add r0, r4, #0 mov r1, #0x1a add r2, r7, #0 bl MOD83_0222DC10 ldr r0, _0222E094 ; =0x0223A854 ldr r1, [r0, r6] add r0, r4, r5 add r0, #0xcc str r1, [r0] mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _0222E08A: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} nop _0222E090: .word 0x0223A85C _0222E094: .word 0x0223A854 thumb_func_end MOD83_0222E048 thumb_func_start MOD83_0222E098 MOD83_0222E098: ; 0x0222E098 push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, _0222E0D4 ; =0x0223A85C lsl r6, r4, #4 ldr r0, [r0, r6] add r1, r2, #0 str r0, [sp] ldr r0, [r5] mov r2, #3 add r7, r3, #0 bl MOD83_02238A38 lsl r4, r4, #2 add r0, r5, r4 mov r3, #2 add r0, #0xe8 str r3, [r0] add r0, r5, #0 mov r1, #0x1a add r2, r7, #0 bl MOD83_0222DC10 ldr r0, _0222E0D8 ; =0x0223A854 ldr r1, [r0, r6] add r0, r5, r4 add r0, #0xcc str r1, [r0] mov r0, #1 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _0222E0D4: .word 0x0223A85C _0222E0D8: .word 0x0223A854 thumb_func_end MOD83_0222E098 thumb_func_start MOD83_0222E0DC MOD83_0222E0DC: ; 0x0222E0DC push {r3, r4, r5, r6, r7, lr} sub sp, #0x70 add r7, r0, #0 mov r0, #0 str r0, [sp, #0xc] mov r0, #0x13 str r0, [r7, #0x20] ldr r0, [sp, #0xc] ldr r4, _0222E1F0 ; =0x0223A854 str r0, [sp, #0x10] add r0, r7, #0 str r0, [sp, #8] add r0, #0x5c str r0, [sp, #8] add r0, r7, #0 str r0, [sp, #0x14] add r0, #0x20 mov r5, #1 str r7, [sp, #0x18] str r0, [sp, #0x14] _0222E104: mov r0, #1 str r0, [sp] mov r0, #2 str r0, [sp, #4] ldr r1, [sp, #8] ldr r3, _0222E1F4 ; =0x000001EE add r0, sp, #0x1c mov r2, #1 bl MOD83_022388E4 ldr r2, [r4, #4] ldr r3, [r7, #0x20] add r0, sp, #0x1c mov r1, #0x1a bl MOD83_02238934 ldr r0, [r4, #0xc] mov ip, r0 cmp r0, #0 beq _0222E1A4 ldr r0, [sp, #0x18] add r0, #0xcc ldr r0, [r0] cmp r0, #0 beq _0222E188 ldr r0, [sp, #0x2c] mov r1, #3 bl FUN_0201AB1C lsl r1, r5, #0x18 ldr r0, [sp, #0x2c] lsr r1, r1, #0x18 bl FUN_0201AB20 ldr r2, [sp, #0x54] ldr r3, [sp, #0x58] lsl r2, r2, #0x10 lsl r3, r3, #0x18 ldr r0, [sp, #0x2c] mov r1, #0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 bl FUN_0200CCA4 ldr r0, [sp, #0x18] add r0, #0xe8 ldr r3, [r0] cmp r3, #0 beq _0222E172 add r0, r7, #0 mov r1, #0x1a add r2, r5, #0 bl MOD83_0222DC10 b _0222E17C _0222E172: add r0, r7, #0 mov r1, #0x1a add r2, r5, #0 bl MOD83_0222DC60 _0222E17C: ldr r0, [r4, #4] add r0, r0, #2 add r5, r5, r0 mov r0, #1 str r0, [sp, #0xc] b _0222E1C2 _0222E188: ldr r1, [sp, #0x10] add r0, r7, #0 add r2, sp, #0x1c add r3, r5, #0 mov r6, ip blx r6 cmp r0, #1 bne _0222E1C2 ldr r0, [r4, #4] add r0, r0, #2 add r5, r5, r0 mov r0, #1 str r0, [sp, #0xc] b _0222E1C2 _0222E1A4: ldr r0, [r4, #8] add r1, sp, #0x1c str r0, [sp] ldr r0, [r7] mov r2, #3 add r3, r5, #0 bl MOD83_02238A38 ldr r0, [sp, #0x18] ldr r1, [r4] add r0, #0xcc str r1, [r0] ldr r0, [r4, #4] add r0, r0, #2 add r5, r5, r0 _0222E1C2: ldr r0, [sp, #0x14] ldr r1, [r4, #4] ldr r2, [r0] mov r0, #0x1a mul r0, r1 add r1, r2, r0 ldr r0, [sp, #0x14] add r4, #0x10 str r1, [r0] ldr r0, [sp, #8] add r0, #0x10 str r0, [sp, #8] ldr r0, [sp, #0x18] add r0, r0, #4 str r0, [sp, #0x18] ldr r0, [sp, #0x10] add r0, r0, #1 str r0, [sp, #0x10] cmp r0, #7 blo _0222E104 ldr r0, [sp, #0xc] add sp, #0x70 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _0222E1F0: .word 0x0223A854 _0222E1F4: .word 0x000001EE thumb_func_end MOD83_0222E0DC thumb_func_start MOD83_0222E1F8 MOD83_0222E1F8: ; 0x0222E1F8 push {r3, r4, r5, r6, r7, lr} sub sp, #0x20 add r6, r0, #0 add r5, r6, #0 str r1, [sp, #0xc] mov r4, #0 add r5, #0x5c _0222E206: add r0, r5, #0 bl FUN_02019048 cmp r0, #0 beq _0222E294 ldr r0, [sp, #0xc] cmp r4, r0 bne _0222E256 add r0, r5, #0 mov r1, #1 mov r2, #0xa mov r3, #3 bl FUN_0200CCA4 add r0, r5, #0 bl FUN_0201AB14 str r0, [sp, #0x10] add r0, r5, #0 bl FUN_0201AB18 str r0, [sp, #0x14] add r0, r5, #0 bl FUN_0201AB0C add r7, r0, #0 add r0, r5, #0 bl FUN_0201AB10 str r7, [sp] str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] ldr r0, [r6] ldr r2, [sp, #0x10] ldr r3, [sp, #0x14] mov r1, #0 bl FUN_020186B4 b _0222E294 _0222E256: mov r1, #1 add r0, r5, #0 add r2, r1, #0 mov r3, #2 bl FUN_0200CCA4 add r0, r5, #0 bl FUN_0201AB14 str r0, [sp, #0x18] add r0, r5, #0 bl FUN_0201AB18 str r0, [sp, #0x1c] add r0, r5, #0 bl FUN_0201AB0C add r7, r0, #0 add r0, r5, #0 bl FUN_0201AB10 str r7, [sp] str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] ldr r0, [r6] ldr r2, [sp, #0x18] ldr r3, [sp, #0x1c] mov r1, #0 bl FUN_020186B4 _0222E294: add r4, r4, #1 add r5, #0x10 cmp r4, #7 blo _0222E206 ldr r0, [r6] mov r1, #0 bl FUN_02017CD0 add sp, #0x20 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD83_0222E1F8 thumb_func_start MOD83_0222E2A8 MOD83_0222E2A8: ; 0x0222E2A8 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 add r2, r1, #0 ldr r1, [r5, #0x54] mov r7, #6 add r4, r1, #0 mov r0, #0 sub r6, r7, #7 _0222E2B8: add r4, r4, r2 cmp r4, r6 bne _0222E2C0 add r4, r0, #0 _0222E2C0: cmp r4, #7 bne _0222E2C6 add r4, r7, #0 _0222E2C6: cmp r4, r1 beq _0222E2DC lsl r3, r4, #2 add r3, r5, r3 add r3, #0xcc ldr r3, [r3] cmp r3, #0 beq _0222E2B8 ldr r0, _0222E2E0 ; =0x000005DC bl FUN_020054C8 _0222E2DC: str r4, [r5, #0x54] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _0222E2E0: .word 0x000005DC thumb_func_end MOD83_0222E2A8 thumb_func_start MOD83_0222E2E4 MOD83_0222E2E4: ; 0x0222E2E4 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0x54] add r1, r5, #0 add r1, #0x5c lsl r0, r0, #4 add r0, r1, r0 bl FUN_0201AB18 sub r0, r0, #1 lsl r4, r0, #3 ldr r0, [r5, #0x54] add r1, r5, #0 add r1, #0x5c lsl r0, r0, #4 add r0, r1, r0 bl FUN_0201AB10 add r0, r0, #2 lsl r3, r0, #3 mov r0, #0x42 lsl r0, r0, #2 ldr r2, [r5, r0] asr r1, r2, #0xb lsr r1, r1, #0x14 add r1, r2, r1 asr r2, r1, #0xc cmp r2, r4 ble _0222E322 lsl r1, r4, #0xc str r1, [r5, r0] _0222E322: add r2, #0xc0 cmp r2, r4 bgt _0222E334 add r0, r4, r3 sub r0, #0xc0 lsl r1, r0, #0xc mov r0, #0x42 lsl r0, r0, #2 str r1, [r5, r0] _0222E334: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD83_0222E2E4 thumb_func_start MOD83_0222E338 MOD83_0222E338: ; 0x0222E338 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 str r0, [sp] mov r0, #0 str r0, [sp, #4] str r0, [sp, #8] mov r1, #0x42 ldr r0, [sp] lsl r1, r1, #2 ldr r1, [r0, r1] ldr r5, [sp] asr r0, r1, #0xb lsr r0, r0, #0x14 add r0, r1, r0 asr r7, r0, #0xc add r0, r7, #0 str r0, [sp, #0xc] add r0, #0xc0 ldr r6, [sp, #4] add r5, #0x5c str r0, [sp, #0xc] _0222E362: add r0, r5, #0 bl FUN_02019048 cmp r0, #0 beq _0222E38E add r0, r5, #0 bl FUN_0201AB18 sub r0, r0, #1 lsl r4, r0, #3 add r0, r5, #0 bl FUN_0201AB10 cmp r7, r4 ble _0222E384 mov r0, #1 str r0, [sp, #8] _0222E384: ldr r0, [sp, #0xc] cmp r0, r4 bgt _0222E38E mov r0, #1 str r0, [sp, #4] _0222E38E: add r6, r6, #1 add r5, #0x10 cmp r6, #7 blo _0222E362 mov r1, #0x15 ldr r0, [sp] lsl r1, r1, #4 ldr r0, [r0, r1] ldr r1, [sp, #8] bl FUN_020200A0 mov r1, #0x55 ldr r0, [sp] lsl r1, r1, #2 ldr r0, [r0, r1] ldr r1, [sp, #4] bl FUN_020200A0 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD83_0222E338 thumb_func_start MOD83_0222E3B8 MOD83_0222E3B8: ; 0x0222E3B8 push {r3, r4, r5, r6, r7, lr} bl FUN_02006278 mov r1, #0x15 add r7, r0, #0 lsl r1, r1, #4 ldr r0, [r7, r1] cmp r0, #0 bne _0222E3D2 add r1, r1, #4 ldr r1, [r7, r1] cmp r1, #0 beq _0222E3E4 _0222E3D2: bl FUN_0201FFC8 mov r0, #0x55 lsl r0, r0, #2 ldr r0, [r7, r0] bl FUN_0201FFC8 bl MOD83_02238E48 _0222E3E4: add r5, r7, #0 mov r6, #0 add r4, r7, #0 add r5, #0x5c _0222E3EC: ldr r0, [r4, #0x5c] cmp r0, #0 beq _0222E3FE add r0, r5, #0 bl FUN_02019570 add r0, r5, #0 bl FUN_02019178 _0222E3FE: add r6, r6, #1 add r4, #0x10 add r5, #0x10 cmp r6, #7 blo _0222E3EC ldr r0, [r7] mov r1, #0 bl FUN_020178A0 ldr r0, [r7] mov r1, #1 bl FUN_020178A0 ldr r0, [r7] mov r1, #2 bl FUN_020178A0 ldr r0, [r7] bl FUN_02016A18 mov r0, #0 add r1, r0, #0 bl FUN_02015F10 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD83_0222E3B8 thumb_func_start MOD83_0222E430 MOD83_0222E430: ; 0x0222E430 mov r1, #0x56 lsl r1, r1, #2 ldr r2, [r0, r1] lsl r3, r2, #1 ldr r2, _0222E45C ; =0x0223A7B0 ldrh r2, [r2, r3] cmp r2, #0 bne _0222E444 mov r2, #0 str r2, [r0, r1] _0222E444: mov r1, #0x56 lsl r1, r1, #2 ldr r3, [r0, r1] add r2, r3, #1 str r2, [r0, r1] ldr r0, _0222E45C ; =0x0223A7B0 lsl r1, r3, #1 ldrh r1, [r0, r1] ldr r0, _0222E460 ; =0x0500006C strh r1, [r0] bx lr nop _0222E45C: .word 0x0223A7B0 _0222E460: .word 0x0500006C thumb_func_end MOD83_0222E430 thumb_func_start MOD83_0222E464 MOD83_0222E464: ; 0x0222E464 push {r4, lr} add r4, r0, #0 bl FUN_0201C30C bl FUN_02009F80 add r0, r4, #0 bl FUN_0201AB60 ldr r3, _0222E484 ; =0x027E0000 ldr r1, _0222E488 ; =0x00003FF8 mov r0, #1 ldr r2, [r3, r1] orr r0, r2 str r0, [r3, r1] pop {r4, pc} .align 2, 0 _0222E484: .word 0x027E0000 _0222E488: .word 0x00003FF8 thumb_func_end MOD83_0222E464 thumb_func_start MOD83_0222E48C MOD83_0222E48C: ; 0x0222E48C push {r3, r4, r5, lr} mov r2, #1 add r5, r0, #0 mov r0, #3 mov r1, #0x51 lsl r2, r2, #0x12 bl FUN_0201681C mov r1, #0x57 add r0, r5, #0 lsl r1, r1, #2 mov r2, #0x51 bl FUN_02006268 mov r2, #0x57 mov r1, #0 lsl r2, r2, #2 add r4, r0, #0 bl Call_FillMemWithValue mov r0, #0x51 bl FUN_02016B94 str r0, [r4] mov r0, #0 add r1, r0, #0 bl FUN_0200E3A0 mov r0, #1 mov r1, #0 bl FUN_0200E3A0 add r0, r5, #0 bl FUN_0200628C ldr r0, [r0, #8] str r0, [r4, #4] bl FUN_0202251C str r0, [r4, #0x14] mov r0, #0x41 mov r1, #0 lsl r0, r0, #2 str r1, [r4, r0] add r0, r0, #4 str r1, [r4, r0] ldr r0, [r4, #4] bl FUN_020238F4 str r0, [r4, #0xc] ldr r0, [r4, #4] bl FUN_02024DA0 str r0, [r4, #8] ldr r0, [r4, #4] bl FUN_02023918 str r0, [r4, #0x10] ldr r0, [r4, #8] bl FUN_02024D64 str r0, [r4, #0x4c] ldr r0, [r4, #0xc] bl FUN_020239F4 str r0, [r4, #0x50] mov r0, #0x45 mov r1, #0xf lsl r0, r0, #2 str r1, [r4, r0] mov r0, #0x51 bl MOD83_02238770 ldr r0, [r4, #4] bl FUN_02022804 cmp r0, #0 bne _0222E530 mov r0, #0x4d mov r1, #1 lsl r0, r0, #2 str r1, [r4, r0] _0222E530: mov r0, #0 bl FUN_0200516C mov r0, #0 bl FUN_0200415C mov r0, #1 pop {r3, r4, r5, pc} thumb_func_end MOD83_0222E48C thumb_func_start MOD83_0222E540 MOD83_0222E540: ; 0x0222E540 push {r4, r5, r6, lr} add r6, r0, #0 add r5, r1, #0 bl FUN_02006278 add r4, r0, #0 ldr r0, [r4, #0x18] add r0, r0, #1 str r0, [r4, #0x18] bl CTRDG_IsExisting add r0, r4, #0 bl MOD83_0222D7E0 cmp r0, #1 bne _0222E570 add r0, r4, #0 bl MOD83_0222D6EC add r0, r4, #0 bl MOD83_0222D9C0 mov r0, #0 pop {r4, r5, r6, pc} _0222E570: add r0, r4, #0 bl MOD83_0222E430 ldr r0, [r5] cmp r0, #9 bhi _0222E5D8 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0222E588: ; jump table .short _0222E59C - _0222E588 - 2 ; case 0 .short _0222E5A8 - _0222E588 - 2 ; case 1 .short _0222E5CE - _0222E588 - 2 ; case 2 .short _0222E5E8 - _0222E588 - 2 ; case 3 .short _0222E616 - _0222E588 - 2 ; case 4 .short _0222E656 - _0222E588 - 2 ; case 5 .short _0222E74A - _0222E588 - 2 ; case 6 .short _0222E772 - _0222E588 - 2 ; case 7 .short _0222E77C - _0222E588 - 2 ; case 8 .short _0222E784 - _0222E588 - 2 ; case 9 _0222E59C: add r0, r4, #0 bl MOD83_0222DA50 mov r0, #1 str r0, [r5] b _0222E788 _0222E5A8: add r0, r4, #0 bl MOD83_0222D5C0 cmp r0, #0 bne _0222E5B8 mov r0, #3 str r0, [r5] b _0222E788 _0222E5B8: mov r0, #1 mov r1, #2 add r2, r5, #0 mov r3, #8 bl MOD83_0223886C mov r0, #5 ldr r1, _0222E79C ; =0x00007D8C lsl r0, r0, #0x18 strh r1, [r0] b _0222E788 _0222E5CE: add r0, r4, #0 bl MOD83_0222D5C4 cmp r0, #0 beq _0222E5DA _0222E5D8: b _0222E788 _0222E5DA: mov r0, #0 mov r1, #3 add r2, r5, #0 mov r3, #8 bl MOD83_0223886C b _0222E788 _0222E5E8: mov r0, #0x43 mov r1, #0xc lsl r0, r0, #2 str r1, [r4, r0] add r0, #0x28 ldr r0, [r4, r0] cmp r0, #1 bne _0222E60A mov r0, #2 str r0, [r4, #0x58] mov r0, #0 mov r1, #7 add r2, r5, #0 mov r3, #8 bl MOD83_0223886C b _0222E788 _0222E60A: add r0, r4, #0 bl MOD83_0222D67C mov r0, #4 str r0, [r5] b _0222E788 _0222E616: add r0, r4, #0 bl MOD83_0222DB68 add r0, r4, #0 bl MOD83_0222DBD0 ldr r0, _0222E7A0 ; =MOD83_0222E464 ldr r1, [r4] bl FUN_02015F10 add r0, r4, #0 bl MOD83_0222E0DC ldr r1, [r4, #0x54] add r0, r4, #0 bl MOD83_0222E1F8 mov r0, #1 mov r1, #5 add r2, r5, #0 mov r3, #8 bl MOD83_0223886C mov r0, #5 ldr r1, _0222E79C ; =0x00007D8C lsl r0, r0, #0x18 strh r1, [r0] mov r0, #0x43 mov r1, #0xa lsl r0, r0, #2 str r1, [r4, r0] b _0222E788 _0222E656: ldr r0, _0222E7A4 ; =0x021C48B8 mov r1, #3 ldr r0, [r0, #0x48] tst r1, r0 beq _0222E6E8 mov r1, #1 tst r0, r1 ldr r0, _0222E7A8 ; =0x000005DC beq _0222E69A bl FUN_020054C8 ldr r0, [r4, #0x54] lsl r0, r0, #2 add r0, r4, r0 add r0, #0xcc ldr r0, [r0] str r0, [r4, #0x58] cmp r0, #5 bne _0222E6A8 bl CTRDG_IsPulledOut cmp r0, #1 bne _0222E6A8 mov r0, #0x43 lsl r0, r0, #2 ldr r0, [r4, r0] cmp r0, #0xc beq _0222E692 bl FUN_02032D80 _0222E692: mov r0, #0x51 bl FUN_02089F24 b _0222E6A8 _0222E69A: bl FUN_020054C8 mov r0, #0 str r0, [r4, #0x58] mov r0, #1 bl MOD83_02238860 _0222E6A8: ldr r0, [r4, #0x58] cmp r0, #2 bne _0222E6C2 ldr r1, [r4, #0x40] mov r0, #0x80 orr r1, r0 str r1, [r4, #0x40] mov r1, #1 add r0, #0x98 str r1, [r4, r0] mov r0, #6 str r0, [r5] b _0222E6D8 _0222E6C2: cmp r0, #6 bne _0222E6CC mov r0, #1 bl MOD83_02238860 _0222E6CC: mov r0, #0 mov r1, #7 add r2, r5, #0 mov r3, #8 bl MOD83_0223886C _0222E6D8: mov r0, #0x43 lsl r0, r0, #2 ldr r1, [r4, r0] cmp r1, #0xd bne _0222E788 mov r1, #0xe str r1, [r4, r0] b _0222E788 _0222E6E8: ldr r1, [r4, #0x48] cmp r1, #1 bne _0222E6FA add r0, r4, #0 bl MOD83_0222E0DC mov r0, #0 str r0, [r4, #0x48] b _0222E788 _0222E6FA: mov r1, #0x40 tst r0, r1 beq _0222E708 add r0, r4, #0 sub r1, #0x41 bl MOD83_0222E2A8 _0222E708: ldr r0, _0222E7A4 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x80 tst r0, r1 beq _0222E71A add r0, r4, #0 mov r1, #1 bl MOD83_0222E2A8 _0222E71A: ldr r1, [r4, #0x54] add r0, r4, #0 bl MOD83_0222E1F8 add r0, r4, #0 bl MOD83_0222E2E4 add r0, r4, #0 bl MOD83_0222E338 ldr r0, [r5] cmp r0, #5 bne _0222E788 mov r0, #0x4e lsl r0, r0, #2 ldr r1, [r4, r0] cmp r1, #1 bne _0222E788 mov r1, #0 str r1, [r4, r0] mov r1, #1 sub r0, #0x20 str r1, [r4, r0] b _0222E788 _0222E74A: mov r0, #0x45 lsl r0, r0, #2 ldr r1, [r4, r0] cmp r1, #0xf bne _0222E788 add r0, #0xc ldr r1, [r4, r0] mov r0, #2 tst r0, r1 beq _0222E764 mov r0, #5 str r0, [r5] b _0222E788 _0222E764: mov r0, #0 mov r1, #7 add r2, r5, #0 mov r3, #8 bl MOD83_0223886C b _0222E788 _0222E772: add r0, r6, #0 bl MOD83_0222E3B8 mov r0, #1 pop {r4, r5, r6, pc} _0222E77C: add r0, r5, #0 bl MOD83_022388CC b _0222E788 _0222E784: mov r0, #1 pop {r4, r5, r6, pc} _0222E788: add r0, r4, #0 bl MOD83_0222D6EC add r0, r4, #0 bl MOD83_0222D9C0 bl MOD83_02238D58 mov r0, #0 pop {r4, r5, r6, pc} .align 2, 0 _0222E79C: .word 0x00007D8C _0222E7A0: .word MOD83_0222E464 _0222E7A4: .word 0x021C48B8 _0222E7A8: .word 0x000005DC thumb_func_end MOD83_0222E540 thumb_func_start MOD83_0222E7AC MOD83_0222E7AC: ; 0x0222E7AC push {r3, lr} ldr r0, [r0, #0x58] cmp r0, #7 bhi _0222E822 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0222E7C0: ; jump table .short _0222E81A - _0222E7C0 - 2 ; case 0 .short _0222E7D0 - _0222E7C0 - 2 ; case 1 .short _0222E7DA - _0222E7C0 - 2 ; case 2 .short _0222E7E4 - _0222E7C0 - 2 ; case 3 .short _0222E7F8 - _0222E7C0 - 2 ; case 4 .short _0222E7EE - _0222E7C0 - 2 ; case 5 .short _0222E802 - _0222E7C0 - 2 ; case 6 .short _0222E80A - _0222E7C0 - 2 ; case 7 _0222E7D0: ldr r0, _0222E824 ; =SDK_OVERLAY_MODULE_52_ID ldr r1, _0222E828 ; =0x021D76C8 bl FUN_02000E7C pop {r3, pc} _0222E7DA: ldr r0, _0222E824 ; =SDK_OVERLAY_MODULE_52_ID ldr r1, _0222E82C ; =0x021D76E8 bl FUN_02000E7C pop {r3, pc} _0222E7E4: ldr r0, _0222E830 ; =SDK_OVERLAY_MODULE_83_ID ldr r1, _0222E834 ; =0x0223A434 bl FUN_02000E7C pop {r3, pc} _0222E7EE: ldr r0, _0222E830 ; =SDK_OVERLAY_MODULE_83_ID ldr r1, _0222E838 ; =0x0223A4FC bl FUN_02000E7C pop {r3, pc} _0222E7F8: ldr r0, _0222E830 ; =SDK_OVERLAY_MODULE_83_ID ldr r1, _0222E83C ; =0x0223A3A8 bl FUN_02000E7C pop {r3, pc} _0222E802: ldr r0, _0222E840 ; =0x0223A8C4 bl FUN_020224D8 pop {r3, pc} _0222E80A: bl FUN_0200541C mov r0, #0 ldr r1, _0222E844 ; =0x020FD6D4 mvn r0, r0 bl FUN_02000E7C pop {r3, pc} _0222E81A: ldr r0, _0222E848 ; =SDK_OVERLAY_MODULE_63_ID ldr r1, _0222E84C ; =0x021DBAB8 bl FUN_02000E7C _0222E822: pop {r3, pc} .align 2, 0 _0222E824: .word SDK_OVERLAY_MODULE_52_ID _0222E828: .word 0x021D76C8 _0222E82C: .word 0x021D76E8 _0222E830: .word SDK_OVERLAY_MODULE_83_ID _0222E834: .word 0x0223A434 _0222E838: .word 0x0223A4FC _0222E83C: .word 0x0223A3A8 _0222E840: .word 0x0223A8C4 _0222E844: .word 0x020FD6D4 _0222E848: .word SDK_OVERLAY_MODULE_63_ID _0222E84C: .word 0x021DBAB8 thumb_func_end MOD83_0222E7AC thumb_func_start MOD83_0222E850 MOD83_0222E850: ; 0x0222E850 push {r4, lr} add r4, r0, #0 bl FUN_02006278 bl MOD83_0222E7AC add r0, r4, #0 bl FUN_0200627C mov r0, #0x51 bl FUN_020168D0 mov r0, #0 bl MOD83_02239450 mov r0, #1 pop {r4, pc} .align 2, 0 thumb_func_end MOD83_0222E850 thumb_func_start MOD83_0222E874 MOD83_0222E874: ; 0x0222E874 push {r3, r4} ldr r4, _0222E89C ; =0x0223A8E0 ldr r1, _0222E8A0 ; =0x00000123 mov r3, #0 _0222E87C: ldrh r2, [r4, #2] cmp r0, r2 bne _0222E88C ldr r0, _0222E89C ; =0x0223A8E0 lsl r1, r3, #2 ldrh r0, [r0, r1] pop {r3, r4} bx lr _0222E88C: add r3, r3, #1 add r4, r4, #4 cmp r3, r1 blo _0222E87C mov r0, #0x3f pop {r3, r4} bx lr nop _0222E89C: .word 0x0223A8E0 _0222E8A0: .word 0x00000123 thumb_func_end MOD83_0222E874 thumb_func_start MOD83_0222E8A4 MOD83_0222E8A4: ; 0x0222E8A4 push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 ldr r1, _0222E90C ; =0x00002710 add r0, r4, #0 bl _s32_div_f add r0, #0x30 strh r0, [r5] ldr r1, _0222E90C ; =0x00002710 add r0, r4, #0 bl _s32_div_f add r4, r1, #0 mov r1, #0xfa add r0, r4, #0 lsl r1, r1, #2 bl _s32_div_f add r0, #0x30 mov r1, #0xfa strh r0, [r5, #2] add r0, r4, #0 lsl r1, r1, #2 bl _s32_div_f add r4, r1, #0 add r0, r4, #0 mov r1, #0x64 bl _s32_div_f add r0, #0x30 strh r0, [r5, #4] add r0, r4, #0 mov r1, #0x64 bl _s32_div_f add r4, r1, #0 add r0, r4, #0 mov r1, #0xa bl _s32_div_f add r0, #0x30 strh r0, [r5, #6] add r0, r4, #0 mov r1, #0xa bl _s32_div_f add r4, r1, #0 add r4, #0x30 strh r4, [r5, #8] pop {r3, r4, r5, pc} .align 2, 0 _0222E90C: .word 0x00002710 thumb_func_end MOD83_0222E8A4 thumb_func_start MOD83_0222E910 MOD83_0222E910: ; 0x0222E910 push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 ldr r0, [r7, #0x10] bl FUN_0202398C ldr r5, _0222E948 ; =0x0223B860 add r4, r0, #0 mov r6, #0 _0222E920: ldrh r0, [r4] bl MOD83_0222E874 strh r0, [r5] add r6, r6, #1 add r4, r4, #2 add r5, r5, #2 cmp r6, #8 blt _0222E920 ldr r0, [r7, #0x10] bl FUN_020239C0 add r1, r0, #0 ldr r0, _0222E94C ; =0x0223B870 bl MOD83_0222E8A4 ldr r0, _0222E950 ; =0x0223B860 mov r1, #0 strh r1, [r0, #0x1a] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _0222E948: .word 0x0223B860 _0222E94C: .word 0x0223B870 _0222E950: .word 0x0223B860 thumb_func_end MOD83_0222E910 thumb_func_start MOD83_0222E954 MOD83_0222E954: ; 0x0222E954 push {r3, r4, r5, lr} sub sp, #0x48 ldr r5, _0222EA80 ; =0x0223A3C8 add r4, r0, #0 add r3, sp, #0x20 mov r2, #5 _0222E960: ldmia r5!, {r0, r1} stmia r3!, {r0, r1} sub r2, r2, #1 bne _0222E960 ldr r3, _0222EA84 ; =0x0223A3B8 add r2, sp, #0x10 ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} add r0, sp, #0x20 bl FUN_0201E66C add r0, sp, #0x10 bl FUN_02016BBC mov r1, #0 str r1, [sp] mov r3, #0xf ldr r0, [r4, #4] mov r2, #1 lsl r3, r3, #0xc bl MOD83_022387D8 mov r0, #1 lsl r0, r0, #0xe str r0, [sp] mov r1, #1 mov r3, #0x3e ldr r0, [r4, #4] add r2, r1, #0 lsl r3, r3, #0xa bl MOD83_022387D8 mov r0, #0 str r0, [sp] mov r3, #0x1e ldr r0, [r4, #4] mov r1, #4 mov r2, #1 lsl r3, r3, #0xa bl MOD83_022387D8 mov r0, #1 lsl r0, r0, #0xe str r0, [sp] mov r3, #7 ldr r0, [r4, #4] mov r1, #5 mov r2, #1 lsl r3, r3, #0xc bl MOD83_022387D8 bl FUN_0201BD5C mov r0, #0 ldr r2, [r4] add r1, r0, #0 bl FUN_02002ED0 mov r1, #0 str r1, [sp] ldr r0, [r4] mov r2, #1 str r0, [sp, #4] ldr r0, [r4, #4] add r3, r2, #0 bl FUN_0200CB00 ldr r0, [r4, #0x14] bl FUN_02025084 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp] ldr r0, [r4] mov r1, #0 str r0, [sp, #4] ldr r0, [r4, #4] mov r2, #0xa mov r3, #2 bl FUN_0200CD68 mov r0, #0x20 str r0, [sp] ldr r0, [r4] mov r1, #0 str r0, [sp, #4] mov r0, #0x74 add r3, r0, #0 add r2, r1, #0 add r3, #0x8c bl FUN_02006930 mov r0, #0 str r0, [sp] mov r0, #5 lsl r0, r0, #0xa mov r1, #1 str r0, [sp, #4] str r1, [sp, #8] ldr r0, [r4] add r3, r1, #0 str r0, [sp, #0xc] ldr r2, [r4, #4] mov r0, #0x74 bl FUN_0200687C mov r0, #0 str r0, [sp] mov r0, #6 lsl r0, r0, #8 str r0, [sp, #4] mov r3, #1 str r3, [sp, #8] ldr r0, [r4] mov r1, #2 str r0, [sp, #0xc] ldr r2, [r4, #4] mov r0, #0x74 bl FUN_020068C8 mov r0, #0x20 str r0, [sp] mov r0, #0x18 str r0, [sp, #4] mov r0, #8 str r0, [sp, #8] mov r2, #0 ldr r0, [r4, #4] mov r1, #1 add r3, r2, #0 bl FUN_020186B4 ldr r0, [r4, #4] mov r1, #1 bl FUN_02017CD0 add r0, r4, #0 bl MOD83_0222EA88 add sp, #0x48 pop {r3, r4, r5, pc} nop _0222EA80: .word 0x0223A3C8 _0222EA84: .word 0x0223A3B8 thumb_func_end MOD83_0222E954 thumb_func_start MOD83_0222EA88 MOD83_0222EA88: ; 0x0222EA88 push {r4, lr} sub sp, #0x10 add r4, r0, #0 mov r0, #0x20 str r0, [sp] ldr r0, [r4] mov r2, #4 add r3, r2, #0 str r0, [sp, #4] mov r0, #0x74 mov r1, #0 add r3, #0xfc bl FUN_02006930 mov r0, #0 str r0, [sp] mov r0, #5 lsl r0, r0, #0xa str r0, [sp, #4] mov r1, #1 str r1, [sp, #8] ldr r0, [r4] mov r3, #4 str r0, [sp, #0xc] ldr r2, [r4, #4] mov r0, #0x74 bl FUN_0200687C mov r0, #0 str r0, [sp] mov r0, #6 lsl r0, r0, #8 str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] ldr r0, [r4] mov r1, #2 str r0, [sp, #0xc] ldr r2, [r4, #4] mov r0, #0x74 mov r3, #4 bl FUN_020068C8 mov r0, #0x20 str r0, [sp] mov r0, #0x18 str r0, [sp, #4] mov r0, #8 str r0, [sp, #8] mov r2, #0 ldr r0, [r4, #4] mov r1, #4 add r3, r2, #0 bl FUN_020186B4 ldr r0, [r4, #4] mov r1, #4 bl FUN_02017CD0 add sp, #0x10 pop {r4, pc} .align 2, 0 thumb_func_end MOD83_0222EA88 thumb_func_start MOD83_0222EB04 MOD83_0222EB04: ; 0x0222EB04 push {r3, r4, lr} sub sp, #0x5c add r4, r0, #0 add r0, #0x18 bl FUN_02019048 cmp r0, #0 bne _0222EB4E mov r0, #1 str r0, [sp] add r1, r4, #0 str r0, [sp, #4] add r0, sp, #8 add r1, #0x18 mov r2, #0 mov r3, #0xc bl MOD83_022388E4 mov r3, #0x51 lsl r3, r3, #2 ldr r3, [r4, r3] add r0, sp, #8 mov r1, #0x16 mov r2, #0x10 bl MOD83_02238934 mov r0, #2 str r0, [sp] ldr r0, [r4, #4] add r1, sp, #8 mov r2, #5 mov r3, #4 bl MOD83_02238A38 add sp, #0x5c mov r0, #1 pop {r3, r4, pc} _0222EB4E: ldr r0, _0222EB78 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #3 tst r0, r1 beq _0222EB70 add r0, r4, #0 add r0, #0x18 mov r1, #0 bl FUN_0200CCF8 add r4, #0x18 add r0, r4, #0 bl FUN_02019178 add sp, #0x5c mov r0, #0 pop {r3, r4, pc} _0222EB70: mov r0, #1 add sp, #0x5c pop {r3, r4, pc} nop _0222EB78: .word 0x021C48B8 thumb_func_end MOD83_0222EB04 thumb_func_start MOD83_0222EB7C MOD83_0222EB7C: ; 0x0222EB7C push {r4, lr} sub sp, #8 add r4, r0, #0 mov r0, #0xa str r0, [sp] mov r0, #2 str r0, [sp, #4] add r0, r4, #0 add r1, r4, #0 ldr r3, _0222EC70 ; =0x00000172 add r0, #0x48 add r1, #0x28 mov r2, #0 bl MOD83_022388E4 mov r3, #0x51 lsl r3, r3, #2 add r0, r4, #0 ldr r3, [r4, r3] add r0, #0x48 mov r1, #0x1b mov r2, #4 bl MOD83_02238934 add r0, r4, #0 mov r1, #1 add r0, #0x48 add r2, r1, #0 bl MOD83_0223893C mov r0, #0x46 str r0, [sp] add r1, r4, #0 ldr r0, [r4, #4] add r1, #0x48 mov r2, #2 mov r3, #0x13 bl MOD83_02238A38 add r0, r4, #0 add r0, #0x48 bl MOD83_02238AF4 mov r3, #0x51 lsl r3, r3, #2 ldr r1, [r4, r3] mov r2, #0 add r0, r1, r0 str r0, [r4, r3] mov r0, #1 str r0, [sp] str r0, [sp, #4] add r0, r4, #0 add r1, r4, #0 add r0, #0x9c add r1, #0x18 add r3, #0x2e bl MOD83_022388E4 mov r3, #0x51 lsl r3, r3, #2 add r0, r4, #0 ldr r3, [r4, r3] add r0, #0x9c mov r1, #0x1e mov r2, #4 bl MOD83_02238934 add r0, r4, #0 add r0, #0x9c mov r1, #0 mov r2, #1 bl MOD83_0223893C mov r0, #0xb str r0, [sp] add r1, r4, #0 mov r2, #1 ldr r0, [r4, #4] add r1, #0x9c add r3, r2, #0 bl MOD83_02238A38 add r0, r4, #0 add r0, #0x9c bl MOD83_02238AF4 mov r1, #0x51 lsl r1, r1, #2 ldr r2, [r4, r1] add r0, r2, r0 str r0, [r4, r1] bl MOD83_02238AFC bl MOD83_02238B4C mov r0, #8 str r0, [sp] mov r0, #0 str r0, [sp, #4] mov r0, #0x74 mov r1, #0xa mov r2, #7 mov r3, #9 bl MOD83_02238BC4 mov r0, #1 str r0, [sp] ldr r1, _0222EC74 ; =0x00003170 mov r0, #0 ldr r1, [r4, r1] mov r2, #0x80 mov r3, #0x4c bl MOD83_02238DBC ldr r1, _0222EC74 ; =0x00003170 str r0, [r4, r1] add r0, r4, #0 bl MOD83_0222EC78 add sp, #8 pop {r4, pc} .align 2, 0 _0222EC70: .word 0x00000172 _0222EC74: .word 0x00003170 thumb_func_end MOD83_0222EB7C thumb_func_start MOD83_0222EC78 MOD83_0222EC78: ; 0x0222EC78 push {r3, r4, r5, lr} sub sp, #0x20 add r5, r0, #0 ldr r0, [r5] bl FUN_0200AA80 add r4, r0, #0 mov r0, #1 str r0, [sp] str r0, [sp, #4] add r0, r5, #0 add r1, r5, #0 ldr r3, _0222ED84 ; =0x00000172 add r0, #0xf0 add r1, #0x38 mov r2, #0 bl MOD83_022388E4 mov r3, #0x51 lsl r3, r3, #2 add r0, r5, #0 ldr r3, [r5, r3] add r0, #0xf0 mov r1, #0x1a mov r2, #4 bl MOD83_02238934 add r0, r5, #0 add r0, #0xf0 mov r1, #0 mov r2, #1 bl MOD83_0223893C mov r0, #0x41 lsl r0, r0, #2 str r4, [r5, r0] ldr r2, [r5, #0x10] add r0, r4, #0 mov r1, #0 bl FUN_0200ABC0 ldr r0, [r5, #0x10] bl FUN_020239C0 add r2, r0, #0 mov r0, #2 str r0, [sp] mov r1, #1 add r0, r4, #0 mov r3, #5 str r1, [sp, #4] bl FUN_0200AD38 mov r0, #0x42 str r0, [sp] add r1, r5, #0 ldr r0, [r5, #4] add r1, #0xf0 mov r2, #3 mov r3, #0xd bl MOD83_02238A38 add r1, r5, #0 mov r0, #0 add r1, #0xf8 str r0, [r1] mov r1, #1 bl FUN_02002E4C add r2, r0, #0 add r0, r5, #0 add r0, #0xf0 mov r1, #0 bl MOD83_02238944 mov r2, #0x44 str r2, [sp] add r1, r5, #0 sub r2, #0x45 ldr r0, [r5, #4] add r1, #0xf0 add r3, r2, #0 bl MOD83_02238A38 add r0, sp, #0x10 bl OS_GetMacAddress add r0, sp, #0x10 bl MOD83_02234704 add r1, sp, #0x1c add r2, sp, #0x18 str r0, [sp, #8] str r0, [sp, #0xc] bl MOD83_02234748 mov r0, #2 str r0, [sp] mov r0, #1 str r0, [sp, #4] ldr r2, [sp, #0x1c] add r0, r4, #0 mov r1, #0 mov r3, #4 bl FUN_0200AD38 mov r0, #2 str r0, [sp] mov r1, #1 str r1, [sp, #4] ldr r2, [sp, #0x18] add r0, r4, #0 mov r3, #4 bl FUN_0200AD38 add r0, r5, #0 mov r1, #1 add r0, #0xfc str r1, [r0] mov r2, #0x45 str r2, [sp] ldr r0, [r5, #4] add r5, #0xf0 sub r2, #0x46 add r1, r5, #0 add r3, r2, #0 bl MOD83_02238A38 add r0, r4, #0 bl FUN_0200AB18 add sp, #0x20 pop {r3, r4, r5, pc} nop _0222ED84: .word 0x00000172 thumb_func_end MOD83_0222EC78 thumb_func_start MOD83_0222ED88 MOD83_0222ED88: ; 0x0222ED88 push {r4, lr} bl FUN_02006278 add r4, r0, #0 bl MOD83_02238E48 add r0, r4, #0 add r0, #0x18 bl FUN_02019048 cmp r0, #1 bne _0222EDD0 add r0, r4, #0 add r0, #0x18 bl FUN_02019570 add r0, r4, #0 add r0, #0x18 bl FUN_02019178 add r0, r4, #0 add r0, #0x28 bl FUN_02019570 add r0, r4, #0 add r0, #0x28 bl FUN_02019178 add r0, r4, #0 add r0, #0x38 bl FUN_02019570 add r0, r4, #0 add r0, #0x38 bl FUN_02019178 _0222EDD0: ldr r0, [r4, #4] mov r1, #0 bl FUN_020178A0 ldr r0, [r4, #4] mov r1, #1 bl FUN_020178A0 ldr r0, [r4, #4] mov r1, #4 bl FUN_020178A0 ldr r0, [r4, #4] mov r1, #5 bl FUN_020178A0 ldr r0, [r4, #4] bl FUN_02016A18 pop {r4, pc} thumb_func_end MOD83_0222ED88 thumb_func_start MOD83_0222EDF8 MOD83_0222EDF8: ; 0x0222EDF8 push {r3, r4, r5, lr} mov r3, #2 ldr r2, _0222EE80 ; =0x000034DC mov r1, #0x55 lsl r3, r3, #0x10 add r5, r0, #0 bl MOD83_022387A0 add r4, r0, #0 mov r0, #0x55 str r0, [r4] bl FUN_02016B94 str r0, [r4, #4] add r0, r5, #0 bl FUN_0200628C ldr r0, [r0, #8] str r0, [r4, #8] bl FUN_020238F4 str r0, [r4, #0x10] ldr r0, [r4, #8] bl FUN_02024DA0 str r0, [r4, #0xc] ldr r0, [r4, #8] bl LoadPlayerDataAddress str r0, [r4, #0x14] ldr r0, [r4] bl MOD83_02238770 ldr r0, [r4, #8] bl FUN_0202251C ldr r1, _0222EE84 ; =0x00003174 mov r2, #0x53 str r0, [r4, r1] mov r0, #9 lsl r2, r2, #2 str r0, [r4, r2] add r0, r2, #0 mov r1, #0x28 sub r0, #8 str r1, [r4, r0] add r1, r2, #0 mov r0, #0 add r1, #8 str r0, [r4, r1] add r1, r2, #0 add r1, #0x10 str r0, [r4, r1] add r2, #0xc str r0, [r4, r2] mov r2, #3 mov r1, #0x5b lsl r2, r2, #8 bl FUN_0201681C ldr r1, _0222EE88 ; =0x00000496 mov r0, #9 mov r2, #1 bl FUN_0200433C mov r0, #1 pop {r3, r4, r5, pc} nop _0222EE80: .word 0x000034DC _0222EE84: .word 0x00003174 _0222EE88: .word 0x00000496 thumb_func_end MOD83_0222EDF8 thumb_func_start MOD83_0222EE8C MOD83_0222EE8C: ; 0x0222EE8C push {r3, r4, r5, r6, lr} sub sp, #4 add r5, r1, #0 add r6, r0, #0 bl FUN_02006278 ldr r1, [r5] add r4, r0, #0 cmp r1, #0xd bhi _0222EEF2 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0222EEAC: ; jump table .short _0222EEC8 - _0222EEAC - 2 ; case 0 .short _0222EEEA - _0222EEAC - 2 ; case 1 .short _0222EF08 - _0222EEAC - 2 ; case 2 .short _0222EF5A - _0222EEAC - 2 ; case 3 .short _0222EF86 - _0222EEAC - 2 ; case 4 .short _0222EFC2 - _0222EEAC - 2 ; case 5 .short _0222EFFC - _0222EEAC - 2 ; case 6 .short _0222F02C - _0222EEAC - 2 ; case 7 .short _0222F02C - _0222EEAC - 2 ; case 8 .short _0222F02C - _0222EEAC - 2 ; case 9 .short _0222F02C - _0222EEAC - 2 ; case 10 .short _0222F012 - _0222EEAC - 2 ; case 11 .short _0222F01A - _0222EEAC - 2 ; case 12 .short _0222F026 - _0222EEAC - 2 ; case 13 _0222EEC8: bl MOD83_0222E954 ldr r0, [r4, #0xc] bl FUN_02024D64 cmp r0, #0 bne _0222EEE4 mov r0, #1 add r1, r0, #0 add r2, r5, #0 mov r3, #0xd bl MOD83_0223886C b _0222F02C _0222EEE4: mov r0, #2 str r0, [r5] b _0222F02C _0222EEEA: bl MOD83_0222EB04 cmp r0, #0 beq _0222EEF4 _0222EEF2: b _0222F02C _0222EEF4: mov r0, #1 bl MOD83_02238860 mov r0, #0 mov r1, #0xc add r2, r5, #0 mov r3, #0xd bl MOD83_0223886C b _0222F02C _0222EF08: bl MOD83_0222EB7C ldr r0, _0222F038 ; =0x00003174 ldr r0, [r4, r0] bl FUN_0202ADF0 cmp r0, #0 bne _0222EF44 add r0, r4, #0 mov r1, #1 add r0, #0x98 str r1, [r0] mov r0, #0x15 str r0, [sp] add r1, r4, #0 ldr r0, [r4, #4] add r1, #0x48 mov r2, #2 mov r3, #0x13 bl MOD83_02238A38 ldr r1, _0222F03C ; =0x0000317C add r2, r5, #0 str r0, [r4, r1] mov r0, #1 mov r1, #3 mov r3, #0xd bl MOD83_0223886C b _0222F02C _0222EF44: mov r0, #0x53 mov r1, #7 lsl r0, r0, #2 str r1, [r4, r0] mov r0, #1 mov r1, #4 add r2, r5, #0 mov r3, #0xd bl MOD83_0223886C b _0222F02C _0222EF5A: ldr r0, _0222F03C ; =0x0000317C ldr r0, [r4, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0201BD70 cmp r0, #0 bne _0222F02C ldr r0, _0222F040 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #1 tst r1, r0 beq _0222F02C bl MOD83_02238860 mov r0, #0 mov r1, #0xc add r2, r5, #0 mov r3, #0xd bl MOD83_0223886C b _0222F02C _0222EF86: bl MOD83_0222F210 mov r1, #0x15 lsl r1, r1, #4 str r0, [r4, r1] ldr r0, [r4, r1] cmp r0, #5 bne _0222EFAA mov r0, #1 bl MOD83_02238860 mov r0, #0 mov r1, #0xc add r2, r5, #0 mov r3, #0xd bl MOD83_0223886C b _0222F02C _0222EFAA: cmp r0, #4 bne _0222F02C mov r0, #1 bl MOD83_02238860 mov r0, #0 mov r1, #0xc add r2, r5, #0 mov r3, #0xd bl MOD83_0223886C b _0222F02C _0222EFC2: bl MOD83_0222EA88 mov r0, #1 add r1, r0, #0 bl FUN_0201E74C mov r0, #2 mov r1, #0 bl FUN_0201E74C mov r1, #0xc6 lsl r1, r1, #6 ldr r0, [r4, #4] add r1, r4, r1 mov r2, #0x55 bl MOD83_02233168 mov r0, #1 mov r1, #6 add r2, r5, #0 mov r3, #0xd bl MOD83_0223886C ldr r1, _0222F044 ; =0x000032D2 mov r0, #4 ldrb r2, [r4, r1] bic r2, r0 strb r2, [r4, r1] b _0222F02C _0222EFFC: ldr r0, _0222F040 ; =0x021C48B8 ldr r0, [r0, #0x48] cmp r0, #0 beq _0222F02C mov r0, #0 mov r1, #0xb add r2, r5, #0 mov r3, #0xd bl MOD83_0223886C b _0222F02C _0222F012: mov r0, #0 bl OS_ResetSystem b _0222F02C _0222F01A: add r0, r6, #0 bl MOD83_0222ED88 add sp, #4 mov r0, #1 pop {r3, r4, r5, r6, pc} _0222F026: add r0, r5, #0 bl MOD83_022388CC _0222F02C: bl MOD83_02238D58 mov r0, #0 add sp, #4 pop {r3, r4, r5, r6, pc} nop _0222F038: .word 0x00003174 _0222F03C: .word 0x0000317C _0222F040: .word 0x021C48B8 _0222F044: .word 0x000032D2 thumb_func_end MOD83_0222EE8C thumb_func_start MOD83_0222F048 MOD83_0222F048: ; 0x0222F048 push {r4, lr} add r4, r0, #0 mov r0, #0x5b bl FUN_020168D0 ldr r0, _0222F06C ; =SDK_OVERLAY_MODULE_63_ID ldr r1, _0222F070 ; =0x021DBAB8 bl FUN_02000E7C add r0, r4, #0 bl FUN_0200627C mov r0, #0x55 bl FUN_020168D0 mov r0, #1 pop {r4, pc} nop _0222F06C: .word SDK_OVERLAY_MODULE_63_ID _0222F070: .word 0x021DBAB8 thumb_func_end MOD83_0222F048 thumb_func_start MOD83_0222F074 MOD83_0222F074: ; 0x0222F074 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r5, r0, #0 mov r0, #0xc6 lsl r0, r0, #6 add r4, r5, r0 mov r2, #0xd6 add r0, r4, #0 mov r1, #0 lsl r2, r2, #2 bl MI_CpuFill8 ldr r2, _0222F1A0 ; =0x00000172 ldr r3, [r5] mov r0, #1 mov r1, #0x1a bl FUN_0200A86C add r6, r0, #0 ldr r0, [r5] bl FUN_0200AA80 mov r1, #0xc6 mov r2, #7 lsl r1, r1, #6 strh r2, [r5, r1] ldr r3, [r5] add r1, r6, #0 mov r2, #0x4c str r0, [sp] bl FUN_0200A9C4 mov r1, #0x41 lsl r1, r1, #2 add r7, r0, #0 add r1, r4, r1 mov r2, #0x24 bl FUN_02021EF0 add r0, r7, #0 bl FUN_02021A20 mov r0, #0xc bl MOD83_02238EF4 add r7, r0, #0 mov r0, #0xa bl MOD83_02238EF4 str r0, [sp, #4] mov r0, #0xb bl MOD83_02238EF4 ldr r1, [sp, #4] mov r2, #1 orr r0, r1 add r1, r7, #0 orr r1, r0 mov r0, #0x53 lsl r0, r0, #2 str r1, [r4, r0] add r1, r0, #4 strh r2, [r4, r1] add r1, r0, #6 ldrb r2, [r4, r1] mov r1, #1 bic r2, r1 add r1, r0, #6 strb r2, [r4, r1] ldrb r2, [r4, r1] mov r1, #2 bic r2, r1 add r1, r0, #6 strb r2, [r4, r1] ldrb r2, [r4, r1] mov r1, #4 orr r2, r1 add r1, r0, #6 strb r2, [r4, r1] ldrb r2, [r4, r1] mov r1, #8 orr r2, r1 add r1, r0, #6 strb r2, [r4, r1] ldrb r2, [r4, r1] mov r1, #0x20 add r0, r0, #6 bic r2, r1 strb r2, [r4, r0] ldr r0, [sp] ldr r3, [r5] add r1, r6, #0 mov r2, #0x4b bl FUN_0200A9C4 add r7, r0, #0 mov r1, #0x55 lsl r1, r1, #2 add r1, r4, r1 mov r2, #0xfa bl FUN_02021EF0 add r0, r7, #0 bl FUN_02021A20 mov r0, #0xd2 lsl r0, r0, #2 mov r1, #0 ldr r3, _0222F1A4 ; =0x000001EA strb r1, [r4, r0] add r2, r0, #2 strh r3, [r4, r2] add r2, r0, #4 strh r1, [r4, r2] add r2, r0, #6 strh r1, [r4, r2] add r0, #8 strb r1, [r4, r0] add r0, sp, #8 bl FUN_020126B4 add r0, sp, #8 bl RTC_ConvertDateToDay mov r1, #0xd5 lsl r1, r1, #2 str r0, [r4, r1] ldr r0, [sp] bl FUN_0200AB18 add r0, r6, #0 bl FUN_0200A8B8 ldr r0, _0222F1A8 ; =0x00003174 add r1, r4, #0 ldr r0, [r5, r0] mov r2, #0 bl FUN_0202AC98 mov r0, #1 mov r1, #0 bl FUN_0201E74C ldr r0, [r5, #4] add r1, r4, #0 bl MOD83_022391EC add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} nop _0222F1A0: .word 0x00000172 _0222F1A4: .word 0x000001EA _0222F1A8: .word 0x00003174 thumb_func_end MOD83_0222F074 thumb_func_start MOD83_0222F1AC MOD83_0222F1AC: ; 0x0222F1AC mov r2, #0x16 lsl r2, r2, #4 str r1, [r0, r2] bx lr thumb_func_end MOD83_0222F1AC thumb_func_start MOD83_0222F1B4 MOD83_0222F1B4: ; 0x0222F1B4 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0x16 lsl r1, r1, #4 add r4, r3, #0 ldr r3, [r0, r1] sub r3, r3, #1 str r3, [r0, r1] ldr r0, [r0, r1] cmp r0, #0 bne _0222F1D6 bl MOD83_02234518 mov r0, #0x17 str r0, [r5] mov r0, #0 pop {r3, r4, r5, pc} _0222F1D6: cmp r2, #0 beq _0222F1EE bl MOD83_022344E4 cmp r0, #0 bne _0222F1EE bl MOD83_02234518 mov r0, #0x16 str r0, [r5] mov r0, #0 pop {r3, r4, r5, pc} _0222F1EE: cmp r4, #0 beq _0222F206 ldr r0, _0222F20C ; =0x021C48B8 ldr r0, [r0, #0x48] tst r0, r4 beq _0222F206 bl MOD83_02234518 mov r0, #0x1a str r0, [r5] mov r0, #1 pop {r3, r4, r5, pc} _0222F206: mov r0, #0 pop {r3, r4, r5, pc} nop _0222F20C: .word 0x021C48B8 thumb_func_end MOD83_0222F1B4 thumb_func_start MOD83_0222F210 MOD83_0222F210: ; 0x0222F210 push {r3, r4, r5, lr} mov r5, #0x57 lsl r5, r5, #2 add r4, r0, #0 sub r0, r5, #4 ldr r0, [r4, r0] cmp r0, #1 bne _0222F236 bl MOD83_0223438C mov r1, #3 sub r0, r1, r0 bl FUN_02033EEC bl MOD83_02234238 mov r0, #1 bl MOD83_022345C8 _0222F236: ldr r0, [r4, r5] cmp r0, #0x1e bls _0222F23E b _0222F736 _0222F23E: add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0222F24A: ; jump table .short _0222F288 - _0222F24A - 2 ; case 0 .short _0222F29E - _0222F24A - 2 ; case 1 .short _0222F2C4 - _0222F24A - 2 ; case 2 .short _0222F2E6 - _0222F24A - 2 ; case 3 .short _0222F310 - _0222F24A - 2 ; case 4 .short _0222F736 - _0222F24A - 2 ; case 5 .short _0222F736 - _0222F24A - 2 ; case 6 .short _0222F342 - _0222F24A - 2 ; case 7 .short _0222F3B8 - _0222F24A - 2 ; case 8 .short _0222F3D6 - _0222F24A - 2 ; case 9 .short _0222F420 - _0222F24A - 2 ; case 10 .short _0222F45C - _0222F24A - 2 ; case 11 .short _0222F476 - _0222F24A - 2 ; case 12 .short _0222F4AA - _0222F24A - 2 ; case 13 .short _0222F4EC - _0222F24A - 2 ; case 14 .short _0222F50C - _0222F24A - 2 ; case 15 .short _0222F524 - _0222F24A - 2 ; case 16 .short _0222F53E - _0222F24A - 2 ; case 17 .short _0222F594 - _0222F24A - 2 ; case 18 .short _0222F61C - _0222F24A - 2 ; case 19 .short _0222F664 - _0222F24A - 2 ; case 20 .short _0222F736 - _0222F24A - 2 ; case 21 .short _0222F698 - _0222F24A - 2 ; case 22 .short _0222F69C - _0222F24A - 2 ; case 23 .short _0222F736 - _0222F24A - 2 ; case 24 .short _0222F736 - _0222F24A - 2 ; case 25 .short _0222F704 - _0222F24A - 2 ; case 26 .short _0222F736 - _0222F24A - 2 ; case 27 .short _0222F6D0 - _0222F24A - 2 ; case 28 .short _0222F35E - _0222F24A - 2 ; case 29 .short _0222F39C - _0222F24A - 2 ; case 30 _0222F288: add r0, r4, #0 bl MOD83_0222E910 bl FUN_0202E49C mov r0, #0x52 mov r1, #1 lsl r0, r0, #2 str r1, [r4, r0] str r1, [r4, r5] b _0222F736 _0222F29E: bl FUN_0202E4C8 cmp r0, #0 beq _0222F356 mov r1, #0x5b lsl r1, r1, #2 ldr r0, _0222F5E0 ; =0x0223A8D4 add r1, r4, r1 bl MOD83_02233F94 mov r0, #0x56 mov r1, #1 lsl r0, r0, #2 str r1, [r4, r0] bl FUN_02033E74 mov r0, #2 str r0, [r4, r5] b _0222F736 _0222F2C4: bl MOD83_0223427C mov r1, #0x19 add r0, r4, #0 lsl r1, r1, #6 bl MOD83_0222F1AC add r0, r4, #0 add r0, #0x28 mov r1, #0xa bl FUN_0200D858 ldr r1, _0222F5E4 ; =0x000034D8 str r0, [r4, r1] mov r0, #3 str r0, [r4, r5] b _0222F736 _0222F2E6: bl MOD83_022343A4 cmp r0, #0 beq _0222F302 sub r1, r0, #1 mov r0, #0x59 lsl r0, r0, #2 str r1, [r4, r0] ldr r1, _0222F5E8 ; =0x00000708 add r0, r4, #0 bl MOD83_0222F1AC mov r0, #4 str r0, [r4, r5] _0222F302: add r0, r4, #0 add r1, r4, r5 mov r2, #0 mov r3, #2 bl MOD83_0222F1B4 b _0222F736 _0222F310: mov r0, #0x59 lsl r0, r0, #2 ldr r0, [r4, r0] bl MOD83_022342C8 cmp r0, #0 beq _0222F334 mov r0, #0x59 lsl r0, r0, #2 ldr r0, [r4, r0] bl MOD83_02234304 mov r0, #7 str r0, [r4, r5] mov r0, #0x16 ldr r1, _0222F5E8 ; =0x00000708 lsl r0, r0, #4 str r1, [r4, r0] _0222F334: add r0, r4, #0 add r1, r4, r5 mov r2, #0 mov r3, #2 bl MOD83_0222F1B4 b _0222F736 _0222F342: add r0, r4, #0 add r1, r4, r5 mov r2, #0 mov r3, #2 bl MOD83_0222F1B4 bl MOD83_022344E4 cmp r0, #0 bne _0222F358 _0222F356: b _0222F736 _0222F358: mov r0, #0x1d str r0, [r4, r5] b _0222F736 _0222F35E: mov r0, #0x1e str r0, [sp] add r1, r4, #0 ldr r0, [r4, #4] add r1, #0x48 mov r2, #2 mov r3, #0x13 bl MOD83_02238A38 ldr r0, _0222F5EC ; =0x00003170 mov r1, #0 ldr r0, [r4, r0] bl FUN_020200A0 ldr r0, _0222F5E4 ; =0x000034D8 ldr r0, [r4, r0] bl FUN_0200DBFC ldr r0, _0222F5E4 ; =0x000034D8 mov r1, #0 str r1, [r4, r0] ldr r0, _0222F5F0 ; =0x000005DC bl FUN_020054C8 mov r0, #0x16 ldr r1, _0222F5E8 ; =0x00000708 lsl r0, r0, #4 str r1, [r4, r0] mov r0, #0x1e str r0, [r4, r5] b _0222F736 _0222F39C: ldr r0, _0222F5F4 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #1 tst r0, r1 beq _0222F3AA mov r0, #8 str r0, [r4, r5] _0222F3AA: add r0, r4, #0 add r1, r4, r5 mov r2, #1 mov r3, #2 bl MOD83_0222F1B4 b _0222F736 _0222F3B8: bl MOD83_022343C4 mov r0, #9 str r0, [r4, r5] mov r0, #0x16 ldr r1, _0222F5E8 ; =0x00000708 lsl r0, r0, #4 str r1, [r4, r0] add r0, r4, #0 add r1, r4, r5 mov r2, #1 mov r3, #2 bl MOD83_0222F1B4 b _0222F736 _0222F3D6: bl MOD83_02234450 cmp r0, #0 beq _0222F412 bl MOD83_022343F8 mov r0, #0xa str r0, [r4, r5] mov r1, #0x32 mov r0, #0x16 lsl r1, r1, #6 lsl r0, r0, #4 str r1, [r4, r0] mov r0, #0x22 str r0, [sp] add r1, r4, #0 ldr r0, [r4, #4] add r1, #0x48 mov r2, #2 mov r3, #0x13 bl MOD83_02238A38 ldr r0, _0222F5F0 ; =0x000005DC bl FUN_020054C8 ldr r0, _0222F5E4 ; =0x000034D8 mov r1, #0 str r1, [r4, r0] mov r0, #1 pop {r3, r4, r5, pc} _0222F412: add r0, r4, #0 add r1, r4, r5 mov r2, #1 mov r3, #2 bl MOD83_0222F1B4 b _0222F736 _0222F420: bl MOD83_02234450 cmp r0, #0 beq _0222F44E mov r0, #0x47 str r0, [sp] add r1, r4, #0 ldr r0, [r4, #4] add r1, #0x48 mov r2, #2 mov r3, #0x13 bl MOD83_02238A38 ldr r0, _0222F5EC ; =0x00003170 mov r1, #1 ldr r0, [r4, r0] bl FUN_020200A0 add r0, r4, #0 bl MOD83_0222EC78 mov r0, #0xb str r0, [r4, r5] _0222F44E: add r0, r4, #0 add r1, r4, r5 mov r2, #1 mov r3, #2 bl MOD83_0222F1B4 b _0222F736 _0222F45C: ldr r0, _0222F5F8 ; =0x0223AD6C mov r1, #0x2a mov r2, #1 bl MOD83_02234424 mov r0, #0xc str r0, [r4, r5] mov r1, #0x32 mov r0, #0x16 lsl r1, r1, #6 lsl r0, r0, #4 str r1, [r4, r0] b _0222F736 _0222F476: bl MOD83_0223447C cmp r0, #0 beq _0222F49C mov r0, #0xd str r0, [r4, r5] mov r0, #0x16 mov r1, #0x3c lsl r0, r0, #4 str r1, [r4, r0] mov r0, #0x47 str r0, [sp] add r1, r4, #0 ldr r0, [r4, #4] add r1, #0x48 mov r2, #2 mov r3, #0x13 bl MOD83_02238A38 _0222F49C: add r0, r4, #0 add r1, r4, r5 mov r2, #1 mov r3, #2 bl MOD83_0222F1B4 b _0222F736 _0222F4AA: mov r0, #0x16 lsl r0, r0, #4 ldr r1, [r4, r0] sub r1, r1, #1 str r1, [r4, r0] ldr r0, [r4, r0] cmp r0, #0 bne _0222F51C mov r0, #0x48 str r0, [sp] add r1, r4, #0 ldr r0, [r4, #4] add r1, #0x48 mov r2, #2 mov r3, #0x13 bl MOD83_02238A38 add r0, r4, #0 add r0, #0x28 mov r1, #0xa bl FUN_0200D858 ldr r1, _0222F5E4 ; =0x000034D8 str r0, [r4, r1] add r0, r4, #0 bl MOD83_0222F074 ldr r0, [r4, #8] bl MOD83_022394BC mov r0, #0xe str r0, [r4, r5] b _0222F736 _0222F4EC: bl MOD83_022394CC cmp r0, #1 bne _0222F51C mov r0, #0xf str r0, [r4, r5] bl OS_GetTickLo mov r1, #0x36 bl _s32_div_f mov r0, #0x16 add r1, r1, #6 lsl r0, r0, #4 str r1, [r4, r0] b _0222F736 _0222F50C: mov r0, #0x16 lsl r0, r0, #4 ldr r1, [r4, r0] sub r1, r1, #1 str r1, [r4, r0] ldr r0, [r4, r0] cmp r0, #0 beq _0222F51E _0222F51C: b _0222F736 _0222F51E: mov r0, #0x10 str r0, [r4, r5] b _0222F736 _0222F524: ldr r0, _0222F5F8 ; =0x0223AD6C mov r1, #0x2a mov r2, #2 bl MOD83_02234424 mov r0, #0x11 str r0, [r4, r5] mov r1, #0x4b mov r0, #0x16 lsl r1, r1, #4 lsl r0, r0, #4 str r1, [r4, r0] b _0222F736 _0222F53E: bl MOD83_022344A8 cmp r0, #0 beq _0222F55A bl MOD83_02239544 mov r0, #0x12 str r0, [r4, r5] mov r1, #0x32 mov r0, #0x16 lsl r1, r1, #4 lsl r0, r0, #4 str r1, [r4, r0] b _0222F736 _0222F55A: mov r0, #0x16 lsl r0, r0, #4 ldr r1, [r4, r0] sub r1, r1, #1 str r1, [r4, r0] ldr r0, [r4, r0] cmp r0, #0 bne _0222F57A bl MOD83_02234518 mov r0, #0x17 mov r1, #0x78 str r0, [r4, r5] add r0, r1, #0 add r0, #0xe8 str r1, [r4, r0] _0222F57A: bl MOD83_022344E4 cmp r0, #0 bne _0222F62C bl MOD83_02234518 mov r0, #0x16 mov r1, #0x78 str r0, [r4, r5] add r0, r1, #0 add r0, #0xe8 str r1, [r4, r0] b _0222F736 _0222F594: bl MOD83_02239574 cmp r0, #3 bne _0222F5AE bl MOD83_02234518 mov r0, #0x16 mov r1, #0x78 str r0, [r4, r5] add r0, r1, #0 add r0, #0xe8 str r1, [r4, r0] b _0222F5FC _0222F5AE: bl MOD83_02239574 cmp r0, #2 beq _0222F5BC bl MOD83_022394CC b _0222F5FC _0222F5BC: bl MOD83_0223447C cmp r0, #0 bne _0222F5CC bl MOD83_022344E4 cmp r0, #0 bne _0222F5FC _0222F5CC: mov r0, #0x13 str r0, [r4, r5] mov r0, #0x16 mov r1, #1 lsl r0, r0, #4 str r1, [r4, r0] bl MOD83_02234518 b _0222F736 nop _0222F5E0: .word 0x0223A8D4 _0222F5E4: .word 0x000034D8 _0222F5E8: .word 0x00000708 _0222F5EC: .word 0x00003170 _0222F5F0: .word 0x000005DC _0222F5F4: .word 0x021C48B8 _0222F5F8: .word 0x0223AD6C _0222F5FC: mov r0, #0x16 lsl r0, r0, #4 ldr r1, [r4, r0] sub r1, r1, #1 str r1, [r4, r0] ldr r0, [r4, r0] cmp r0, #0 bne _0222F61C bl MOD83_02234518 mov r0, #0x17 str r0, [r4, r5] mov r0, #0x16 mov r1, #0xa lsl r0, r0, #4 str r1, [r4, r0] _0222F61C: mov r0, #0x16 lsl r0, r0, #4 ldr r1, [r4, r0] sub r1, r1, #1 str r1, [r4, r0] ldr r0, [r4, r0] cmp r0, #0 beq _0222F62E _0222F62C: b _0222F736 _0222F62E: mov r0, #0x14 str r0, [r4, r5] mov r0, #0x49 str r0, [sp] add r1, r4, #0 ldr r0, [r4, #4] add r1, #0x48 mov r2, #2 mov r3, #0x13 bl MOD83_02238A38 ldr r0, _0222F73C ; =0x00003170 mov r1, #0 ldr r0, [r4, r0] bl FUN_020200A0 ldr r0, _0222F740 ; =0x000034D8 ldr r0, [r4, r0] bl FUN_0200DBFC ldr r0, _0222F744 ; =0x000005DC bl FUN_020054C8 ldr r0, _0222F740 ; =0x000034D8 mov r1, #0 str r1, [r4, r0] b _0222F736 _0222F664: bl MOD83_02234558 cmp r0, #0 beq _0222F736 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] cmp r0, #1 bne _0222F686 bl FUN_0202E4F0 bl FUN_02033ED0 mov r0, #0x52 mov r1, #0 lsl r0, r0, #2 str r1, [r4, r0] _0222F686: ldr r0, _0222F748 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #1 tst r0, r1 beq _0222F736 mov r0, #0x1b str r0, [r4, r5] mov r0, #4 pop {r3, r4, r5, pc} _0222F698: mov r0, #0x17 str r0, [r4, r5] _0222F69C: mov r0, #0x4a str r0, [sp] add r1, r4, #0 ldr r0, [r4, #4] add r1, #0x48 mov r2, #2 mov r3, #0x13 bl MOD83_02238A38 ldr r0, _0222F73C ; =0x00003170 mov r1, #0 ldr r0, [r4, r0] bl FUN_020200A0 ldr r0, _0222F740 ; =0x000034D8 ldr r0, [r4, r0] cmp r0, #0 beq _0222F6C4 bl FUN_0200DBFC _0222F6C4: ldr r0, _0222F740 ; =0x000034D8 mov r1, #0 str r1, [r4, r0] mov r0, #0x1c str r0, [r4, r5] b _0222F736 _0222F6D0: bl MOD83_02234558 cmp r0, #0 beq _0222F736 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] cmp r0, #1 bne _0222F6F2 bl FUN_0202E4F0 bl FUN_02033ED0 mov r0, #0x52 mov r1, #0 lsl r0, r0, #2 str r1, [r4, r0] _0222F6F2: ldr r0, _0222F748 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #1 tst r0, r1 beq _0222F736 mov r0, #0 bl OS_ResetSystem b _0222F736 _0222F704: bl MOD83_02234558 cmp r0, #0 beq _0222F736 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] cmp r0, #1 bne _0222F736 bl FUN_0202E4F0 bl FUN_02033ED0 mov r0, #0x52 mov r1, #0 lsl r0, r0, #2 str r1, [r4, r0] ldr r0, _0222F740 ; =0x000034D8 ldr r0, [r4, r0] cmp r0, #0 beq _0222F732 bl FUN_0200DBFC _0222F732: mov r0, #5 pop {r3, r4, r5, pc} _0222F736: mov r0, #0 pop {r3, r4, r5, pc} nop _0222F73C: .word 0x00003170 _0222F740: .word 0x000034D8 _0222F744: .word 0x000005DC _0222F748: .word 0x021C48B8 thumb_func_end MOD83_0222F210 thumb_func_start MOD83_0222F74C MOD83_0222F74C: ; 0x0222F74C push {r4, lr} ldr r1, _0222F79C ; =0x0223B884 add r4, r0, #0 ldr r1, [r1] cmp r1, #0 bne _0222F798 bl MOD83_0222F9F8 mov r1, #0xf5 mov r0, #0xf lsl r1, r1, #2 bl FUN_02016998 ldr r1, _0222F79C ; =0x0223B884 mov r2, #0xf5 str r0, [r1] mov r1, #0 lsl r2, r2, #2 bl MI_CpuFill8 ldr r0, _0222F79C ; =0x0223B884 mov r1, #0x32 ldr r0, [r0] mov r2, #0xa strh r1, [r0, #0x24] ldr r0, _0222F7A0 ; =MOD83_0222F89C mov r1, #0 bl FUN_0200CA44 ldr r1, _0222F79C ; =0x0223B884 ldr r2, [r1] str r0, [r2, #0x1c] ldr r0, [r1] str r4, [r0] ldr r0, [r1] add r0, r0, #4 bl FUN_020312BC _0222F798: pop {r4, pc} nop _0222F79C: .word 0x0223B884 _0222F7A0: .word MOD83_0222F89C thumb_func_end MOD83_0222F74C thumb_func_start MOD83_0222F7A4 MOD83_0222F7A4: ; 0x0222F7A4 ldr r2, _0222F7B0 ; =0x0223B884 ldr r3, [r2] str r0, [r3, #0x20] ldr r0, [r2] strh r1, [r0, #0x24] bx lr .align 2, 0 _0222F7B0: .word 0x0223B884 thumb_func_end MOD83_0222F7A4 thumb_func_start MOD83_0222F7B4 MOD83_0222F7B4: ; 0x0222F7B4 push {r4, lr} bl FUN_02031190 bl FUN_02030E7C cmp r0, #0 beq _0222F7E2 mov r4, #0 ldr r1, _0222F7E4 ; =0x0223B884 ldr r0, _0222F7E8 ; =0x000003C1 add r3, r4, #0 _0222F7CA: ldr r2, [r1] add r2, r2, r4 add r4, r4, #1 strb r3, [r2, r0] cmp r4, #0x10 blt _0222F7CA bl FUN_0202DBE0 ldr r0, _0222F7EC ; =MOD83_0222F7F0 mov r1, #0 bl MOD83_0222F7A4 _0222F7E2: pop {r4, pc} .align 2, 0 _0222F7E4: .word 0x0223B884 _0222F7E8: .word 0x000003C1 _0222F7EC: .word MOD83_0222F7F0 thumb_func_end MOD83_0222F7B4 thumb_func_start MOD83_0222F7F0 MOD83_0222F7F0: ; 0x0222F7F0 push {r4, r5, r6, lr} mov r4, #0 ldr r6, _0222F824 ; =0x0223B884 add r5, r4, #0 _0222F7F8: ldr r0, [r6] add r0, r0, r5 ldr r0, [r0, #0x28] cmp r0, #0 bne _0222F81A lsl r0, r4, #0x10 lsr r0, r0, #0x10 bl FUN_02030E7C cmp r0, #1 bne _0222F81A add r0, r4, #0 bl FUN_0202DFA4 ldr r1, [r6] add r1, r1, r5 str r0, [r1, #0x28] _0222F81A: add r4, r4, #1 add r5, r5, #4 cmp r4, #0x10 blt _0222F7F8 pop {r4, r5, r6, pc} .align 2, 0 _0222F824: .word 0x0223B884 thumb_func_end MOD83_0222F7F0 thumb_func_start MOD83_0222F828 MOD83_0222F828: ; 0x0222F828 push {r3, lr} bl FUN_0202E4C8 cmp r0, #0 beq _0222F83A ldr r0, _0222F83C ; =MOD83_0222F840 mov r1, #0 bl MOD83_0222F7A4 _0222F83A: pop {r3, pc} .align 2, 0 _0222F83C: .word MOD83_0222F840 thumb_func_end MOD83_0222F828 thumb_func_start MOD83_0222F840 MOD83_0222F840: ; 0x0222F840 bx lr .align 2, 0 thumb_func_end MOD83_0222F840 thumb_func_start MOD83_0222F844 MOD83_0222F844: ; 0x0222F844 push {r3, lr} ldr r0, _0222F85C ; =0x0223B884 ldr r0, [r0] add r0, #0x27 ldrb r0, [r0] bl FUN_020319D8 ldr r0, _0222F860 ; =MOD83_0222F864 mov r1, #0 bl MOD83_0222F7A4 pop {r3, pc} .align 2, 0 _0222F85C: .word 0x0223B884 _0222F860: .word MOD83_0222F864 thumb_func_end MOD83_0222F844 thumb_func_start MOD83_0222F864 MOD83_0222F864: ; 0x0222F864 push {r3, lr} bl FUN_02031A2C cmp r0, #0 beq _0222F88C ldr r0, _0222F890 ; =0x0223B884 mov r2, #0 ldr r1, [r0] mov r0, #0xf lsl r0, r0, #6 strb r2, [r1, r0] bl FUN_0202DBE0 mov r0, #0xab bl FUN_02031588 ldr r0, _0222F894 ; =MOD83_0222F898 mov r1, #0 bl MOD83_0222F7A4 _0222F88C: pop {r3, pc} nop _0222F890: .word 0x0223B884 _0222F894: .word MOD83_0222F898 thumb_func_end MOD83_0222F864 thumb_func_start MOD83_0222F898 MOD83_0222F898: ; 0x0222F898 bx lr .align 2, 0 thumb_func_end MOD83_0222F898 thumb_func_start MOD83_0222F89C MOD83_0222F89C: ; 0x0222F89C push {r3, lr} ldr r1, _0222F8C0 ; =0x0223B884 ldr r2, [r1] cmp r2, #0 bne _0222F8AC bl FUN_0200CAB4 pop {r3, pc} _0222F8AC: ldr r1, [r2, #0x20] cmp r1, #0 beq _0222F8BC add r2, #0x26 ldrb r0, [r2] cmp r0, #0 bne _0222F8BC blx r1 _0222F8BC: pop {r3, pc} nop _0222F8C0: .word 0x0223B884 thumb_func_end MOD83_0222F89C thumb_func_start MOD83_0222F8C4 MOD83_0222F8C4: ; 0x0222F8C4 push {r4, r5, r6, lr} add r5, r0, #0 add r4, r1, #0 add r6, r2, #0 bl FUN_02030F40 cmp r0, #0 bne _0222F8EA add r0, r4, #0 add r1, r6, #0 bl FUN_02031C74 add r0, r5, #0 bl MOD83_0222F74C ldr r0, _0222F8EC ; =MOD83_0222F7B4 mov r1, #0 bl MOD83_0222F7A4 _0222F8EA: pop {r4, r5, r6, pc} .align 2, 0 _0222F8EC: .word MOD83_0222F7B4 thumb_func_end MOD83_0222F8C4 thumb_func_start MOD83_0222F8F0 MOD83_0222F8F0: ; 0x0222F8F0 add r3, r0, #0 add r2, r1, #0 add r1, r3, #0 ldr r3, _0222F8FC ; =FUN_02030B3C mov r0, #0x16 bx r3 .align 2, 0 _0222F8FC: .word FUN_02030B3C thumb_func_end MOD83_0222F8F0 thumb_func_start MOD83_0222F900 MOD83_0222F900: ; 0x0222F900 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl FUN_02030F40 cmp r0, #0 bne _0222F92C bl MOD83_02231364 bl FUN_0200628C ldr r0, [r0, #8] add r1, r4, #0 bl FUN_02031CA8 add r0, r5, #0 bl MOD83_0222F74C ldr r0, _0222F930 ; =MOD83_0222F828 mov r1, #0 bl MOD83_0222F7A4 _0222F92C: pop {r3, r4, r5, pc} nop _0222F930: .word MOD83_0222F828 thumb_func_end MOD83_0222F900 thumb_func_start MOD83_0222F934 MOD83_0222F934: ; 0x0222F934 ldr r1, _0222F944 ; =0x0223B884 ldr r3, _0222F948 ; =MOD83_0222F7A4 ldr r1, [r1] add r1, #0x27 strb r0, [r1] ldr r0, _0222F94C ; =MOD83_0222F844 mov r1, #0 bx r3 .align 2, 0 _0222F944: .word 0x0223B884 _0222F948: .word MOD83_0222F7A4 _0222F94C: .word MOD83_0222F844 thumb_func_end MOD83_0222F934 thumb_func_start MOD83_0222F950 MOD83_0222F950: ; 0x0222F950 push {r3, r4, r5, lr} add r5, r0, #0 mov r4, #0 _0222F956: add r0, r4, #0 bl FUN_0202F124 add r1, r0, #0 beq _0222F976 add r0, #0x4c ldrh r0, [r0] cmp r0, #0 beq _0222F976 add r5, #0x8c add r0, r5, #0 mov r2, #0x50 bl memcpy add r0, r4, #0 pop {r3, r4, r5, pc} _0222F976: add r4, r4, #1 cmp r4, #0x10 blt _0222F956 mov r0, #0 mvn r0, r0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD83_0222F950 thumb_func_start MOD83_0222F984 MOD83_0222F984: ; 0x0222F984 ldr r1, _0222F99C ; =0x0223B884 ldr r2, [r1] add r1, r2, #0 add r1, #0x27 ldrb r1, [r1] cmp r1, r0 bne _0222F99A mov r0, #0xf mov r1, #1 lsl r0, r0, #6 strb r1, [r2, r0] _0222F99A: bx lr .align 2, 0 _0222F99C: .word 0x0223B884 thumb_func_end MOD83_0222F984 thumb_func_start MOD83_0222F9A0 MOD83_0222F9A0: ; 0x0222F9A0 ldr r0, _0222F9AC ; =0x0223B884 ldr r1, [r0] mov r0, #0xf lsl r0, r0, #6 ldrb r0, [r1, r0] bx lr .align 2, 0 _0222F9AC: .word 0x0223B884 thumb_func_end MOD83_0222F9A0 thumb_func_start MOD83_0222F9B0 MOD83_0222F9B0: ; 0x0222F9B0 mov r0, #0xd6 lsl r0, r0, #2 bx lr .align 2, 0 thumb_func_end MOD83_0222F9B0 thumb_func_start MOD83_0222F9B8 MOD83_0222F9B8: ; 0x0222F9B8 ldr r0, _0222F9C0 ; =0x0223B884 ldr r0, [r0] add r0, #0x68 bx lr .align 2, 0 _0222F9C0: .word 0x0223B884 thumb_func_end MOD83_0222F9B8 thumb_func_start MOD83_0222F9C4 MOD83_0222F9C4: ; 0x0222F9C4 ldr r1, _0222F9D4 ; =0x0223B884 mov r2, #1 ldr r1, [r1] add r1, r1, r0 ldr r0, _0222F9D8 ; =0x000003C1 strb r2, [r1, r0] bx lr nop _0222F9D4: .word 0x0223B884 _0222F9D8: .word 0x000003C1 thumb_func_end MOD83_0222F9C4 thumb_func_start MOD83_0222F9DC MOD83_0222F9DC: ; 0x0222F9DC push {r3, lr} ldr r1, _0222F9F4 ; =0x0223B884 mov r0, #0xf ldr r1, [r1] bl FUN_02016A8C ldr r0, _0222F9F4 ; =0x0223B884 mov r1, #0 str r1, [r0] bl FUN_02031A08 pop {r3, pc} .align 2, 0 _0222F9F4: .word 0x0223B884 thumb_func_end MOD83_0222F9DC thumb_func_start MOD83_0222F9F8 MOD83_0222F9F8: ; 0x0222F9F8 ldr r3, _0222FA04 ; =FUN_0202D8D0 add r2, r0, #0 ldr r0, _0222FA08 ; =0x0223A3F0 mov r1, #2 bx r3 nop _0222FA04: .word FUN_0202D8D0 _0222FA08: .word 0x0223A3F0 thumb_func_end MOD83_0222F9F8 thumb_func_start MOD83_0222FA0C MOD83_0222FA0C: ; 0x0222FA0C push {r4, lr} add r4, r0, #0 cmp r1, #1 ldr r0, _0222FA40 ; =0x00002994 bne _0222FA2C ldr r0, [r4, r0] cmp r0, #0 bne _0222FA3C add r0, r4, #0 add r0, #0x18 mov r1, #1 bl FUN_0200D858 ldr r1, _0222FA40 ; =0x00002994 str r0, [r4, r1] pop {r4, pc} _0222FA2C: ldr r0, [r4, r0] cmp r0, #0 beq _0222FA36 bl FUN_0200DBFC _0222FA36: ldr r0, _0222FA40 ; =0x00002994 mov r1, #0 str r1, [r4, r0] _0222FA3C: pop {r4, pc} nop _0222FA40: .word 0x00002994 thumb_func_end MOD83_0222FA0C thumb_func_start MOD83_0222FA44 MOD83_0222FA44: ; 0x0222FA44 ldr r3, _0222FA48 ; =MOD83_0222FA0C bx r3 .align 2, 0 _0222FA48: .word MOD83_0222FA0C thumb_func_end MOD83_0222FA44 thumb_func_start MOD83_0222FA4C MOD83_0222FA4C: ; 0x0222FA4C push {r3, r4, r5, r6, r7, lr} bl FUN_02006278 add r7, r0, #0 bl MOD83_02238E48 ldr r0, [r7, #0x7c] cmp r0, #0 beq _0222FA62 bl FUN_02012870 _0222FA62: ldr r0, [r7, #0x78] cmp r0, #0 beq _0222FA70 mov r1, #0 add r2, r1, #0 bl FUN_02001300 _0222FA70: add r0, r7, #0 add r0, #0x18 bl FUN_02019570 add r0, r7, #0 add r0, #0x18 bl FUN_02019178 add r0, r7, #0 add r0, #0x58 bl FUN_02019048 cmp r0, #0 beq _0222FA9C add r0, r7, #0 add r0, #0x58 bl FUN_02019570 add r0, r7, #0 add r0, #0x58 bl FUN_02019178 _0222FA9C: add r5, r7, #0 mov r6, #0 add r4, r7, #0 add r5, #0x28 _0222FAA4: ldr r0, [r4, #0x28] cmp r0, #0 beq _0222FAB6 add r0, r5, #0 bl FUN_02019570 add r0, r5, #0 bl FUN_02019178 _0222FAB6: add r6, r6, #1 add r4, #0x10 add r5, #0x10 cmp r6, #3 blt _0222FAA4 ldr r0, [r7] mov r1, #0 bl FUN_020178A0 ldr r0, [r7] mov r1, #1 bl FUN_020178A0 ldr r0, [r7] mov r1, #4 bl FUN_020178A0 ldr r0, [r7] mov r1, #5 bl FUN_020178A0 ldr r0, [r7] bl FUN_02016A18 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD83_0222FA4C thumb_func_start MOD83_0222FAE8 MOD83_0222FAE8: ; 0x0222FAE8 push {r3, lr} sub sp, #8 bl MOD83_02238AFC bl MOD83_02238B4C mov r0, #8 str r0, [sp] mov r0, #0 str r0, [sp, #4] mov r0, #0x74 mov r1, #0xa mov r2, #7 mov r3, #9 bl MOD83_02238BC4 add sp, #8 pop {r3, pc} thumb_func_end MOD83_0222FAE8 thumb_func_start MOD83_0222FB0C MOD83_0222FB0C: ; 0x0222FB0C push {r3, r4, lr} sub sp, #4 add r4, r0, #0 mov r0, #0 mvn r0, r0 cmp r1, r0 beq _0222FB32 str r1, [sp] ldr r1, _0222FB40 ; =0x000005C4 mov r0, #0 ldr r1, [r4, r1] mov r2, #0x80 mov r3, #0x64 bl MOD83_02238DBC ldr r1, _0222FB40 ; =0x000005C4 add sp, #4 str r0, [r4, r1] pop {r3, r4, pc} _0222FB32: ldr r0, _0222FB40 ; =0x000005C4 mov r1, #0 ldr r0, [r4, r0] bl FUN_020200A0 add sp, #4 pop {r3, r4, pc} .align 2, 0 _0222FB40: .word 0x000005C4 thumb_func_end MOD83_0222FB0C thumb_func_start MOD83_0222FB44 MOD83_0222FB44: ; 0x0222FB44 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl FUN_02019048 cmp r0, #1 bne _0222FB5A add r0, r5, #0 add r1, r4, #0 bl FUN_0200CCF8 _0222FB5A: pop {r3, r4, r5, pc} thumb_func_end MOD83_0222FB44 thumb_func_start MOD83_0222FB5C MOD83_0222FB5C: ; 0x0222FB5C push {r3, r4, r5, lr} add r5, r0, #0 bl FUN_02006278 add r4, r0, #0 ldr r0, _0222FBB0 ; =0x000015D4 ldr r0, [r4, r0] cmp r0, #2 beq _0222FB7A add r1, r4, #0 add r0, r5, #0 add r1, #0x18 mov r2, #3 bl MOD83_0223050C _0222FB7A: add r0, r4, #0 add r0, #0x48 mov r1, #0 bl MOD83_0222FB44 ldr r0, _0222FBB0 ; =0x000015D4 ldr r0, [r4, r0] cmp r0, #2 beq _0222FBAA add r0, r4, #0 mov r1, #0xf bl MOD83_0222F900 ldr r1, _0222FBB4 ; =0x00001C20 ldr r0, _0222FBB8 ; =0x00000434 str r1, [r4, r0] bl FUN_02033E74 add r0, r4, #0 mov r1, #1 bl MOD83_0222FA0C mov r0, #7 pop {r3, r4, r5, pc} _0222FBAA: mov r0, #0x13 pop {r3, r4, r5, pc} nop _0222FBB0: .word 0x000015D4 _0222FBB4: .word 0x00001C20 _0222FBB8: .word 0x00000434 thumb_func_end MOD83_0222FB5C thumb_func_start MOD83_0222FBBC MOD83_0222FBBC: ; 0x0222FBBC push {r3, r4, r5, lr} add r5, r0, #0 bl FUN_02006278 add r4, r0, #0 add r0, #0x80 ldr r1, [r0] cmp r1, #1 bne _0222FBD2 mov r0, #0x30 pop {r3, r4, r5, pc} _0222FBD2: sub r0, r1, #2 cmp r0, #2 bhi _0222FBDC mov r0, #0x30 pop {r3, r4, r5, pc} _0222FBDC: cmp r1, #5 bne _0222FBE4 mov r0, #0x30 pop {r3, r4, r5, pc} _0222FBE4: ldr r0, _0222FC38 ; =0x000015D4 ldr r0, [r4, r0] cmp r0, #1 bne _0222FBF4 ldr r0, _0222FC3C ; =0x00000438 ldr r0, [r4, r0] bl MOD83_0222F934 _0222FBF4: add r1, r4, #0 add r0, r5, #0 add r1, #0x18 mov r2, #6 bl MOD83_0223050C add r0, r4, #0 add r0, #0x48 mov r1, #0 bl MOD83_0222FB44 ldr r0, _0222FC38 ; =0x000015D4 ldr r0, [r4, r0] cmp r0, #1 bne _0222FC22 add r0, r4, #0 mov r1, #0 bl MOD83_0222FB0C add r0, r4, #0 mov r1, #1 bl MOD83_0222FA0C _0222FC22: ldr r0, _0222FC38 ; =0x000015D4 ldr r0, [r4, r0] cmp r0, #1 bne _0222FC34 mov r0, #0xab bl FUN_02031588 mov r0, #9 pop {r3, r4, r5, pc} _0222FC34: mov r0, #0x15 pop {r3, r4, r5, pc} .align 2, 0 _0222FC38: .word 0x000015D4 _0222FC3C: .word 0x00000438 thumb_func_end MOD83_0222FBBC thumb_func_start MOD83_0222FC40 MOD83_0222FC40: ; 0x0222FC40 push {r3, r4, r5, r6, r7, lr} bl FUN_02006278 add r4, r0, #0 ldr r0, _0222FCA4 ; =0x000015D4 add r5, r4, #0 add r6, r4, #0 ldr r0, [r4, r0] add r5, #0xdc add r6, #0x8c cmp r0, #1 beq _0222FC5E cmp r0, #3 beq _0222FC84 b _0222FC9E _0222FC5E: mov r0, #0 add r1, r0, #0 add r2, r0, #0 bl MOD83_0222F9B8 mov r2, #0xd6 add r1, r0, #0 add r0, r5, #0 lsl r2, r2, #2 bl memcpy add r0, r4, #0 add r4, #0xdc add r0, #0x8c add r1, r4, #0 mov r2, #0x56 bl MOD83_02239374 b _0222FC9E _0222FC84: ldr r7, _0222FCA8 ; =0x000005D4 mov r2, #0xd6 add r1, r4, r7 add r0, r5, #0 add r1, #0x50 lsl r2, r2, #2 bl memcpy add r0, r6, #0 add r1, r4, r7 mov r2, #0x50 bl memcpy _0222FC9E: add r0, r5, #0 pop {r3, r4, r5, r6, r7, pc} nop _0222FCA4: .word 0x000015D4 _0222FCA8: .word 0x000005D4 thumb_func_end MOD83_0222FC40 thumb_func_start MOD83_0222FCAC MOD83_0222FCAC: ; 0x0222FCAC push {r4, lr} add r4, r0, #0 ldr r0, _0222FCD8 ; =0x00002990 ldr r1, [r4, r0] cmp r1, #1 bne _0222FCBE mov r1, #0 sub r0, r0, #4 str r1, [r4, r0] _0222FCBE: bl MOD83_022394CC sub r0, r0, #2 cmp r0, #1 bhi _0222FCD4 ldr r0, _0222FCDC ; =0x0000061B bl FUN_020054C8 ldr r0, _0222FCE0 ; =0x0000298C mov r1, #0 str r1, [r4, r0] _0222FCD4: pop {r4, pc} nop _0222FCD8: .word 0x00002990 _0222FCDC: .word 0x0000061B _0222FCE0: .word 0x0000298C thumb_func_end MOD83_0222FCAC thumb_func_start MOD83_0222FCE4 MOD83_0222FCE4: ; 0x0222FCE4 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r7, r0, #0 bl FUN_02006278 add r6, r0, #0 add r4, r6, #0 add r5, r6, #0 add r0, r7, #0 add r4, #0x8c add r5, #0xdc bl FUN_0200628C ldr r0, [r0, #8] str r0, [sp] add r0, r4, #0 add r0, #0x4e ldrb r0, [r0] lsl r0, r0, #0x1d lsr r0, r0, #0x1f bne _0222FD12 mov r7, #0 b _0222FD3E _0222FD12: mov r1, #0x35 add r2, r4, #0 mov r0, #0 lsl r1, r1, #4 strb r0, [r5, r1] add r2, #0x4e ldrb r2, [r2] mov r7, #1 lsl r2, r2, #0x1b lsr r2, r2, #0x1f bne _0222FD2C sub r1, #8 strb r0, [r5, r1] _0222FD2C: add r0, sp, #8 bl FUN_020126B4 add r0, sp, #8 bl RTC_ConvertDateToDay mov r1, #0xd5 lsl r1, r1, #2 str r0, [r5, r1] _0222FD3E: ldr r0, [sp] bl FUN_0202251C add r4, #0x4c ldrh r1, [r4] str r0, [sp, #4] bl FUN_0202AF24 cmp r7, #0 bne _0222FD5E ldr r0, [sp, #4] add r1, r5, #0 mov r2, #0 bl FUN_0202AC98 b _0222FD66 _0222FD5E: ldr r0, [sp, #4] add r1, r5, #0 bl FUN_0202AD08 _0222FD66: ldr r0, [sp] bl MOD83_022394BC ldr r0, _0222FD7C ; =0x00002990 mov r1, #0 str r1, [r6, r0] ldr r1, _0222FD80 ; =MOD83_0222FCAC sub r0, r0, #4 str r1, [r6, r0] add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _0222FD7C: .word 0x00002990 _0222FD80: .word MOD83_0222FCAC thumb_func_end MOD83_0222FCE4 thumb_func_start MOD83_0222FD84 MOD83_0222FD84: ; 0x0222FD84 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r6, r0, #0 add r4, r1, #0 bl FUN_02006278 cmp r4, #0 bne _0222FD98 mov r5, #4 b _0222FD9C _0222FD98: mov r5, #0 mvn r5, r5 _0222FD9C: ldr r1, [r0, #0x48] add r4, r0, #0 add r4, #0x48 cmp r1, #0 bne _0222FDC6 mov r1, #0xa str r1, [sp] mov r1, #6 str r1, [sp, #4] mov r1, #4 str r1, [sp, #8] mov r2, #0 mov r1, #0x6b str r2, [sp, #0xc] lsl r1, r1, #2 str r1, [sp, #0x10] ldr r0, [r0] add r1, r4, #0 mov r3, #0x17 bl FUN_02019064 _0222FDC6: add r0, r4, #0 mov r1, #1 mov r2, #0x1f mov r3, #3 bl FUN_0200CCA4 ldr r1, _0222FDE4 ; =0x0223ADD8 add r0, r6, #0 mov r2, #2 add r3, r4, #0 str r5, [sp] bl MOD83_022303B0 add sp, #0x14 pop {r3, r4, r5, r6, pc} .align 2, 0 _0222FDE4: .word 0x0223ADD8 thumb_func_end MOD83_0222FD84 thumb_func_start MOD83_0222FDE8 MOD83_0222FDE8: ; 0x0222FDE8 push {r3, r4, r5, lr} add r5, r0, #0 bl FUN_02006278 add r4, r0, #0 add r0, #0x48 mov r1, #0 bl MOD83_0222FB44 add r0, r4, #0 add r0, #0x58 mov r1, #0 bl MOD83_0222FB44 ldr r0, _0222FE20 ; =0x000015D4 ldr r0, [r4, r0] cmp r0, #1 bne _0222FE14 add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C _0222FE14: bl FUN_02033ED0 add r0, r5, #0 bl MOD83_02230118 pop {r3, r4, r5, pc} .align 2, 0 _0222FE20: .word 0x000015D4 thumb_func_end MOD83_0222FDE8 thumb_func_start MOD83_0222FE24 MOD83_0222FE24: ; 0x0222FE24 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r6, r0, #0 bl FUN_02006278 add r5, r0, #0 bl MOD83_02238700 cmp r0, #0 beq _0222FE3C mov r1, #2 b _0222FE3E _0222FE3C: mov r1, #1 _0222FE3E: ldr r0, _0222FE98 ; =0x000015D4 str r1, [r5, r0] add r0, r5, #0 add r0, #0x38 mov r1, #0 bl MOD83_0222FB44 add r4, r5, #0 ldr r0, [r5, #0x48] add r4, #0x48 cmp r0, #0 bne _0222FE76 mov r0, #0xa str r0, [sp] mov r0, #6 str r0, [sp, #4] mov r0, #4 str r0, [sp, #8] mov r2, #0 mov r0, #0x6b str r2, [sp, #0xc] lsl r0, r0, #2 str r0, [sp, #0x10] ldr r0, [r5] add r1, r4, #0 mov r3, #0x17 bl FUN_02019064 _0222FE76: add r0, r4, #0 mov r1, #1 mov r2, #0x1f mov r3, #3 bl FUN_0200CCA4 mov r2, #2 ldr r1, _0222FE9C ; =0x0223ADC8 add r0, r6, #0 add r3, r4, #0 str r2, [sp] bl MOD83_022303B0 mov r0, #5 add sp, #0x14 pop {r3, r4, r5, r6, pc} nop _0222FE98: .word 0x000015D4 _0222FE9C: .word 0x0223ADC8 thumb_func_end MOD83_0222FE24 thumb_func_start MOD83_0222FEA0 MOD83_0222FEA0: ; 0x0222FEA0 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r6, r0, #0 bl FUN_02006278 add r4, r0, #0 ldr r0, _0222FF08 ; =0x000015D4 mov r1, #4 str r1, [r4, r0] add r0, r4, #0 add r0, #0x38 mov r1, #0 bl MOD83_0222FB44 add r5, r4, #0 ldr r0, [r4, #0x48] add r5, #0x48 cmp r0, #0 bne _0222FEE6 mov r0, #0xa str r0, [sp] mov r0, #6 str r0, [sp, #4] mov r0, #4 str r0, [sp, #8] mov r2, #0 mov r0, #0x6b str r2, [sp, #0xc] lsl r0, r0, #2 str r0, [sp, #0x10] ldr r0, [r4] add r1, r5, #0 mov r3, #0x17 bl FUN_02019064 _0222FEE6: add r0, r5, #0 mov r1, #1 mov r2, #0x1f mov r3, #3 bl FUN_0200CCA4 mov r0, #0x4e str r0, [sp] ldr r1, _0222FF0C ; =0x0223AD98 add r0, r6, #0 mov r2, #2 add r3, r5, #0 bl MOD83_022303B0 mov r0, #5 add sp, #0x14 pop {r3, r4, r5, r6, pc} .align 2, 0 _0222FF08: .word 0x000015D4 _0222FF0C: .word 0x0223AD98 thumb_func_end MOD83_0222FEA0 thumb_func_start MOD83_0222FF10 MOD83_0222FF10: ; 0x0222FF10 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r6, r0, #0 bl FUN_02006278 add r4, r0, #0 ldr r0, _0222FF78 ; =0x000015D4 mov r1, #3 str r1, [r4, r0] add r0, r4, #0 add r0, #0x38 mov r1, #0 bl MOD83_0222FB44 add r5, r4, #0 ldr r0, [r4, #0x48] add r5, #0x48 cmp r0, #0 bne _0222FF56 mov r0, #0xa str r0, [sp] mov r0, #6 str r0, [sp, #4] mov r0, #4 str r0, [sp, #8] mov r2, #0 mov r0, #0x6b str r2, [sp, #0xc] lsl r0, r0, #2 str r0, [sp, #0x10] ldr r0, [r4] add r1, r5, #0 mov r3, #0x17 bl FUN_02019064 _0222FF56: add r0, r5, #0 mov r1, #1 mov r2, #0x1f mov r3, #3 bl FUN_0200CCA4 mov r0, #0x4d str r0, [sp] ldr r1, _0222FF7C ; =0x0223ADA8 add r0, r6, #0 mov r2, #2 add r3, r5, #0 bl MOD83_022303B0 mov r0, #5 add sp, #0x14 pop {r3, r4, r5, r6, pc} .align 2, 0 _0222FF78: .word 0x000015D4 _0222FF7C: .word 0x0223ADA8 thumb_func_end MOD83_0222FF10 thumb_func_start MOD83_0222FF80 MOD83_0222FF80: ; 0x0222FF80 push {r4, r5, lr} sub sp, #0x14 add r5, r0, #0 bl FUN_02006278 add r4, r0, #0 ldr r1, [r0, #0x48] add r4, #0x48 cmp r1, #0 bne _0222FFB4 mov r1, #0xa str r1, [sp] mov r1, #6 str r1, [sp, #4] mov r1, #4 str r1, [sp, #8] mov r2, #0 mov r1, #0x6b str r2, [sp, #0xc] lsl r1, r1, #2 str r1, [sp, #0x10] ldr r0, [r0] add r1, r4, #0 mov r3, #0x17 bl FUN_02019064 _0222FFB4: add r0, r4, #0 mov r1, #1 mov r2, #0x1f mov r3, #3 bl FUN_0200CCA4 mov r0, #4 str r0, [sp] ldr r1, _0222FFD4 ; =0x0223ADB8 add r0, r5, #0 mov r2, #2 add r3, r4, #0 bl MOD83_022303B0 add sp, #0x14 pop {r4, r5, pc} .align 2, 0 _0222FFD4: .word 0x0223ADB8 thumb_func_end MOD83_0222FF80 thumb_func_start MOD83_0222FFD8 MOD83_0222FFD8: ; 0x0222FFD8 push {r3, r4, r5, lr} add r5, r0, #0 bl FUN_02006278 add r4, r0, #0 add r0, #0x48 mov r1, #0 bl MOD83_0222FB44 add r0, r4, #0 add r0, #0x58 mov r1, #0 bl MOD83_0222FB44 bl FUN_02033ED0 ldr r0, _0223000C ; =0x000015D4 ldr r0, [r4, r0] cmp r0, #1 bne _02230004 bl MOD83_0222F9DC _02230004: add r0, r5, #0 bl MOD83_02230118 pop {r3, r4, r5, pc} .align 2, 0 _0223000C: .word 0x000015D4 thumb_func_end MOD83_0222FFD8 thumb_func_start MOD83_02230010 MOD83_02230010: ; 0x02230010 push {r3, r4, r5, lr} add r5, r0, #0 bl FUN_02006278 add r4, r0, #0 add r1, r4, #0 add r0, r5, #0 add r1, #0x18 mov r2, #3 bl MOD83_0223050C add r0, r4, #0 add r0, #0x48 mov r1, #0 bl MOD83_0222FB44 add r0, r4, #0 mov r1, #1 bl MOD83_0222FA0C ldr r0, _02230044 ; =0x0223B888 mov r1, #0x24 str r1, [r0, #0x10] mov r0, #0x20 pop {r3, r4, r5, pc} nop _02230044: .word 0x0223B888 thumb_func_end MOD83_02230010 thumb_func_start MOD83_02230048 MOD83_02230048: ; 0x02230048 push {r3, r4, r5, lr} add r5, r0, #0 bl FUN_02006278 add r4, r0, #0 add r0, #0x80 ldr r0, [r0] sub r0, r0, #2 cmp r0, #2 bhi _02230060 mov r0, #0x30 pop {r3, r4, r5, pc} _02230060: add r0, r4, #0 add r0, #0x48 mov r1, #0 bl MOD83_0222FB44 add r0, r4, #0 mov r1, #1 bl MOD83_0222FB0C add r4, #0x18 add r0, r5, #0 add r1, r4, #0 mov r2, #7 bl MOD83_0223050C mov r0, #0x21 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD83_02230048 thumb_func_start MOD83_02230084 MOD83_02230084: ; 0x02230084 push {r3, lr} ldr r0, _022300A8 ; =0x0223B888 ldr r0, [r0, #0x10] cmp r0, #0x27 beq _02230096 cmp r0, #0x28 beq _02230096 cmp r0, #0x2f bne _022300A4 _02230096: bl MOD83_02239A14 cmp r0, #0 beq _022300A4 ldr r0, _022300A8 ; =0x0223B888 mov r1, #0x2a str r1, [r0, #0x10] _022300A4: mov r0, #0x23 pop {r3, pc} .align 2, 0 _022300A8: .word 0x0223B888 thumb_func_end MOD83_02230084 thumb_func_start MOD83_022300AC MOD83_022300AC: ; 0x022300AC push {r3, r4, r5, lr} add r5, r0, #0 bl FUN_02006278 add r4, r0, #0 add r1, r4, #0 add r0, r5, #0 add r1, #0x18 mov r2, #3 bl MOD83_0223050C add r0, r4, #0 mov r1, #1 bl MOD83_0222FA0C add r0, r4, #0 add r0, #0x48 mov r1, #0 bl MOD83_0222FB44 add r0, r4, #0 mov r1, #1 bl MOD83_0222FA0C mov r1, #1 ldr r0, _022300F0 ; =0x000015DC lsl r1, r1, #0xc str r1, [r4, r0] ldr r0, _022300F4 ; =0x00002620 mov r1, #0 str r1, [r4, r0] mov r0, #0x1b pop {r3, r4, r5, pc} nop _022300F0: .word 0x000015DC _022300F4: .word 0x00002620 thumb_func_end MOD83_022300AC thumb_func_start MOD83_022300F8 MOD83_022300F8: ; 0x022300F8 push {r4, lr} add r4, r0, #0 bl FUN_02006278 add r0, #0x38 mov r1, #0 bl MOD83_0222FB44 add r0, r4, #0 mov r1, #0xc4 mov r2, #0 bl MOD83_02230464 mov r0, #3 pop {r4, pc} .align 2, 0 thumb_func_end MOD83_022300F8 thumb_func_start MOD83_02230118 MOD83_02230118: ; 0x02230118 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r6, r0, #0 bl FUN_02006278 add r5, r0, #0 ldr r0, [r5, #4] bl FUN_0202251C ldr r0, _02230194 ; =0x000005C8 ldr r1, [r5, r0] cmp r1, #0x1e bne _0223013E mov r1, #1 add r0, r0, #4 str r1, [r5, r0] add r0, r5, #0 bl MOD83_022313E4 _0223013E: add r0, r5, #0 add r0, #0x28 mov r1, #0 bl MOD83_0222FB44 add r4, r5, #0 ldr r0, [r5, #0x38] add r4, #0x38 cmp r0, #0 bne _02230172 mov r0, #9 str r0, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #8 str r0, [sp, #8] mov r2, #0 mov r0, #0x49 str r2, [sp, #0xc] lsl r0, r0, #2 str r0, [sp, #0x10] ldr r0, [r5] add r1, r4, #0 mov r3, #0xf bl FUN_02019064 _02230172: add r0, r4, #0 mov r1, #1 mov r2, #0x1f mov r3, #3 bl FUN_0200CCA4 mov r0, #1 str r0, [sp] ldr r1, _02230198 ; =0x0223AE20 add r0, r6, #0 mov r2, #4 add r3, r4, #0 bl MOD83_022303B0 mov r0, #4 add sp, #0x14 pop {r3, r4, r5, r6, pc} .align 2, 0 _02230194: .word 0x000005C8 _02230198: .word 0x0223AE20 thumb_func_end MOD83_02230118 thumb_func_start MOD83_0223019C MOD83_0223019C: ; 0x0223019C push {r4, lr} bl FUN_02006278 ldr r1, _022301CC ; =0x000005C8 add r4, r0, #0 ldr r2, [r4, r1] cmp r2, #0x1e bne _022301B6 mov r2, #1 add r1, r1, #4 str r2, [r4, r1] bl MOD83_022313E4 _022301B6: ldr r2, _022301D0 ; =0x000015D8 mov r0, #0 ldr r2, [r4, r2] mov r1, #0x35 mov r3, #2 bl MOD83_0223886C mov r0, #0 mvn r0, r0 pop {r4, pc} nop _022301CC: .word 0x000005C8 _022301D0: .word 0x000015D8 thumb_func_end MOD83_0223019C thumb_func_start MOD83_022301D4 MOD83_022301D4: ; 0x022301D4 push {r4, lr} bl FUN_02006278 add r4, r0, #0 ldr r0, _02230204 ; =0x000005C8 ldr r1, [r4, r0] cmp r1, #0x1e bne _022301EA mov r1, #1 add r0, r0, #4 str r1, [r4, r0] _022301EA: mov r0, #1 bl MOD83_02238860 ldr r2, _02230208 ; =0x000015D8 mov r0, #0 ldr r2, [r4, r2] mov r1, #0x34 mov r3, #2 bl MOD83_0223886C mov r0, #0 mvn r0, r0 pop {r4, pc} .align 2, 0 _02230204: .word 0x000005C8 _02230208: .word 0x000015D8 thumb_func_end MOD83_022301D4 thumb_func_start MOD83_0223020C MOD83_0223020C: ; 0x0223020C push {r4, r5, r6, r7, lr} sub sp, #0x1c add r5, r3, #0 ldr r3, _02230254 ; =0x0223A418 add r7, r0, #0 add r4, r1, #0 add r6, r2, #0 add r2, sp, #0 ldmia r3!, {r0, r1} mov ip, r2 stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldr r0, [r3] lsr r1, r6, #0xb str r0, [r2] add r0, sp, #0 strb r1, [r0, #0x12] lsr r1, r5, #0xe strb r1, [r0, #0x13] lsl r1, r4, #0x18 add r0, r7, #0 lsr r1, r1, #0x18 mov r2, ip mov r3, #0 bl FUN_02016C18 lsl r1, r4, #0x18 add r0, r7, #0 lsr r1, r1, #0x18 bl FUN_02018744 add sp, #0x1c pop {r4, r5, r6, r7, pc} .align 2, 0 _02230254: .word 0x0223A418 thumb_func_end MOD83_0223020C thumb_func_start MOD83_02230258 MOD83_02230258: ; 0x02230258 push {r3, r4, r5, lr} sub sp, #0x10 ldr r5, _022302B0 ; =0x0223A408 add r3, sp, #0 add r4, r0, #0 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 mov r1, #0 mov r2, #0xf add r0, r4, #0 lsl r2, r2, #0xc add r3, r1, #0 bl MOD83_0223020C mov r1, #1 mov r2, #0x3e add r0, r4, #0 lsl r2, r2, #0xa lsl r3, r1, #0xf bl MOD83_0223020C mov r2, #0xe add r0, r4, #0 mov r1, #4 lsl r2, r2, #0xa mov r3, #0 bl MOD83_0223020C mov r2, #0x1e mov r3, #1 add r0, r4, #0 mov r1, #5 lsl r2, r2, #0xa lsl r3, r3, #0xe bl MOD83_0223020C add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 _022302B0: .word 0x0223A408 thumb_func_end MOD83_02230258 thumb_func_start MOD83_022302B4 MOD83_022302B4: ; 0x022302B4 push {r4, lr} sub sp, #0x10 add r4, r0, #0 mov r0, #0x20 mov r2, #4 str r0, [sp] mov r0, #0x56 add r3, r2, #0 str r0, [sp, #4] mov r0, #0x74 mov r1, #0 add r3, #0xfc bl FUN_02006930 mov r0, #0 str r0, [sp] mov r0, #5 lsl r0, r0, #0xa str r0, [sp, #4] mov r1, #1 str r1, [sp, #8] mov r0, #0x56 str r0, [sp, #0xc] mov r0, #0x74 add r2, r4, #0 mov r3, #5 bl FUN_0200687C mov r0, #0 str r0, [sp] mov r0, #6 lsl r0, r0, #8 str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] mov r0, #0x56 str r0, [sp, #0xc] mov r0, #0x74 mov r1, #2 add r2, r4, #0 mov r3, #5 bl FUN_020068C8 mov r0, #0x20 str r0, [sp] mov r0, #0x18 str r0, [sp, #4] mov r0, #8 mov r2, #0 str r0, [sp, #8] add r0, r4, #0 mov r1, #5 add r3, r2, #0 bl FUN_020186B4 add r0, r4, #0 mov r1, #5 bl FUN_02017CD0 add sp, #0x10 pop {r4, pc} .align 2, 0 thumb_func_end MOD83_022302B4 thumb_func_start MOD83_02230330 MOD83_02230330: ; 0x02230330 push {r4, lr} sub sp, #0x10 add r4, r0, #0 mov r0, #0x20 str r0, [sp] mov r0, #0x56 str r0, [sp, #4] mov r0, #0x74 mov r1, #0 add r3, r0, #0 add r2, r1, #0 add r3, #0x8c bl FUN_02006930 mov r0, #0 str r0, [sp] mov r0, #5 lsl r0, r0, #0xa str r0, [sp, #4] mov r1, #1 str r1, [sp, #8] mov r0, #0x56 str r0, [sp, #0xc] mov r0, #0x74 add r2, r4, #0 add r3, r1, #0 bl FUN_0200687C mov r0, #0 str r0, [sp] mov r0, #6 lsl r0, r0, #8 str r0, [sp, #4] mov r3, #1 str r3, [sp, #8] mov r0, #0x56 str r0, [sp, #0xc] mov r0, #0x74 mov r1, #2 add r2, r4, #0 bl FUN_020068C8 mov r0, #0x20 str r0, [sp] mov r0, #0x18 str r0, [sp, #4] mov r0, #8 mov r2, #0 str r0, [sp, #8] add r0, r4, #0 mov r1, #1 add r3, r2, #0 bl FUN_020186B4 add r0, r4, #0 mov r1, #1 bl FUN_02017CD0 add r0, r4, #0 bl MOD83_022302B4 add sp, #0x10 pop {r4, pc} .align 2, 0 thumb_func_end MOD83_02230330 thumb_func_start MOD83_022303B0 MOD83_022303B0: ; 0x022303B0 push {r3, r4, r5, r6, r7, lr} sub sp, #0x28 str r0, [sp] add r5, r1, #0 add r7, r2, #0 str r3, [sp, #4] bl FUN_02006278 add r4, r0, #0 ldr r0, [r4, #0x7c] cmp r0, #0 beq _022303CC bl FUN_02012870 _022303CC: add r0, r7, #0 mov r1, #0x56 bl FUN_02012838 str r0, [r4, #0x7c] ldr r2, _0223045C ; =0x00000172 mov r0, #0 mov r1, #0x1a mov r3, #0x56 bl FUN_0200A86C mov r6, #0 str r0, [r4, #0x10] cmp r7, #0 ble _022303FE _022303EA: ldr r0, [r4, #0x7c] ldr r1, [r4, #0x10] ldr r2, [r5] ldr r3, [r5, #4] bl FUN_02012880 add r6, r6, #1 add r5, #8 cmp r6, r7 blt _022303EA _022303FE: ldr r0, [r4, #0x10] bl FUN_0200A8B8 ldr r3, _02230460 ; =0x0223AE00 add r2, sp, #8 ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldr r0, [r4, #0x7c] str r0, [sp, #8] add r0, sp, #8 strh r7, [r0, #0x12] ldrh r1, [r0, #0x12] strh r1, [r0, #0x10] ldr r0, [sp, #4] str r0, [sp, #0x14] ldr r0, [r4, #0x78] cmp r0, #0 beq _02230436 mov r1, #0 add r2, r1, #0 bl FUN_02001300 _02230436: mov r1, #0 add r0, sp, #8 add r2, r1, #0 mov r3, #0x56 bl FUN_020010A8 str r0, [r4, #0x78] mov r0, #0 ldr r2, [sp, #0x40] mvn r0, r0 cmp r2, r0 beq _02230458 add r4, #0x18 ldr r0, [sp] add r1, r4, #0 bl MOD83_0223050C _02230458: add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _0223045C: .word 0x00000172 _02230460: .word 0x0223AE00 thumb_func_end MOD83_022303B0 thumb_func_start MOD83_02230464 MOD83_02230464: ; 0x02230464 push {r3, r4, r5, r6, r7, lr} sub sp, #0x40 str r0, [sp, #0x14] str r1, [sp, #0x1c] str r2, [sp, #0x18] bl FUN_02006278 add r7, r0, #0 ldr r0, [r7, #4] mov r5, #0 bl FUN_0202251C ldr r1, _02230508 ; =0x0223AD98 add r4, r7, #0 ldr r2, [r1, #0x50] ldr r1, [r1, #0x54] add r4, #0x28 add r5, r5, #1 str r2, [sp, #0x20] str r1, [sp, #0x24] bl FUN_0202AE70 cmp r0, #0 beq _022304A8 lsl r6, r5, #3 add r0, sp, #0x20 add r1, r0, r6 ldr r0, _02230508 ; =0x0223AD98 add r5, r5, #1 ldr r3, [r0, #0x58] ldr r2, [r0, #0x5c] add r0, sp, #0x20 str r3, [r0, r6] str r2, [r1, #4] _022304A8: lsl r6, r5, #3 add r0, sp, #0x20 add r1, r0, r6 ldr r0, _02230508 ; =0x0223AD98 ldr r3, [r0, #0x60] ldr r2, [r0, #0x64] add r0, sp, #0x20 str r3, [r0, r6] str r2, [r1, #4] ldr r0, [r4] cmp r0, #0 bne _022304E6 mov r0, #7 str r0, [sp] mov r0, #0x10 str r0, [sp, #4] add r0, r5, #1 lsl r0, r0, #0x19 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [sp, #0x1c] mov r2, #0 lsl r0, r0, #0x10 str r2, [sp, #0xc] lsr r0, r0, #0x10 str r0, [sp, #0x10] ldr r0, [r7] add r1, r4, #0 mov r3, #8 bl FUN_02019064 _022304E6: add r0, r4, #0 mov r1, #1 mov r2, #0x1f mov r3, #3 bl FUN_0200CCA4 ldr r0, [sp, #0x18] add r1, sp, #0x20 str r0, [sp] ldr r0, [sp, #0x14] add r2, r5, #1 add r3, r4, #0 bl MOD83_022303B0 add sp, #0x40 pop {r3, r4, r5, r6, r7, pc} nop _02230508: .word 0x0223AD98 thumb_func_end MOD83_02230464 thumb_func_start MOD83_0223050C MOD83_0223050C: ; 0x0223050C push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r1, #0 add r7, r2, #0 bl FUN_02006278 add r4, r0, #0 ldr r2, _0223059C ; =0x00000172 mov r0, #1 mov r1, #0x1a mov r3, #0x56 bl FUN_0200A86C str r0, [r4, #0x10] mov r0, #0x56 bl FUN_0200AA80 str r0, [r4, #0xc] mov r0, #1 mov r1, #6 bl FUN_02002E4C add r1, r0, #0 add r0, r5, #0 bl FUN_02019620 ldr r6, [r4, #0x14] cmp r6, #0 bne _02230554 ldr r0, [r4, #0xc] ldr r1, [r4, #0x10] add r2, r7, #0 mov r3, #0x56 bl FUN_0200A9C4 add r6, r0, #0 _02230554: mov r3, #0 str r3, [sp] ldr r0, [r4, #0x68] mov r1, #1 str r0, [sp, #4] ldr r0, _022305A0 ; =0x0001020F add r2, r6, #0 str r0, [sp, #8] str r3, [sp, #0xc] add r0, r5, #0 bl FUN_0201BDE0 str r0, [r4, #0x6c] ldr r0, [r4, #0x14] cmp r0, #0 bne _0223057A add r0, r6, #0 bl FUN_02021A20 _0223057A: add r0, r5, #0 mov r1, #0 mov r2, #1 mov r3, #2 bl FUN_0200D0BC ldr r0, [r4, #0x10] bl FUN_0200A8B8 ldr r0, [r4, #0xc] bl FUN_0200AB18 mov r0, #0xff str r0, [r4, #0x68] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _0223059C: .word 0x00000172 _022305A0: .word 0x0001020F thumb_func_end MOD83_0223050C thumb_func_start MOD83_022305A4 MOD83_022305A4: ; 0x022305A4 push {r4, r5, r6, lr} sub sp, #0x10 add r5, r1, #0 add r6, r2, #0 bl FUN_02006278 mov r0, #0x25 mov r1, #0x56 bl FUN_020219F4 add r1, r6, #0 mov r2, #0x24 add r4, r0, #0 bl FUN_02021E8C mov r0, #0 mov r1, #6 bl FUN_02002E4C add r1, r0, #0 add r0, r5, #0 bl FUN_02019620 mov r1, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02230600 ; =0x0001020F add r2, r4, #0 str r0, [sp, #8] add r0, r5, #0 add r3, r1, #0 str r1, [sp, #0xc] bl FUN_0201BDE0 add r0, r5, #0 mov r1, #0 mov r2, #0x1f mov r3, #3 bl FUN_0200CCA4 add r0, r4, #0 bl FUN_02021A20 add sp, #0x10 pop {r4, r5, r6, pc} .align 2, 0 _02230600: .word 0x0001020F thumb_func_end MOD83_022305A4 thumb_func_start MOD83_02230604 MOD83_02230604: ; 0x02230604 push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 add r5, r1, #0 add r6, r2, #0 bl FUN_02006278 ldr r0, [r0, #0x78] bl FUN_02001204 add r4, r0, #0 mov r0, #1 mvn r0, r0 cmp r4, r0 beq _02230628 add r0, r0, #1 cmp r4, r0 beq _0223065E b _02230642 _02230628: ldr r0, _02230660 ; =0x000005DC bl FUN_020054C8 cmp r6, #0 beq _0223065E add r0, r7, #0 blx r6 mov r1, #0 mvn r1, r1 cmp r0, r1 beq _0223065E str r0, [r5] pop {r3, r4, r5, r6, r7, pc} _02230642: ldr r0, _02230660 ; =0x000005DC bl FUN_020054C8 cmp r4, #0 beq _0223065E ldr r0, _02230664 ; =0x0223B888 str r4, [r0, #0xc] add r0, r7, #0 blx r4 mov r1, #0 mvn r1, r1 cmp r0, r1 beq _0223065E str r0, [r5] _0223065E: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02230660: .word 0x000005DC _02230664: .word 0x0223B888 thumb_func_end MOD83_02230604 thumb_func_start MOD83_02230668 MOD83_02230668: ; 0x02230668 push {r4, r5, lr} sub sp, #0x14 add r5, r0, #0 add r4, r1, #0 bl FUN_0201BD5C mov r0, #0 add r1, r0, #0 mov r2, #0x56 bl FUN_02002ED0 mov r0, #0 mov r1, #0x20 mov r2, #0x56 bl FUN_02002ED0 ldr r0, [r4, #8] bl FUN_02025084 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp] mov r0, #0x56 str r0, [sp, #4] ldr r0, [r4] mov r1, #0 mov r2, #1 mov r3, #2 bl FUN_0200CD68 mov r0, #1 str r0, [sp] mov r0, #0x56 str r0, [sp, #4] ldr r0, [r4] mov r1, #0 mov r2, #0x1f mov r3, #3 bl FUN_0200CB00 mov r0, #5 ldr r1, _02230710 ; =0x00007D8C lsl r0, r0, #0x18 strh r1, [r0] add r0, r4, #0 add r0, #0x18 bl FUN_02019048 cmp r0, #0 bne _022306EC mov r0, #0x13 str r0, [sp] mov r0, #0x1b str r0, [sp, #4] mov r0, #4 str r0, [sp, #8] mov r2, #0 add r1, r4, #0 str r2, [sp, #0xc] mov r0, #0x28 str r0, [sp, #0x10] ldr r0, [r4] add r1, #0x18 mov r3, #2 bl FUN_02019064 _022306EC: add r1, r4, #0 add r0, r5, #0 add r1, #0x18 mov r2, #0 bl MOD83_0223050C add r0, r5, #0 mov r1, #0xc4 mov r2, #0 bl MOD83_02230464 ldr r0, [r4] bl MOD83_02230330 mov r0, #1 add sp, #0x14 pop {r4, r5, pc} nop _02230710: .word 0x00007D8C thumb_func_end MOD83_02230668 thumb_func_start MOD83_02230714 MOD83_02230714: ; 0x02230714 push {r4, r5, r6, lr} add r6, r0, #0 add r5, r1, #0 bl FUN_02006278 add r4, r0, #0 ldr r1, _022307A4 ; =0x000015DC add r0, r6, #0 add r1, r4, r1 bl MOD83_02239F34 cmp r0, #4 bhi _022307A2 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0223073A: ; jump table .short _022307A2 - _0223073A - 2 ; case 0 .short _02230744 - _0223073A - 2 ; case 1 .short _02230768 - _0223073A - 2 ; case 2 .short _02230768 - _0223073A - 2 ; case 3 .short _02230776 - _0223073A - 2 ; case 4 _02230744: ldr r1, _022307A8 ; =0x000015FC add r0, r4, #0 mov r2, #0xea add r0, #0x8c add r1, r4, r1 lsl r2, r2, #2 bl memcpy add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C mov r0, #0x1b add r4, #0x84 str r0, [r4] mov r0, #0x13 str r0, [r5] pop {r4, r5, r6, pc} _02230768: add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C mov r0, #0x11 str r0, [r5] pop {r4, r5, r6, pc} _02230776: ldr r0, _022307AC ; =0x00002624 add r0, r4, r0 bl FUN_02019570 ldr r0, _022307AC ; =0x00002624 add r0, r4, r0 bl FUN_02019178 ldr r0, [r4] mov r1, #0 bl FUN_02018744 ldr r0, _022307B0 ; =0x000005DC bl FUN_020054C8 add r0, r6, #0 mov r1, #0xc4 mov r2, #0 bl MOD83_02230464 mov r0, #3 str r0, [r5] _022307A2: pop {r4, r5, r6, pc} .align 2, 0 _022307A4: .word 0x000015DC _022307A8: .word 0x000015FC _022307AC: .word 0x00002624 _022307B0: .word 0x000005DC thumb_func_end MOD83_02230714 thumb_func_start MOD83_022307B4 MOD83_022307B4: ; 0x022307B4 push {r3, r4, r5, r6, lr} sub sp, #0x5c add r5, r0, #0 ldr r0, _0223083C ; =0x00002610 ldr r4, [r5, r0] mov r0, #0 mvn r0, r0 cmp r4, r0 bne _022307C8 mov r4, #0xb _022307C8: mov r0, #0x10 mov r1, #0 bl FUN_0201E6E4 ldr r0, [r5] mov r1, #0 bl FUN_02018744 mov r0, #0x56 bl FUN_0200AA80 mov r1, #2 str r1, [sp] mov r1, #1 str r1, [sp, #4] ldr r2, _02230840 ; =0x00002614 mov r1, #0 ldr r2, [r5, r2] mov r3, #5 add r6, r0, #0 bl FUN_0200AD38 mov r0, #0x1f ldr r1, _02230844 ; =0x00002624 str r0, [sp] mov r0, #3 str r0, [sp, #4] ldr r3, _02230848 ; =0x00000265 add r0, sp, #8 add r1, r5, r1 mov r2, #1 bl MOD83_022388E4 add r0, sp, #8 mov r1, #0x18 mov r2, #0x10 mov r3, #0x64 bl MOD83_02238934 add r0, sp, #8 mov r1, #0 mov r2, #1 bl MOD83_0223893C str r6, [sp, #0x1c] str r4, [sp] mov r2, #4 ldr r0, [r5] add r1, sp, #8 add r3, r2, #0 bl MOD83_02238A38 add r0, r6, #0 bl FUN_0200AB18 add sp, #0x5c pop {r3, r4, r5, r6, pc} nop _0223083C: .word 0x00002610 _02230840: .word 0x00002614 _02230844: .word 0x00002624 _02230848: .word 0x00000265 thumb_func_end MOD83_022307B4 thumb_func_start MOD83_0223084C MOD83_0223084C: ; 0x0223084C push {r3, r4, r5, lr} add r5, r0, #0 bl FUN_02006278 add r1, r0, #0 add r0, #0x80 ldr r0, [r0] cmp r0, #3 bne _02230862 mov r4, #0x15 b _0223088C _02230862: cmp r0, #4 bne _0223086A mov r4, #0x19 b _0223088C _0223086A: cmp r0, #2 bne _02230872 mov r4, #0x16 b _0223088C _02230872: cmp r0, #1 bne _0223087A mov r4, #0x1b b _0223088C _0223087A: cmp r0, #5 bne _0223088C add r0, r5, #0 add r1, #0x18 mov r2, #9 mov r3, #0x33 bl MOD83_0223089C pop {r3, r4, r5, pc} _0223088C: add r0, r5, #0 add r1, #0x18 add r2, r4, #0 mov r3, #0x32 bl MOD83_0223089C pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD83_0223084C thumb_func_start MOD83_0223089C MOD83_0223089C: ; 0x0223089C push {r4, r5, r6, r7, lr} sub sp, #0xc str r0, [sp] add r6, r1, #0 add r5, r2, #0 str r3, [sp, #4] bl FUN_02006278 add r4, r0, #0 cmp r6, #0 beq _022308F8 cmp r5, #0 beq _022308F8 ldr r2, _02230920 ; =0x00000172 mov r0, #1 mov r1, #0x1a mov r3, #0x56 bl FUN_0200A86C add r7, r0, #0 mov r0, #0x56 bl FUN_0200AA80 add r1, r7, #0 add r2, r5, #0 mov r3, #0x56 str r0, [sp, #8] bl FUN_0200A9C4 str r0, [r4, #0x14] mov r0, #1 str r0, [r4, #0x68] ldr r0, [sp] add r1, r6, #0 add r2, r5, #0 bl MOD83_0223050C ldr r0, [sp, #4] str r0, [r4, #0x74] ldr r0, [sp, #8] bl FUN_0200AB18 add r0, r7, #0 bl FUN_0200A8B8 b _02230918 _022308F8: ldr r0, [r4, #0x6c] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0201BD70 cmp r0, #0 bne _02230918 ldr r0, [r4, #0x14] bl FUN_02021A20 mov r0, #0 str r0, [r4, #0x14] str r0, [r4, #0x68] add sp, #0xc ldr r0, [r4, #0x74] pop {r4, r5, r6, r7, pc} _02230918: mov r0, #0x31 add sp, #0xc pop {r4, r5, r6, r7, pc} nop _02230920: .word 0x00000172 thumb_func_end MOD83_0223089C thumb_func_start MOD83_02230924 MOD83_02230924: ; 0x02230924 push {r3, lr} ldr r1, _02230950 ; =0x000015D4 ldr r0, [r0, r1] cmp r0, #4 bhi _0223094C add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0223093A: ; jump table .short _0223094C - _0223093A - 2 ; case 0 .short _02230944 - _0223093A - 2 ; case 1 .short _0223094C - _0223093A - 2 ; case 2 .short _0223094C - _0223093A - 2 ; case 3 .short _0223094C - _0223093A - 2 ; case 4 _02230944: bl MOD83_0222F9DC bl FUN_02033ED0 _0223094C: pop {r3, pc} nop _02230950: .word 0x000015D4 thumb_func_end MOD83_02230924 thumb_func_start MOD83_02230954 MOD83_02230954: ; 0x02230954 push {r3, r4, r5, lr} add r5, r0, #0 bl MOD83_02231370 mov r0, #3 mov r1, #0x56 lsl r2, r0, #0x10 bl FUN_0201681C ldr r1, _022309FC ; =0x00002998 add r0, r5, #0 mov r2, #0x56 bl FUN_02006268 ldr r2, _022309FC ; =0x00002998 mov r1, #0 add r4, r0, #0 bl Call_FillMemWithValue mov r0, #0x56 bl FUN_02016B94 str r0, [r4] bl FUN_0201E6D8 bl FUN_0201E740 bl MOD83_022331C0 ldr r0, [r4] bl MOD83_02230258 mov r0, #0 add r1, r0, #0 bl FUN_0200E3A0 mov r0, #1 mov r1, #0 bl FUN_0200E3A0 ldr r1, _02230A00 ; =0x00000496 mov r0, #0xa mov r2, #1 bl FUN_0200433C mov r0, #0x56 bl MOD83_022385FC bl MOD83_02238700 cmp r0, #0 beq _022309D0 ldr r0, _02230A04 ; =0x000015D4 mov r1, #2 str r1, [r4, r0] ldr r0, _02230A08 ; =0x020ECAC0 ldrb r0, [r0] bl FUN_02016438 mov r0, #1 bl MOD83_02239450 _022309D0: ldr r0, _02230A0C ; =0x000005C8 mov r1, #0x1d str r1, [r4, r0] add r0, r5, #0 bl FUN_0200628C ldr r0, [r0, #8] str r0, [r4, #4] bl LoadPlayerDataAddress str r0, [r4, #8] mov r0, #0xff mov r2, #3 str r0, [r4, #0x68] mov r0, #0 mov r1, #0x5b lsl r2, r2, #8 bl FUN_0201681C mov r0, #1 pop {r3, r4, r5, pc} nop _022309FC: .word 0x00002998 _02230A00: .word 0x00000496 _02230A04: .word 0x000015D4 _02230A08: .word 0x020ECAC0 _02230A0C: .word 0x000005C8 thumb_func_end MOD83_02230954 thumb_func_start MOD83_02230A10 MOD83_02230A10: ; 0x02230A10 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r6, r0, #0 add r5, r1, #0 bl FUN_02006278 add r4, r0, #0 bl CTRDG_IsExisting ldr r0, _02230D5C ; =0x000005C8 ldr r0, [r4, r0] cmp r0, #0x1d beq _02230A30 add r0, r4, #0 bl MOD83_022313E4 _02230A30: ldr r3, [r5] cmp r3, #0x38 bls _02230A3A bl _02231334 _02230A3A: add r0, r3, r3 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02230A46: ; jump table .short _02230AB8 - _02230A46 - 2 ; case 0 .short _02230ACA - _02230A46 - 2 ; case 1 .short _02230AE8 - _02230A46 - 2 ; case 2 .short _02230AF2 - _02230A46 - 2 ; case 3 .short _02230B00 - _02230A46 - 2 ; case 4 .short _02230B0E - _02230A46 - 2 ; case 5 .short _02231334 - _02230A46 - 2 ; case 6 .short _02230CA0 - _02230A46 - 2 ; case 7 .short _02230D50 - _02230A46 - 2 ; case 8 .short _02230D8C - _02230A46 - 2 ; case 9 .short _02230E4C - _02230A46 - 2 ; case 10 .short _02230E9A - _02230A46 - 2 ; case 11 .short _02230EBC - _02230A46 - 2 ; case 12 .short _02230F4C - _02230A46 - 2 ; case 13 .short _02230FA2 - _02230A46 - 2 ; case 14 .short _02230FCE - _02230A46 - 2 ; case 15 .short _0223100E - _02230A46 - 2 ; case 16 .short _02231030 - _02230A46 - 2 ; case 17 .short _0223105A - _02230A46 - 2 ; case 18 .short _0223107A - _02230A46 - 2 ; case 19 .short _0223110E - _02230A46 - 2 ; case 20 .short _0223111A - _02230A46 - 2 ; case 21 .short _0223113C - _02230A46 - 2 ; case 22 .short _02231172 - _02230A46 - 2 ; case 23 .short _0223118C - _02230A46 - 2 ; case 24 .short _02231204 - _02230A46 - 2 ; case 25 .short _02231334 - _02230A46 - 2 ; case 26 .short _02230B1C - _02230A46 - 2 ; case 27 .short _02231334 - _02230A46 - 2 ; case 28 .short _02231334 - _02230A46 - 2 ; case 29 .short _02231334 - _02230A46 - 2 ; case 30 .short _02230BD6 - _02230A46 - 2 ; case 31 .short _02230B28 - _02230A46 - 2 ; case 32 .short _02230BE8 - _02230A46 - 2 ; case 33 .short _02230C0A - _02230A46 - 2 ; case 34 .short _02230C7C - _02230A46 - 2 ; case 35 .short _02231334 - _02230A46 - 2 ; case 36 .short _02231334 - _02230A46 - 2 ; case 37 .short _02231334 - _02230A46 - 2 ; case 38 .short _02231334 - _02230A46 - 2 ; case 39 .short _02231334 - _02230A46 - 2 ; case 40 .short _02231334 - _02230A46 - 2 ; case 41 .short _02231334 - _02230A46 - 2 ; case 42 .short _02231334 - _02230A46 - 2 ; case 43 .short _02231334 - _02230A46 - 2 ; case 44 .short _02231334 - _02230A46 - 2 ; case 45 .short _02231334 - _02230A46 - 2 ; case 46 .short _02231334 - _02230A46 - 2 ; case 47 .short _02231220 - _02230A46 - 2 ; case 48 .short _02231244 - _02230A46 - 2 ; case 49 .short _02231252 - _02230A46 - 2 ; case 50 .short _0223126E - _02230A46 - 2 ; case 51 .short _02231284 - _02230A46 - 2 ; case 52 .short _02231298 - _02230A46 - 2 ; case 53 .short _022312AA - _02230A46 - 2 ; case 54 .short _022312EC - _02230A46 - 2 ; case 55 .short _0223132E - _02230A46 - 2 ; case 56 _02230AB8: mov r0, #0x56 bl MOD83_02238770 ldr r0, _02230D60 ; =0x000015D8 str r5, [r4, r0] mov r0, #1 str r0, [r5] bl _02231334 _02230ACA: add r0, r6, #0 add r1, r4, #0 bl MOD83_02230668 add r0, r4, #0 bl MOD83_0222FAE8 mov r0, #1 mov r1, #3 add r2, r5, #0 mov r3, #2 bl MOD83_0223886C bl _02231334 _02230AE8: add r0, r5, #0 bl MOD83_022388CC bl _02231334 _02230AF2: ldr r2, _02230D64 ; =MOD83_022301D4 add r0, r6, #0 add r1, r5, #0 bl MOD83_02230604 bl _02231334 _02230B00: ldr r2, _02230D68 ; =MOD83_022300F8 add r0, r6, #0 add r1, r5, #0 bl MOD83_02230604 bl _02231334 _02230B0E: ldr r2, _02230D6C ; =MOD83_0222FDE8 add r0, r6, #0 add r1, r5, #0 bl MOD83_02230604 bl _02231334 _02230B1C: add r0, r6, #0 add r1, r5, #0 bl MOD83_02230714 bl _02231334 _02230B28: add r0, r4, #0 bl MOD83_022314B4 ldr r0, _02230D70 ; =0x0223B888 ldr r0, [r0, #0x10] cmp r0, #0x2c bne _02230BC0 add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C add r0, r6, #0 bl MOD83_0222FC40 add r1, r4, #0 ldr r0, [r4, #4] add r1, #0x8c bl MOD83_022332B4 add r1, r4, #0 add r1, #0x80 str r0, [r1] add r0, r4, #0 add r0, #0x80 ldr r0, [r0] cmp r0, #1 bne _02230B6C add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C mov r0, #0x30 str r0, [r5] b _02230BC0 _02230B6C: add r0, r4, #0 add r0, #0x58 bl FUN_02019048 cmp r0, #0 bne _02230B9A mov r0, #2 str r0, [sp] mov r0, #0x1a str r0, [sp, #4] mov r0, #4 str r0, [sp, #8] mov r2, #0 mov r0, #0x71 add r1, r4, #0 str r2, [sp, #0xc] lsl r0, r0, #2 str r0, [sp, #0x10] ldr r0, [r4] add r1, #0x58 mov r3, #3 bl FUN_02019064 _02230B9A: bl MOD83_02239DA0 add r1, r4, #0 add r2, r0, #0 add r0, r6, #0 add r1, #0x58 bl MOD83_022305A4 add r1, r4, #0 add r0, r6, #0 add r1, #0x18 mov r2, #4 bl MOD83_0223050C add r0, r6, #0 bl MOD83_0222FF80 mov r0, #0x1f str r0, [r5] _02230BC0: ldr r0, _02230D70 ; =0x0223B888 ldr r0, [r0, #0x10] sub r0, #0x2d cmp r0, #1 bls _02230BCC b _02231334 _02230BCC: bl MOD83_02231494 mov r0, #0x11 str r0, [r5] b _02231334 _02230BD6: ldr r2, _02230D74 ; =MOD83_02230084 add r0, r6, #0 add r1, r5, #0 bl MOD83_02230604 add r0, r4, #0 bl MOD83_022314B4 b _02231334 _02230BE8: add r0, r6, #0 bl MOD83_0222FC40 add r1, r0, #0 ldr r0, [r4] bl MOD83_022391EC add r0, r4, #0 mov r1, #1 bl MOD83_0222FA0C add r0, r6, #0 bl MOD83_0222FCE4 mov r0, #0x22 str r0, [r5] b _02231334 _02230C0A: bl MOD83_02239574 cmp r0, #4 bne _02230C16 bl MOD83_02239544 _02230C16: bl MOD83_02239574 cmp r0, #2 bne _02230C48 add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C mov r1, #0 add r0, r4, #0 mvn r1, r1 bl MOD83_0222FB0C ldr r0, _02230D78 ; =0x00000624 bl FUN_020054C8 add r1, r4, #0 add r0, r6, #0 add r1, #0x18 mov r2, #8 mov r3, #0x36 bl MOD83_0223089C str r0, [r5] b _02231334 _02230C48: bl MOD83_02239574 cmp r0, #3 bne _02230D38 mov r1, #0 add r0, r4, #0 mvn r1, r1 bl MOD83_0222FB0C add r0, r4, #0 add r0, #0xda ldrb r1, [r0] mov r0, #4 mov r2, #0x1a bic r1, r0 add r0, r4, #0 add r0, #0xda strb r1, [r0] add r1, r4, #0 add r0, r6, #0 add r1, #0x18 mov r3, #0x36 bl MOD83_0223089C str r0, [r5] b _02231334 _02230C7C: add r0, r4, #0 bl MOD83_022314B4 ldr r0, _02230D70 ; =0x0223B888 ldr r1, [r0, #0x10] add r0, r1, #0 sub r0, #0x2c cmp r0, #2 bhi _02230D38 cmp r1, #0x2e bne _02230C96 bl MOD83_02231494 _02230C96: add r0, r6, #0 bl MOD83_0222FFD8 str r0, [r5] b _02231334 _02230CA0: add r0, r4, #0 bl MOD83_0222F950 ldr r1, _02230D7C ; =0x00000438 str r0, [r4, r1] mov r0, #0 ldr r1, [r4, r1] mvn r0, r0 cmp r1, r0 beq _02230D20 add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C add r1, r4, #0 ldr r0, [r4, #4] add r1, #0x8c bl MOD83_022332B4 add r1, r4, #0 add r1, #0x80 str r0, [r1] add r0, r4, #0 add r0, #0x58 bl FUN_02019048 cmp r0, #0 bne _02230CFA mov r0, #2 str r0, [sp] mov r0, #0x1a str r0, [sp, #4] mov r0, #4 str r0, [sp, #8] mov r2, #0 mov r0, #0x71 add r1, r4, #0 str r2, [sp, #0xc] lsl r0, r0, #2 str r0, [sp, #0x10] ldr r0, [r4] add r1, #0x58 mov r3, #3 bl FUN_02019064 _02230CFA: add r1, r4, #0 add r2, r4, #0 add r0, r6, #0 add r1, #0x58 add r2, #0x8c bl MOD83_022305A4 add r1, r4, #0 add r0, r6, #0 add r1, #0x18 mov r2, #4 bl MOD83_0223050C add r0, r6, #0 mov r1, #0 bl MOD83_0222FD84 mov r0, #8 str r0, [r5] _02230D20: ldr r0, _02230D80 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #2 tst r0, r1 bne _02230D3A ldr r0, _02230D84 ; =0x00000434 ldr r1, [r4, r0] sub r1, r1, #1 str r1, [r4, r0] ldr r0, [r4, r0] cmp r0, #0 beq _02230D3A _02230D38: b _02231334 _02230D3A: add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C bl MOD83_0222F9DC bl FUN_02033ED0 mov r0, #0x11 str r0, [r5] b _02231334 _02230D50: ldr r2, _02230D88 ; =MOD83_0222FFD8 add r0, r6, #0 add r1, r5, #0 bl MOD83_02230604 b _02231334 .align 2, 0 _02230D5C: .word 0x000005C8 _02230D60: .word 0x000015D8 _02230D64: .word MOD83_022301D4 _02230D68: .word MOD83_022300F8 _02230D6C: .word MOD83_0222FDE8 _02230D70: .word 0x0223B888 _02230D74: .word MOD83_02230084 _02230D78: .word 0x00000624 _02230D7C: .word 0x00000438 _02230D80: .word 0x021C48B8 _02230D84: .word 0x00000434 _02230D88: .word MOD83_0222FFD8 _02230D8C: bl FUN_02031190 add r7, r0, #0 beq _02230DE4 lsl r0, r7, #0x10 lsr r0, r0, #0x10 bl FUN_02030E7C cmp r0, #0 beq _02230DE4 mov r0, #0xab bl FUN_020315D8 cmp r0, #1 bne _02230E14 add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C mov r0, #1 add r1, r0, #0 bl FUN_020334E8 add r1, r4, #0 add r0, r6, #0 add r1, #0x18 mov r2, #7 bl MOD83_0223050C add r0, r4, #0 mov r1, #1 bl MOD83_0222FB0C add r0, r4, #0 mov r1, #1 bl MOD83_0222FA0C mov r1, #0x96 ldr r0, _02231120 ; =0x00000434 lsl r1, r1, #2 str r1, [r4, r0] mov r0, #0xa str r0, [r5] b _02230E14 _02230DE4: cmp r7, #0 beq _02230E14 lsl r0, r7, #0x10 lsr r0, r0, #0x10 bl FUN_02030E7C cmp r0, #0 bne _02230E14 bl MOD83_0222F9DC bl FUN_02033ED0 mov r1, #0 add r0, r4, #0 mvn r1, r1 bl MOD83_0222FB0C add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C mov r0, #0x10 str r0, [r5] b _02231334 _02230E14: ldr r0, _02231124 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #2 tst r0, r1 bne _02230E2C ldr r0, _02231120 ; =0x00000434 ldr r1, [r4, r0] sub r1, r1, #1 str r1, [r4, r0] ldr r0, [r4, r0] cmp r0, #0 bne _02230F1C _02230E2C: bl MOD83_0222F9DC bl FUN_02033ED0 mov r1, #0 add r0, r4, #0 mvn r1, r1 bl MOD83_0222FB0C add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C mov r0, #0x11 str r0, [r5] b _02231334 _02230E4C: bl MOD83_0222F9A0 cmp r0, #0 beq _02230E58 mov r0, #0xb str r0, [r5] _02230E58: bl FUN_02031190 ldr r1, _02231124 ; =0x021C48B8 ldr r2, [r1, #0x48] mov r1, #2 tst r1, r2 bne _02230E84 ldr r1, _02231120 ; =0x00000434 ldr r2, [r4, r1] sub r2, r2, #1 str r2, [r4, r1] ldr r1, [r4, r1] cmp r1, #0 beq _02230E84 cmp r0, #0 beq _02230F1C lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl FUN_02030E7C cmp r0, #0 bne _02230F1C _02230E84: add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C bl MOD83_0222F9DC bl FUN_02033ED0 mov r0, #0x11 str r0, [r5] b _02231334 _02230E9A: add r0, r6, #0 bl MOD83_0222FC40 add r1, r0, #0 ldr r0, [r4] bl MOD83_022391EC mov r0, #0 add r1, r0, #0 bl FUN_020334E8 add r0, r6, #0 bl MOD83_0222FCE4 mov r0, #0xc str r0, [r5] b _02231334 _02230EBC: bl FUN_02031190 cmp r0, #0 beq _02230EFA lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl FUN_02030E7C cmp r0, #0 bne _02230EFA bl MOD83_0222F9DC ldr r0, _02231128 ; =0x00002990 mov r1, #1 str r1, [r4, r0] bl MOD83_0223955C add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C bl FUN_02033ED0 mov r1, #0 add r0, r4, #0 mvn r1, r1 bl MOD83_0222FB0C mov r0, #0xe str r0, [r5] b _02231334 _02230EFA: bl MOD83_02239574 cmp r0, #4 bne _02230F14 mov r0, #0x93 bl FUN_02031588 mov r0, #0xd str r0, [r5] ldr r0, _0223112C ; =0x0000043C mov r1, #0x78 str r1, [r4, r0] b _02231334 _02230F14: bl MOD83_02239574 cmp r0, #3 beq _02230F1E _02230F1C: b _02231334 _02230F1E: bl MOD83_0223955C add r0, r4, #0 add r0, #0xda ldrb r1, [r0] mov r0, #4 bic r1, r0 add r0, r4, #0 add r0, #0xda strb r1, [r0] add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C add r1, r4, #0 add r0, r6, #0 add r1, #0x18 mov r2, #0x1a mov r3, #0x36 bl MOD83_0223089C str r0, [r5] b _02231334 _02230F4C: mov r0, #0x93 bl FUN_020315D8 cmp r0, #1 bne _02230F66 bl MOD83_02239544 ldr r0, _0223112C ; =0x0000043C mov r1, #0xa str r1, [r4, r0] mov r0, #0xf str r0, [r5] b _02231334 _02230F66: ldr r0, _0223112C ; =0x0000043C ldr r1, [r4, r0] sub r1, r1, #1 str r1, [r4, r0] ldr r0, [r4, r0] cmp r0, #0 bne _02231062 bl MOD83_0223955C add r0, r4, #0 add r0, #0xda ldrb r1, [r0] mov r0, #4 bic r1, r0 add r0, r4, #0 add r0, #0xda strb r1, [r0] add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C add r1, r4, #0 add r0, r6, #0 add r1, #0x18 mov r2, #0x1a mov r3, #0x36 bl MOD83_0223089C str r0, [r5] b _02231334 _02230FA2: add r0, r4, #0 add r0, #0x58 mov r1, #0 bl MOD83_0222FB44 add r0, r4, #0 add r0, #0xda ldrb r1, [r0] mov r0, #4 mov r2, #0x1c bic r1, r0 add r0, r4, #0 add r0, #0xda strb r1, [r0] add r1, r4, #0 add r0, r6, #0 add r1, #0x18 mov r3, #0x36 bl MOD83_0223089C str r0, [r5] b _02231334 _02230FCE: ldr r0, _0223112C ; =0x0000043C ldr r1, [r4, r0] sub r1, r1, #1 str r1, [r4, r0] ldr r0, [r4, r0] cmp r0, #0 bne _02231062 add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C bl MOD83_0222F9DC bl FUN_02033ED0 ldr r0, _02231130 ; =0x00000624 bl FUN_020054C8 mov r1, #0 add r0, r4, #0 mvn r1, r1 bl MOD83_0222FB0C add r1, r4, #0 add r0, r6, #0 add r1, #0x18 mov r2, #8 mov r3, #0x36 bl MOD83_0223089C str r0, [r5] b _02231334 _0223100E: ldr r0, _02231134 ; =0x000005DC bl FUN_020054C8 add r1, r4, #0 add r0, r6, #0 add r1, #0x18 mov r2, #0x18 bl MOD83_0223050C add r0, r4, #0 add r0, #0x58 mov r1, #0 bl MOD83_0222FB44 mov r0, #0x12 str r0, [r5] b _02231334 _02231030: add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C ldr r0, _02231134 ; =0x000005DC bl FUN_020054C8 add r1, r4, #0 add r0, r6, #0 add r1, #0x18 mov r2, #0x17 bl MOD83_0223050C add r0, r4, #0 add r0, #0x58 mov r1, #0 bl MOD83_0222FB44 mov r0, #0x12 str r0, [r5] b _02231334 _0223105A: ldr r0, _02231124 ; =0x021C48B8 ldr r0, [r0, #0x48] cmp r0, #0 bne _02231064 _02231062: b _02231334 _02231064: ldr r0, _02231134 ; =0x000005DC bl FUN_020054C8 add r0, r6, #0 mov r1, #0xc4 mov r2, #0 bl MOD83_02230464 mov r0, #3 str r0, [r5] b _02231334 _0223107A: add r0, r4, #0 add r0, #0x84 ldr r0, [r0] cmp r0, #0x1b beq _02231090 add r0, r4, #0 mov r1, #0xea add r0, #0x8c lsl r1, r1, #2 bl MOD83_02238728 _02231090: add r1, r4, #0 ldr r0, [r4, #4] add r1, #0x8c bl MOD83_022332B4 add r1, r4, #0 add r1, #0x80 str r0, [r1] add r0, r4, #0 add r0, #0x80 ldr r0, [r0] cmp r0, #1 bne _022310B8 add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C mov r0, #0x30 str r0, [r5] b _02231334 _022310B8: add r0, r4, #0 add r0, #0x58 bl FUN_02019048 cmp r0, #0 bne _022310E6 mov r0, #2 str r0, [sp] mov r0, #0x1a str r0, [sp, #4] mov r0, #4 str r0, [sp, #8] mov r2, #0 mov r0, #0x71 add r1, r4, #0 str r2, [sp, #0xc] lsl r0, r0, #2 str r0, [sp, #0x10] ldr r0, [r4] add r1, #0x58 mov r3, #3 bl FUN_02019064 _022310E6: add r1, r4, #0 add r2, r4, #0 add r0, r6, #0 add r1, #0x58 add r2, #0x8c bl MOD83_022305A4 add r1, r4, #0 add r0, r6, #0 add r1, #0x18 mov r2, #4 bl MOD83_0223050C add r0, r6, #0 mov r1, #0 bl MOD83_0222FD84 mov r0, #0x14 str r0, [r5] b _02231334 _0223110E: ldr r2, _02231138 ; =MOD83_0222FFD8 add r0, r6, #0 add r1, r5, #0 bl MOD83_02230604 b _02231334 _0223111A: mov r0, #0x16 str r0, [r5] b _02231334 .align 2, 0 _02231120: .word 0x00000434 _02231124: .word 0x021C48B8 _02231128: .word 0x00002990 _0223112C: .word 0x0000043C _02231130: .word 0x00000624 _02231134: .word 0x000005DC _02231138: .word MOD83_0222FFD8 _0223113C: add r0, r6, #0 bl MOD83_0222FC40 add r1, r0, #0 ldr r0, [r4] bl MOD83_022391EC add r1, r4, #0 add r0, r6, #0 add r1, #0x18 mov r2, #7 bl MOD83_0223050C add r0, r4, #0 mov r1, #1 bl MOD83_0222FB0C add r0, r4, #0 mov r1, #1 bl MOD83_0222FA0C ldr r0, _0223134C ; =0x0000043C mov r1, #0x3c str r1, [r4, r0] mov r0, #0x17 str r0, [r5] b _02231334 _02231172: ldr r0, _0223134C ; =0x0000043C ldr r1, [r4, r0] sub r1, r1, #1 str r1, [r4, r0] ldr r0, [r4, r0] cmp r0, #0 bne _02231212 add r0, r6, #0 bl MOD83_0222FCE4 mov r0, #0x18 str r0, [r5] b _02231334 _0223118C: bl MOD83_02239574 cmp r0, #4 bne _02231198 bl MOD83_02239544 _02231198: bl MOD83_02239574 cmp r0, #2 bne _022311D0 ldr r0, _0223134C ; =0x0000043C mov r1, #1 str r1, [r4, r0] add r0, r4, #0 mov r1, #0 bl MOD83_0222FA0C mov r1, #0 add r0, r4, #0 mvn r1, r1 bl MOD83_0222FB0C ldr r0, _02231350 ; =0x00000624 bl FUN_020054C8 add r1, r4, #0 add r0, r6, #0 add r1, #0x18 mov r2, #8 mov r3, #0x19 bl MOD83_0223089C str r0, [r5] b _02231334 _022311D0: bl MOD83_02239574 cmp r0, #3 bne _02231212 mov r1, #0 add r0, r4, #0 mvn r1, r1 bl MOD83_0222FB0C add r0, r4, #0 add r0, #0xda ldrb r1, [r0] mov r0, #4 mov r2, #0x1a bic r1, r0 add r0, r4, #0 add r0, #0xda strb r1, [r0] add r1, r4, #0 add r0, r6, #0 add r1, #0x18 mov r3, #0x36 bl MOD83_0223089C str r0, [r5] b _02231334 _02231204: ldr r0, _0223134C ; =0x0000043C ldr r1, [r4, r0] sub r1, r1, #1 str r1, [r4, r0] ldr r1, [r4, r0] cmp r1, #0 beq _02231214 _02231212: b _02231334 _02231214: mov r1, #1 lsl r1, r1, #0x10 str r1, [r4, r0] mov r0, #0x36 str r0, [r5] b _02231334 _02231220: add r0, r4, #0 add r0, #0x80 ldr r0, [r0] cmp r0, #5 beq _02231230 add r0, r4, #0 bl MOD83_02230924 _02231230: add r0, r6, #0 bl MOD83_0223084C str r0, [r5] add r0, r4, #0 add r0, #0x48 mov r1, #0 bl MOD83_0222FB44 b _02231334 _02231244: mov r1, #0 add r0, r6, #0 add r2, r1, #0 bl MOD83_0223089C str r0, [r5] b _02231334 _02231252: ldr r0, _02231354 ; =0x021C48B8 ldr r0, [r0, #0x48] cmp r0, #0 beq _02231334 add r0, r4, #0 add r0, #0x58 mov r1, #0 bl MOD83_0222FB44 add r0, r6, #0 bl MOD83_022300F8 str r0, [r5] b _02231334 _0223126E: add r0, r6, #0 mov r1, #1 bl MOD83_0222FD84 mov r0, #8 str r0, [r5] add r0, r4, #0 mov r1, #0 add r0, #0x80 str r1, [r0] b _02231334 _02231284: add r0, r6, #0 bl MOD83_0222FA4C mov r0, #0x11 mov r1, #0 lsl r0, r0, #6 str r1, [r4, r0] add sp, #0x14 mov r0, #1 pop {r4, r5, r6, r7, pc} _02231298: add r0, r6, #0 bl MOD83_0222FA4C mov r1, #0x11 mov r0, #1 lsl r1, r1, #6 add sp, #0x14 str r0, [r4, r1] pop {r4, r5, r6, r7, pc} _022312AA: ldr r0, _02231354 ; =0x021C48B8 ldr r0, [r0, #0x48] cmp r0, #0 beq _02231334 ldr r0, _02231358 ; =0x000005DC bl FUN_020054C8 add r0, r4, #0 add r0, #0xda ldrb r0, [r0] lsl r0, r0, #0x1d lsr r0, r0, #0x1f cmp r0, #1 bne _022312D6 ldr r2, _0223135C ; =0x000015D8 mov r0, #0 ldr r2, [r4, r2] mov r1, #0x37 mov r3, #2 bl MOD83_0223886C b _02231334 _022312D6: mov r0, #1 bl MOD83_02238860 ldr r2, _0223135C ; =0x000015D8 mov r0, #0 ldr r2, [r4, r2] mov r1, #0x38 mov r3, #2 bl MOD83_0223886C b _02231334 _022312EC: ldr r0, [r4] bl MOD83_022302B4 mov r0, #1 mov r1, #0 bl FUN_0201E74C mov r0, #2 mov r1, #1 bl FUN_0201E74C add r1, r4, #0 ldr r0, [r4] add r1, #0xdc mov r2, #0x56 bl MOD83_02233168 ldr r2, _0223135C ; =0x000015D8 mov r0, #1 ldr r2, [r4, r2] mov r1, #0x36 mov r3, #2 bl MOD83_0223886C add r0, r4, #0 add r0, #0xda ldrb r1, [r0] mov r0, #4 bic r1, r0 add r0, r4, #0 add r0, #0xda strb r1, [r0] b _02231334 _0223132E: mov r0, #0 bl OS_ResetSystem _02231334: ldr r0, _02231360 ; =0x0000298C ldr r1, [r4, r0] cmp r1, #0 beq _02231340 add r0, r4, #0 blx r1 _02231340: bl MOD83_02238D58 mov r0, #0 add sp, #0x14 pop {r4, r5, r6, r7, pc} nop _0223134C: .word 0x0000043C _02231350: .word 0x00000624 _02231354: .word 0x021C48B8 _02231358: .word 0x000005DC _0223135C: .word 0x000015D8 _02231360: .word 0x0000298C thumb_func_end MOD83_02230A10 thumb_func_start MOD83_02231364 MOD83_02231364: ; 0x02231364 ldr r0, _0223136C ; =0x0223B888 ldr r0, [r0, #4] bx lr nop _0223136C: .word 0x0223B888 thumb_func_end MOD83_02231364 thumb_func_start MOD83_02231370 MOD83_02231370: ; 0x02231370 ldr r1, _02231378 ; =0x0223B888 str r0, [r1, #4] bx lr nop _02231378: .word 0x0223B888 thumb_func_end MOD83_02231370 thumb_func_start MOD83_0223137C MOD83_0223137C: ; 0x0223137C push {r3, r4, r5, lr} add r5, r0, #0 bl FUN_02006278 add r4, r0, #0 mov r0, #0x11 lsl r0, r0, #6 ldr r0, [r4, r0] cmp r0, #0 bne _0223139A ldr r0, _022313D0 ; =SDK_OVERLAY_MODULE_63_ID ldr r1, _022313D4 ; =0x021DBAB8 bl FUN_02000E7C b _022313A6 _0223139A: cmp r0, #1 bne _022313A6 ldr r0, _022313D8 ; =SDK_OVERLAY_MODULE_83_ID ldr r1, _022313DC ; =0x0223A444 bl FUN_02000E7C _022313A6: mov r0, #0x5b bl FUN_020168D0 add r0, r5, #0 bl FUN_0200627C mov r0, #0x56 bl FUN_020168D0 ldr r0, _022313E0 ; =0x000015D4 ldr r0, [r4, r0] cmp r0, #2 bne _022313C6 mov r0, #0 bl FUN_02016438 _022313C6: mov r0, #0 bl MOD83_02239450 mov r0, #1 pop {r3, r4, r5, pc} .align 2, 0 _022313D0: .word SDK_OVERLAY_MODULE_63_ID _022313D4: .word 0x021DBAB8 _022313D8: .word SDK_OVERLAY_MODULE_83_ID _022313DC: .word 0x0223A444 _022313E0: .word 0x000015D4 thumb_func_end MOD83_0223137C thumb_func_start MOD83_022313E4 MOD83_022313E4: ; 0x022313E4 push {r4, lr} add r4, r0, #0 ldr r0, _02231438 ; =0x000005C8 ldr r0, [r4, r0] cmp r0, #0x1c beq _022313FA cmp r0, #0x1d beq _02231436 cmp r0, #0x1e beq _0223140E pop {r4, pc} _022313FA: ldr r0, [r4, #4] bl FUN_02032D44 ldr r0, _0223143C ; =0x000005CC mov r1, #0x78 str r1, [r4, r0] mov r1, #0x1e sub r0, r0, #4 str r1, [r4, r0] pop {r4, pc} _0223140E: bl FUN_02032D9C mov r1, #1 tst r0, r1 beq _0223141E mov r0, #0x5d lsl r0, r0, #4 str r1, [r4, r0] _0223141E: ldr r0, _0223143C ; =0x000005CC ldr r1, [r4, r0] sub r1, r1, #1 str r1, [r4, r0] ldr r0, [r4, r0] cmp r0, #0 bne _02231436 bl FUN_02032D80 ldr r0, _02231438 ; =0x000005C8 mov r1, #0x1d str r1, [r4, r0] _02231436: pop {r4, pc} .align 2, 0 _02231438: .word 0x000005C8 _0223143C: .word 0x000005CC thumb_func_end MOD83_022313E4 thumb_func_start MOD83_02231440 MOD83_02231440: ; 0x02231440 cmp r0, #4 bhi _0223148C add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02231450: ; jump table .short _0223145A - _02231450 - 2 ; case 0 .short _02231462 - _02231450 - 2 ; case 1 .short _0223146A - _02231450 - 2 ; case 2 .short _02231472 - _02231450 - 2 ; case 3 .short _02231486 - _02231450 - 2 ; case 4 _0223145A: ldr r0, _02231490 ; =0x0223B888 mov r1, #0x27 str r1, [r0, #0x10] bx lr _02231462: ldr r0, _02231490 ; =0x0223B888 mov r1, #0x28 str r1, [r0, #0x10] bx lr _0223146A: ldr r0, _02231490 ; =0x0223B888 mov r1, #0x29 str r1, [r0, #0x10] bx lr _02231472: ldr r0, _02231490 ; =0x0223B888 ldr r1, [r0, #0x10] cmp r1, #0x29 bne _02231480 mov r1, #0x2b str r1, [r0, #0x10] bx lr _02231480: mov r1, #0x2e str r1, [r0, #0x10] bx lr _02231486: ldr r0, _02231490 ; =0x0223B888 mov r1, #0x2f str r1, [r0, #0x10] _0223148C: bx lr nop _02231490: .word 0x0223B888 thumb_func_end MOD83_02231440 thumb_func_start MOD83_02231494 MOD83_02231494: ; 0x02231494 push {r3, lr} bl FUN_0202E4F0 ldr r0, _022314B0 ; =0x0223B888 ldr r0, [r0, #8] bl FUN_02016A18 bl FUN_02033ED0 ldr r0, _022314B0 ; =0x0223B888 mov r1, #0 str r1, [r0, #8] pop {r3, pc} nop _022314B0: .word 0x0223B888 thumb_func_end MOD83_02231494 thumb_func_start MOD83_022314B4 MOD83_022314B4: ; 0x022314B4 push {r4, lr} add r4, r0, #0 ldr r0, _022315C0 ; =0x0223B888 ldr r0, [r0, #0x10] cmp r0, #0x2b bne _022314DA bl MOD83_02231494 bl MOD83_02239CEC cmp r0, #0 beq _022314D4 ldr r0, _022315C0 ; =0x0223B888 mov r1, #0x2c str r1, [r0, #0x10] b _022314DA _022314D4: ldr r0, _022315C0 ; =0x0223B888 mov r1, #0x2d str r1, [r0, #0x10] _022314DA: ldr r0, _022315C0 ; =0x0223B888 ldr r0, [r0, #0x10] cmp r0, #0x24 beq _022314F6 cmp r0, #0x25 beq _022314F6 cmp r0, #0x26 beq _022314F6 cmp r0, #0x27 beq _022314F6 cmp r0, #0x28 beq _022314F6 cmp r0, #0x2a bne _02231502 _022314F6: bl WM_GetLinkLevel mov r1, #3 sub r0, r1, r0 bl FUN_02033EEC _02231502: ldr r1, _022315C0 ; =0x0223B888 ldr r0, [r1, #0x10] sub r0, #0x24 cmp r0, #0xb bhi _0223157C add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02231518: ; jump table .short _02231530 - _02231518 - 2 ; case 0 .short _0223153C - _02231518 - 2 ; case 1 .short _0223157C - _02231518 - 2 ; case 2 .short _0223157C - _02231518 - 2 ; case 3 .short _02231572 - _02231518 - 2 ; case 4 .short _0223157C - _02231518 - 2 ; case 5 .short _0223157C - _02231518 - 2 ; case 6 .short _0223157C - _02231518 - 2 ; case 7 .short _0223157C - _02231518 - 2 ; case 8 .short _0223157C - _02231518 - 2 ; case 9 .short _0223157A - _02231518 - 2 ; case 10 .short _0223157C - _02231518 - 2 ; case 11 _02231530: bl FUN_0202E49C ldr r0, _022315C0 ; =0x0223B888 mov r1, #0x25 str r1, [r0, #0x10] b _0223157C _0223153C: bl FUN_0202E4C8 cmp r0, #1 bne _0223157C ldr r0, _022315C0 ; =0x0223B888 mov r1, #0 str r1, [r0] bl MOD83_02239D98 add r1, r0, #0 mov r0, #0x56 bl FUN_02016998 add r2, r0, #0 ldr r0, _022315C0 ; =0x0223B888 ldr r1, _022315C4 ; =MOD83_02231440 str r2, [r0, #8] ldr r0, _022315C8 ; =0x000005D4 add r0, r4, r0 bl MOD83_02239A98 ldr r0, _022315C0 ; =0x0223B888 mov r1, #0x26 str r1, [r0, #0x10] bl FUN_02033E74 b _0223157C _02231572: ldr r0, [r1] add r0, r0, #1 str r0, [r1] b _0223157C _0223157A: pop {r4, pc} _0223157C: ldr r0, _022315CC ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #2 tst r0, r1 beq _022315BC ldr r0, _022315C0 ; =0x0223B888 ldr r0, [r0, #0x10] sub r0, #0x27 cmp r0, #8 bhi _022315BC add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0223159C: ; jump table .short _022315AE - _0223159C - 2 ; case 0 .short _022315AE - _0223159C - 2 ; case 1 .short _022315BC - _0223159C - 2 ; case 2 .short _022315BC - _0223159C - 2 ; case 3 .short _022315BC - _0223159C - 2 ; case 4 .short _022315BC - _0223159C - 2 ; case 5 .short _022315BC - _0223159C - 2 ; case 6 .short _022315BC - _0223159C - 2 ; case 7 .short _022315AE - _0223159C - 2 ; case 8 _022315AE: bl MOD83_02239A14 cmp r0, #0 beq _022315BC ldr r0, _022315C0 ; =0x0223B888 mov r1, #0x2a str r1, [r0, #0x10] _022315BC: pop {r4, pc} nop _022315C0: .word 0x0223B888 _022315C4: .word MOD83_02231440 _022315C8: .word 0x000005D4 _022315CC: .word 0x021C48B8 thumb_func_end MOD83_022314B4 thumb_func_start MOD83_022315D0 MOD83_022315D0: ; 0x022315D0 push {r3, lr} sub sp, #8 bl MOD83_022315F8 bl MOD83_02238AFC bl MOD83_02238B4C mov r0, #0xd str r0, [sp] mov r0, #0 str r0, [sp, #4] mov r0, #0x74 mov r1, #0xf mov r2, #0xc mov r3, #0xe bl MOD83_02238BC4 add sp, #8 pop {r3, pc} thumb_func_end MOD83_022315D0 thumb_func_start MOD83_022315F8 MOD83_022315F8: ; 0x022315F8 push {r4, lr} add r4, r0, #0 ldr r0, _0223165C ; =0x00002D64 ldr r0, [r4, r0] cmp r0, #0 beq _02231608 bl FUN_0201FFC8 _02231608: ldr r0, _02231660 ; =0x00002D68 ldr r0, [r4, r0] cmp r0, #0 beq _02231614 bl FUN_0201FFC8 _02231614: ldr r0, _02231660 ; =0x00002D68 mov r1, #0 str r1, [r4, r0] ldr r2, [r4, r0] sub r1, r0, #4 str r2, [r4, r1] add r0, r0, #4 ldr r0, [r4, r0] cmp r0, #0 beq _0223162C bl FUN_0201FFC8 _0223162C: ldr r0, _02231664 ; =0x00002D70 ldr r0, [r4, r0] cmp r0, #0 beq _02231638 bl FUN_0201FFC8 _02231638: ldr r0, _02231668 ; =0x00002D74 ldr r0, [r4, r0] cmp r0, #0 beq _02231644 bl FUN_0201FFC8 _02231644: ldr r1, _02231668 ; =0x00002D74 mov r0, #0 str r0, [r4, r1] ldr r2, [r4, r1] sub r0, r1, #4 str r2, [r4, r0] ldr r0, [r4, r0] sub r1, #8 str r0, [r4, r1] bl MOD83_02238E48 pop {r4, pc} .align 2, 0 _0223165C: .word 0x00002D64 _02231660: .word 0x00002D68 _02231664: .word 0x00002D70 _02231668: .word 0x00002D74 thumb_func_end MOD83_022315F8 thumb_func_start MOD83_0223166C MOD83_0223166C: ; 0x0223166C push {r3, r4, lr} sub sp, #4 ldr r1, _022316B4 ; =0x00003CEC add r4, r0, #0 mov r0, #0 str r0, [r4, r1] mov r1, #1 str r1, [sp] ldr r1, _022316B8 ; =0x00002D64 mov r2, #0x48 ldr r1, [r4, r1] mov r3, #0xa8 bl MOD83_02238DBC ldr r1, _022316B8 ; =0x00002D64 str r0, [r4, r1] ldr r0, [r4, r1] mov r1, #2 bl FUN_02020238 mov r0, #0 ldr r1, _022316BC ; =0x00002D68 str r0, [sp] ldr r1, [r4, r1] mov r2, #0xb8 mov r3, #0xa8 bl MOD83_02238DBC ldr r1, _022316BC ; =0x00002D68 str r0, [r4, r1] ldr r0, [r4, r1] mov r1, #2 bl FUN_02020238 add sp, #4 pop {r3, r4, pc} .align 2, 0 _022316B4: .word 0x00003CEC _022316B8: .word 0x00002D64 _022316BC: .word 0x00002D68 thumb_func_end MOD83_0223166C thumb_func_start MOD83_022316C0 MOD83_022316C0: ; 0x022316C0 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl FUN_02019048 cmp r0, #1 bne _022316D6 add r0, r5, #0 add r1, r4, #0 bl FUN_0200CCF8 _022316D6: pop {r3, r4, r5, pc} thumb_func_end MOD83_022316C0 thumb_func_start MOD83_022316D8 MOD83_022316D8: ; 0x022316D8 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl FUN_02019048 cmp r0, #1 bne _022316EE add r0, r5, #0 add r1, r4, #0 bl FUN_0200D0E0 _022316EE: pop {r3, r4, r5, pc} thumb_func_end MOD83_022316D8 thumb_func_start MOD83_022316F0 MOD83_022316F0: ; 0x022316F0 push {r4, r5, r6, r7, lr} sub sp, #0x24 add r5, r0, #0 ldr r0, _02231794 ; =0x00002B6C add r4, r1, #0 ldr r0, [r5, r0] add r7, r2, #0 str r3, [sp] cmp r0, #0 beq _02231708 bl FUN_02012870 _02231708: ldr r0, _02231798 ; =0x00002B68 ldr r0, [r5, r0] cmp r0, #0 beq _02231718 mov r1, #0 add r2, r1, #0 bl FUN_02001300 _02231718: add r0, r7, #0 mov r1, #0x57 bl FUN_02012838 ldr r1, _02231794 ; =0x00002B6C ldr r2, _0223179C ; =0x00000172 str r0, [r5, r1] mov r0, #0 mov r1, #0x1a mov r3, #0x57 bl FUN_0200A86C ldr r1, _022317A0 ; =0x000029A4 mov r6, #0 str r0, [r5, r1] cmp r7, #0 ble _02231752 _0223173A: ldr r0, _02231794 ; =0x00002B6C ldr r1, _022317A0 ; =0x000029A4 ldr r0, [r5, r0] ldr r1, [r5, r1] ldr r2, [r4] ldr r3, [r4, #4] bl FUN_02012880 add r6, r6, #1 add r4, #8 cmp r6, r7 blt _0223173A _02231752: ldr r0, _022317A0 ; =0x000029A4 ldr r0, [r5, r0] bl FUN_0200A8B8 ldr r4, _022317A4 ; =0x0223AE90 add r3, sp, #4 add r2, r3, #0 ldmia r4!, {r0, r1} stmia r3!, {r0, r1} ldmia r4!, {r0, r1} stmia r3!, {r0, r1} ldmia r4!, {r0, r1} stmia r3!, {r0, r1} ldmia r4!, {r0, r1} stmia r3!, {r0, r1} ldr r0, _02231794 ; =0x00002B6C mov r1, #0 ldr r0, [r5, r0] mov r3, #0x57 str r0, [sp, #4] add r0, sp, #4 strh r7, [r0, #0x10] ldr r0, [sp] str r0, [sp, #0x10] add r0, r2, #0 add r2, r1, #0 bl FUN_020010A8 ldr r1, _02231798 ; =0x00002B68 str r0, [r5, r1] add sp, #0x24 pop {r4, r5, r6, r7, pc} nop _02231794: .word 0x00002B6C _02231798: .word 0x00002B68 _0223179C: .word 0x00000172 _022317A0: .word 0x000029A4 _022317A4: .word 0x0223AE90 thumb_func_end MOD83_022316F0 thumb_func_start MOD83_022317A8 MOD83_022317A8: ; 0x022317A8 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r2, _02231818 ; =0x00000172 add r5, r0, #0 add r7, r1, #0 mov r0, #1 mov r1, #0x1a mov r3, #0x57 bl FUN_0200A86C add r4, r0, #0 mov r0, #0x57 bl FUN_0200AA80 add r6, r0, #0 mov r0, #1 mov r1, #6 bl FUN_02002E4C add r1, r0, #0 add r0, r5, #0 bl FUN_02019620 add r0, r6, #0 add r1, r4, #0 add r2, r7, #0 mov r3, #0x57 bl FUN_0200A9C4 add r7, r0, #0 mov r3, #0 str r3, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _0223181C ; =0x00010200 mov r1, #1 str r0, [sp, #8] add r0, r5, #0 add r2, r7, #0 str r3, [sp, #0xc] bl FUN_0201BDE0 add r0, r5, #0 bl FUN_020191D0 add r0, r7, #0 bl FUN_02021A20 add r0, r4, #0 bl FUN_0200A8B8 add r0, r6, #0 bl FUN_0200AB18 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02231818: .word 0x00000172 _0223181C: .word 0x00010200 thumb_func_end MOD83_022317A8 thumb_func_start MOD83_02231820 MOD83_02231820: ; 0x02231820 push {r4, lr} sub sp, #0x10 add r4, r0, #0 mov r0, #0x20 str r0, [sp] mov r0, #0x57 mov r3, #0x1e str r0, [sp, #4] mov r0, #0x74 mov r1, #0xb mov r2, #0 lsl r3, r3, #4 bl FUN_02006930 mov r0, #0x20 str r0, [sp] mov r0, #0x57 mov r3, #6 str r0, [sp, #4] mov r0, #0x74 mov r1, #0x10 mov r2, #0 lsl r3, r3, #6 bl FUN_02006930 mov r0, #0 str r0, [sp] mov r0, #3 lsl r0, r0, #0xa str r0, [sp, #4] mov r3, #1 str r3, [sp, #8] mov r0, #0x57 str r0, [sp, #0xc] mov r0, #0x74 mov r1, #0x11 add r2, r4, #0 bl FUN_0200687C mov r0, #0 str r0, [sp] mov r0, #6 lsl r0, r0, #8 str r0, [sp, #4] mov r3, #1 str r3, [sp, #8] mov r0, #0x57 str r0, [sp, #0xc] mov r0, #0x74 mov r1, #0x12 add r2, r4, #0 bl FUN_020068C8 mov r0, #0x20 str r0, [sp] mov r0, #0x18 str r0, [sp, #4] mov r0, #0xc mov r2, #0 str r0, [sp, #8] add r0, r4, #0 mov r1, #1 add r3, r2, #0 bl FUN_020186B4 add r0, r4, #0 mov r1, #1 bl FUN_02017CD0 add sp, #0x10 pop {r4, pc} .align 2, 0 thumb_func_end MOD83_02231820 thumb_func_start MOD83_022318B0 MOD83_022318B0: ; 0x022318B0 push {r4, lr} bl FUN_02006278 add r4, r0, #0 bl MOD83_02231A00 ldr r0, _022318DC ; =0x00002B70 mov r1, #0x2e add r0, r4, r0 bl MOD83_022317A8 mov r3, #0xae lsl r3, r3, #6 add r1, r4, r3 add r3, #0x10 ldr r3, [r4, r3] add r0, r4, #0 mov r2, #0xa bl MOD83_02231F88 mov r0, #0xd pop {r4, pc} .align 2, 0 _022318DC: .word 0x00002B70 thumb_func_end MOD83_022318B0 thumb_func_start MOD83_022318E0 MOD83_022318E0: ; 0x022318E0 push {r4, lr} bl FUN_02006278 add r4, r0, #0 bl MOD83_02231A00 mov r1, #0xad lsl r1, r1, #6 ldr r0, [r4, r1] add r1, #0x20 ldr r1, [r4, r1] add r1, r1, #1 bl FUN_0202AE90 cmp r0, #1 ldr r0, _0223192C ; =0x00002B70 bne _0223190C add r0, r4, r0 mov r1, #0x3e bl MOD83_022317A8 b _02231914 _0223190C: add r0, r4, r0 mov r1, #0x3d bl MOD83_022317A8 _02231914: mov r3, #0xae lsl r3, r3, #6 add r1, r4, r3 add r3, #0x10 ldr r3, [r4, r3] add r0, r4, #0 mov r2, #9 bl MOD83_02231F88 mov r0, #0xc pop {r4, pc} nop _0223192C: .word 0x00002B70 thumb_func_end MOD83_022318E0 thumb_func_start MOD83_02231930 MOD83_02231930: ; 0x02231930 push {r4, lr} bl FUN_02006278 add r4, r0, #0 bl MOD83_02231A00 ldr r0, _022319C0 ; =0x00002B70 mov r1, #0x3f add r0, r4, r0 bl MOD83_022317A8 ldr r0, _022319C0 ; =0x00002B70 mov r1, #0x13 add r0, r4, r0 bl FUN_0200D858 ldr r1, _022319C4 ; =0x00003CF0 str r0, [r4, r1] mov r1, #0xad lsl r1, r1, #6 ldr r0, [r4, r1] add r1, #0x20 ldr r1, [r4, r1] bl FUN_0202ADC8 ldr r0, _022319C8 ; =0x00002B44 ldr r0, [r4, r0] bl FUN_02022720 ldr r0, _022319C4 ; =0x00003CF0 ldr r0, [r4, r0] bl FUN_0200DBFC mov r0, #0xad lsl r0, r0, #6 ldr r0, [r4, r0] bl FUN_0202AE70 cmp r0, #0 bne _02231984 mov r0, #0x1a pop {r4, pc} _02231984: ldr r1, _022319CC ; =0x00002B60 add r0, r4, #0 ldr r1, [r4, r1] mov r2, #1 bl MOD83_022320A4 ldr r1, _022319CC ; =0x00002B60 str r0, [r4, r1] add r1, #0x10 add r0, r4, r1 mov r1, #0x24 bl MOD83_022317A8 mov r3, #0xae lsl r3, r3, #6 add r1, r4, r3 add r3, #0x10 ldr r3, [r4, r3] add r0, r4, #0 mov r2, #8 bl MOD83_02231F88 add r0, r4, #0 mov r1, #1 mov r2, #0 bl MOD83_02231DF0 mov r0, #5 pop {r4, pc} nop _022319C0: .word 0x00002B70 _022319C4: .word 0x00003CF0 _022319C8: .word 0x00002B44 _022319CC: .word 0x00002B60 thumb_func_end MOD83_02231930 thumb_func_start MOD83_022319D0 MOD83_022319D0: ; 0x022319D0 push {r4, lr} bl FUN_02006278 add r4, r0, #0 bl MOD83_02231A00 ldr r0, _022319FC ; =0x00002B70 mov r1, #0x24 add r0, r4, r0 bl MOD83_022317A8 mov r3, #0xae lsl r3, r3, #6 add r1, r4, r3 add r3, #0x10 ldr r3, [r4, r3] add r0, r4, #0 mov r2, #8 bl MOD83_02231F88 mov r0, #5 pop {r4, pc} .align 2, 0 _022319FC: .word 0x00002B70 thumb_func_end MOD83_022319D0 thumb_func_start MOD83_02231A00 MOD83_02231A00: ; 0x02231A00 push {r4, lr} add r4, r0, #0 ldr r0, _02231A40 ; =0x00002B6C ldr r0, [r4, r0] bl FUN_02012870 mov r1, #0 ldr r0, _02231A40 ; =0x00002B6C add r2, r1, #0 str r1, [r4, r0] sub r0, r0, #4 ldr r0, [r4, r0] bl FUN_02001300 ldr r0, _02231A44 ; =0x00002B68 mov r1, #0 str r1, [r4, r0] add r0, #0x18 add r0, r4, r0 bl MOD83_022316C0 mov r0, #0xae lsl r0, r0, #6 add r0, r4, r0 bl FUN_02019570 mov r0, #0xae lsl r0, r0, #6 add r0, r4, r0 bl FUN_02019178 pop {r4, pc} .align 2, 0 _02231A40: .word 0x00002B6C _02231A44: .word 0x00002B68 thumb_func_end MOD83_02231A00 thumb_func_start MOD83_02231A48 MOD83_02231A48: ; 0x02231A48 mov r0, #1 bx lr thumb_func_end MOD83_02231A48 thumb_func_start MOD83_02231A4C MOD83_02231A4C: ; 0x02231A4C push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r0, #0 add r7, r1, #0 ldr r1, [r5] mov r0, #0x25 add r4, r2, #0 bl FUN_020219F4 ldr r1, _02231A9C ; =0x00002B60 add r6, r0, #0 ldr r2, [r5, r1] sub r1, #0xc lsl r2, r2, #2 add r2, r5, r2 ldr r2, [r2, r1] mov r1, #0x41 lsl r1, r1, #2 add r1, r2, r1 mov r2, #0x24 bl FUN_02021E8C mov r3, #0 str r3, [sp] mov r0, #0xff str r0, [sp, #4] str r4, [sp, #8] add r0, r7, #0 mov r1, #1 add r2, r6, #0 str r3, [sp, #0xc] bl FUN_0201BDE0 add r0, r6, #0 bl FUN_02021A20 mov r0, #1 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _02231A9C: .word 0x00002B60 thumb_func_end MOD83_02231A4C thumb_func_start MOD83_02231AA0 MOD83_02231AA0: ; 0x02231AA0 push {r4, r5, r6, lr} sub sp, #0x10 add r4, r0, #0 ldr r0, _02231B10 ; =0x00002B60 add r6, r1, #0 ldr r1, [r4, r0] add r5, r2, #0 lsl r2, r1, #2 add r3, r4, r2 add r2, r0, #0 sub r2, #0xc ldr r3, [r3, r2] ldr r2, _02231B14 ; =0x00000152 ldrb r2, [r3, r2] lsl r2, r2, #0x1c lsr r2, r2, #0x1f bne _02231AC6 mov r2, #0x27 b _02231ADE _02231AC6: sub r0, #0x20 ldr r0, [r4, r0] cmp r0, #0 beq _02231AD8 add r1, r1, #1 bl FUN_0202AE90 cmp r0, #1 bne _02231ADC _02231AD8: mov r2, #0x25 b _02231ADE _02231ADC: mov r2, #0x26 _02231ADE: ldr r1, _02231B18 ; =0x000029A0 ldr r3, [r4] ldr r0, [r4, r1] add r1, r1, #4 ldr r1, [r4, r1] bl FUN_0200A9C4 add r4, r0, #0 mov r3, #0 str r3, [sp] mov r0, #0xff str r0, [sp, #4] str r5, [sp, #8] add r0, r6, #0 mov r1, #1 add r2, r4, #0 str r3, [sp, #0xc] bl FUN_0201BDE0 add r0, r4, #0 bl FUN_02021A20 mov r0, #1 add sp, #0x10 pop {r4, r5, r6, pc} .align 2, 0 _02231B10: .word 0x00002B60 _02231B14: .word 0x00000152 _02231B18: .word 0x000029A0 thumb_func_end MOD83_02231AA0 thumb_func_start MOD83_02231B1C MOD83_02231B1C: ; 0x02231B1C push {r4, lr} sub sp, #0x18 ldr r1, _02231B7C ; =0x00002B60 add r4, r0, #0 ldr r2, [r4, r1] sub r1, #0xc lsl r2, r2, #2 add r2, r4, r2 ldr r2, [r2, r1] mov r1, #0xd5 lsl r1, r1, #2 ldr r1, [r2, r1] add r0, sp, #8 bl RTC_ConvertDayToDate mov r0, #2 str r0, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _02231B80 ; =0x000029A0 mov r2, #0x7d ldr r3, [sp, #8] lsl r2, r2, #4 add r2, r3, r2 ldr r0, [r4, r0] mov r1, #0 mov r3, #4 bl FUN_0200AD38 ldr r0, _02231B80 ; =0x000029A0 ldr r2, [sp, #0xc] ldr r0, [r4, r0] mov r1, #1 bl FUN_0200B764 mov r1, #2 str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _02231B80 ; =0x000029A0 ldr r2, [sp, #0x10] ldr r0, [r4, r0] add r3, r1, #0 bl FUN_0200AD38 mov r0, #1 add sp, #0x18 pop {r4, pc} .align 2, 0 _02231B7C: .word 0x00002B60 _02231B80: .word 0x000029A0 thumb_func_end MOD83_02231B1C thumb_func_start MOD83_02231B84 MOD83_02231B84: ; 0x02231B84 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r0, #0 add r7, r1, #0 mov r0, #0xfb mov r1, #0x57 add r4, r2, #0 bl FUN_020219F4 ldr r1, _02231BD4 ; =0x00002B60 add r6, r0, #0 ldr r2, [r5, r1] sub r1, #0xc lsl r2, r2, #2 add r2, r5, r2 ldr r2, [r2, r1] mov r1, #0x55 lsl r1, r1, #2 add r1, r2, r1 mov r2, #0xfa bl FUN_02021E8C mov r3, #0 str r3, [sp] mov r0, #0xff str r0, [sp, #4] str r4, [sp, #8] add r0, r7, #0 mov r1, #1 add r2, r6, #0 str r3, [sp, #0xc] bl FUN_0201BDE0 add r0, r6, #0 bl FUN_02021A20 mov r0, #0 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _02231BD4: .word 0x00002B60 thumb_func_end MOD83_02231B84 thumb_func_start MOD83_02231BD8 MOD83_02231BD8: ; 0x02231BD8 push {r4, r5, r6, lr} sub sp, #0x10 add r3, r0, #0 ldr r0, _02231C50 ; =0x00002B60 add r6, r1, #0 ldr r1, [r3, r0] sub r0, #0xc lsl r1, r1, #2 add r1, r3, r1 ldr r1, [r1, r0] mov r0, #0xd2 lsl r0, r0, #2 add r5, r2, #0 ldrb r2, [r1, r0] cmp r2, #0xff bne _02231C2C ldr r1, _02231C54 ; =0x000029A0 mov r2, #0x33 ldr r0, [r3, r1] add r1, r1, #4 ldr r1, [r3, r1] mov r3, #0x57 bl FUN_0200A9C4 add r4, r0, #0 mov r3, #0 str r3, [sp] mov r0, #0xff str r0, [sp, #4] str r5, [sp, #8] add r0, r6, #0 mov r1, #1 add r2, r4, #0 str r3, [sp, #0xc] bl FUN_0201BDE0 add r0, r4, #0 bl FUN_02021A20 add sp, #0x10 mov r0, #0 pop {r4, r5, r6, pc} _02231C2C: cmp r2, #0 beq _02231C48 mov r1, #0 str r1, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _02231C54 ; =0x000029A0 ldr r0, [r3, r0] mov r3, #3 bl FUN_0200AD38 add sp, #0x10 mov r0, #1 pop {r4, r5, r6, pc} _02231C48: mov r0, #0 add sp, #0x10 pop {r4, r5, r6, pc} nop _02231C50: .word 0x00002B60 _02231C54: .word 0x000029A0 thumb_func_end MOD83_02231BD8 thumb_func_start MOD83_02231C58 MOD83_02231C58: ; 0x02231C58 push {r4, r5, r6, r7, lr} sub sp, #0x34 add r5, r0, #0 mov r0, #0 add r7, r1, #0 add r1, r0, #1 ldr r0, _02231D38 ; =0x0223AE40 ldr r2, _02231D38 ; =0x0223AE40 ldr r0, [r0, #0x30] ldr r2, [r2, #0x34] str r0, [sp, #0x14] ldr r0, _02231D3C ; =0x00002B60 str r2, [sp, #0x18] ldr r2, [r5, r0] sub r0, #0xc lsl r2, r2, #2 add r2, r5, r2 ldr r2, [r2, r0] mov r0, #0xd2 lsl r0, r0, #2 ldrb r0, [r2, r0] add r4, r1, #0 add r6, sp, #0x14 cmp r0, #0 beq _02231C9C ldr r0, _02231D38 ; =0x0223AE40 ldr r2, _02231D38 ; =0x0223AE40 ldr r0, [r0, #0x38] add r4, r1, #1 lsl r1, r1, #3 ldr r2, [r2, #0x3c] add r3, r6, r1 str r0, [r6, r1] str r2, [r3, #4] _02231C9C: mov r1, #0xad lsl r1, r1, #6 ldr r0, [r5, r1] add r1, #0x20 ldr r1, [r5, r1] add r1, r1, #1 bl FUN_0202AE90 cmp r0, #0 bne _02231CC2 ldr r2, _02231D38 ; =0x0223AE40 lsl r1, r4, #3 ldr r0, [r2, #0x40] add r6, sp, #0x14 ldr r2, [r2, #0x44] add r3, r6, r1 str r0, [r6, r1] add r4, r4, #1 str r2, [r3, #4] _02231CC2: ldr r2, _02231D38 ; =0x0223AE40 lsl r1, r4, #3 ldr r0, [r2, #0x48] add r6, sp, #0x14 str r0, [r6, r1] ldr r2, [r2, #0x4c] add r3, r6, r1 ldr r0, _02231D40 ; =0x00002B3C str r2, [r3, #4] ldr r6, [r5, r0] add r0, r7, #0 bl FUN_02019570 add r0, r7, #0 bl FUN_02019178 add r1, r4, #1 mov r0, #4 sub r0, r0, r1 ldr r1, [r6, #8] lsl r0, r0, #1 add r1, r1, r0 lsl r1, r1, #0x18 lsr r1, r1, #0x18 str r1, [sp] ldr r1, [r6, #0xc] mov r2, #2 lsl r1, r1, #0x18 lsr r1, r1, #0x18 str r1, [sp, #4] ldr r1, [r6, #0x10] sub r0, r1, r0 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #8] mov r0, #0xf str r0, [sp, #0xc] ldr r0, _02231D44 ; =0x00002B38 add r1, r7, #0 ldr r0, [r5, r0] lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x10] ldr r0, _02231D48 ; =0x0000299C ldr r3, [r6, #4] ldr r0, [r5, r0] lsl r3, r3, #0x18 lsr r3, r3, #0x18 bl FUN_02019064 add r0, r5, #0 add r1, sp, #0x14 add r2, r4, #1 add r3, r7, #0 bl MOD83_022316F0 mov r0, #1 add sp, #0x34 pop {r4, r5, r6, r7, pc} .align 2, 0 _02231D38: .word 0x0223AE40 _02231D3C: .word 0x00002B60 _02231D40: .word 0x00002B3C _02231D44: .word 0x00002B38 _02231D48: .word 0x0000299C thumb_func_end MOD83_02231C58 thumb_func_start MOD83_02231D4C MOD83_02231D4C: ; 0x02231D4C push {r3, lr} add r3, r1, #0 ldr r1, _02231D5C ; =0x0223AE40 mov r2, #2 bl MOD83_022316F0 mov r0, #1 pop {r3, pc} .align 2, 0 _02231D5C: .word 0x0223AE40 thumb_func_end MOD83_02231D4C thumb_func_start MOD83_02231D60 MOD83_02231D60: ; 0x02231D60 push {r3, lr} add r3, r1, #0 ldr r1, _02231D70 ; =0x0223AE60 mov r2, #2 bl MOD83_022316F0 mov r0, #1 pop {r3, pc} .align 2, 0 _02231D70: .word 0x0223AE60 thumb_func_end MOD83_02231D60 thumb_func_start MOD83_02231D74 MOD83_02231D74: ; 0x02231D74 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, _02231D94 ; =0x00002B70 add r4, r1, #0 add r0, r5, r0 mov r1, #2 bl MOD83_022317A8 ldr r1, _02231D98 ; =0x0223AE50 add r0, r5, #0 mov r2, #2 add r3, r4, #0 bl MOD83_022316F0 mov r0, #1 pop {r3, r4, r5, pc} .align 2, 0 _02231D94: .word 0x00002B70 _02231D98: .word 0x0223AE50 thumb_func_end MOD83_02231D74 thumb_func_start MOD83_02231D9C MOD83_02231D9C: ; 0x02231D9C push {r3, lr} sub sp, #8 mov r3, #1 str r3, [sp] ldr r1, _02231DB8 ; =0x000029A0 str r3, [sp, #4] ldr r0, [r0, r1] mov r1, #0 add r2, r1, #0 bl FUN_0200AD38 mov r0, #1 add sp, #8 pop {r3, pc} .align 2, 0 _02231DB8: .word 0x000029A0 thumb_func_end MOD83_02231D9C thumb_func_start MOD83_02231DBC MOD83_02231DBC: ; 0x02231DBC push {r3, r4, r5, r6, lr} sub sp, #0xc add r5, r0, #0 mov r0, #6 str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #0x57 str r0, [sp, #8] add r6, r2, #0 mov r0, #0 add r4, r3, #0 add r2, r1, #0 add r3, r0, #0 bl FUN_0200E1D0 cmp r4, #0 beq _02231DE4 mov r0, #0x1b str r0, [r4] _02231DE4: ldr r0, _02231DEC ; =0x00002BE0 str r6, [r5, r0] add sp, #0xc pop {r3, r4, r5, r6, pc} .align 2, 0 _02231DEC: .word 0x00002BE0 thumb_func_end MOD83_02231DBC thumb_func_start MOD83_02231DF0 MOD83_02231DF0: ; 0x02231DF0 push {r4, r5, r6, r7, lr} sub sp, #0x34 add r5, r0, #0 str r2, [sp, #0x14] ldr r2, _02231F68 ; =0x00000172 ldr r3, [r5] mov r0, #1 mov r1, #0x1a ldr r4, _02231F6C ; =0x0223AEB0 bl FUN_0200A86C ldr r1, _02231F70 ; =0x000029A4 str r0, [r5, r1] ldr r0, [r5] bl FUN_0200AA80 ldr r1, _02231F74 ; =0x000029A0 str r0, [r5, r1] ldr r1, _02231F78 ; =0x00002B64 ldr r0, [sp, #0x14] str r0, [r5, r1] ldr r1, [sp, #0x14] add r0, r5, #0 bl MOD83_02232118 mov r0, #0 str r0, [sp, #0x2c] ldr r0, _02231F7C ; =0x000029A8 add r7, r4, #0 str r5, [sp, #0x1c] add r6, r5, r0 _02231E2E: ldr r1, [r7] ldr r0, [sp, #0x14] cmp r0, r1 beq _02231E50 cmp r1, #2 beq _02231E50 ldr r1, [sp, #0x1c] ldr r0, _02231F7C ; =0x000029A8 ldr r0, [r1, r0] cmp r0, #0 beq _02231E50 add r0, r6, #0 bl FUN_02019570 add r0, r6, #0 bl FUN_02019178 _02231E50: ldr r0, [sp, #0x1c] add r7, #0x30 add r0, #0x10 str r0, [sp, #0x1c] ldr r0, [sp, #0x2c] add r6, #0x10 add r0, r0, #1 str r0, [sp, #0x2c] cmp r0, #0x13 blo _02231E2E mov r0, #0 str r0, [sp, #0x18] ldr r0, _02231F7C ; =0x000029A8 mov r7, #0x31 str r5, [sp, #0x24] str r5, [sp, #0x20] add r6, r5, r0 _02231E72: ldr r1, [r4] ldr r0, [sp, #0x14] cmp r0, r1 bne _02231F2E ldr r1, [sp, #0x24] ldr r0, _02231F7C ; =0x000029A8 ldr r0, [r1, r0] cmp r0, #0 bne _02231EBE ldr r1, [sp, #0x20] ldr r0, _02231F80 ; =0x00002AE8 mov r2, #0 str r7, [r1, r0] ldr r0, [r4, #8] add r1, r6, #0 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp] ldr r0, [r4, #0xc] lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #4] ldr r0, [r4, #0x10] lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #8] mov r0, #0xf str r0, [sp, #0xc] lsl r0, r7, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x10] ldr r0, _02231F84 ; =0x0000299C ldr r3, [r4, #4] ldr r0, [r5, r0] lsl r3, r3, #0x18 lsr r3, r3, #0x18 bl FUN_02019064 _02231EBE: ldr r0, [r4, #0x14] ldr r1, [r4, #0x1c] lsl r0, r0, #0x18 lsl r1, r1, #0x18 lsr r0, r0, #0x18 lsr r1, r1, #0x18 bl FUN_02002E4C add r1, r0, #0 add r0, r6, #0 bl FUN_02019620 ldr r0, [r4, #0x18] ldr r3, [r4, #0x24] str r0, [sp, #0x28] ldr r2, [sp, #0x28] add r0, r5, #0 add r1, r6, #0 blx r3 cmp r0, #1 bne _02231F20 ldr r2, [r4, #0x20] cmp r2, #0 beq _02231F20 ldr r0, _02231F74 ; =0x000029A0 ldr r1, _02231F70 ; =0x000029A4 ldr r0, [r5, r0] ldr r1, [r5, r1] ldr r3, [r5] bl FUN_0200A9C4 str r0, [sp, #0x30] ldr r0, [r4, #0x2c] ldr r2, [sp, #0x30] str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, [sp, #0x28] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] ldr r1, [r4, #0x14] ldr r3, [r4, #0x28] add r0, r6, #0 bl FUN_0201BDE0 ldr r0, [sp, #0x30] bl FUN_02021A20 _02231F20: add r0, r6, #0 bl FUN_020191D0 ldr r1, [r4, #0xc] ldr r0, [r4, #0x10] mul r0, r1 add r7, r7, r0 _02231F2E: ldr r0, [sp, #0x24] add r4, #0x30 add r0, #0x10 str r0, [sp, #0x24] ldr r0, [sp, #0x20] add r6, #0x10 add r0, r0, #4 str r0, [sp, #0x20] ldr r0, [sp, #0x18] add r0, r0, #1 str r0, [sp, #0x18] cmp r0, #0x13 blo _02231E72 ldr r0, _02231F70 ; =0x000029A4 ldr r0, [r5, r0] bl FUN_0200A8B8 ldr r0, _02231F74 ; =0x000029A0 ldr r0, [r5, r0] bl FUN_0200AB18 ldr r0, [sp, #0x14] cmp r0, #0 bne _02231F64 add r0, r5, #0 bl MOD83_0223227C _02231F64: add sp, #0x34 pop {r4, r5, r6, r7, pc} .align 2, 0 _02231F68: .word 0x00000172 _02231F6C: .word 0x0223AEB0 _02231F70: .word 0x000029A4 _02231F74: .word 0x000029A0 _02231F78: .word 0x00002B64 _02231F7C: .word 0x000029A8 _02231F80: .word 0x00002AE8 _02231F84: .word 0x0000299C thumb_func_end MOD83_02231DF0 thumb_func_start MOD83_02231F88 MOD83_02231F88: ; 0x02231F88 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r5, r0, #0 add r7, r3, #0 mov r3, #0x30 ldr r0, _02232084 ; =0x0223AEB0 mul r3, r2 add r6, r1, #0 add r4, r0, r3 ldr r0, [r6] cmp r0, #0 bne _02231FD2 ldr r0, [r4, #8] mov r2, #2 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp] ldr r0, [r4, #0xc] lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #4] ldr r0, [r4, #0x10] lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #8] mov r0, #0xf str r0, [sp, #0xc] lsl r0, r7, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x10] ldr r0, _02232088 ; =0x0000299C ldr r3, [r4, #4] ldr r0, [r5, r0] lsl r3, r3, #0x18 lsr r3, r3, #0x18 bl FUN_02019064 _02231FD2: ldr r1, [r4, #0x1c] add r0, r6, #0 lsl r1, r1, #0x18 lsr r1, r1, #0x18 bl FUN_02019620 ldr r0, [r4, #0x20] cmp r0, #0 beq _02231FFE ldr r2, _0223208C ; =0x00000172 mov r0, #1 mov r1, #0x1a mov r3, #0x57 bl FUN_0200A86C ldr r1, _02232090 ; =0x000029A4 str r0, [r5, r1] mov r0, #0x57 bl FUN_0200AA80 ldr r1, _02232094 ; =0x000029A0 str r0, [r5, r1] _02231FFE: ldr r0, _02232098 ; =0x00002B38 ldr r2, _0223209C ; =0x00010200 str r7, [r5, r0] add r0, r0, #4 str r4, [r5, r0] ldr r3, [r4, #0x24] add r0, r5, #0 add r1, r6, #0 blx r3 ldr r2, [r4, #0x20] cmp r2, #0 beq _02232054 ldr r1, _02232094 ; =0x000029A0 mov r3, #0x57 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] bl FUN_0200A9C4 str r0, [sp, #0x14] mov r3, #0 str r3, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, [r4, #0x18] ldr r2, [sp, #0x14] str r0, [sp, #8] str r3, [sp, #0xc] ldr r1, [r4, #0x14] add r0, r6, #0 bl FUN_0201BDE0 ldr r0, [sp, #0x14] bl FUN_02021A20 ldr r0, _02232090 ; =0x000029A4 ldr r0, [r5, r0] bl FUN_0200A8B8 ldr r0, _02232094 ; =0x000029A0 ldr r0, [r5, r0] bl FUN_0200AB18 _02232054: ldr r0, _022320A0 ; =0x00002B70 add r0, r5, r0 cmp r6, r0 bne _0223206A add r0, r6, #0 mov r1, #0 mov r2, #0x13 mov r3, #0xa bl FUN_0200D0BC b _02232076 _0223206A: add r0, r6, #0 mov r1, #0 mov r2, #0xa mov r3, #0xe bl FUN_0200CCA4 _02232076: ldr r1, [r4, #0xc] ldr r0, [r4, #0x10] mul r0, r1 add r0, r7, r0 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} nop _02232084: .word 0x0223AEB0 _02232088: .word 0x0000299C _0223208C: .word 0x00000172 _02232090: .word 0x000029A4 _02232094: .word 0x000029A0 _02232098: .word 0x00002B38 _0223209C: .word 0x00010200 _022320A0: .word 0x00002B70 thumb_func_end MOD83_02231F88 thumb_func_start MOD83_022320A4 MOD83_022320A4: ; 0x022320A4 push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r5, r0, #0 add r6, r2, #0 add r7, r4, #0 _022320AE: add r4, r4, r6 cmp r4, #3 bne _022320B6 mov r4, #0 _022320B6: mov r0, #0 mvn r0, r0 cmp r4, r0 bne _022320C0 mov r4, #2 _022320C0: cmp r7, r4 beq _022320D4 mov r0, #0xad lsl r0, r0, #6 ldr r0, [r5, r0] add r1, r4, #0 bl FUN_0202AE4C cmp r0, #0 beq _022320AE _022320D4: add r0, r4, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD83_022320A4 thumb_func_start MOD83_022320D8 MOD83_022320D8: ; 0x022320D8 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r4, r2, #0 mov r2, #1 add r5, r0, #0 str r2, [sp] add r6, r3, #0 ldr r3, [r5] mov r0, #0x74 bl FUN_02006C98 add r1, sp, #4 add r7, r0, #0 bl FUN_020B0180 ldr r0, _02232114 ; =0x0000299C ldr r2, [sp, #4] lsl r1, r4, #0x18 ldr r0, [r5, r0] lsr r1, r1, #0x18 add r2, #0xc add r3, r6, #0 bl FUN_02017DFC add r0, r7, #0 bl FUN_02016A18 add sp, #8 pop {r3, r4, r5, r6, r7, pc} nop _02232114: .word 0x0000299C thumb_func_end MOD83_022320D8 thumb_func_start MOD83_02232118 MOD83_02232118: ; 0x02232118 push {r3, r4, r5, lr} sub sp, #0x10 add r5, r0, #0 mov r0, #1 lsl r0, r0, #8 str r0, [sp] ldr r0, [r5] mov r2, #0 add r4, r1, #0 str r0, [sp, #4] mov r0, #0x74 mov r1, #3 add r3, r2, #0 bl FUN_02006930 mov r0, #0 str r0, [sp] mov r0, #3 lsl r0, r0, #0xc str r0, [sp, #4] mov r3, #1 str r3, [sp, #8] ldr r0, [r5] ldr r2, _02232204 ; =0x0000299C str r0, [sp, #0xc] ldr r2, [r5, r2] mov r0, #0x74 mov r1, #6 bl FUN_0200687C cmp r4, #0 beq _0223215E cmp r4, #1 beq _0223217E b _0223219C _0223215E: mov r0, #0 str r0, [sp] mov r0, #6 lsl r0, r0, #8 str r0, [sp, #4] mov r3, #1 str r3, [sp, #8] ldr r0, [r5] ldr r2, _02232204 ; =0x0000299C str r0, [sp, #0xc] ldr r2, [r5, r2] mov r0, #0x74 mov r1, #4 bl FUN_020068C8 b _0223219C _0223217E: mov r0, #0 str r0, [sp] mov r0, #6 lsl r0, r0, #8 str r0, [sp, #4] mov r3, #1 str r3, [sp, #8] ldr r0, [r5] ldr r2, _02232204 ; =0x0000299C str r0, [sp, #0xc] ldr r2, [r5, r2] mov r0, #0x74 mov r1, #5 bl FUN_020068C8 _0223219C: mov r0, #0x20 str r0, [sp] ldr r0, [r5] mov r1, #0 str r0, [sp, #4] mov r0, #0x74 add r3, r0, #0 add r2, r1, #0 add r3, #0xec bl FUN_02006930 mov r0, #0 str r0, [sp] mov r0, #2 lsl r0, r0, #8 str r0, [sp, #4] mov r1, #1 str r1, [sp, #8] ldr r0, [r5] ldr r2, _02232204 ; =0x0000299C str r0, [sp, #0xc] ldr r2, [r5, r2] mov r0, #0x74 mov r3, #3 bl FUN_0200687C mov r2, #3 add r0, r5, #0 mov r1, #2 lsl r3, r2, #9 bl MOD83_022320D8 mov r0, #0x20 str r0, [sp] mov r0, #0x18 str r0, [sp, #4] mov r0, #0xb str r0, [sp, #8] ldr r0, _02232204 ; =0x0000299C mov r2, #0 ldr r0, [r5, r0] mov r1, #3 add r3, r2, #0 bl FUN_020186B4 ldr r0, _02232204 ; =0x0000299C mov r1, #3 ldr r0, [r5, r0] bl FUN_02017CD0 add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 _02232204: .word 0x0000299C thumb_func_end MOD83_02232118 thumb_func_start MOD83_02232208 MOD83_02232208: ; 0x02232208 push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 add r5, r1, #0 add r6, r2, #0 bl FUN_02006278 ldr r1, _02232270 ; =0x00002B68 ldr r0, [r0, r1] bl FUN_02001204 add r4, r0, #0 mov r0, #1 mvn r0, r0 cmp r4, r0 beq _0223222E add r0, r0, #1 cmp r4, r0 beq _0223226C b _02232248 _0223222E: ldr r0, _02232274 ; =0x000005DC bl FUN_020054C8 cmp r6, #0 beq _0223226C add r0, r7, #0 blx r6 mov r1, #0 mvn r1, r1 cmp r0, r1 beq _0223226C str r0, [r5] pop {r3, r4, r5, r6, r7, pc} _02232248: ldr r0, _02232274 ; =0x000005DC bl FUN_020054C8 cmp r4, #0 beq _0223226C cmp r4, #0x1e bhs _0223225A str r4, [r5] pop {r3, r4, r5, r6, r7, pc} _0223225A: ldr r0, _02232278 ; =0x0223B89C str r4, [r0] add r0, r7, #0 blx r4 mov r1, #0 mvn r1, r1 cmp r0, r1 beq _0223226C str r0, [r5] _0223226C: pop {r3, r4, r5, r6, r7, pc} nop _02232270: .word 0x00002B68 _02232274: .word 0x000005DC _02232278: .word 0x0223B89C thumb_func_end MOD83_02232208 thumb_func_start MOD83_0223227C MOD83_0223227C: ; 0x0223227C push {r4, r5, r6, r7, lr} sub sp, #0x1c ldr r1, _02232398 ; =0x00002D6C add r5, r0, #0 ldr r0, [r5, r1] cmp r0, #0 bne _022322DC add r0, r1, #4 ldr r0, [r5, r0] cmp r0, #0 bne _022322DC add r1, #8 ldr r0, [r5, r1] cmp r0, #0 bne _022322DC bl MOD83_02238B38 cmp r0, #1 bne _022322A8 add r0, r5, #0 bl MOD83_022315F8 _022322A8: bl MOD83_02238AFC bl MOD83_02238B4C mov r0, #0x18 str r0, [sp] mov r0, #0 str r0, [sp, #4] mov r0, #0x74 mov r1, #0x1a mov r2, #0x17 mov r3, #0x19 bl MOD83_02238BC4 bl FUN_0206B888 add r1, r0, #0 mov r0, #0 str r0, [sp] ldr r0, [r5] mov r2, #1 str r0, [sp, #4] mov r0, #0x13 mov r3, #0x60 bl FUN_02006930 _022322DC: mov r0, #0xb2 mov r6, #0 str r0, [sp, #0x10] str r6, [sp, #8] add r4, r5, #0 mov r7, #0x64 _022322E8: ldr r0, _0223239C ; =0x00002B60 ldr r0, [r5, r0] lsl r0, r0, #2 add r1, r5, r0 ldr r0, _022323A0 ; =0x00002B54 ldr r1, [r1, r0] ldr r0, [sp, #8] add r1, r1, r0 ldr r0, _022323A4 ; =0x0000034A ldrh r0, [r1, r0] str r0, [sp, #0xc] cmp r0, #0 bne _02232312 ldr r0, _02232398 ; =0x00002D6C ldr r0, [r4, r0] cmp r0, #0 beq _0223237C mov r1, #0 bl FUN_020200A0 b _0223237C _02232312: add r0, r6, #0 add r0, #0xa str r0, [sp] ldr r1, _02232398 ; =0x00002D6C ldr r2, [sp, #0x10] ldr r1, [r4, r1] mov r0, #0 mov r3, #0x10 bl MOD83_02238DBC ldr r1, _02232398 ; =0x00002D6C str r0, [r4, r1] mov r1, #0 ldr r0, [sp, #0xc] add r2, r1, #0 bl FUN_0206B6D4 add r1, r0, #0 ldr r0, [r5] mov r2, #0 str r0, [sp] mov r0, #0x13 add r3, sp, #0x18 bl FUN_02006BB0 str r0, [sp, #0x14] ldr r0, [sp, #0x18] mov r1, #2 ldr r0, [r0, #0x14] lsl r1, r1, #8 bl DC_FlushRange ldr r0, [sp, #0x18] mov r2, #2 ldr r0, [r0, #0x14] lsl r1, r7, #5 lsl r2, r2, #8 bl GX_LoadOBJ mov r1, #0 ldr r0, [sp, #0xc] add r2, r1, #0 bl FUN_0206B7BC add r1, r0, #0 ldr r0, _02232398 ; =0x00002D6C add r1, r1, #3 ldr r0, [r4, r0] bl FUN_02020248 ldr r0, [sp, #0x14] bl FUN_02016A18 _0223237C: ldr r0, [sp, #8] add r6, r6, #1 add r0, r0, #2 str r0, [sp, #8] ldr r0, [sp, #0x10] add r4, r4, #4 add r0, #0x19 add r7, #0x10 str r0, [sp, #0x10] cmp r6, #3 blt _022322E8 add sp, #0x1c pop {r4, r5, r6, r7, pc} nop _02232398: .word 0x00002D6C _0223239C: .word 0x00002B60 _022323A0: .word 0x00002B54 _022323A4: .word 0x0000034A thumb_func_end MOD83_0223227C thumb_func_start MOD83_022323A8 MOD83_022323A8: ; 0x022323A8 push {r4, lr} mov r2, #2 add r4, r0, #0 mov r0, #3 mov r1, #0x57 lsl r2, r2, #0x10 bl FUN_0201681C ldr r1, _0223240C ; =0x00003CF4 add r0, r4, #0 mov r2, #0x57 bl FUN_02006268 ldr r2, _0223240C ; =0x00003CF4 mov r1, #0 add r4, r0, #0 bl Call_FillMemWithValue mov r0, #0x57 bl FUN_02016B94 ldr r1, _02232410 ; =0x0000299C str r0, [r4, r1] mov r0, #0x57 str r0, [r4] mov r0, #0 add r1, r0, #0 bl FUN_0200E3A0 mov r0, #1 mov r1, #0 bl FUN_0200E3A0 ldr r0, _02232414 ; =0x00002B60 mov r1, #2 str r1, [r4, r0] mov r1, #1 add r0, #0x7c str r1, [r4, r0] mov r0, #0x57 bl MOD83_02238770 mov r2, #3 mov r0, #0 mov r1, #0x5b lsl r2, r2, #8 bl FUN_0201681C mov r0, #1 pop {r4, pc} .align 2, 0 _0223240C: .word 0x00003CF4 _02232410: .word 0x0000299C _02232414: .word 0x00002B60 thumb_func_end MOD83_022323A8 thumb_func_start MOD83_02232418 MOD83_02232418: ; 0x02232418 push {r4, lr} add r4, r1, #0 bl FUN_020129C8 mov r0, #3 lsl r0, r0, #0xa ldr r0, [r4, r0] bl FUN_0201299C ldr r1, _02232438 ; =0x04000010 mov r2, #8 mov r3, #1 bl FUN_020129D8 pop {r4, pc} nop _02232438: .word 0x04000010 thumb_func_end MOD83_02232418 thumb_func_start MOD83_0223243C MOD83_0223243C: ; 0x0223243C push {r3, r4, r5, lr} ldr r4, _02232490 ; =0x000030D0 ldr r5, _02232494 ; =0x00000C14 add r4, r0, r4 add r0, r5, #0 str r1, [r4, r5] sub r0, #0xc str r2, [r4, r0] add r0, r5, #0 sub r0, #8 sub r5, #0x14 str r3, [r4, r0] ldr r0, [r4, r5] cmp r0, #0 bne _0223246E mov r2, #6 lsl r2, r2, #8 mov r0, #0x57 add r1, r4, #0 add r2, r4, r2 bl FUN_02012944 mov r1, #3 lsl r1, r1, #0xa str r0, [r4, r1] _0223246E: ldr r0, _02232498 ; =0x00000C04 ldr r0, [r4, r0] cmp r0, #0 bne _02232486 mov r2, #1 ldr r0, _0223249C ; =MOD83_02232418 add r1, r4, #0 lsl r2, r2, #0xa bl FUN_0200CA60 ldr r1, _02232498 ; =0x00000C04 str r0, [r4, r1] _02232486: mov r0, #0xc1 mov r1, #1 lsl r0, r0, #4 str r1, [r4, r0] pop {r3, r4, r5, pc} .align 2, 0 _02232490: .word 0x000030D0 _02232494: .word 0x00000C14 _02232498: .word 0x00000C04 _0223249C: .word MOD83_02232418 thumb_func_end MOD83_0223243C thumb_func_start MOD83_022324A0 MOD83_022324A0: ; 0x022324A0 push {r4, lr} ldr r1, _022324D4 ; =0x000030D0 add r4, r0, r1 mov r0, #3 lsl r0, r0, #0xa ldr r0, [r4, r0] cmp r0, #0 beq _022324B4 bl FUN_02012974 _022324B4: ldr r0, _022324D8 ; =0x00000C04 ldr r0, [r4, r0] cmp r0, #0 beq _022324C0 bl FUN_0200CAB4 _022324C0: mov r0, #3 mov r1, #0 lsl r0, r0, #0xa str r1, [r4, r0] add r0, r0, #4 str r1, [r4, r0] bl FUN_020129C8 pop {r4, pc} nop _022324D4: .word 0x000030D0 _022324D8: .word 0x00000C04 thumb_func_end MOD83_022324A0 thumb_func_start MOD83_022324DC MOD83_022324DC: ; 0x022324DC push {r3, r4, r5, r6, r7, lr} ldr r1, _022325E4 ; =0x000030D0 mov r5, #0x15 add r4, r0, r1 mov r0, #0xc1 lsl r0, r0, #4 ldr r1, [r4, r0] lsl r5, r5, #0xe cmp r1, #0 bne _022324F4 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _022324F4: add r1, r0, #4 ldr r1, [r4, r1] cmp r1, #1 bne _02232542 add r1, r0, #0 sub r1, #8 ldr r2, [r4, r1] sub r1, r0, #4 ldr r1, [r4, r1] add r2, r2, r1 add r1, r0, #0 sub r1, #8 str r2, [r4, r1] sub r1, r0, #4 ldr r2, [r4, r1] add r1, r2, #0 add r2, r2, r1 sub r1, r0, #4 str r2, [r4, r1] add r1, r0, #0 sub r1, #8 ldr r2, [r4, r1] asr r1, r2, #0xb lsr r1, r1, #0x14 add r1, r2, r1 asr r2, r1, #0xc mov r1, #0xfa lsl r1, r1, #2 cmp r2, r1 ble _0223257C mov r2, #0 add r1, r0, #0 str r2, [r4, r0] sub r1, #8 str r2, [r4, r1] sub r0, r0, #4 mov r5, #0xa8 str r2, [r4, r0] b _0223257C _02232542: add r1, r0, #0 sub r1, #8 ldr r2, [r4, r1] sub r1, r0, #4 ldr r1, [r4, r1] sub r2, r2, r1 add r1, r0, #0 sub r1, #8 str r2, [r4, r1] sub r1, r0, #4 ldr r2, [r4, r1] lsr r1, r2, #0x1f add r1, r2, r1 asr r2, r1, #1 sub r1, r0, #4 str r2, [r4, r1] mov r2, #1 ldr r1, [r4, r1] lsl r2, r2, #0xa cmp r1, r2 bge _0223257C mov r1, #0 lsl r3, r2, #2 add r2, r0, #0 str r1, [r4, r0] sub r2, #8 str r3, [r4, r2] sub r0, r0, #4 str r1, [r4, r0] _0223257C: mov r0, #3 lsl r0, r0, #0xa ldr r0, [r4, r0] bl FUN_02012988 add r2, r0, #0 mov r0, #0x54 add r3, r0, #0 add r3, #0xfc _0223258E: asr r1, r5, #0xb lsr r1, r1, #0x14 add r1, r5, r1 asr r1, r1, #0xc bpl _0223259A mov r1, #0 _0223259A: cmp r1, #0xa8 ble _022325A0 mov r1, #0xa8 _022325A0: lsl r6, r3, #1 add r7, r2, r6 sub r6, r1, r0 strh r6, [r7, #6] ldrh r6, [r7, #6] sub r1, r0, r1 add r3, r3, #4 strh r6, [r7, #2] mov r6, #0xa8 sub r6, r6, r0 lsl r6, r6, #3 add r6, r2, r6 strh r1, [r6, #6] ldrh r1, [r6, #6] add r0, r0, #1 strh r1, [r6, #2] ldr r1, _022325E8 ; =0x00000C08 ldr r1, [r4, r1] add r5, r5, r1 cmp r0, #0xa8 blt _0223258E mov r1, #6 add r0, r2, #0 lsl r1, r1, #8 bl DC_FlushRange mov r0, #3 lsl r0, r0, #0xa ldr r0, [r4, r0] bl FUN_020129B4 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} nop _022325E4: .word 0x000030D0 _022325E8: .word 0x00000C08 thumb_func_end MOD83_022324DC thumb_func_start MOD83_022325EC MOD83_022325EC: ; 0x022325EC push {r4, lr} add r4, r0, #0 bl MOD83_022394CC sub r0, r0, #2 cmp r0, #1 bhi _02232606 ldr r0, _02232608 ; =0x0000061B bl FUN_020054C8 ldr r0, _0223260C ; =0x00003CE8 mov r1, #0 str r1, [r4, r0] _02232606: pop {r4, pc} .align 2, 0 _02232608: .word 0x0000061B _0223260C: .word 0x00003CE8 thumb_func_end MOD83_022325EC thumb_func_start MOD83_02232610 MOD83_02232610: ; 0x02232610 push {r4, lr} add r4, r0, #0 ldr r0, _02232658 ; =0x00002B60 ldr r1, [r4, r0] sub r0, #0xc lsl r1, r1, #2 add r1, r4, r1 ldr r2, [r1, r0] mov r0, #0x35 lsl r0, r0, #4 ldrb r1, [r2, r0] cmp r1, #0xff beq _0223262E add r1, r1, #1 strb r1, [r2, r0] _0223262E: ldr r0, _02232658 ; =0x00002B60 ldr r1, [r4, r0] sub r0, #0xc lsl r1, r1, #2 add r1, r4, r1 ldr r2, [r1, r0] mov r0, #0xd2 lsl r0, r0, #2 ldrb r1, [r2, r0] cmp r1, #0xff beq _02232648 sub r1, r1, #1 strb r1, [r2, r0] _02232648: ldr r0, _0223265C ; =0x00002B44 ldr r0, [r4, r0] bl MOD83_022394BC ldr r1, _02232660 ; =MOD83_022325EC ldr r0, _02232664 ; =0x00003CE8 str r1, [r4, r0] pop {r4, pc} .align 2, 0 _02232658: .word 0x00002B60 _0223265C: .word 0x00002B44 _02232660: .word MOD83_022325EC _02232664: .word 0x00003CE8 thumb_func_end MOD83_02232610 thumb_func_start MOD83_02232668 MOD83_02232668: ; 0x02232668 push {r3, r4, r5, r6, r7, lr} add r7, r2, #0 ldr r2, _02232768 ; =0x021C48B8 add r6, r1, #0 ldr r3, [r2, #0x48] ldr r1, _0223276C ; =0x00003CEC add r5, r0, #0 mov r2, #0x10 ldr r0, [r5, r1] tst r2, r3 beq _02232686 cmp r0, #1 beq _02232686 mov r2, #1 str r2, [r5, r1] _02232686: ldr r1, _02232768 ; =0x021C48B8 ldr r2, [r1, #0x48] mov r1, #0x20 tst r1, r2 beq _0223269C ldr r1, _0223276C ; =0x00003CEC ldr r2, [r5, r1] cmp r2, #0 beq _0223269C mov r2, #0 str r2, [r5, r1] _0223269C: ldr r1, _0223276C ; =0x00003CEC ldr r1, [r5, r1] cmp r0, r1 beq _022326CC cmp r1, #0 bne _022326AC mov r1, #1 b _022326AE _022326AC: mov r1, #0 _022326AE: ldr r0, _02232770 ; =0x00002D64 ldr r0, [r5, r0] bl FUN_02020130 ldr r0, _0223276C ; =0x00003CEC ldr r0, [r5, r0] cmp r0, #0 beq _022326C2 mov r1, #1 b _022326C4 _022326C2: mov r1, #0 _022326C4: ldr r0, _02232774 ; =0x00002D68 ldr r0, [r5, r0] bl FUN_02020130 _022326CC: ldr r0, _02232768 ; =0x021C48B8 mov r4, #0 ldr r1, [r0, #0x48] mov r0, #2 add r2, r1, #0 tst r2, r0 beq _022326DE add r4, r0, #0 b _0223270E _022326DE: mov r0, #1 and r1, r0 beq _022326F4 cmp r6, #0 beq _022326F4 ldr r2, _0223276C ; =0x00003CEC ldr r2, [r5, r2] cmp r2, #0 bne _022326F4 add r4, r0, #0 b _0223270E _022326F4: cmp r1, #0 beq _02232704 ldr r0, _0223276C ; =0x00003CEC ldr r0, [r5, r0] cmp r0, #1 bne _02232704 mov r4, #2 b _0223270E _02232704: cmp r1, #0 beq _0223270E cmp r6, #0 bne _0223270E mov r4, #3 _0223270E: cmp r4, #1 bne _02232746 ldr r0, _02232778 ; =0x000005DC bl FUN_020054C8 mov r0, #0xab bl FUN_02031588 mov r3, #0xa ldr r1, _0223277C ; =0x00002BD4 mov r0, #1 str r0, [r5, r1] mov r0, #0x15 sub r1, #0x64 str r0, [r7] add r0, r5, #0 add r1, r5, r1 mov r2, #0x11 lsl r3, r3, #6 bl MOD83_02231F88 ldr r0, _02232780 ; =0x00002B70 mov r1, #0x13 add r0, r5, r0 bl FUN_0200D858 ldr r1, _02232784 ; =0x00003CF0 str r0, [r5, r1] _02232746: cmp r4, #2 bne _0223275A ldr r0, _02232778 ; =0x000005DC bl FUN_020054C8 add r0, r5, #0 add r1, r7, #0 mov r2, #0x13 bl MOD83_02233084 _0223275A: cmp r4, #3 bne _02232764 ldr r0, _02232778 ; =0x000005DC bl FUN_020054C8 _02232764: pop {r3, r4, r5, r6, r7, pc} nop _02232768: .word 0x021C48B8 _0223276C: .word 0x00003CEC _02232770: .word 0x00002D64 _02232774: .word 0x00002D68 _02232778: .word 0x000005DC _0223277C: .word 0x00002BD4 _02232780: .word 0x00002B70 _02232784: .word 0x00003CF0 thumb_func_end MOD83_02232668 thumb_func_start MOD83_02232788 MOD83_02232788: ; 0x02232788 push {r4, r5, r6, lr} sub sp, #8 add r5, r1, #0 add r6, r0, #0 bl FUN_02006278 ldr r1, [r5] add r4, r0, #0 cmp r1, #0x1d bls _0223279E b _02232CF4 _0223279E: add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _022327AA: ; jump table .short _022327E6 - _022327AA - 2 ; case 0 .short _02232854 - _022327AA - 2 ; case 1 .short _02232866 - _022327AA - 2 ; case 2 .short _022328DC - _022327AA - 2 ; case 3 .short _02232956 - _022327AA - 2 ; case 4 .short _0223297E - _022327AA - 2 ; case 5 .short _0223299E - _022327AA - 2 ; case 6 .short _022329D6 - _022327AA - 2 ; case 7 .short _022329FA - _022327AA - 2 ; case 8 .short _02232A20 - _022327AA - 2 ; case 9 .short _02232A4C - _022327AA - 2 ; case 10 .short _02232A88 - _022327AA - 2 ; case 11 .short _02232AAC - _022327AA - 2 ; case 12 .short _02232AB8 - _022327AA - 2 ; case 13 .short _02232AC4 - _022327AA - 2 ; case 14 .short _02232AD6 - _022327AA - 2 ; case 15 .short _02232AE2 - _022327AA - 2 ; case 16 .short _02232B24 - _022327AA - 2 ; case 17 .short _02232B3A - _022327AA - 2 ; case 18 .short _02232BDC - _022327AA - 2 ; case 19 .short _02232BE8 - _022327AA - 2 ; case 20 .short _02232C36 - _022327AA - 2 ; case 21 .short _02232C26 - _022327AA - 2 ; case 22 .short _02232C6A - _022327AA - 2 ; case 23 .short _02232C7E - _022327AA - 2 ; case 24 .short _02232CB8 - _022327AA - 2 ; case 25 .short _02232CC8 - _022327AA - 2 ; case 26 .short _02232CD4 - _022327AA - 2 ; case 27 .short _02232CE4 - _022327AA - 2 ; case 28 .short _02232CF4 - _022327AA - 2 ; case 29 _022327E6: add r0, r6, #0 bl FUN_0200628C ldr r1, [r0, #8] ldr r0, _02232B54 ; =0x00002B44 str r1, [r4, r0] ldr r0, [r4, r0] bl FUN_0202251C mov r1, #0xad lsl r1, r1, #6 str r0, [r4, r1] add r0, r1, #4 ldr r0, [r4, r0] bl LoadPlayerDataAddress ldr r1, _02232B58 ; =0x00002B48 str r0, [r4, r1] ldr r0, [r4, r1] bl FUN_02025084 ldr r1, _02232B5C ; =0x00002B4C str r0, [r4, r1] sub r1, #0xc ldr r0, [r4, r1] mov r1, #0 bl FUN_0202AC64 ldr r1, _02232B60 ; =0x00002B54 str r0, [r4, r1] sub r1, #0x14 ldr r0, [r4, r1] mov r1, #1 bl FUN_0202AC64 ldr r1, _02232B64 ; =0x00002B58 str r0, [r4, r1] sub r1, #0x18 ldr r0, [r4, r1] mov r1, #2 bl FUN_0202AC64 ldr r1, _02232B68 ; =0x00002B5C mov r2, #1 str r0, [r4, r1] add r1, r1, #4 ldr r1, [r4, r1] add r0, r4, #0 bl MOD83_022320A4 ldr r1, _02232B6C ; =0x00002B60 str r0, [r4, r1] mov r0, #1 str r0, [r5] b _02232CF4 _02232854: bl MOD83_022331C0 ldr r0, _02232B70 ; =0x0000299C ldr r0, [r4, r0] bl MOD83_022331E0 mov r0, #2 str r0, [r5] b _02232CF4 _02232866: bl FUN_0201BD5C add r0, r4, #0 mov r1, #0 bl MOD83_02232118 mov r1, #0x1e mov r0, #0 lsl r1, r1, #4 mov r2, #0x57 bl FUN_02002ED0 mov r1, #0 str r1, [sp] mov r0, #0x57 str r0, [sp, #4] ldr r0, _02232B70 ; =0x0000299C mov r2, #1 ldr r0, [r4, r0] mov r3, #0xd bl FUN_0200CB00 mov r0, #1 str r0, [sp] mov r0, #0x57 str r0, [sp, #4] ldr r0, _02232B70 ; =0x0000299C mov r1, #0 ldr r0, [r4, r0] mov r2, #0xa mov r3, #0xe bl FUN_0200CB00 ldr r0, _02232B5C ; =0x00002B4C mov r1, #0 ldr r0, [r4, r0] mov r2, #0x13 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp] mov r0, #0x57 str r0, [sp, #4] ldr r0, _02232B70 ; =0x0000299C mov r3, #0xa ldr r0, [r4, r0] bl FUN_0200CD68 add r0, r4, #0 mov r1, #1 mov r2, #0 bl MOD83_02231DF0 add r0, r4, #0 mov r1, #1 mov r2, #3 add r3, r5, #0 bl MOD83_02231DBC b _02232CF4 _022328DC: ldr r1, _02232B6C ; =0x00002B60 mov r2, #0x40 ldr r6, [r4, r1] ldr r1, _02232B74 ; =0x021C48B8 ldr r1, [r1, #0x48] add r3, r1, #0 tst r3, r2 beq _022328F8 add r1, r6, #0 sub r2, #0x41 bl MOD83_022320A4 add r6, r0, #0 b _02232934 _022328F8: mov r2, #0x80 tst r2, r1 beq _0223290A add r1, r6, #0 mov r2, #1 bl MOD83_022320A4 add r6, r0, #0 b _02232934 _0223290A: mov r0, #2 tst r0, r1 beq _02232924 ldr r0, _02232B78 ; =0x000005DC bl FUN_020054C8 add r0, r4, #0 mov r1, #0 mov r2, #0x1c add r3, r5, #0 bl MOD83_02231DBC b _02232934 _02232924: mov r0, #1 tst r0, r1 beq _02232934 ldr r0, _02232B78 ; =0x000005DC bl FUN_020054C8 mov r0, #4 str r0, [r5] _02232934: ldr r0, _02232B6C ; =0x00002B60 ldr r0, [r4, r0] cmp r0, r6 bne _0223293E b _02232CF4 _0223293E: mov r0, #6 lsl r0, r0, #8 bl FUN_020054C8 ldr r0, _02232B6C ; =0x00002B60 mov r1, #1 str r6, [r4, r0] add r0, r4, #0 mov r2, #0 bl MOD83_02231DF0 b _02232CF4 _02232956: ldr r1, _02232B7C ; =0x00002B70 mov r3, #0xa add r1, r4, r1 mov r2, #7 lsl r3, r3, #6 bl MOD83_02231F88 ldr r3, _02232B80 ; =0x00002B90 mov r2, #8 add r1, r3, #0 str r0, [r4, r3] sub r1, #0x10 ldr r3, [r4, r3] add r0, r4, #0 add r1, r4, r1 bl MOD83_02231F88 mov r0, #5 str r0, [r5] b _02232CF4 _0223297E: add r0, r6, #0 add r1, r5, #0 mov r2, #0 bl MOD83_02232208 ldr r0, _02232B74 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #2 tst r0, r1 beq _02232A54 ldr r0, _02232B78 ; =0x000005DC bl FUN_020054C8 mov r0, #0xb str r0, [r5] b _02232CF4 _0223299E: mov r0, #6 lsl r0, r0, #8 bl FUN_020054C8 mov r0, #0x10 mov r1, #0 bl FUN_0201E6E4 ldr r0, _02232B7C ; =0x00002B70 mov r1, #0 add r0, r4, r0 bl MOD83_022316D8 mov r0, #0xae lsl r0, r0, #6 add r0, r4, r0 mov r1, #0 bl MOD83_022316C0 mov r1, #1 add r0, r4, #0 lsl r2, r1, #0xc mov r3, #0x66 bl MOD83_0223243C mov r0, #7 str r0, [r5] b _02232CF4 _022329D6: bl MOD83_022324DC cmp r0, #0 beq _02232A54 mov r1, #1 add r0, r4, #0 add r2, r1, #0 bl MOD83_02231DF0 ldr r2, _02232B84 ; =0x00708000 add r0, r4, #0 mov r1, #0 lsr r3, r2, #1 bl MOD83_0223243C mov r0, #8 str r0, [r5] b _02232CF4 _022329FA: bl MOD83_022324DC ldr r0, _02232B74 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #3 tst r1, r0 beq _02232A54 lsl r0, r0, #9 bl FUN_020054C8 mov r1, #1 add r0, r4, #0 lsl r2, r1, #0xc mov r3, #0x66 bl MOD83_0223243C mov r0, #9 str r0, [r5] b _02232CF4 _02232A20: bl MOD83_022324DC cmp r0, #0 beq _02232A54 add r0, r4, #0 mov r1, #1 mov r2, #0 bl MOD83_02231DF0 ldr r2, _02232B84 ; =0x00708000 add r0, r4, #0 mov r1, #0 lsr r3, r2, #1 bl MOD83_0223243C mov r0, #0x10 mov r1, #0 bl FUN_0201E6E4 mov r0, #0xa str r0, [r5] b _02232CF4 _02232A4C: bl MOD83_022324DC cmp r0, #0 bne _02232A56 _02232A54: b _02232CF4 _02232A56: ldr r0, _02232B7C ; =0x00002B70 mov r1, #0 add r0, r4, r0 mov r2, #0x13 mov r3, #0xa bl FUN_0200D0BC mov r0, #0xae lsl r0, r0, #6 add r0, r4, r0 mov r1, #0 mov r2, #0xa mov r3, #0xe bl FUN_0200CCA4 mov r0, #0x10 mov r1, #1 bl FUN_0201E6E4 add r0, r4, #0 bl MOD83_022324A0 mov r0, #5 str r0, [r5] b _02232CF4 _02232A88: bl MOD83_02231A00 ldr r0, _02232B7C ; =0x00002B70 mov r1, #0 add r0, r4, r0 bl MOD83_022316D8 ldr r0, _02232B7C ; =0x00002B70 add r0, r4, r0 bl FUN_02019570 ldr r0, _02232B7C ; =0x00002B70 add r0, r4, r0 bl FUN_02019178 mov r0, #3 str r0, [r5] b _02232CF4 _02232AAC: ldr r2, _02232B88 ; =MOD83_022319D0 add r0, r6, #0 add r1, r5, #0 bl MOD83_02232208 b _02232CF4 _02232AB8: ldr r2, _02232B88 ; =MOD83_022319D0 add r0, r6, #0 add r1, r5, #0 bl MOD83_02232208 b _02232CF4 _02232AC4: mov r1, #0xae lsl r1, r1, #6 ldr r2, _02232B8C ; =0x00010200 add r1, r4, r1 bl MOD83_02231D74 mov r0, #0xd str r0, [r5] b _02232CF4 _02232AD6: mov r1, #0 mov r2, #0x10 add r3, r5, #0 bl MOD83_02231DBC b _02232CF4 _02232AE2: bl MOD83_02231A00 ldr r0, _02232B7C ; =0x00002B70 mov r1, #0 add r0, r4, r0 bl MOD83_022316D8 ldr r0, _02232B7C ; =0x00002B70 add r0, r4, r0 bl FUN_02019570 ldr r0, _02232B7C ; =0x00002B70 add r0, r4, r0 bl FUN_02019178 add r0, r4, #0 mov r1, #0 mov r2, #3 bl MOD83_02231DF0 ldr r0, _02232B70 ; =0x0000299C ldr r0, [r4, r0] bl MOD83_02231820 add r0, r4, #0 bl MOD83_022315D0 add r0, r4, #0 bl MOD83_0223166C mov r0, #0x11 str r0, [r5] b _02232CF4 _02232B24: bl MOD83_02232D44 bl FUN_02033E74 add r0, r4, #0 mov r1, #1 mov r2, #0x12 add r3, r5, #0 bl MOD83_02231DBC b _02232CF4 _02232B3A: mov r6, #0 add r0, r6, #0 bl FUN_02030E7C cmp r0, #0 beq _02232BD0 add r0, r4, #0 add r0, #0x90 bl FUN_0202F10C ldr r1, _02232B90 ; =0x00002AA8 b _02232B94 nop _02232B54: .word 0x00002B44 _02232B58: .word 0x00002B48 _02232B5C: .word 0x00002B4C _02232B60: .word 0x00002B54 _02232B64: .word 0x00002B58 _02232B68: .word 0x00002B5C _02232B6C: .word 0x00002B60 _02232B70: .word 0x0000299C _02232B74: .word 0x021C48B8 _02232B78: .word 0x000005DC _02232B7C: .word 0x00002B70 _02232B80: .word 0x00002B90 _02232B84: .word 0x00708000 _02232B88: .word MOD83_022319D0 _02232B8C: .word 0x00010200 _02232B90: .word 0x00002AA8 _02232B94: add r0, r4, #0 add r1, r4, r1 bl MOD83_02232E0C add r6, r0, #0 bne _02232BC0 ldr r0, _02232D18 ; =0x00002BD0 ldr r0, [r4, r0] cmp r0, #0 beq _02232BC0 ldr r0, _02232D1C ; =0x00002AA8 mov r1, #0 add r0, r4, r0 bl FUN_02019620 ldr r0, _02232D1C ; =0x00002AA8 add r0, r4, r0 bl FUN_020191D0 ldr r0, _02232D18 ; =0x00002BD0 mov r1, #0 str r1, [r4, r0] _02232BC0: ldr r1, _02232D20 ; =0x00002A98 add r0, r4, #0 add r1, r4, r1 add r2, r6, #0 bl MOD83_02232FE4 ldr r0, _02232D18 ; =0x00002BD0 str r6, [r4, r0] _02232BD0: add r0, r4, #0 add r1, r6, #0 add r2, r5, #0 bl MOD83_02232668 b _02232CF4 _02232BDC: mov r1, #0 mov r2, #0x14 add r3, r5, #0 bl MOD83_02231DBC b _02232CF4 _02232BE8: bl MOD83_022315F8 ldr r0, _02232D24 ; =0x00002B70 mov r1, #0 add r0, r4, r0 bl MOD83_022316D8 mov r0, #0xae lsl r0, r0, #6 add r0, r4, r0 mov r1, #0 bl MOD83_022316C0 add r0, r4, #0 mov r1, #1 mov r2, #0 bl MOD83_02231DF0 mov r1, #0x1e mov r0, #0 lsl r1, r1, #4 mov r2, #0x57 bl FUN_02002ED0 add r0, r4, #0 mov r1, #1 mov r2, #4 add r3, r5, #0 bl MOD83_02231DBC b _02232CF4 _02232C26: bl FUN_02031810 cmp r0, #0 bne _02232CF4 ldr r0, _02232D28 ; =0x00002BE0 ldr r0, [r4, r0] str r0, [r5] b _02232CF4 _02232C36: ldr r0, _02232D2C ; =0x00002BD4 ldr r1, [r4, r0] sub r1, r1, #1 str r1, [r4, r0] ldr r0, [r4, r0] cmp r0, #0 bne _02232CF4 ldr r1, _02232D30 ; =0x00002D78 add r0, r4, #0 ldr r2, [r4] add r0, #0x90 add r1, r4, r1 bl MOD83_022392EC ldr r0, _02232D30 ; =0x00002D78 mov r1, #0xd6 add r0, r4, r0 lsl r1, r1, #2 bl MOD83_0222F8F0 add r0, r4, #0 bl MOD83_02232610 mov r0, #0x17 str r0, [r5] b _02232CF4 _02232C6A: bl MOD83_02239574 cmp r0, #4 bne _02232CF4 mov r0, #0x93 bl FUN_02031588 mov r0, #0x18 str r0, [r5] b _02232CF4 _02232C7E: bl MOD83_02232DF0 cmp r0, #0 beq _02232C90 mov r0, #0x93 bl FUN_020315D8 cmp r0, #1 bne _02232CF4 _02232C90: bl MOD83_02239544 ldr r1, _02232D24 ; =0x00002B70 mov r3, #0xa add r0, r4, #0 add r1, r4, r1 mov r2, #0x12 lsl r3, r3, #6 bl MOD83_02231F88 ldr r0, _02232D34 ; =0x00003CF0 ldr r0, [r4, r0] bl FUN_0200DBFC add r0, r4, #0 add r1, r5, #0 mov r2, #0x19 bl MOD83_02233084 b _02232CF4 _02232CB8: ldr r0, _02232D38 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #3 tst r0, r1 beq _02232CF4 mov r0, #0x13 str r0, [r5] b _02232CF4 _02232CC8: mov r1, #0 mov r2, #0x1c add r3, r5, #0 bl MOD83_02231DBC b _02232CF4 _02232CD4: bl FUN_0200E308 cmp r0, #0 beq _02232CF4 ldr r0, _02232D28 ; =0x00002BE0 ldr r0, [r4, r0] str r0, [r5] b _02232CF4 _02232CE4: bl MOD83_022315F8 add r0, r4, #0 bl MOD83_022324A0 add sp, #8 mov r0, #1 pop {r4, r5, r6, pc} _02232CF4: ldr r0, _02232D3C ; =0x00002BE4 ldr r0, [r4, r0] cmp r0, #0 beq _02232D00 bl FUN_0201FDEC _02232D00: bl MOD83_02238D58 ldr r0, _02232D40 ; =0x00003CE8 ldr r1, [r4, r0] cmp r1, #0 beq _02232D10 add r0, r4, #0 blx r1 _02232D10: mov r0, #0 add sp, #8 pop {r4, r5, r6, pc} nop _02232D18: .word 0x00002BD0 _02232D1C: .word 0x00002AA8 _02232D20: .word 0x00002A98 _02232D24: .word 0x00002B70 _02232D28: .word 0x00002BE0 _02232D2C: .word 0x00002BD4 _02232D30: .word 0x00002D78 _02232D34: .word 0x00003CF0 _02232D38: .word 0x021C48B8 _02232D3C: .word 0x00002BE4 _02232D40: .word 0x00003CE8 thumb_func_end MOD83_02232788 thumb_func_start MOD83_02232D44 MOD83_02232D44: ; 0x02232D44 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, _02232DA8 ; =0x00002B60 mov r2, #0xd6 ldr r1, [r5, r0] sub r0, #0xc lsl r1, r1, #2 add r1, r5, r1 ldr r4, [r1, r0] add r0, r5, #0 add r0, #0xe0 add r1, r4, #0 lsl r2, r2, #2 bl memcpy mov r1, #0x41 add r0, r5, #0 lsl r1, r1, #2 add r0, #0x90 add r1, r4, r1 mov r2, #0x50 bl memcpy ldr r0, _02232DAC ; =0x00000428 mov r1, #0 strb r1, [r5, r0] add r0, r5, #0 add r0, #0xde ldrb r1, [r0] mov r0, #0x10 mov r2, #0xf bic r1, r0 add r0, r5, #0 add r0, #0xde strb r1, [r0] add r0, r5, #0 add r0, #0xde ldrb r1, [r0] mov r0, #0x20 orr r1, r0 add r0, r5, #0 add r0, #0xde strb r1, [r0] ldr r1, _02232DB0 ; =0x00002B44 add r0, r5, #4 ldr r1, [r5, r1] bl MOD83_0222F8C4 mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 _02232DA8: .word 0x00002B60 _02232DAC: .word 0x00000428 _02232DB0: .word 0x00002B44 thumb_func_end MOD83_02232D44 thumb_func_start MOD83_02232DB4 MOD83_02232DB4: ; 0x02232DB4 push {r3, r4} ldr r3, [r0] ldr r1, [r0, #4] add r2, r0, #0 mov r4, #0 cmp r1, r3 bge _02232DC8 add r3, r1, #0 mov r4, #1 add r2, r0, #4 _02232DC8: ldr r1, [r0, #8] cmp r1, r3 bge _02232DD6 add r2, r0, #0 add r3, r1, #0 mov r4, #2 add r2, #8 _02232DD6: ldr r1, [r0, #0xc] cmp r1, r3 bge _02232DE2 add r2, r0, #0 mov r4, #3 add r2, #0xc _02232DE2: ldr r0, _02232DEC ; =0x3FFF0001 str r0, [r2] add r0, r4, #1 pop {r3, r4} bx lr .align 2, 0 _02232DEC: .word 0x3FFF0001 thumb_func_end MOD83_02232DB4 thumb_func_start MOD83_02232DF0 MOD83_02232DF0: ; 0x02232DF0 push {r3, r4, r5, lr} mov r5, #0 mov r4, #1 _02232DF6: add r0, r4, #0 bl FUN_0202DFA4 cmp r0, #0 beq _02232E02 add r5, r5, #1 _02232E02: add r4, r4, #1 cmp r4, #5 blt _02232DF6 add r0, r5, #0 pop {r3, r4, r5, pc} thumb_func_end MOD83_02232DF0 thumb_func_start MOD83_02232E0C MOD83_02232E0C: ; 0x02232E0C push {r3, r4, r5, r6, r7, lr} sub sp, #0x48 add r5, r0, #0 mov r6, #0 mov r0, #1 str r1, [sp, #0x10] add r7, r6, #0 str r0, [sp, #0x24] add r4, r5, #4 _02232E1E: ldr r0, [sp, #0x24] bl FUN_0202DFA4 cmp r0, #0 bne _02232E40 ldr r0, _02232FCC ; =0x00002BA8 ldr r0, [r4, r0] cmp r0, #0 beq _02232E32 add r7, r7, #1 _02232E32: ldr r0, _02232FCC ; =0x00002BA8 mov r1, #0 str r1, [r4, r0] ldr r1, _02232FD0 ; =0x3FFF0001 add r0, #0x14 str r1, [r4, r0] b _02232E68 _02232E40: ldr r1, _02232FCC ; =0x00002BA8 ldr r1, [r4, r1] cmp r1, r0 beq _02232E66 ldr r1, _02232FCC ; =0x00002BA8 add r7, r7, #1 str r0, [r4, r1] add r0, r1, #0 add r1, #0x34 ldr r1, [r5, r1] add r0, #0x34 add r2, r1, #1 ldr r0, [r5, r0] ldr r1, _02232FD4 ; =0x00002BDC add r6, r6, #1 str r2, [r5, r1] sub r1, #0x20 str r0, [r4, r1] b _02232E68 _02232E66: add r6, r6, #1 _02232E68: ldr r0, [sp, #0x24] add r4, r4, #4 add r0, r0, #1 str r0, [sp, #0x24] cmp r0, #5 blt _02232E1E cmp r7, #0 bne _02232E7E add sp, #0x48 add r0, r6, #0 pop {r3, r4, r5, r6, r7, pc} _02232E7E: mov r1, #0xaf lsl r1, r1, #6 ldr r0, [r5, r1] str r0, [sp, #0x38] add r0, r1, #4 ldr r0, [r5, r0] str r0, [sp, #0x3c] add r0, r1, #0 add r0, #8 ldr r0, [r5, r0] add r1, #0xc str r0, [sp, #0x40] ldr r0, [r5, r1] str r0, [sp, #0x44] add r0, sp, #0x38 bl MOD83_02232DB4 str r0, [sp, #0x28] add r0, sp, #0x38 bl MOD83_02232DB4 str r0, [sp, #0x2c] add r0, sp, #0x38 bl MOD83_02232DB4 str r0, [sp, #0x30] add r0, sp, #0x38 bl MOD83_02232DB4 str r0, [sp, #0x34] mov r0, #0x57 bl FUN_0200AA80 add r4, r0, #0 ldr r2, _02232FD8 ; =0x00000172 mov r0, #1 mov r1, #0x1a mov r3, #0x57 bl FUN_0200A86C str r0, [sp, #0x1c] mov r5, #0 ldr r0, [sp, #0x10] add r1, r5, #0 bl FUN_02019620 add r0, r5, #0 str r0, [sp, #0x14] cmp r6, #0 ble _02232FAE add r0, sp, #0x28 str r0, [sp, #0x18] _02232EE6: ldr r0, [sp, #0x18] ldr r0, [r0] bl FUN_0202DFA4 add r7, r0, #0 beq _02232F9E add r0, r4, #0 mov r1, #0 add r2, r7, #0 bl FUN_0200ABC0 ldr r1, [sp, #0x1c] add r0, r4, #0 mov r2, #0x35 mov r3, #0x57 bl FUN_0200A9C4 str r0, [sp, #0x20] add r0, r7, #0 bl FUN_020239CC cmp r0, #0 str r5, [sp] bne _02232F30 mov r0, #0xff str r0, [sp, #4] ldr r0, _02232FDC ; =0x00050600 mov r1, #0 str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] ldr r0, [sp, #0x10] ldr r2, [sp, #0x20] add r3, r1, #0 bl FUN_0201BDE0 b _02232F4A _02232F30: mov r0, #0xff str r0, [sp, #4] mov r0, #0xc1 lsl r0, r0, #0xa str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] mov r1, #0 ldr r0, [sp, #0x10] ldr r2, [sp, #0x20] add r3, r1, #0 bl FUN_0201BDE0 _02232F4A: ldr r0, [sp, #0x20] bl FUN_02021A20 add r0, r7, #0 bl FUN_020239BC add r2, r0, #0 mov r0, #2 str r0, [sp] mov r0, #1 lsl r2, r2, #0x10 str r0, [sp, #4] add r0, r4, #0 mov r1, #0 lsr r2, r2, #0x10 mov r3, #5 bl FUN_0200AD38 ldr r1, [sp, #0x1c] add r0, r4, #0 mov r2, #0x36 mov r3, #0x57 bl FUN_0200A9C4 add r7, r0, #0 str r5, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02232FE0 ; =0x000E0F00 mov r1, #0 str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] ldr r0, [sp, #0x10] add r2, r7, #0 mov r3, #0x50 bl FUN_0201BDE0 add r0, r7, #0 bl FUN_02021A20 add r5, #0x18 _02232F9E: ldr r0, [sp, #0x18] add r0, r0, #4 str r0, [sp, #0x18] ldr r0, [sp, #0x14] add r0, r0, #1 str r0, [sp, #0x14] cmp r0, r6 blt _02232EE6 _02232FAE: cmp r6, #0 beq _02232FB8 ldr r0, [sp, #0x10] bl FUN_020191D0 _02232FB8: ldr r0, [sp, #0x1c] bl FUN_0200A8B8 add r0, r4, #0 bl FUN_0200AB18 add r0, r6, #0 add sp, #0x48 pop {r3, r4, r5, r6, r7, pc} nop _02232FCC: .word 0x00002BA8 _02232FD0: .word 0x3FFF0001 _02232FD4: .word 0x00002BDC _02232FD8: .word 0x00000172 _02232FDC: .word 0x00050600 _02232FE0: .word 0x000E0F00 thumb_func_end MOD83_02232E0C thumb_func_start MOD83_02232FE4 MOD83_02232FE4: ; 0x02232FE4 push {r4, r5, r6, lr} sub sp, #0x10 add r5, r0, #0 ldr r0, _02233070 ; =0x00002B94 add r4, r1, #0 str r2, [r5, r0] ldr r2, _02233074 ; =0x00000172 mov r0, #1 mov r1, #0x1a mov r3, #0x57 bl FUN_0200A86C ldr r1, _02233078 ; =0x000029A4 str r0, [r5, r1] mov r0, #0x57 bl FUN_0200AA80 ldr r1, _0223307C ; =0x000029A0 str r0, [r5, r1] add r0, r4, #0 mov r1, #0 bl FUN_02019620 mov r3, #1 str r3, [sp] ldr r0, _0223307C ; =0x000029A0 str r3, [sp, #4] ldr r2, _02233070 ; =0x00002B94 ldr r0, [r5, r0] ldr r2, [r5, r2] mov r1, #0 bl FUN_0200AD38 ldr r1, _0223307C ; =0x000029A0 mov r2, #0x38 ldr r0, [r5, r1] add r1, r1, #4 ldr r1, [r5, r1] mov r3, #0x57 bl FUN_0200A9C4 add r6, r0, #0 mov r3, #0 str r3, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _02233080 ; =0x00010200 mov r1, #1 str r0, [sp, #8] add r0, r4, #0 add r2, r6, #0 str r3, [sp, #0xc] bl FUN_0201BDE0 add r0, r4, #0 bl FUN_020191D0 add r0, r6, #0 bl FUN_02021A20 ldr r0, _02233078 ; =0x000029A4 ldr r0, [r5, r0] bl FUN_0200A8B8 ldr r0, _0223307C ; =0x000029A0 ldr r0, [r5, r0] bl FUN_0200AB18 add sp, #0x10 pop {r4, r5, r6, pc} .align 2, 0 _02233070: .word 0x00002B94 _02233074: .word 0x00000172 _02233078: .word 0x000029A4 _0223307C: .word 0x000029A0 _02233080: .word 0x00010200 thumb_func_end MOD83_02232FE4 thumb_func_start MOD83_02233084 MOD83_02233084: ; 0x02233084 push {r4, r5, r6, lr} add r5, r0, #0 add r4, r1, #0 add r6, r2, #0 bl MOD83_0222F9DC bl FUN_02033ED0 ldr r0, _022330A0 ; =0x00002BE0 str r6, [r5, r0] mov r0, #0x16 str r0, [r4] pop {r4, r5, r6, pc} nop _022330A0: .word 0x00002BE0 thumb_func_end MOD83_02233084 thumb_func_start MOD83_022330A4 MOD83_022330A4: ; 0x022330A4 push {r3, r4, r5, r6, r7, lr} str r0, [sp] bl FUN_02006278 add r7, r0, #0 ldr r0, _02233154 ; =0x000029A8 mov r6, #0 add r4, r7, #0 add r5, r7, r0 _022330B6: ldr r0, _02233154 ; =0x000029A8 ldr r0, [r4, r0] cmp r0, #0 beq _022330CA add r0, r5, #0 bl FUN_02019570 add r0, r5, #0 bl FUN_02019178 _022330CA: add r6, r6, #1 add r4, #0x10 add r5, #0x10 cmp r6, #0x13 blo _022330B6 ldr r0, _02233158 ; =0x00002B70 ldr r1, [r7, r0] cmp r1, #0 beq _022330EA add r0, r7, r0 bl FUN_02019570 ldr r0, _02233158 ; =0x00002B70 add r0, r7, r0 bl FUN_02019178 _022330EA: mov r0, #0xae lsl r0, r0, #6 ldr r1, [r7, r0] cmp r1, #0 beq _02233104 add r0, r7, r0 bl FUN_02019570 mov r0, #0xae lsl r0, r0, #6 add r0, r7, r0 bl FUN_02019178 _02233104: ldr r0, _0223315C ; =0x0000299C mov r1, #0 ldr r0, [r7, r0] bl FUN_020178A0 ldr r0, _0223315C ; =0x0000299C mov r1, #1 ldr r0, [r7, r0] bl FUN_020178A0 ldr r0, _0223315C ; =0x0000299C mov r1, #2 ldr r0, [r7, r0] bl FUN_020178A0 ldr r0, _0223315C ; =0x0000299C mov r1, #3 ldr r0, [r7, r0] bl FUN_020178A0 ldr r0, _0223315C ; =0x0000299C ldr r0, [r7, r0] bl FUN_02016A18 ldr r0, _02233160 ; =SDK_OVERLAY_MODULE_83_ID ldr r1, _02233164 ; =0x0223A434 bl FUN_02000E7C mov r0, #0x5b bl FUN_020168D0 ldr r0, [sp] bl FUN_0200627C mov r0, #0x57 bl FUN_020168D0 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} nop _02233154: .word 0x000029A8 _02233158: .word 0x00002B70 _0223315C: .word 0x0000299C _02233160: .word SDK_OVERLAY_MODULE_83_ID _02233164: .word 0x0223A434 thumb_func_end MOD83_022330A4 thumb_func_start MOD83_02233168 MOD83_02233168: ; 0x02233168 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 add r7, r1, #0 add r5, r2, #0 bl MOD83_022331E0 ldr r1, _022331B4 ; =0x00003CF4 add r0, r5, #0 bl FUN_020169D8 ldr r2, _022331B4 ; =0x00003CF4 mov r1, #0 add r4, r0, #0 bl Call_FillMemWithValue ldr r0, _022331B8 ; =0x0000299C mov r1, #0x1e str r6, [r4, r0] mov r0, #0 lsl r1, r1, #4 add r2, r5, #0 str r5, [r4] bl FUN_02002ED0 ldr r0, _022331BC ; =0x00002B54 mov r2, #0 str r7, [r4, r0] add r0, #0xc str r2, [r4, r0] add r0, r4, #0 mov r1, #1 bl MOD83_02231DF0 add r0, r4, #0 bl FUN_02016A18 pop {r3, r4, r5, r6, r7, pc} nop _022331B4: .word 0x00003CF4 _022331B8: .word 0x0000299C _022331BC: .word 0x00002B54 thumb_func_end MOD83_02233168 thumb_func_start MOD83_022331C0 MOD83_022331C0: ; 0x022331C0 push {r4, lr} sub sp, #0x28 ldr r4, _022331DC ; =0x0223A4D4 add r3, sp, #0 mov r2, #5 _022331CA: ldmia r4!, {r0, r1} stmia r3!, {r0, r1} sub r2, r2, #1 bne _022331CA add r0, sp, #0 bl FUN_0201E66C add sp, #0x28 pop {r4, pc} .align 2, 0 _022331DC: .word 0x0223A4D4 thumb_func_end MOD83_022331C0 thumb_func_start MOD83_022331E0 MOD83_022331E0: ; 0x022331E0 push {r3, r4, r5, lr} sub sp, #0x80 ldr r5, _022332A0 ; =0x0223A454 add r3, sp, #0x70 add r4, r0, #0 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, _022332A4 ; =0x0223A480 add r3, sp, #0x54 ldmia r5!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r5] mov r1, #0 str r0, [r3] add r0, r4, #0 add r3, r1, #0 bl FUN_02016C18 add r0, r4, #0 mov r1, #0 bl FUN_02018744 ldr r5, _022332A8 ; =0x0223A4B8 add r3, sp, #0x38 ldmia r5!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r5] mov r1, #1 str r0, [r3] add r0, r4, #0 mov r3, #0 bl FUN_02016C18 add r0, r4, #0 mov r1, #1 bl FUN_02018744 ldr r5, _022332AC ; =0x0223A49C add r3, sp, #0x1c ldmia r5!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r5] mov r1, #2 str r0, [r3] add r0, r4, #0 mov r3, #0 bl FUN_02016C18 add r0, r4, #0 mov r1, #2 bl FUN_02018744 ldr r5, _022332B0 ; =0x0223A464 add r3, sp, #0 ldmia r5!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r5] mov r1, #3 str r0, [r3] add r0, r4, #0 mov r3, #0 bl FUN_02016C18 add r0, r4, #0 mov r1, #3 bl FUN_02018744 add sp, #0x80 pop {r3, r4, r5, pc} nop _022332A0: .word 0x0223A454 _022332A4: .word 0x0223A480 _022332A8: .word 0x0223A4B8 _022332AC: .word 0x0223A49C _022332B0: .word 0x0223A464 thumb_func_end MOD83_022331E0 thumb_func_start MOD83_022332B4 MOD83_022332B4: ; 0x022332B4 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r7, r0, #0 bl FUN_0202251C mov r1, #0 ldr r4, [r5, #0x48] mvn r1, r1 add r6, r0, #0 cmp r4, r1 bne _022332E8 add r2, r5, #0 add r2, #0x4c ldrh r2, [r2] lsr r1, r1, #0x10 cmp r2, r1 bne _022332E8 bl FUN_0202AC28 add r0, r7, #0 mov r1, #0 bl FUN_020227A0 mov r0, #0 bl OS_ResetSystem _022332E8: cmp r4, #0 bne _022332F0 mov r4, #0 mvn r4, r4 _022332F0: mov r0, #1 lsl r0, r0, #0xa tst r0, r4 bne _022332FC mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _022332FC: add r0, r5, #0 add r0, #0x4e ldrb r0, [r0] lsl r0, r0, #0x1f lsr r0, r0, #0x1f cmp r0, #1 bne _0223331E add r1, r5, #0 add r1, #0x4c ldrh r1, [r1] add r0, r6, #0 bl FUN_0202AEF4 cmp r0, #1 bne _0223331E mov r0, #2 pop {r3, r4, r5, r6, r7, pc} _0223331E: add r0, r5, #0 add r0, #0x4e ldrb r0, [r0] lsl r0, r0, #0x1d lsr r0, r0, #0x1f cmp r0, #1 bne _0223333A add r0, r6, #0 bl FUN_0202AE0C cmp r0, #0 bne _0223333A mov r0, #4 pop {r3, r4, r5, r6, r7, pc} _0223333A: add r0, r6, #0 bl FUN_0202ADF0 cmp r0, #0 bne _02233348 mov r0, #3 pop {r3, r4, r5, r6, r7, pc} _02233348: add r5, #0x4e ldrb r0, [r5] lsl r0, r0, #0x1a lsr r0, r0, #0x1f cmp r0, #1 bne _02233358 mov r0, #5 pop {r3, r4, r5, r6, r7, pc} _02233358: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD83_022332B4 thumb_func_start MOD83_0223335C MOD83_0223335C: ; 0x0223335C push {r3, lr} mov r0, #4 bl MOD83_02234580 bl MOD83_02234C34 pop {r3, pc} .align 2, 0 thumb_func_end MOD83_0223335C thumb_func_start MOD83_0223336C MOD83_0223336C: ; 0x0223336C push {r3, lr} bl MOD83_02234704 str r0, [sp] pop {r3, pc} .align 2, 0 thumb_func_end MOD83_0223336C thumb_func_start MOD83_02233378 MOD83_02233378: ; 0x02233378 push {r3, lr} bl MOD83_02234724 add r1, sp, #0 strh r0, [r1] mov r0, #0 ldrsh r0, [r1, r0] pop {r3, pc} thumb_func_end MOD83_02233378 thumb_func_start MOD83_02233388 MOD83_02233388: ; 0x02233388 push {r4, lr} bl MOD83_0223458C cmp r0, #0xc bne _022333AA bl MOD83_0223456C add r4, r0, #0 ldr r0, [r4, #0x1c] cmp r0, #0 bne _022333A6 bl MOD83_02234C34 mov r0, #1 str r0, [r4, #0x1c] _022333A6: mov r0, #1 pop {r4, pc} _022333AA: mov r0, #0 pop {r4, pc} .align 2, 0 thumb_func_end MOD83_02233388 thumb_func_start MOD83_022333B0 MOD83_022333B0: ; 0x022333B0 push {r4, lr} add r4, r0, #0 bl MOD83_0223466C mov r3, #0 add r1, r3, #0 _022333BC: ldr r2, [r0] cmp r2, #0 beq _022333CC ldrh r2, [r0, #6] cmp r4, r2 bne _022333CC strb r1, [r0, #8] strb r1, [r0, #0xa] _022333CC: add r3, r3, #1 add r0, #0xc cmp r3, #8 blt _022333BC pop {r4, pc} .align 2, 0 thumb_func_end MOD83_022333B0 thumb_func_start MOD83_022333D8 MOD83_022333D8: ; 0x022333D8 push {r3, lr} bl MOD83_0223466C add r1, r0, #0 add r1, #0x62 ldrh r3, [r1] mov r2, #1 add r1, r3, #0 tst r1, r2 beq _022333FE add r1, r0, #0 add r1, #0x62 ldrh r3, [r1] mov r1, #1 add r0, #0x62 bic r3, r1 strh r3, [r0] add r0, r2, #0 pop {r3, pc} _022333FE: mov r1, #0x40 add r2, r3, #0 tst r2, r1 beq _02233418 add r1, r0, #0 add r1, #0x62 ldrh r2, [r1] mov r1, #0x40 add r0, #0x62 bic r2, r1 strh r2, [r0] mov r0, #7 pop {r3, pc} _02233418: lsl r1, r1, #6 tst r1, r3 beq _02233430 add r1, r0, #0 add r1, #0x62 ldrh r2, [r1] ldr r1, _02233434 ; =0xFFFFEFFF add r0, #0x62 and r1, r2 strh r1, [r0] mov r0, #0xd pop {r3, pc} _02233430: mov r0, #0 pop {r3, pc} .align 2, 0 _02233434: .word 0xFFFFEFFF thumb_func_end MOD83_022333D8 thumb_func_start MOD83_02233438 MOD83_02233438: ; 0x02233438 push {r4, lr} bl MOD83_0223466C add r4, r0, #0 mov r1, #1 add r0, #0x60 strb r1, [r0] bl WM_GetAllowedChannel add r1, r4, #0 add r1, #0x62 strh r0, [r1] add r0, r4, #0 add r0, #0x62 ldrh r1, [r0] cmp r1, #0 beq _02233462 mov r0, #2 lsl r0, r0, #0xe cmp r1, r0 bne _02233466 _02233462: mov r0, #0 pop {r4, pc} _02233466: add r0, r4, #0 mov r1, #0x66 add r0, #0x61 strb r1, [r0] mov r0, #0 add r4, #0x64 strb r0, [r4] mov r0, #1 pop {r4, pc} thumb_func_end MOD83_02233438 thumb_func_start MOD83_02233478 MOD83_02233478: ; 0x02233478 push {r4, lr} bl MOD83_02234564 add r4, r0, #0 bl WM_GetDispersionBeaconPeriod strh r0, [r4, #0x18] bl WM_GetNextTgid strh r0, [r4, #0xc] pop {r4, pc} .align 2, 0 thumb_func_end MOD83_02233478 thumb_func_start MOD83_02233490 MOD83_02233490: ; 0x02233490 push {r4, lr} bl MOD83_022345D4 add r4, r0, #0 bl MOD83_02234610 str r0, [r4] bl MOD83_02234564 ldrh r0, [r0, #0x32] strh r0, [r4, #4] bl WM_GetDispersionScanPeriod strh r0, [r4, #6] mov r0, #0xff strb r0, [r4, #8] strb r0, [r4, #9] strb r0, [r4, #0xa] strb r0, [r4, #0xb] strb r0, [r4, #0xc] strb r0, [r4, #0xd] pop {r4, pc} thumb_func_end MOD83_02233490 thumb_func_start MOD83_022334BC MOD83_022334BC: ; 0x022334BC push {r3, r4, r5, r6, r7, lr} bl MOD83_022345D4 add r7, r0, #0 bl WM_GetAllowedChannel add r3, r0, #0 beq _02233508 ldrh r2, [r7, #4] mov r1, #0 mov r0, #1 mov ip, r2 mov r4, #0x1c _022334D6: lsr r6, r2, #0x1f lsl r5, r2, #0x1c sub r5, r5, r6 ror r5, r4 add r5, r6, r5 add r6, r0, #0 lsl r6, r5 add r5, r3, #0 tst r5, r6 beq _02233500 mov r0, ip add r0, r0, r1 lsr r2, r0, #0x1f lsl r1, r0, #0x1c sub r1, r1, r2 mov r0, #0x1c ror r1, r0 add r0, r2, r1 add r0, r0, #1 strh r0, [r7, #4] pop {r3, r4, r5, r6, r7, pc} _02233500: add r1, r1, #1 add r2, r2, #1 cmp r1, #0x10 blt _022334D6 _02233508: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD83_022334BC thumb_func_start MOD83_0223350C MOD83_0223350C: ; 0x0223350C push {r4, lr} add r4, r0, #0 ldrh r0, [r4, #4] bl MOD83_0223495C ldrh r0, [r4, #2] cmp r0, #8 bne _02233524 bl MOD83_02234958 bl MOD83_0223335C _02233524: pop {r4, pc} .align 2, 0 thumb_func_end MOD83_0223350C thumb_func_start MOD83_02233528 MOD83_02233528: ; 0x02233528 push {r4, lr} add r4, r0, #0 ldrh r0, [r4, #8] bl MOD83_0223495C ldrh r0, [r4, #2] cmp r0, #0 beq _0223353C bl MOD83_02234958 _0223353C: pop {r4, pc} .align 2, 0 thumb_func_end MOD83_02233528 thumb_func_start MOD83_02233540 MOD83_02233540: ; 0x02233540 push {r3, lr} ldrh r0, [r0, #2] cmp r0, #0 bne _02233576 mov r0, #2 bl MOD83_02234580 bl MOD83_0223458C cmp r0, #0xc bne _02233562 bl MOD83_022349CC mov r0, #2 bl MOD83_02234580 pop {r3, pc} _02233562: bl MOD83_02234BF8 cmp r0, #0 bne _0223357E bl MOD83_022349CC mov r0, #2 bl MOD83_02234580 pop {r3, pc} _02233576: bl MOD83_02234958 bl MOD83_022349CC _0223357E: pop {r3, pc} thumb_func_end MOD83_02233540 thumb_func_start MOD83_02233580 MOD83_02233580: ; 0x02233580 push {r3, lr} ldrh r0, [r0, #2] cmp r0, #0 bne _022335AA bl MOD83_0223458C cmp r0, #0xc bne _022335A2 bl WM_Finish mov r0, #0xc bl MOD83_02234580 mov r0, #1 bl MOD83_0223464C pop {r3, pc} _022335A2: mov r0, #1 bl MOD83_02234580 pop {r3, pc} _022335AA: bl MOD83_02234958 mov r0, #4 bl MOD83_02234580 pop {r3, pc} .align 2, 0 thumb_func_end MOD83_02233580 thumb_func_start MOD83_022335B8 MOD83_022335B8: ; 0x022335B8 push {r3, r4, r5, lr} add r5, r0, #0 ldrh r0, [r5, #2] cmp r0, #0 bne _02233616 bl MOD83_0223466C add r4, r0, #0 add r0, #0x61 ldrh r1, [r5, #0xa] ldrb r0, [r0] cmp r0, r1 ble _022335E0 add r0, r4, #0 add r0, #0x61 strb r1, [r0] add r0, r4, #0 ldrh r1, [r5, #8] add r0, #0x64 strb r1, [r0] _022335E0: bl MOD83_022333D8 cmp r0, #0 beq _022335F6 bl MOD83_022349EC cmp r0, #0 bne _0223361E bl MOD83_0223335C pop {r3, r4, r5, pc} _022335F6: add r4, #0x61 ldrb r0, [r4] cmp r0, #0x66 bhs _02233610 bl MOD83_02233478 bl MOD83_02234A18 cmp r0, #0 bne _0223361E bl MOD83_0223335C pop {r3, r4, r5, pc} _02233610: bl MOD83_0223335C pop {r3, r4, r5, pc} _02233616: bl MOD83_02234958 bl MOD83_0223335C _0223361E: pop {r3, r4, r5, pc} thumb_func_end MOD83_022335B8 thumb_func_start MOD83_02233620 MOD83_02233620: ; 0x02233620 push {r3, lr} ldrh r0, [r0, #2] cmp r0, #0 bne _0223363E bl MOD83_02233388 cmp r0, #0 bne _02233646 bl MOD83_02234A54 cmp r0, #0 bne _02233646 bl MOD83_0223335C pop {r3, pc} _0223363E: bl MOD83_02234958 bl MOD83_0223335C _02233646: pop {r3, pc} thumb_func_end MOD83_02233620 thumb_func_start MOD83_02233648 MOD83_02233648: ; 0x02233648 push {r4, r5, lr} sub sp, #0xc add r5, r0, #0 ldrh r0, [r5, #8] bl MOD83_0223495C ldrh r0, [r5, #2] cmp r0, #0 beq _0223365C b _0223376E _0223365C: bl MOD83_0223466C add r4, r0, #0 mov r0, #8 bl MOD83_02234580 bl MOD83_02233388 cmp r0, #0 beq _02233672 b _02233776 _02233672: add r0, r4, #0 add r0, #0x60 ldrb r0, [r0] cmp r0, #1 bne _02233684 add r0, r4, #0 mov r1, #2 add r0, #0x60 strb r1, [r0] _02233684: ldrh r0, [r5, #8] cmp r0, #7 bgt _0223369C bge _022336BE cmp r0, #2 bgt _02233776 cmp r0, #0 blt _02233776 beq _022336A4 add sp, #0xc cmp r0, #2 pop {r4, r5, pc} _0223369C: cmp r0, #9 beq _02233764 add sp, #0xc pop {r4, r5, pc} _022336A4: bl MOD83_02234B80 cmp r0, #0 bne _022336B4 bl MOD83_0223335C add sp, #0xc pop {r4, r5, pc} _022336B4: mov r0, #0 bl MOD83_0223461C add sp, #0xc pop {r4, r5, pc} _022336BE: bl MOD83_0223466C bl MOD83_02234968 add r4, #0x60 ldrb r0, [r4] cmp r0, #2 bne _02233776 add r4, r5, #0 add r4, #0x14 bl MOD83_022346BC ldr r1, [r5, #0x14] lsl r1, r1, #0x18 lsr r1, r1, #0x18 cmp r1, r0 bne _02233776 bl MOD83_022346CC ldr r1, [r4] lsl r1, r1, #0x14 lsr r1, r1, #0x1c cmp r1, r0 bhi _02233776 bl MOD83_022346DC ldr r1, [r4, #4] lsr r1, r1, #0x10 cmp r1, r0 bne _02233776 bl MOD83_0223466C add r4, r0, #0 add r0, r5, #0 add r0, #0xa bl MOD83_0223336C str r0, [sp, #4] str r0, [sp, #8] add r0, r5, #0 add r0, #0xa bl MOD83_02233378 add r1, sp, #0 strh r0, [r1] ldrh r0, [r1] ldr r2, [sp, #8] add r3, r4, #0 strh r0, [r1, #2] mov r0, #0 _02233722: ldr r1, [r3] cmp r1, r2 bne _0223373A mov r1, #0xc mul r1, r0 ldrh r0, [r5, #0x10] add r1, r4, r1 add sp, #0xc strh r0, [r1, #6] mov r0, #1 strb r0, [r1, #0xa] pop {r4, r5, pc} _0223373A: cmp r1, #0 bne _02233758 mov r1, #0xc mul r1, r0 str r2, [r4, r1] add r0, sp, #0 ldrh r0, [r0, #2] add r1, r4, r1 add sp, #0xc strh r0, [r1, #4] ldrh r0, [r5, #0x10] strh r0, [r1, #6] mov r0, #1 strb r0, [r1, #0xa] pop {r4, r5, pc} _02233758: add r0, r0, #1 add r3, #0xc cmp r0, #8 blt _02233722 add sp, #0xc pop {r4, r5, pc} _02233764: ldrh r0, [r5, #0x10] bl MOD83_022333B0 add sp, #0xc pop {r4, r5, pc} _0223376E: bl MOD83_02234958 bl MOD83_0223335C _02233776: add sp, #0xc pop {r4, r5, pc} .align 2, 0 thumb_func_end MOD83_02233648 thumb_func_start MOD83_0223377C MOD83_0223377C: ; 0x0223377C push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r4, r1, #0 str r0, [sp] bl MOD83_02234664 add r7, r0, #0 add r0, r4, #4 bl MOD83_0223336C str r0, [sp, #8] str r0, [sp, #0xc] add r0, r4, #4 bl MOD83_02233378 add r2, sp, #4 strh r0, [r2] ldrh r0, [r2] ldr r6, [sp, #0xc] add r1, r7, #0 strh r0, [r2, #2] ldrh r3, [r2, #2] mov r0, #0 _022337AA: ldr r2, [r1] add r5, r1, #0 add r5, #0x34 cmp r2, r6 bne _022337C0 ldrh r5, [r5] cmp r5, r3 bne _022337C0 add sp, #0x10 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _022337C0: cmp r2, #0 bne _0223380C mov r1, #0x38 mul r1, r0 ldr r0, [sp, #0xc] add r5, r4, #0 str r0, [r7, r1] add r0, r7, r1 add r5, #0x58 add r3, r0, #4 mov r2, #0xc _022337D6: ldrh r0, [r5] add r5, r5, #2 strh r0, [r3] add r3, r3, #2 sub r2, r2, #1 bne _022337D6 add r3, r7, r1 add r4, #0x70 add r3, #0x1c mov r2, #0xc _022337EA: ldrh r0, [r4] add r4, r4, #2 strh r0, [r3] add r3, r3, #2 sub r2, r2, #1 bne _022337EA add r0, sp, #4 ldrh r0, [r0, #2] add r1, r7, r1 strh r0, [r1, #0x34] ldr r0, [sp] add r1, #0x36 ldrh r0, [r0, #0x12] add sp, #0x10 strb r0, [r1] mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _0223380C: add r0, r0, #1 add r1, #0x38 cmp r0, #8 blt _022337AA mov r0, #0 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD83_0223377C thumb_func_start MOD83_0223381C MOD83_0223381C: ; 0x0223381C push {r3, lr} bl MOD83_022334BC bl MOD83_02234A70 cmp r0, #0 bne _0223382E bl MOD83_0223335C _0223382E: pop {r3, pc} thumb_func_end MOD83_0223381C thumb_func_start MOD83_02233830 MOD83_02233830: ; 0x02233830 push {r4, r5, r6, lr} add r6, r0, #0 bl MOD83_02234610 add r4, r0, #0 bl MOD83_02234664 add r5, r0, #0 bl MOD83_02233388 cmp r0, #0 beq _0223384C mov r0, #1 pop {r4, r5, r6, pc} _0223384C: mov r1, #0 add r2, r1, #0 add r3, r5, #0 _02233852: ldr r0, [r3] cmp r0, #0 beq _0223385C mov r1, #1 b _02233864 _0223385C: add r2, r2, #1 add r3, #0x38 cmp r2, #8 blt _02233852 _02233864: cmp r1, #0 beq _02233882 mov r0, #7 lsl r0, r0, #6 ldrh r0, [r5, r0] cmp r0, #0 bne _02233882 bl MOD83_02234B2C cmp r0, #0 bne _0223387E bl MOD83_0223335C _0223387E: mov r0, #1 pop {r4, r5, r6, pc} _02233882: add r0, r4, #0 mov r1, #0xc0 bl DC_InvalidateRange bl MOD83_02234664 bl MOD83_02234964 ldrh r0, [r6, #0x36] cmp r0, #8 blo _0223390C bl MOD83_022346B0 ldr r1, [r4, #0x44] cmp r1, r0 bne _0223390C add r5, r4, #0 add r5, #0x50 bl MOD83_022346BC ldr r1, [r4, #0x50] lsl r1, r1, #0x18 lsr r1, r1, #0x18 cmp r1, r0 bne _0223390C bl MOD83_022346CC ldr r1, [r5] lsl r1, r1, #0x14 lsr r1, r1, #0x1c cmp r1, r0 bhi _0223390C bl MOD83_022346DC ldr r1, [r5, #4] lsr r1, r1, #0x10 cmp r1, r0 bne _0223390C add r0, r6, #0 add r1, r4, #0 bl MOD83_0223377C cmp r0, #0 beq _022338FC bl MOD83_02234664 ldr r1, _02233910 ; =0x000001C2 ldrb r2, [r0, r1] add r2, r2, #1 strb r2, [r0, r1] ldrb r0, [r0, r1] cmp r0, #0x1c bls _0223390C bl MOD83_02234B2C cmp r0, #0 bne _0223390C bl MOD83_0223335C mov r0, #1 pop {r4, r5, r6, pc} _022338FC: bl MOD83_02234B2C cmp r0, #0 bne _02233908 bl MOD83_0223335C _02233908: mov r0, #1 pop {r4, r5, r6, pc} _0223390C: mov r0, #0 pop {r4, r5, r6, pc} .align 2, 0 _02233910: .word 0x000001C2 thumb_func_end MOD83_02233830 thumb_func_start MOD83_02233914 MOD83_02233914: ; 0x02233914 push {r4, lr} add r4, r0, #0 ldrh r0, [r4, #8] bl MOD83_0223495C ldrh r0, [r4, #2] cmp r0, #0 bne _0223397A bl MOD83_02234610 bl MOD83_02234960 mov r0, #6 bl MOD83_02234580 bl MOD83_02233388 cmp r0, #0 bne _02233982 bl MOD83_022345A4 cmp r0, #1 bne _02233954 bl MOD83_02234664 ldr r2, _02233984 ; =0x000001C3 mov r1, #0xf0 ldrb r3, [r0, r2] bic r3, r1 mov r1, #0x10 orr r1, r3 strb r1, [r0, r2] _02233954: ldrh r0, [r4, #8] cmp r0, #4 beq _02233968 cmp r0, #5 bne _0223396E add r0, r4, #0 bl MOD83_02233830 cmp r0, #0 bne _02233982 _02233968: bl MOD83_0223381C pop {r4, pc} _0223396E: ldrh r0, [r4, #2] bl MOD83_02234958 bl MOD83_0223335C pop {r4, pc} _0223397A: bl MOD83_02234958 bl MOD83_0223335C _02233982: pop {r4, pc} .align 2, 0 _02233984: .word 0x000001C3 thumb_func_end MOD83_02233914 thumb_func_start MOD83_02233988 MOD83_02233988: ; 0x02233988 push {r4, r5, r6, lr} sub sp, #8 bl MOD83_02234610 add r4, r0, #0 bl MOD83_02234664 add r6, r0, #0 bl MOD83_02234564 bl MOD83_02233388 cmp r0, #0 beq _022339AA add sp, #8 mov r0, #1 pop {r4, r5, r6, pc} _022339AA: add r0, r4, #0 mov r1, #0xc0 bl DC_InvalidateRange bl MOD83_02234664 bl MOD83_02234964 ldrh r0, [r4, #0x3c] cmp r0, #8 blo _02233A24 bl MOD83_022346B0 ldr r1, [r4, #0x44] cmp r1, r0 bne _02233A24 add r5, r4, #0 add r5, #0x50 bl MOD83_022346BC ldr r1, [r4, #0x50] lsl r1, r1, #0x18 lsr r1, r1, #0x18 cmp r1, r0 bne _02233A24 bl MOD83_022346CC ldr r1, [r5] lsl r1, r1, #0x14 lsr r1, r1, #0x1c cmp r1, r0 bhi _02233A24 bl MOD83_022346DC ldr r1, [r5, #4] lsr r1, r1, #0x10 cmp r1, r0 bne _02233A24 add r0, r4, #4 bl MOD83_0223336C ldr r1, _02233A2C ; =0x000001C3 str r0, [sp] ldrb r1, [r6, r1] str r0, [sp, #4] lsl r1, r1, #0x1c lsr r2, r1, #0x1c mov r1, #0x38 mul r1, r2 ldr r1, [r6, r1] cmp r1, r0 bne _02233A24 bl MOD83_02234B2C cmp r0, #0 bne _02233A1E bl MOD83_0223335C _02233A1E: add sp, #8 mov r0, #1 pop {r4, r5, r6, pc} _02233A24: mov r0, #0 add sp, #8 pop {r4, r5, r6, pc} nop _02233A2C: .word 0x000001C3 thumb_func_end MOD83_02233988 thumb_func_start MOD83_02233A30 MOD83_02233A30: ; 0x02233A30 push {r4, lr} add r4, r0, #0 ldrh r0, [r4, #8] bl MOD83_0223495C ldrh r0, [r4, #2] cmp r0, #0 bne _02233A90 bl MOD83_02234664 ldr r2, _02233A9C ; =0x000001C3 mov r1, #0xf0 ldrb r3, [r0, r2] bic r3, r1 mov r1, #0x20 orr r1, r3 strb r1, [r0, r2] mov r0, #6 bl MOD83_02234580 bl MOD83_02233388 cmp r0, #0 bne _02233A98 ldrh r0, [r4, #8] cmp r0, #4 beq _02233A72 cmp r0, #5 bne _02233A84 bl MOD83_02233988 cmp r0, #0 bne _02233A98 _02233A72: bl MOD83_022334BC bl MOD83_02234A94 cmp r0, #0 bne _02233A98 bl MOD83_0223335C pop {r4, pc} _02233A84: ldrh r0, [r4, #2] bl MOD83_02234958 bl MOD83_0223335C pop {r4, pc} _02233A90: bl MOD83_02234958 bl MOD83_0223335C _02233A98: pop {r4, pc} nop _02233A9C: .word 0x000001C3 thumb_func_end MOD83_02233A30 thumb_func_start MOD83_02233AA0 MOD83_02233AA0: ; 0x02233AA0 push {r3, lr} ldrh r0, [r0, #2] cmp r0, #0 bne _02233AE4 mov r0, #7 bl MOD83_02234580 bl MOD83_02233388 cmp r0, #0 bne _02233AEC bl MOD83_022345A4 cmp r0, #1 bne _02233AEC bl MOD83_02234664 ldr r1, _02233AF0 ; =0x000001C3 ldrb r0, [r0, r1] lsl r0, r0, #0x18 lsr r0, r0, #0x1c cmp r0, #2 bne _02233AEC bl MOD83_02234B48 cmp r0, #0 bne _02233ADC bl MOD83_0223335C pop {r3, pc} _02233ADC: mov r0, #3 bl MOD83_02234580 pop {r3, pc} _02233AE4: bl MOD83_02234958 bl MOD83_0223335C _02233AEC: pop {r3, pc} nop _02233AF0: .word 0x000001C3 thumb_func_end MOD83_02233AA0 thumb_func_start MOD83_02233AF4 MOD83_02233AF4: ; 0x02233AF4 push {r4, lr} add r4, r0, #0 ldrh r0, [r4, #8] bl MOD83_0223495C ldrh r0, [r4, #2] cmp r0, #0 bne _02233B7A mov r0, #9 bl MOD83_02234580 bl MOD83_02233388 cmp r0, #0 bne _02233B82 ldrh r0, [r4, #8] cmp r0, #9 bhi _02233B6E add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02233B24: ; jump table .short _02233B6E - _02233B24 - 2 ; case 0 .short _02233B6E - _02233B24 - 2 ; case 1 .short _02233B6E - _02233B24 - 2 ; case 2 .short _02233B6E - _02233B24 - 2 ; case 3 .short _02233B6E - _02233B24 - 2 ; case 4 .short _02233B6E - _02233B24 - 2 ; case 5 .short _02233B82 - _02233B24 - 2 ; case 6 .short _02233B38 - _02233B24 - 2 ; case 7 .short _02233B82 - _02233B24 - 2 ; case 8 .short _02233B58 - _02233B24 - 2 ; case 9 _02233B38: ldrh r0, [r4, #0xa] bl MOD83_0223461C mov r0, #1 bl MOD83_02234634 mov r0, #0 bl MOD83_02234640 bl MOD83_02234B80 cmp r0, #0 bne _02233B82 bl MOD83_0223335C pop {r4, pc} _02233B58: bl MOD83_02234628 cmp r0, #0 beq _02233B66 mov r0, #1 bl MOD83_02234640 _02233B66: mov r0, #0 bl MOD83_02234634 pop {r4, pc} _02233B6E: ldrh r0, [r4, #2] bl MOD83_02234958 bl MOD83_0223335C pop {r4, pc} _02233B7A: bl MOD83_02234958 bl MOD83_0223335C _02233B82: pop {r4, pc} thumb_func_end MOD83_02233AF4 thumb_func_start MOD83_02233B84 MOD83_02233B84: ; 0x02233B84 push {r3, lr} bl MOD83_022345A4 cmp r0, #1 beq _02233BBE cmp r0, #2 bne _02233BD6 bl MOD83_02233438 cmp r0, #0 beq _02233BB8 bl MOD83_022333D8 bl MOD83_022349EC cmp r0, #0 beq _02233BB8 bl MOD83_0223466C mov r1, #1 add r0, #0x60 strb r1, [r0] mov r0, #3 bl MOD83_02234580 pop {r3, pc} _02233BB8: bl MOD83_0223335C pop {r3, pc} _02233BBE: bl MOD83_02233490 bl MOD83_02234A70 cmp r0, #0 bne _02233BD0 bl MOD83_0223335C pop {r3, pc} _02233BD0: mov r0, #3 bl MOD83_02234580 _02233BD6: pop {r3, pc} thumb_func_end MOD83_02233B84 thumb_func_start MOD83_02233BD8 MOD83_02233BD8: ; 0x02233BD8 push {r4, lr} add r4, r0, #0 ldrh r0, [r4, #4] bl MOD83_0223495C ldrh r0, [r4, #2] cmp r0, #0 bne _02233C12 ldrh r0, [r4] cmp r0, #0xe bne _02233BF6 bl MOD83_02233388 cmp r0, #0 bne _02233C22 _02233BF6: bl MOD83_022345A4 cmp r0, #1 beq _02233C0A cmp r0, #2 bne _02233C22 mov r0, #0xa bl MOD83_02234580 pop {r4, pc} _02233C0A: mov r0, #0xb bl MOD83_02234580 pop {r4, pc} _02233C12: cmp r0, #9 beq _02233C22 cmp r0, #0xd beq _02233C22 cmp r0, #0xf beq _02233C22 bl MOD83_0223335C _02233C22: pop {r4, pc} thumb_func_end MOD83_02233BD8 thumb_func_start MOD83_02233C24 MOD83_02233C24: ; 0x02233C24 push {r4, r5, r6, lr} add r6, r0, #0 bl MOD83_02234694 add r4, r0, #0 ldrb r0, [r4, #0x19] cmp r0, #1 bne _02233C9A ldrh r1, [r6, #0x10] ldr r0, [r6, #0xc] ldr r5, [r4, #0xc] bl DC_FlushRange ldrh r2, [r6, #0x10] ldr r0, [r6, #0xc] ldr r1, [r4, #0xc] bl MI_CpuCopy8 bl MOD83_022346BC ldr r1, [r5] lsl r1, r1, #0x18 lsr r1, r1, #0x18 cmp r1, r0 bne _02233C9A bl MOD83_022346CC ldr r1, [r5] lsl r1, r1, #0x14 lsr r1, r1, #0x1c cmp r1, r0 bhi _02233C9A ldr r0, [r4, #0xc] bl MOD83_02234900 ldr r0, [r5, #8] lsl r0, r0, #0x18 lsr r1, r0, #0x18 ldrb r0, [r4, #0x1c] cmp r1, r0 bne _02233C9A ldr r0, [r4, #0xc] bl MOD83_0223496C ldr r0, [r4, #0xc] bl MOD83_02234934 cmp r0, #0 beq _02233C96 ldr r0, [r5, #8] lsl r0, r0, #0x10 lsr r0, r0, #0x18 cmp r0, #1 beq _02233C96 mov r0, #2 strb r0, [r4, #0x19] pop {r4, r5, r6, pc} _02233C96: mov r0, #0 strb r0, [r4, #0x19] _02233C9A: pop {r4, r5, r6, pc} thumb_func_end MOD83_02233C24 thumb_func_start MOD83_02233C9C MOD83_02233C9C: ; 0x02233C9C push {r4, r5, r6, lr} add r6, r0, #0 bl MOD83_02234694 add r4, r0, #0 bl MOD83_022345A4 cmp r0, #2 bne _02233D24 ldrb r0, [r4, #0x19] cmp r0, #2 beq _02233D24 ldrh r1, [r6, #0x10] ldr r0, [r6, #0xc] ldr r5, [r4, #0xc] bl DC_FlushRange ldrh r2, [r6, #0x10] ldr r0, [r6, #0xc] ldr r1, [r4, #0xc] bl MI_CpuCopy8 bl MOD83_022346BC ldr r1, [r5] lsl r1, r1, #0x18 lsr r1, r1, #0x18 cmp r1, r0 bne _02233D24 bl MOD83_022346CC ldr r1, [r5] lsl r1, r1, #0x14 lsr r1, r1, #0x1c cmp r1, r0 bhi _02233D24 ldr r0, [r4, #0xc] bl MOD83_02234900 ldr r0, [r5, #8] lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0xfd bne _02233D24 bl MOD83_0223466C ldrh r5, [r6, #0x12] mov r2, #0 add r3, r0, #0 _02233CFE: ldrh r1, [r3, #6] cmp r5, r1 bne _02233D1C mov r1, #0xc mul r1, r2 add r1, r0, r1 mov r2, #1 strb r2, [r1, #8] mov r0, #3 strb r0, [r1, #9] mov r0, #0xb4 strb r0, [r4, #0x1a] mov r0, #0 strb r0, [r4, #0x19] pop {r4, r5, r6, pc} _02233D1C: add r2, r2, #1 add r3, #0xc cmp r2, #8 blt _02233CFE _02233D24: pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD83_02233C9C thumb_func_start MOD83_02233D28 MOD83_02233D28: ; 0x02233D28 push {r4, r5, r6, lr} add r6, r0, #0 bl MOD83_02234694 add r4, r0, #0 ldrb r0, [r4, #0x1c] cmp r0, #0xfd bne _02233D40 add r0, r6, #0 bl MOD83_02233C9C pop {r4, r5, r6, pc} _02233D40: ldrb r0, [r4, #0x19] cmp r0, #1 beq _02233D4C ldrb r0, [r4, #0x19] cmp r0, #3 bne _02233DE8 _02233D4C: ldrb r0, [r4, #0x1b] cmp r0, #0 bne _02233DE8 ldrh r1, [r6, #0x10] ldr r0, [r6, #0xc] ldr r5, [r4, #0xc] bl DC_FlushRange ldrh r2, [r6, #0x10] ldr r0, [r6, #0xc] ldr r1, [r4, #0xc] bl MI_CpuCopy8 bl MOD83_022346BC ldr r1, [r5] lsl r1, r1, #0x18 lsr r1, r1, #0x18 cmp r1, r0 bne _02233DE8 bl MOD83_022346CC ldr r1, [r5] lsl r1, r1, #0x14 lsr r1, r1, #0x1c cmp r1, r0 bhi _02233DE8 ldr r0, [r4, #0xc] bl MOD83_02234900 ldr r0, [r5, #8] lsl r0, r0, #0x18 lsr r1, r0, #0x18 ldrb r0, [r4, #0x1c] cmp r1, r0 bne _02233DE8 ldr r0, [r4, #0xc] bl MOD83_0223496C mov r0, #0 strb r0, [r4, #0x19] ldr r0, [r4, #0xc] bl MOD83_02234934 cmp r0, #0 beq _02233DDA ldr r0, [r5, #8] lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0xfd bne _02233DBA add r0, r6, #0 bl MOD83_02233C9C b _02233DCC _02233DBA: ldr r2, [r5, #0xc] ldr r1, [r4, #0xc] lsl r0, r2, #0x18 lsr r0, r0, #0x18 add r0, r1, r0 ldr r1, [r4, #4] lsr r2, r2, #8 bl MI_CpuCopy8 _02233DCC: ldr r1, [r5, #8] ldr r0, _02233DEC ; =0xFFFF00FF and r0, r1 str r0, [r5, #8] mov r0, #4 strb r0, [r4, #0x1b] pop {r4, r5, r6, pc} _02233DDA: ldr r1, [r5, #8] ldr r0, _02233DEC ; =0xFFFF00FF and r1, r0 mov r0, #1 lsl r0, r0, #8 orr r0, r1 str r0, [r5, #8] _02233DE8: pop {r4, r5, r6, pc} nop _02233DEC: .word 0xFFFF00FF thumb_func_end MOD83_02233D28 thumb_func_start MOD83_02233DF0 MOD83_02233DF0: ; 0x02233DF0 push {r4, lr} add r4, r0, #0 ldrh r0, [r4, #4] bl MOD83_0223495C ldrh r0, [r4, #2] cmp r0, #0 bne _02233E72 ldrh r0, [r4, #4] cmp r0, #7 beq _02233E3A cmp r0, #9 beq _02233E48 cmp r0, #0x15 bne _02233E72 bl MOD83_02234574 cmp r0, #0xa beq _02233E1A cmp r0, #0xb bne _02233E72 _02233E1A: bl MOD83_02234694 ldrb r0, [r0, #0x18] cmp r0, #1 beq _02233E2A cmp r0, #2 beq _02233E32 pop {r4, pc} _02233E2A: add r0, r4, #0 bl MOD83_02233C24 pop {r4, pc} _02233E32: add r0, r4, #0 bl MOD83_02233D28 pop {r4, pc} _02233E3A: mov r0, #1 bl MOD83_02234634 mov r0, #0 bl MOD83_02234640 pop {r4, pc} _02233E48: bl MOD83_02234628 cmp r0, #0 beq _02233E56 mov r0, #1 bl MOD83_02234640 _02233E56: bl MOD83_02234574 cmp r0, #0xa beq _02233E64 cmp r0, #0xb beq _02233E6C pop {r4, pc} _02233E64: ldrh r0, [r4, #0x12] bl MOD83_022333B0 pop {r4, pc} _02233E6C: mov r0, #0 bl MOD83_02234634 _02233E72: pop {r4, pc} thumb_func_end MOD83_02233DF0 thumb_func_start MOD83_02233E74 MOD83_02233E74: ; 0x02233E74 push {r3, lr} ldrh r0, [r0, #2] cmp r0, #0 bne _02233E8A bl MOD83_02233388 cmp r0, #0 bne _02233E94 bl MOD83_02233B84 pop {r3, pc} _02233E8A: bl MOD83_02234958 mov r0, #4 bl MOD83_02234580 _02233E94: pop {r3, pc} .align 2, 0 thumb_func_end MOD83_02233E74 thumb_func_start MOD83_02233E98 MOD83_02233E98: ; 0x02233E98 push {r3, lr} ldrh r0, [r0, #2] cmp r0, #0 bne _02233EB0 bl MOD83_022349CC cmp r0, #0 beq _02233EB8 mov r0, #2 bl MOD83_02234580 pop {r3, pc} _02233EB0: bl MOD83_02234958 bl MOD83_0223335C _02233EB8: pop {r3, pc} .align 2, 0 thumb_func_end MOD83_02233E98 thumb_func_start MOD83_02233EBC MOD83_02233EBC: ; 0x02233EBC push {r3, lr} ldrh r0, [r0, #2] cmp r0, #0 bne _02233EF2 mov r0, #0 bl MOD83_0223461C bl MOD83_0223458C cmp r0, #0xc bne _02233EE2 bl MOD83_02234C54 cmp r0, #0 beq _02233EFC mov r0, #3 bl MOD83_02234580 pop {r3, pc} _02233EE2: bl MOD83_02234C14 cmp r0, #0 beq _02233EFC mov r0, #3 bl MOD83_02234580 pop {r3, pc} _02233EF2: bl MOD83_02234958 mov r0, #4 bl MOD83_02234580 _02233EFC: pop {r3, pc} .align 2, 0 thumb_func_end MOD83_02233EBC thumb_func_start MOD83_02233F00 MOD83_02233F00: ; 0x02233F00 push {r3, lr} ldrh r0, [r0, #2] cmp r0, #0 bne _02233F16 mov r0, #0xc bl MOD83_02234580 mov r0, #1 bl MOD83_0223464C pop {r3, pc} _02233F16: bl MOD83_02234958 mov r0, #4 bl MOD83_02234580 pop {r3, pc} .align 2, 0 thumb_func_end MOD83_02233F00 thumb_func_start MOD83_02233F24 MOD83_02233F24: ; 0x02233F24 push {r3, lr} ldr r0, _02233F40 ; =MOD83_0223350C bl WM_SetIndCallback cmp r0, #0 beq _02233F3A mov r0, #4 bl MOD83_02234580 mov r0, #0 pop {r3, pc} _02233F3A: mov r0, #1 pop {r3, pc} nop _02233F40: .word MOD83_0223350C thumb_func_end MOD83_02233F24 thumb_func_start MOD83_02233F44 MOD83_02233F44: ; 0x02233F44 push {r3, lr} bl MOD83_02234574 cmp r0, #0 beq _02233F56 cmp r0, #1 beq _02233F56 cmp r0, #2 bne _02233F5A _02233F56: bl MOD83_022349B0 _02233F5A: pop {r3, pc} thumb_func_end MOD83_02233F44 thumb_func_start MOD83_02233F5C MOD83_02233F5C: ; 0x02233F5C push {r4, r5, r6, lr} add r5, r0, #0 add r4, r1, #0 add r6, r2, #0 bl MOD83_02234564 ldrh r0, [r0, #0x34] cmp r4, r0 bhi _02233F80 add r0, r5, #0 add r1, r4, #0 bl DC_FlushRange add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD83_02234970 _02233F80: pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD83_02233F5C thumb_func_start MOD83_02233F84 MOD83_02233F84: ; 0x02233F84 mov r0, #0x17 lsl r0, r0, #6 bx lr .align 2, 0 thumb_func_end MOD83_02233F84 thumb_func_start MOD83_02233F8C MOD83_02233F8C: ; 0x02233F8C mov r0, #0x17 lsl r0, r0, #6 bx lr .align 2, 0 thumb_func_end MOD83_02233F8C thumb_func_start MOD83_02233F94 MOD83_02233F94: ; 0x02233F94 push {r3, r4, r5, r6, r7, lr} add r7, r1, #0 add r5, r0, #0 bl MOD83_02234564 bl MOD83_0223456C add r4, r0, #0 mov r0, #0x1f add r1, r7, #0 and r1, r0 beq _02233FB2 mov r0, #0x20 sub r0, r0, r1 add r7, r7, r0 _02233FB2: mov r1, #0 strb r1, [r4] strb r1, [r4, #1] strb r1, [r4, #2] mov r0, #4 strb r0, [r4, #3] ldr r0, _022340B8 ; =0x00400131 str r0, [r4, #4] mov r0, #0xf strh r1, [r4, #0xc] lsl r0, r0, #8 str r7, [r4, #0x34] add r7, r7, r0 str r7, [r4, #0x38] bl MOD83_02233F84 str r0, [r4, #0x2c] add r7, r7, r0 str r7, [r4, #0x3c] bl MOD83_02233F8C add r7, r7, r0 str r0, [r4, #0x30] add r0, r7, #0 str r7, [r4, #0x28] add r0, #0xc0 str r0, [r4, #0x24] ldr r0, [r4, #0x34] mov r1, #2 add r7, #0xe0 bl WM_Init bl MOD83_02233F24 str r0, [r4, #0x10] mov r2, #0 str r2, [r4, #0x14] str r2, [r4, #0x18] str r2, [r4, #0x1c] str r2, [r4, #0x20] ldr r0, [r4, #0x40] mov r6, #0xff bic r0, r6 add r3, r0, #0 mov r1, #0xf orr r3, r1 ldr r0, _022340BC ; =0xFFFFF0FF add r1, #0xf1 and r0, r3 orr r1, r0 ldr r0, _022340C0 ; =0xFFFF0FFF and r1, r0 mov r0, #1 lsl r0, r0, #0xc orr r0, r1 str r0, [r4, #0x40] ldr r3, [r5] ldr r1, [r4, #0x44] lsl r3, r3, #0x18 lsr r3, r3, #0x18 lsl r3, r3, #0x18 add r0, r4, #0 bic r1, r6 lsr r3, r3, #0x18 orr r3, r1 ldr r1, _022340BC ; =0xFFFFF0FF str r3, [r4, #0x44] and r1, r3 ldr r3, [r5] add r0, #0x44 lsl r3, r3, #0x14 lsr r3, r3, #0x1c lsl r3, r3, #0x1c lsr r3, r3, #0x14 orr r3, r1 ldr r1, _022340C0 ; =0xFFFF0FFF str r3, [r4, #0x44] and r1, r3 ldr r3, [r5] lsl r3, r3, #0x10 lsr r3, r3, #0x1c lsl r3, r3, #0x1c lsr r3, r3, #0x10 orr r1, r3 str r1, [r4, #0x44] ldr r1, [r0] ldr r3, [r5] lsl r1, r1, #0x10 lsr r3, r3, #0x10 lsr r1, r1, #0x10 lsl r3, r3, #0x10 orr r1, r3 str r1, [r0] ldr r0, [r5, #8] ldr r1, [r5, #4] add r3, r4, #0 b _0223408C _02234074: ldrh r6, [r0] add r5, r3, #0 add r5, #0x48 strh r6, [r5] add r5, r3, #0 ldrh r6, [r1] add r5, #0x60 add r3, r3, #2 strh r6, [r5] add r2, r2, #1 add r0, r0, #2 add r1, r1, #2 _0223408C: cmp r0, #0 beq _02234094 cmp r2, #0xc blo _02234074 _02234094: ldr r1, [r4, #0x40] ldr r0, [r4, #0x44] str r1, [r4, #0x78] str r0, [r4, #0x7c] bl MOD83_022346A4 bl MOD83_02234694 str r7, [r0, #8] ldr r0, [r4, #0x2c] add r7, r7, r0 bl MOD83_02234694 str r7, [r0, #0xc] bl WM_GetNextTgid pop {r3, r4, r5, r6, r7, pc} nop _022340B8: .word 0x00400131 _022340BC: .word 0xFFFFF0FF _022340C0: .word 0xFFFF0FFF thumb_func_end MOD83_02233F94 thumb_func_start MOD83_022340C4 MOD83_022340C4: ; 0x022340C4 push {r3, r4, r5, lr} bl MOD83_02234694 add r4, r0, #0 ldrb r0, [r4, #0x19] cmp r0, #1 bne _022340E2 ldrb r0, [r4, #0x1a] sub r0, r0, #1 strb r0, [r4, #0x1a] ldrb r0, [r4, #0x1a] cmp r0, #0 bne _02234118 mov r0, #0 strb r0, [r4, #0x19] _022340E2: ldrb r0, [r4, #0x19] cmp r0, #0 bne _02234118 bl MOD83_02234770 mov r1, #0x40 sub r5, r1, r0 ldrb r0, [r4, #0x1c] add r2, r5, #0 mov r3, #3 str r0, [sp] ldr r0, [r4, #8] ldr r1, [r4, #4] bl MOD83_022347D0 bl MOD83_02234770 add r1, r0, #0 ldr r0, [r4, #8] ldr r2, _0223411C ; =0x0000FFFF add r1, r5, r1 bl MOD83_02233F5C mov r0, #1 strb r0, [r4, #0x19] mov r0, #0x3c strb r0, [r4, #0x1a] _02234118: pop {r3, r4, r5, pc} nop _0223411C: .word 0x0000FFFF thumb_func_end MOD83_022340C4 thumb_func_start MOD83_02234120 MOD83_02234120: ; 0x02234120 push {r3, r4, r5, r6, r7, lr} bl MOD83_02234694 add r4, r0, #0 ldrb r0, [r4, #0x19] cmp r0, #0 bne _022341D6 ldrb r0, [r4, #0x1c] cmp r0, #0xfd bne _02234198 bl MOD83_0223466C add r5, r0, #0 mov r1, #0 add r2, r5, #0 _0223413E: ldrb r0, [r2, #9] cmp r0, #0 beq _0223417E add r6, r1, #0 mov r0, #0xc mul r6, r0 add r0, r5, r6 ldrh r0, [r0, #6] mov r1, #1 mov r2, #0 lsl r1, r0 lsl r0, r1, #0x10 lsr r7, r0, #0x10 mov r0, #0xfd str r0, [sp] ldr r0, [r4, #8] ldr r1, [r4, #4] add r3, r2, #0 bl MOD83_022347D0 bl MOD83_02234770 add r1, r0, #0 ldr r0, [r4, #8] add r2, r7, #0 bl MOD83_02233F5C add r5, #9 ldrb r0, [r5, r6] sub r0, r0, #1 strb r0, [r5, r6] pop {r3, r4, r5, r6, r7, pc} _0223417E: add r1, r1, #1 add r2, #0xc cmp r1, #8 blt _0223413E ldrb r0, [r4, #0x1a] sub r0, r0, #1 strb r0, [r4, #0x1a] ldrb r0, [r4, #0x1a] cmp r0, #0 bne _022341D6 mov r0, #2 strb r0, [r4, #0x19] pop {r3, r4, r5, r6, r7, pc} _02234198: bl MOD83_02234770 bl MOD83_02233F84 ldr r0, [r4, #0xc] ldr r0, [r0, #8] lsl r0, r0, #0x10 lsr r3, r0, #0x18 bne _022341BA ldrb r0, [r4, #0x1b] cmp r0, #0 bne _022341B6 mov r0, #2 strb r0, [r4, #0x19] pop {r3, r4, r5, r6, r7, pc} _022341B6: sub r0, r0, #1 strb r0, [r4, #0x1b] _022341BA: ldrb r0, [r4, #0x1c] mov r2, #0 str r0, [sp] ldr r0, [r4, #8] ldr r1, [r4, #4] bl MOD83_022347D0 bl MOD83_02234770 add r1, r0, #0 ldr r0, [r4, #8] ldr r2, _022341D8 ; =0x0000FFFF bl MOD83_02233F5C _022341D6: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _022341D8: .word 0x0000FFFF thumb_func_end MOD83_02234120 thumb_func_start MOD83_022341DC MOD83_022341DC: ; 0x022341DC push {r3, lr} bl MOD83_02234694 ldrb r0, [r0, #0x18] cmp r0, #1 beq _022341EE cmp r0, #2 beq _022341F4 pop {r3, pc} _022341EE: bl MOD83_022340C4 pop {r3, pc} _022341F4: bl MOD83_02234120 pop {r3, pc} .align 2, 0 thumb_func_end MOD83_022341DC thumb_func_start MOD83_022341FC MOD83_022341FC: ; 0x022341FC push {r4, lr} bl MOD83_02234664 add r4, r0, #0 bl MOD83_02234574 cmp r0, #6 beq _02234212 cmp r0, #0xb beq _02234222 pop {r4, pc} _02234212: mov r0, #7 lsl r0, r0, #6 ldrh r1, [r4, r0] cmp r1, #0 beq _02234226 sub r1, r1, #1 strh r1, [r4, r0] pop {r4, pc} _02234222: bl MOD83_022341DC _02234226: pop {r4, pc} thumb_func_end MOD83_022341FC thumb_func_start MOD83_02234228 MOD83_02234228: ; 0x02234228 push {r3, lr} bl MOD83_02234574 cmp r0, #0xa bne _02234236 bl MOD83_022341DC _02234236: pop {r3, pc} thumb_func_end MOD83_02234228 thumb_func_start MOD83_02234238 MOD83_02234238: ; 0x02234238 push {r3, lr} bl MOD83_02234574 cmp r0, #0xc beq _0223427A bl MOD83_0223458C cmp r0, #0xc bne _02234258 bl MOD83_02234574 cmp r0, #7 bne _0223427A bl MOD83_02234C34 pop {r3, pc} _02234258: bl MOD83_022345A4 cmp r0, #1 beq _02234266 cmp r0, #2 beq _0223426C b _02234272 _02234266: bl MOD83_022341FC pop {r3, pc} _0223426C: bl MOD83_02234228 pop {r3, pc} _02234272: bl MOD83_0223456C bl MOD83_02234574 _0223427A: pop {r3, pc} thumb_func_end MOD83_02234238 thumb_func_start MOD83_0223427C MOD83_0223427C: ; 0x0223427C push {r3, lr} bl MOD83_02234674 mov r0, #1 bl MOD83_022345B0 bl MOD83_02233F44 pop {r3, pc} .align 2, 0 thumb_func_end MOD83_0223427C thumb_func_start MOD83_02234290 MOD83_02234290: ; 0x02234290 push {r4, lr} bl MOD83_022345A4 mov r4, #0 cmp r0, #1 bne _022342BE bl MOD83_02234664 ldr r1, _022342C4 ; =0x000001C3 ldrb r1, [r0, r1] lsl r1, r1, #0x18 lsr r1, r1, #0x1c cmp r1, #1 bne _022342BE add r2, r4, #0 _022342AE: ldr r1, [r0] cmp r1, #0 beq _022342B6 add r4, r4, #1 _022342B6: add r2, r2, #1 add r0, #0x38 cmp r2, #8 blo _022342AE _022342BE: add r0, r4, #0 pop {r4, pc} nop _022342C4: .word 0x000001C3 thumb_func_end MOD83_02234290 thumb_func_start MOD83_022342C8 MOD83_022342C8: ; 0x022342C8 push {r4, lr} add r4, r0, #0 bl MOD83_022345A4 cmp r0, #1 bne _022342FA bl MOD83_02234574 cmp r0, #7 bne _022342FA bl MOD83_02234664 ldr r1, _02234300 ; =0x000001C3 ldrb r1, [r0, r1] lsl r1, r1, #0x18 lsr r1, r1, #0x1c cmp r1, #1 bne _022342FA mov r1, #0x38 mul r1, r4 ldr r0, [r0, r1] cmp r0, #0 beq _022342FA mov r0, #1 pop {r4, pc} _022342FA: mov r0, #0 pop {r4, pc} nop _02234300: .word 0x000001C3 thumb_func_end MOD83_022342C8 thumb_func_start MOD83_02234304 MOD83_02234304: ; 0x02234304 push {r3, r4, r5, lr} add r4, r0, #0 bl MOD83_022345A4 cmp r0, #1 bne _0223434E bl MOD83_02234574 cmp r0, #7 bne _0223434E bl MOD83_02234664 ldr r2, _02234350 ; =0x000001C3 ldrb r3, [r0, r2] lsl r1, r3, #0x18 lsr r1, r1, #0x1c cmp r1, #1 bne _0223434E mov r1, #0x38 add r5, r4, #0 mul r5, r1 ldr r5, [r0, r5] cmp r5, #0 beq _0223434E mov r5, #0xf lsl r4, r4, #0x18 bic r3, r5 lsr r5, r4, #0x18 mov r4, #0xf and r4, r5 orr r3, r4 strb r3, [r0, r2] mov r2, #0x78 lsl r1, r1, #3 strh r2, [r0, r1] bl MOD83_02234A94 _0223434E: pop {r3, r4, r5, pc} .align 2, 0 _02234350: .word 0x000001C3 thumb_func_end MOD83_02234304 thumb_func_start MOD83_02234354 MOD83_02234354: ; 0x02234354 push {r4, lr} bl MOD83_022345A4 mov r4, #0 cmp r0, #2 bne _02234386 bl MOD83_0223466C add r1, r0, #0 add r1, #0x60 ldrb r1, [r1] cmp r1, #2 bne _02234386 add r2, r4, #0 _02234370: ldr r1, [r0] cmp r1, #0 beq _0223437E ldrb r1, [r0, #0xa] cmp r1, #0 beq _0223437E add r4, r4, #1 _0223437E: add r2, r2, #1 add r0, #0xc cmp r2, #8 blo _02234370 _02234386: add r0, r4, #0 pop {r4, pc} .align 2, 0 thumb_func_end MOD83_02234354 thumb_func_start MOD83_0223438C MOD83_0223438C: ; 0x0223438C push {r3, lr} bl MOD83_0223456C ldr r0, [r0, #0x20] cmp r0, #0 beq _0223439C mov r0, #0 pop {r3, pc} _0223439C: bl WM_GetLinkLevel pop {r3, pc} .align 2, 0 thumb_func_end MOD83_0223438C thumb_func_start MOD83_022343A4 MOD83_022343A4: ; 0x022343A4 push {r3, lr} bl MOD83_022345A4 cmp r0, #1 beq _022343B4 cmp r0, #2 beq _022343BA b _022343C0 _022343B4: bl MOD83_02234290 pop {r3, pc} _022343BA: bl MOD83_02234354 pop {r3, pc} _022343C0: mov r0, #0 pop {r3, pc} thumb_func_end MOD83_022343A4 thumb_func_start MOD83_022343C4 MOD83_022343C4: ; 0x022343C4 push {r3, r4, r5, lr} bl MOD83_02234694 add r5, r0, #0 bl MOD83_022346EC add r4, r0, #0 bl MOD83_022345A4 cmp r0, #1 bne _022343F6 mov r0, #1 strb r0, [r5, #0x18] mov r1, #0 strb r1, [r5, #0x19] add r4, #8 str r4, [r5] str r4, [r5, #4] str r1, [r5, #0x10] str r1, [r5, #0x14] mov r0, #0x78 strb r0, [r5, #0x1a] strb r1, [r5, #0x1b] mov r0, #0xfd strb r0, [r5, #0x1c] _022343F6: pop {r3, r4, r5, pc} thumb_func_end MOD83_022343C4 thumb_func_start MOD83_022343F8 MOD83_022343F8: ; 0x022343F8 push {r4, lr} bl MOD83_02234694 add r4, r0, #0 bl MOD83_022346EC mov r1, #1 strb r1, [r4, #0x18] mov r1, #0 strb r1, [r4, #0x19] add r0, #8 str r0, [r4] str r0, [r4, #4] mov r0, #0x30 str r0, [r4, #0x10] str r0, [r4, #0x14] mov r0, #0x78 strb r0, [r4, #0x1a] strb r1, [r4, #0x1b] mov r0, #0xfe strb r0, [r4, #0x1c] pop {r4, pc} thumb_func_end MOD83_022343F8 thumb_func_start MOD83_02234424 MOD83_02234424: ; 0x02234424 push {r4, r5, r6, lr} add r5, r0, #0 add r6, r1, #0 add r4, r2, #0 bl MOD83_02234694 cmp r4, #0xf0 bgt _0223444E mov r1, #2 strb r1, [r0, #0x18] mov r1, #3 strb r1, [r0, #0x19] str r5, [r0] str r5, [r0, #4] str r6, [r0, #0x10] mov r2, #0 str r2, [r0, #0x14] mov r1, #0x78 strb r1, [r0, #0x1a] strb r2, [r0, #0x1b] strb r4, [r0, #0x1c] _0223444E: pop {r4, r5, r6, pc} thumb_func_end MOD83_02234424 thumb_func_start MOD83_02234450 MOD83_02234450: ; 0x02234450 push {r3, lr} bl MOD83_022345A4 cmp r0, #1 beq _0223445E cmp r0, #2 bne _02234478 _0223445E: bl MOD83_02234574 cmp r0, #0xa beq _0223446A cmp r0, #0xb bne _02234478 _0223446A: bl MOD83_02234694 ldrb r0, [r0, #0x19] cmp r0, #2 bne _02234478 mov r0, #1 pop {r3, pc} _02234478: mov r0, #0 pop {r3, pc} thumb_func_end MOD83_02234450 thumb_func_start MOD83_0223447C MOD83_0223447C: ; 0x0223447C push {r3, lr} bl MOD83_022345A4 cmp r0, #1 beq _0223448A cmp r0, #2 bne _022344A4 _0223448A: bl MOD83_02234574 cmp r0, #0xa beq _02234496 cmp r0, #0xb bne _022344A4 _02234496: bl MOD83_02234694 ldrb r0, [r0, #0x19] cmp r0, #2 bne _022344A4 mov r0, #1 pop {r3, pc} _022344A4: mov r0, #0 pop {r3, pc} thumb_func_end MOD83_0223447C thumb_func_start MOD83_022344A8 MOD83_022344A8: ; 0x022344A8 push {r3, lr} bl MOD83_022345A4 cmp r0, #1 beq _022344B6 cmp r0, #2 bne _022344E0 _022344B6: bl MOD83_02234574 cmp r0, #0xa beq _022344C2 cmp r0, #0xb bne _022344E0 _022344C2: bl MOD83_02234694 ldrb r1, [r0, #0x19] cmp r1, #0 bne _022344E0 ldr r1, [r0, #0xc] ldr r1, [r1, #8] lsl r1, r1, #0x10 lsr r1, r1, #0x18 bne _022344E0 ldrb r0, [r0, #0x1b] cmp r0, #4 bhs _022344E0 mov r0, #1 pop {r3, pc} _022344E0: mov r0, #0 pop {r3, pc} thumb_func_end MOD83_022344A8 thumb_func_start MOD83_022344E4 MOD83_022344E4: ; 0x022344E4 push {r3, lr} bl MOD83_022345A4 cmp r0, #2 bne _02234510 bl MOD83_0223466C mov r2, #0 _022344F4: ldr r1, [r0] cmp r1, #0 beq _02234504 ldrb r1, [r0, #0xa] cmp r1, #0 beq _02234504 mov r0, #1 pop {r3, pc} _02234504: add r2, r2, #1 add r0, #0xc cmp r2, #8 blt _022344F4 mov r0, #0 pop {r3, pc} _02234510: bl MOD83_02234628 pop {r3, pc} .align 2, 0 thumb_func_end MOD83_022344E4 thumb_func_start MOD83_02234518 MOD83_02234518: ; 0x02234518 push {r4, lr} mov r0, #0xc bl MOD83_02234598 bl MOD83_02234574 cmp r0, #0 beq _02234532 cmp r0, #1 beq _02234532 cmp r0, #9 beq _0223453E pop {r4, pc} _02234532: bl WM_Finish mov r0, #1 bl MOD83_0223464C pop {r4, pc} _0223453E: bl MOD83_02234628 cmp r0, #0 bne _02234554 bl MOD83_0223456C add r4, r0, #0 bl MOD83_02234C34 mov r0, #1 str r0, [r4, #0x1c] _02234554: pop {r4, pc} .align 2, 0 thumb_func_end MOD83_02234518 thumb_func_start MOD83_02234558 MOD83_02234558: ; 0x02234558 push {r3, lr} bl MOD83_0223456C ldr r0, [r0, #0x20] pop {r3, pc} .align 2, 0 thumb_func_end MOD83_02234558 thumb_func_start MOD83_02234564 MOD83_02234564: ; 0x02234564 ldr r0, _02234568 ; =0x0223B240 bx lr .align 2, 0 _02234568: .word 0x0223B240 thumb_func_end MOD83_02234564 thumb_func_start MOD83_0223456C MOD83_0223456C: ; 0x0223456C ldr r0, _02234570 ; =0x0223B8A0 bx lr .align 2, 0 _02234570: .word 0x0223B8A0 thumb_func_end MOD83_0223456C thumb_func_start MOD83_02234574 MOD83_02234574: ; 0x02234574 push {r3, lr} bl MOD83_0223456C ldrb r0, [r0] pop {r3, pc} .align 2, 0 thumb_func_end MOD83_02234574 thumb_func_start MOD83_02234580 MOD83_02234580: ; 0x02234580 push {r4, lr} add r4, r0, #0 bl MOD83_0223456C strb r4, [r0] pop {r4, pc} thumb_func_end MOD83_02234580 thumb_func_start MOD83_0223458C MOD83_0223458C: ; 0x0223458C push {r3, lr} bl MOD83_0223456C ldrb r0, [r0, #1] pop {r3, pc} .align 2, 0 thumb_func_end MOD83_0223458C thumb_func_start MOD83_02234598 MOD83_02234598: ; 0x02234598 push {r4, lr} add r4, r0, #0 bl MOD83_0223456C strb r4, [r0, #1] pop {r4, pc} thumb_func_end MOD83_02234598 thumb_func_start MOD83_022345A4 MOD83_022345A4: ; 0x022345A4 push {r3, lr} bl MOD83_0223456C ldrb r0, [r0, #2] pop {r3, pc} .align 2, 0 thumb_func_end MOD83_022345A4 thumb_func_start MOD83_022345B0 MOD83_022345B0: ; 0x022345B0 push {r4, lr} add r4, r0, #0 bl MOD83_0223456C strb r4, [r0, #2] pop {r4, pc} thumb_func_end MOD83_022345B0 thumb_func_start MOD83_022345BC MOD83_022345BC: ; 0x022345BC push {r3, lr} bl MOD83_0223456C ldrb r0, [r0, #3] pop {r3, pc} .align 2, 0 thumb_func_end MOD83_022345BC thumb_func_start MOD83_022345C8 MOD83_022345C8: ; 0x022345C8 push {r4, lr} add r4, r0, #0 bl MOD83_02234564 strh r4, [r0, #0x32] pop {r4, pc} thumb_func_end MOD83_022345C8 thumb_func_start MOD83_022345D4 MOD83_022345D4: ; 0x022345D4 push {r3, lr} bl MOD83_0223456C ldr r0, [r0, #0x24] pop {r3, pc} .align 2, 0 thumb_func_end MOD83_022345D4 thumb_func_start MOD83_022345E0 MOD83_022345E0: ; 0x022345E0 push {r3, lr} bl MOD83_0223456C ldr r0, [r0, #0x2c] pop {r3, pc} .align 2, 0 thumb_func_end MOD83_022345E0 thumb_func_start MOD83_022345EC MOD83_022345EC: ; 0x022345EC push {r3, lr} bl MOD83_0223456C ldr r0, [r0, #0x30] pop {r3, pc} .align 2, 0 thumb_func_end MOD83_022345EC thumb_func_start MOD83_022345F8 MOD83_022345F8: ; 0x022345F8 push {r3, lr} bl MOD83_0223456C ldr r0, [r0, #0x38] pop {r3, pc} .align 2, 0 thumb_func_end MOD83_022345F8 thumb_func_start MOD83_02234604 MOD83_02234604: ; 0x02234604 push {r3, lr} bl MOD83_0223456C ldr r0, [r0, #0x3c] pop {r3, pc} .align 2, 0 thumb_func_end MOD83_02234604 thumb_func_start MOD83_02234610 MOD83_02234610: ; 0x02234610 push {r3, lr} bl MOD83_0223456C ldr r0, [r0, #0x28] pop {r3, pc} .align 2, 0 thumb_func_end MOD83_02234610 thumb_func_start MOD83_0223461C MOD83_0223461C: ; 0x0223461C push {r4, lr} add r4, r0, #0 bl MOD83_0223456C strh r4, [r0, #0xc] pop {r4, pc} thumb_func_end MOD83_0223461C thumb_func_start MOD83_02234628 MOD83_02234628: ; 0x02234628 push {r3, lr} bl MOD83_0223456C ldr r0, [r0, #0x14] pop {r3, pc} .align 2, 0 thumb_func_end MOD83_02234628 thumb_func_start MOD83_02234634 MOD83_02234634: ; 0x02234634 push {r4, lr} add r4, r0, #0 bl MOD83_0223456C str r4, [r0, #0x14] pop {r4, pc} thumb_func_end MOD83_02234634 thumb_func_start MOD83_02234640 MOD83_02234640: ; 0x02234640 push {r4, lr} add r4, r0, #0 bl MOD83_0223456C str r4, [r0, #0x18] pop {r4, pc} thumb_func_end MOD83_02234640 thumb_func_start MOD83_0223464C MOD83_0223464C: ; 0x0223464C push {r4, lr} add r4, r0, #0 bl MOD83_0223456C str r4, [r0, #0x20] pop {r4, pc} thumb_func_end MOD83_0223464C thumb_func_start MOD83_02234658 MOD83_02234658: ; 0x02234658 push {r3, lr} bl MOD83_0223456C add r0, #0x90 pop {r3, pc} .align 2, 0 thumb_func_end MOD83_02234658 thumb_func_start MOD83_02234664 MOD83_02234664: ; 0x02234664 ldr r3, _02234668 ; =MOD83_02234658 bx r3 .align 2, 0 _02234668: .word MOD83_02234658 thumb_func_end MOD83_02234664 thumb_func_start MOD83_0223466C MOD83_0223466C: ; 0x0223466C ldr r3, _02234670 ; =MOD83_02234658 bx r3 .align 2, 0 _02234670: .word MOD83_02234658 thumb_func_end MOD83_0223466C thumb_func_start MOD83_02234674 MOD83_02234674: ; 0x02234674 push {r4, lr} bl MOD83_02234664 mov r2, #0x71 mov r1, #0 lsl r2, r2, #2 add r4, r0, #0 bl MI_CpuFill8 mov r1, #0x46 lsl r1, r1, #2 add r0, r1, #0 add r0, #0xa8 strh r1, [r4, r0] pop {r4, pc} .align 2, 0 thumb_func_end MOD83_02234674 thumb_func_start MOD83_02234694 MOD83_02234694: ; 0x02234694 push {r3, lr} bl MOD83_0223456C mov r1, #0x95 lsl r1, r1, #2 add r0, r0, r1 pop {r3, pc} .align 2, 0 thumb_func_end MOD83_02234694 thumb_func_start MOD83_022346A4 MOD83_022346A4: ; 0x022346A4 push {r3, lr} bl MOD83_02234694 mov r1, #0 strb r1, [r0, #0x18] pop {r3, pc} thumb_func_end MOD83_022346A4 thumb_func_start MOD83_022346B0 MOD83_022346B0: ; 0x022346B0 push {r3, lr} bl MOD83_0223456C ldr r0, [r0, #4] pop {r3, pc} .align 2, 0 thumb_func_end MOD83_022346B0 thumb_func_start MOD83_022346BC MOD83_022346BC: ; 0x022346BC push {r3, lr} bl MOD83_0223456C ldr r0, [r0, #0x40] lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r3, pc} .align 2, 0 thumb_func_end MOD83_022346BC thumb_func_start MOD83_022346CC MOD83_022346CC: ; 0x022346CC push {r3, lr} bl MOD83_0223456C ldr r0, [r0, #0x40] lsl r0, r0, #0x14 lsr r0, r0, #0x1c pop {r3, pc} .align 2, 0 thumb_func_end MOD83_022346CC thumb_func_start MOD83_022346DC MOD83_022346DC: ; 0x022346DC push {r3, lr} bl MOD83_0223456C ldr r0, [r0, #0x44] lsr r0, r0, #0x10 pop {r3, pc} thumb_func_end MOD83_022346DC thumb_func_start MOD83_022346E8 MOD83_022346E8: ; 0x022346E8 mov r0, #0x38 bx lr thumb_func_end MOD83_022346E8 thumb_func_start MOD83_022346EC MOD83_022346EC: ; 0x022346EC push {r3, lr} bl MOD83_0223456C add r0, #0x40 pop {r3, pc} .align 2, 0 thumb_func_end MOD83_022346EC thumb_func_start MOD83_022346F8 MOD83_022346F8: ; 0x022346F8 push {r3, lr} bl MOD83_0223456C add r0, #0x78 pop {r3, pc} .align 2, 0 thumb_func_end MOD83_022346F8 thumb_func_start MOD83_02234704 MOD83_02234704: ; 0x02234704 push {r3} sub sp, #4 mov r2, #0 str r2, [sp] add r3, sp, #0 _0223470E: add r1, r0, r2 ldrb r1, [r1, #2] add r2, r2, #1 strb r1, [r3] add r3, r3, #1 cmp r2, #4 blo _0223470E ldr r0, [sp] add sp, #4 pop {r3} bx lr thumb_func_end MOD83_02234704 thumb_func_start MOD83_02234724 MOD83_02234724: ; 0x02234724 push {r3} sub sp, #4 mov r2, #0 add r1, sp, #0 strh r2, [r1] add r3, sp, #0 _02234730: ldrb r1, [r0, r2] add r2, r2, #1 strb r1, [r3] add r3, r3, #1 cmp r2, #2 blo _02234730 add r1, sp, #0 mov r0, #0 ldrsh r0, [r1, r0] add sp, #4 pop {r3} bx lr thumb_func_end MOD83_02234724 thumb_func_start MOD83_02234748 MOD83_02234748: ; 0x02234748 push {r4, r5, r6, lr} add r5, r1, #0 ldr r1, _0223476C ; =0x00002710 add r6, r0, #0 add r4, r2, #0 bl _u32_div_f str r1, [r5] ldr r1, _0223476C ; =0x00002710 add r0, r6, #0 bl _u32_div_f ldr r1, _0223476C ; =0x00002710 bl _u32_div_f str r1, [r4] pop {r4, r5, r6, pc} nop _0223476C: .word 0x00002710 thumb_func_end MOD83_02234748 thumb_func_start MOD83_02234770 MOD83_02234770: ; 0x02234770 mov r0, #0x10 bx lr thumb_func_end MOD83_02234770 thumb_func_start MOD83_02234774 MOD83_02234774: ; 0x02234774 push {r4, lr} ldr r0, _02234788 ; =0x04000006 ldrh r4, [r0] bl OS_GetTick add r1, r0, r4 mov r0, #1 bic r1, r0 add r0, r1, #1 pop {r4, pc} .align 2, 0 _02234788: .word 0x04000006 thumb_func_end MOD83_02234774 thumb_func_start MOD83_0223478C MOD83_0223478C: ; 0x0223478C push {r4, r5, r6, r7} add r3, r0, #0 mov r0, #0 lsr r1, r1, #2 beq _022347C2 ldr r4, _022347C8 ; =0x00269EC3 _02234798: ldr r5, _022347CC ; =0x5D588B65 ldr r6, _022347CC ; =0x5D588B65 mul r5, r3 ldr r3, _022347C8 ; =0x00269EC3 add r0, r0, #1 add r3, r5, r3 lsr r5, r3, #0x10 mul r6, r3 add r3, r6, r4 lsl r5, r5, #0x10 lsr r7, r3, #0x10 lsr r5, r5, #0x10 lsl r7, r7, #0x10 ldr r6, [r2] lsl r5, r5, #0x10 lsr r7, r7, #0x10 orr r5, r7 eor r5, r6 stmia r2!, {r5} cmp r0, r1 blo _02234798 _022347C2: add r0, r3, #0 pop {r4, r5, r6, r7} bx lr .align 2, 0 _022347C8: .word 0x00269EC3 _022347CC: .word 0x5D588B65 thumb_func_end MOD83_0223478C thumb_func_start MOD83_022347D0 MOD83_022347D0: ; 0x022347D0 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 add r7, r1, #0 add r6, r2, #0 str r3, [sp] bl MOD83_022346EC add r4, r0, #0 ldr r0, [r5] mov r1, #0xff bic r0, r1 ldr r1, [r4] lsl r1, r1, #0x18 lsr r1, r1, #0x18 lsl r1, r1, #0x18 lsr r1, r1, #0x18 orr r1, r0 ldr r0, _022348F4 ; =0xFFFFF0FF str r1, [r5] and r0, r1 ldr r1, [r4] lsl r1, r1, #0x14 lsr r1, r1, #0x1c lsl r1, r1, #0x1c lsr r1, r1, #0x14 orr r1, r0 ldr r0, _022348F8 ; =0xFFFF0FFF str r1, [r5] and r0, r1 ldr r1, [r4] lsl r1, r1, #0x10 lsr r1, r1, #0x1c lsl r1, r1, #0x1c lsr r1, r1, #0x10 orr r0, r1 str r0, [r5] bl MOD83_02234774 ldr r1, [r5] lsl r0, r0, #0x10 lsl r1, r1, #0x10 lsr r0, r0, #0x10 lsr r1, r1, #0x10 lsl r0, r0, #0x10 orr r0, r1 str r0, [r5] ldr r2, [r4, #4] ldr r1, [r5, #4] lsl r2, r2, #0x18 lsr r2, r2, #0x18 mov r0, #0xff lsl r2, r2, #0x18 bic r1, r0 lsr r2, r2, #0x18 orr r2, r1 ldr r1, _022348F4 ; =0xFFFFF0FF str r2, [r5, #4] and r1, r2 ldr r2, [r4, #4] lsl r2, r2, #0x14 lsr r2, r2, #0x1c lsl r2, r2, #0x1c lsr r2, r2, #0x14 orr r2, r1 ldr r1, _022348F8 ; =0xFFFF0FFF str r2, [r5, #4] and r1, r2 ldr r2, [r4, #4] lsl r2, r2, #0x10 lsr r2, r2, #0x1c lsl r2, r2, #0x1c lsr r2, r2, #0x10 orr r1, r2 lsl r1, r1, #0x10 lsr r1, r1, #0x10 str r1, [r5, #4] ldr r1, [r5, #8] bic r1, r0 ldr r0, [sp, #0x18] lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x18 lsr r0, r0, #0x18 orr r1, r0 ldr r0, _022348FC ; =0xFFFF00FF and r0, r1 ldr r1, [sp] lsl r1, r1, #0x18 lsr r1, r1, #0x10 orr r0, r1 str r0, [r5, #8] mov r0, #0 add r1, r7, #0 add r2, r6, #0 bl SVC_GetCRC16 ldr r1, [r5, #8] lsl r0, r0, #0x10 lsl r1, r1, #0x10 lsr r1, r1, #0x10 orr r0, r1 str r0, [r5, #8] bl MOD83_02234770 lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x18 ldr r1, [r5, #0xc] mov r2, #0xff bic r1, r2 lsr r0, r0, #0x18 orr r0, r1 lsl r0, r0, #0x18 lsr r1, r0, #0x18 lsl r0, r6, #8 orr r0, r1 str r0, [r5, #0xc] cmp r6, #0 beq _022348CE ldr r1, [r5, #0xc] add r0, r7, #0 lsl r1, r1, #0x18 lsr r1, r1, #0x18 add r1, r5, r1 add r2, r6, #0 bl MI_CpuCopy8 _022348CE: add r0, r5, #0 bl MOD83_0223496C ldr r0, [r4] lsl r0, r0, #0x10 lsr r0, r0, #0x1c cmp r0, #1 bne _022348F2 ldr r1, [r5, #0xc] ldr r0, [r5] lsl r1, r1, #0x18 lsr r1, r1, #0x18 add r1, r6, r1 lsr r0, r0, #0x10 sub r1, r1, #4 add r2, r5, #4 bl MOD83_0223478C _022348F2: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _022348F4: .word 0xFFFFF0FF _022348F8: .word 0xFFFF0FFF _022348FC: .word 0xFFFF00FF thumb_func_end MOD83_022347D0 thumb_func_start MOD83_02234900 MOD83_02234900: ; 0x02234900 push {r4, lr} add r4, r0, #0 bl MOD83_022346EC ldr r0, [r4] lsl r1, r0, #0x10 lsr r1, r1, #0x1c cmp r1, #1 bne _02234930 lsr r0, r0, #0x10 mov r1, #0xc add r2, r4, #4 bl MOD83_0223478C ldr r1, [r4, #0xc] add r4, #0x10 lsl r2, r1, #0x18 lsr r2, r2, #0x18 lsr r1, r1, #8 add r1, r2, r1 sub r1, #0x10 add r2, r4, #0 bl MOD83_0223478C _02234930: pop {r4, pc} .align 2, 0 thumb_func_end MOD83_02234900 thumb_func_start MOD83_02234934 MOD83_02234934: ; 0x02234934 push {r4, lr} add r4, r0, #0 ldr r2, [r4, #0xc] mov r0, #0 lsl r1, r2, #0x18 lsr r1, r1, #0x18 add r1, r4, r1 lsr r2, r2, #8 bl SVC_GetCRC16 ldr r1, [r4, #8] lsr r1, r1, #0x10 cmp r1, r0 bne _02234954 mov r0, #1 pop {r4, pc} _02234954: mov r0, #0 pop {r4, pc} thumb_func_end MOD83_02234934 thumb_func_start MOD83_02234958 MOD83_02234958: ; 0x02234958 bx lr .align 2, 0 thumb_func_end MOD83_02234958 thumb_func_start MOD83_0223495C MOD83_0223495C: ; 0x0223495C bx lr .align 2, 0 thumb_func_end MOD83_0223495C thumb_func_start MOD83_02234960 MOD83_02234960: ; 0x02234960 bx lr .align 2, 0 thumb_func_end MOD83_02234960 thumb_func_start MOD83_02234964 MOD83_02234964: ; 0x02234964 bx lr .align 2, 0 thumb_func_end MOD83_02234964 thumb_func_start MOD83_02234968 MOD83_02234968: ; 0x02234968 bx lr .align 2, 0 thumb_func_end MOD83_02234968 thumb_func_start MOD83_0223496C MOD83_0223496C: ; 0x0223496C bx lr .align 2, 0 thumb_func_end MOD83_0223496C thumb_func_start MOD83_02234970 MOD83_02234970: ; 0x02234970 push {r3, r4, r5, r6, lr} sub sp, #0xc add r6, r0, #0 add r5, r1, #0 add r4, r2, #0 bl MOD83_022345BC lsl r0, r0, #0x10 lsl r3, r5, #0x10 lsr r0, r0, #0x10 str r4, [sp] str r0, [sp, #4] mov r0, #2 str r0, [sp, #8] ldr r0, _022349AC ; =MOD83_02233528 mov r1, #0 add r2, r6, #0 lsr r3, r3, #0x10 bl WM_SetMPDataToPortEx cmp r0, #2 beq _022349A6 bl MOD83_02234958 add sp, #0xc mov r0, #0 pop {r3, r4, r5, r6, pc} _022349A6: mov r0, #1 add sp, #0xc pop {r3, r4, r5, r6, pc} .align 2, 0 _022349AC: .word MOD83_02233528 thumb_func_end MOD83_02234970 thumb_func_start MOD83_022349B0 MOD83_022349B0: ; 0x022349B0 push {r3, lr} ldr r0, _022349C8 ; =MOD83_02233540 bl WM_Enable cmp r0, #2 beq _022349C4 bl MOD83_02234958 mov r0, #0 pop {r3, pc} _022349C4: mov r0, #1 pop {r3, pc} .align 2, 0 _022349C8: .word MOD83_02233540 thumb_func_end MOD83_022349B0 thumb_func_start MOD83_022349CC MOD83_022349CC: ; 0x022349CC push {r3, lr} ldr r0, _022349E8 ; =MOD83_02233580 bl WM_Disable cmp r0, #2 beq _022349E4 bl MOD83_02234958 bl OS_Terminate mov r0, #0 pop {r3, pc} _022349E4: mov r0, #1 pop {r3, pc} .align 2, 0 _022349E8: .word MOD83_02233580 thumb_func_end MOD83_022349CC thumb_func_start MOD83_022349EC MOD83_022349EC: ; 0x022349EC push {r3, lr} add r3, r0, #0 mov r0, #0x1e str r0, [sp] lsl r3, r3, #0x10 ldr r0, _02234A14 ; =MOD83_022335B8 mov r1, #3 mov r2, #0x11 lsr r3, r3, #0x10 bl WM_MeasureChannel cmp r0, #2 beq _02234A0E bl MOD83_02234958 mov r0, #0 pop {r3, pc} _02234A0E: mov r0, #1 pop {r3, pc} nop _02234A14: .word MOD83_022335B8 thumb_func_end MOD83_022349EC thumb_func_start MOD83_02234A18 MOD83_02234A18: ; 0x02234A18 push {r3, r4, r5, lr} bl MOD83_02234564 add r5, r0, #0 bl MOD83_022346EC add r4, r0, #0 bl MOD83_0223466C add r0, #0x64 ldrb r0, [r0] strh r0, [r5, #0x32] str r4, [r5] bl MOD83_022346E8 strh r0, [r5, #4] ldr r0, _02234A50 ; =MOD83_02233620 add r1, r5, #0 bl WM_SetParentParameter cmp r0, #2 beq _02234A4C bl MOD83_02234958 mov r0, #0 pop {r3, r4, r5, pc} _02234A4C: mov r0, #1 pop {r3, r4, r5, pc} .align 2, 0 _02234A50: .word MOD83_02233620 thumb_func_end MOD83_02234A18 thumb_func_start MOD83_02234A54 MOD83_02234A54: ; 0x02234A54 push {r3, lr} ldr r0, _02234A6C ; =MOD83_02233648 bl WM_StartParent cmp r0, #2 beq _02234A68 bl MOD83_02234958 mov r0, #0 pop {r3, pc} _02234A68: mov r0, #1 pop {r3, pc} .align 2, 0 _02234A6C: .word MOD83_02233648 thumb_func_end MOD83_02234A54 thumb_func_start MOD83_02234A70 MOD83_02234A70: ; 0x02234A70 push {r3, lr} bl MOD83_022345D4 add r1, r0, #0 ldr r0, _02234A90 ; =MOD83_02233914 bl WM_StartScan cmp r0, #2 beq _02234A8A bl MOD83_02234958 mov r0, #0 pop {r3, pc} _02234A8A: mov r0, #1 pop {r3, pc} nop _02234A90: .word MOD83_02233914 thumb_func_end MOD83_02234A70 thumb_func_start MOD83_02234A94 MOD83_02234A94: ; 0x02234A94 push {r3, r4, r5, lr} bl MOD83_022345D4 add r4, r0, #0 bl MOD83_02234664 ldr r2, _02234B24 ; =0x000001C3 mov r3, #0x38 ldrb r1, [r0, r2] lsl r1, r1, #0x1c lsr r1, r1, #0x1c add r5, r1, #0 mul r5, r3 add r1, r0, r5 add r1, #0x34 ldrb r1, [r1] strb r1, [r4, #8] ldrb r1, [r0, r2] lsl r1, r1, #0x1c lsr r1, r1, #0x1c add r5, r1, #0 mul r5, r3 add r1, r0, r5 add r1, #0x35 ldrb r1, [r1] strb r1, [r4, #9] ldrb r1, [r0, r2] lsl r1, r1, #0x1c lsr r1, r1, #0x1c add r5, r1, #0 mul r5, r3 ldrb r1, [r0, r5] strb r1, [r4, #0xa] ldrb r1, [r0, r2] lsl r1, r1, #0x1c lsr r1, r1, #0x1c add r5, r1, #0 mul r5, r3 add r1, r0, r5 ldrb r1, [r1, #1] strb r1, [r4, #0xb] ldrb r1, [r0, r2] lsl r1, r1, #0x1c lsr r1, r1, #0x1c add r5, r1, #0 mul r5, r3 add r1, r0, r5 ldrb r1, [r1, #2] strb r1, [r4, #0xc] ldrb r1, [r0, r2] lsl r1, r1, #0x1c lsr r1, r1, #0x1c add r2, r1, #0 mul r2, r3 add r0, r0, r2 ldrb r0, [r0, #3] strb r0, [r4, #0xd] bl MOD83_022345D4 add r1, r0, #0 ldr r0, _02234B28 ; =MOD83_02233A30 bl WM_StartScan cmp r0, #2 beq _02234B1E bl MOD83_02234958 mov r0, #0 pop {r3, r4, r5, pc} _02234B1E: mov r0, #1 pop {r3, r4, r5, pc} nop _02234B24: .word 0x000001C3 _02234B28: .word MOD83_02233A30 thumb_func_end MOD83_02234A94 thumb_func_start MOD83_02234B2C MOD83_02234B2C: ; 0x02234B2C push {r3, lr} ldr r0, _02234B44 ; =MOD83_02233AA0 bl WM_EndScan cmp r0, #2 beq _02234B40 bl MOD83_02234958 mov r0, #0 pop {r3, pc} _02234B40: mov r0, #1 pop {r3, pc} .align 2, 0 _02234B44: .word MOD83_02233AA0 thumb_func_end MOD83_02234B2C thumb_func_start MOD83_02234B48 MOD83_02234B48: ; 0x02234B48 push {r3, r4, lr} sub sp, #4 bl MOD83_022346F8 add r4, r0, #0 bl MOD83_02234610 add r1, r0, #0 mov r0, #0 str r0, [sp] ldr r0, _02234B7C ; =MOD83_02233AF4 add r2, r4, #0 mov r3, #1 bl WM_StartConnectEx cmp r0, #2 beq _02234B74 bl MOD83_02234958 add sp, #4 mov r0, #0 pop {r3, r4, pc} _02234B74: mov r0, #1 add sp, #4 pop {r3, r4, pc} nop _02234B7C: .word MOD83_02233AF4 thumb_func_end MOD83_02234B48 thumb_func_start MOD83_02234B80 MOD83_02234B80: ; 0x02234B80 push {r3, r4, r5, r6, r7, lr} sub sp, #8 ldr r1, _02234BF0 ; =MOD83_02233DF0 mov r0, #4 mov r2, #0 bl WM_SetPortCallback cmp r0, #0 beq _02234B9C bl MOD83_02234958 add sp, #8 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _02234B9C: bl MOD83_02234564 ldrh r0, [r0, #0x16] cmp r0, #0 bne _02234BAA mov r5, #1 b _02234BAC _02234BAA: mov r5, #0 _02234BAC: bl MOD83_02234604 add r6, r0, #0 bl MOD83_022345EC add r4, r0, #0 bl MOD83_022345F8 add r7, r0, #0 bl MOD83_022345E0 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp] lsl r0, r5, #0x10 lsr r0, r0, #0x10 str r0, [sp, #4] lsl r2, r4, #0x10 ldr r0, _02234BF4 ; =MOD83_02233BD8 add r1, r6, #0 lsr r2, r2, #0x10 add r3, r7, #0 bl WM_StartMP cmp r0, #2 beq _02234BEA bl MOD83_02234958 add sp, #8 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _02234BEA: mov r0, #1 add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02234BF0: .word MOD83_02233DF0 _02234BF4: .word MOD83_02233BD8 thumb_func_end MOD83_02234B80 thumb_func_start MOD83_02234BF8 MOD83_02234BF8: ; 0x02234BF8 push {r3, lr} ldr r0, _02234C10 ; =MOD83_02233E74 bl WM_PowerOn cmp r0, #2 beq _02234C0C bl MOD83_02234958 mov r0, #0 pop {r3, pc} _02234C0C: mov r0, #1 pop {r3, pc} .align 2, 0 _02234C10: .word MOD83_02233E74 thumb_func_end MOD83_02234BF8 thumb_func_start MOD83_02234C14 MOD83_02234C14: ; 0x02234C14 push {r3, lr} ldr r0, _02234C30 ; =MOD83_02233E98 bl WM_PowerOff cmp r0, #2 beq _02234C2C bl MOD83_02234958 bl OS_Terminate mov r0, #0 pop {r3, pc} _02234C2C: mov r0, #1 pop {r3, pc} .align 2, 0 _02234C30: .word MOD83_02233E98 thumb_func_end MOD83_02234C14 thumb_func_start MOD83_02234C34 MOD83_02234C34: ; 0x02234C34 push {r3, lr} ldr r0, _02234C50 ; =MOD83_02233EBC bl WM_Reset cmp r0, #2 beq _02234C4C bl MOD83_02234958 bl OS_Terminate mov r0, #0 pop {r3, pc} _02234C4C: mov r0, #1 pop {r3, pc} .align 2, 0 _02234C50: .word MOD83_02233EBC thumb_func_end MOD83_02234C34 thumb_func_start MOD83_02234C54 MOD83_02234C54: ; 0x02234C54 push {r3, lr} ldr r0, _02234C70 ; =MOD83_02233F00 bl WM_End cmp r0, #2 beq _02234C6C bl MOD83_02234958 bl OS_Terminate mov r0, #0 pop {r3, pc} _02234C6C: mov r0, #1 pop {r3, pc} .align 2, 0 _02234C70: .word MOD83_02233F00 thumb_func_end MOD83_02234C54 thumb_func_start MOD83_02234C74 MOD83_02234C74: ; 0x02234C74 cmp r0, #0 bgt _02234C7C mov r0, #1 bx lr _02234C7C: cmp r0, #0xfb bgt _02234C84 mov r0, #0 bx lr _02234C84: ldr r1, _02234C9C ; =0x00000115 cmp r0, r1 bge _02234C8E mov r0, #1 bx lr _02234C8E: add r1, #0x86 cmp r0, r1 ble _02234C98 mov r0, #1 bx lr _02234C98: mov r0, #0 bx lr .align 2, 0 _02234C9C: .word 0x00000115 thumb_func_end MOD83_02234C74 thumb_func_start MOD83_02234CA0 MOD83_02234CA0: ; 0x02234CA0 push {r4, lr} add r4, r0, #0 bl MOD83_02236E9C cmp r0, #4 bhi _02234CE0 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02234CB8: ; jump table .short _02234CC2 - _02234CB8 - 2 ; case 0 .short _02234CC8 - _02234CB8 - 2 ; case 1 .short _02234CCE - _02234CB8 - 2 ; case 2 .short _02234CD4 - _02234CB8 - 2 ; case 3 .short _02234CDA - _02234CB8 - 2 ; case 4 _02234CC2: mov r0, #2 str r0, [r4] pop {r4, pc} _02234CC8: mov r0, #1 str r0, [r4] pop {r4, pc} _02234CCE: mov r0, #5 str r0, [r4] pop {r4, pc} _02234CD4: mov r0, #4 str r0, [r4] pop {r4, pc} _02234CDA: mov r0, #3 str r0, [r4] pop {r4, pc} _02234CE0: mov r0, #0 mvn r0, r0 str r0, [r4] pop {r4, pc} thumb_func_end MOD83_02234CA0 thumb_func_start MOD83_02234CE8 MOD83_02234CE8: ; 0x02234CE8 push {r3, r4, r5, lr} sub sp, #0x10 ldr r1, _02234E3C ; =0x0000E890 add r5, r0, #0 add r4, r5, r1 ldr r1, [r4] cmp r1, #9 bls _02234CFA b _02234E34 _02234CFA: add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02234D06: ; jump table .short _02234D1A - _02234D06 - 2 ; case 0 .short _02234D3A - _02234D06 - 2 ; case 1 .short _02234D52 - _02234D06 - 2 ; case 2 .short _02234D62 - _02234D06 - 2 ; case 3 .short _02234D72 - _02234D06 - 2 ; case 4 .short _02234D8E - _02234D06 - 2 ; case 5 .short _02234DA2 - _02234D06 - 2 ; case 6 .short _02234DBE - _02234D06 - 2 ; case 7 .short _02234DEA - _02234D06 - 2 ; case 8 .short _02234E10 - _02234D06 - 2 ; case 9 _02234D1A: bl MOD83_02234E6C ldr r0, [r5, #0x10] bl FUN_02022528 add r5, r0, #0 bl MOD83_02237448 add r1, r0, #0 add r0, r5, #0 bl FUN_0202BF90 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _02234E34 _02234D3A: bl OS_GetTick mov r2, #0x78 mov r3, #0 bl _ull_mod add r0, r0, #1 str r0, [r4, #4] ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _02234E34 _02234D52: ldr r0, [r4, #4] sub r0, r0, #1 str r0, [r4, #4] bne _02234E34 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _02234E34 _02234D62: ldr r0, [r5, #0x10] mov r1, #2 bl FUN_02022840 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _02234E34 _02234D72: ldr r0, [r5, #0x10] bl FUN_02022854 cmp r0, #3 bne _02234D82 add sp, #0x10 mov r0, #0xc pop {r3, r4, r5, pc} _02234D82: cmp r0, #1 bne _02234E34 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _02234E34 _02234D8E: mov r0, #0 add r1, r0, #0 add r2, sp, #0 mov r3, #0x10 bl CTRDG_ReadAgbFlash ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _02234E34 _02234DA2: bl MOD83_0223736C cmp r0, #0 bne _02234DB6 mov r0, #1 bl FUN_02016454 add sp, #0x10 mov r0, #0xc pop {r3, r4, r5, pc} _02234DB6: ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _02234E34 _02234DBE: bl MOD83_022373F4 cmp r0, #9 beq _02234E34 bl MOD83_022373F4 cmp r0, #0xb bne _02234DD6 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _02234E34 _02234DD6: bl MOD83_022373B4 cmp r0, #8 bne _02234E34 mov r0, #1 bl FUN_02016454 add sp, #0x10 mov r0, #0xc pop {r3, r4, r5, pc} _02234DEA: ldr r0, [r5, #0x10] bl FUN_02022854 cmp r0, #3 bne _02234DFA add sp, #0x10 mov r0, #0xc pop {r3, r4, r5, pc} _02234DFA: cmp r0, #2 bne _02234DEA bl MOD83_022373B4 mov r0, #1 bl FUN_02016444 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _02234E34 _02234E10: bl MOD83_022373B4 cmp r0, #8 bne _02234E24 mov r0, #1 bl FUN_02016454 add sp, #0x10 mov r0, #0xc pop {r3, r4, r5, pc} _02234E24: cmp r0, #0 bne _02234E34 mov r0, #1 bl FUN_02016454 add sp, #0x10 mov r0, #0xb pop {r3, r4, r5, pc} _02234E34: mov r0, #0xa add sp, #0x10 pop {r3, r4, r5, pc} nop _02234E3C: .word 0x0000E890 thumb_func_end MOD83_02234CE8 thumb_func_start MOD83_02234E40 MOD83_02234E40: ; 0x02234E40 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0x10] bl FUN_02022528 add r4, r0, #0 bl MOD83_02237448 add r1, r0, #0 add r0, r4, #0 bl FUN_0202BF90 mov r0, #4 bl FUN_020166A8 ldr r0, [r5, #0x10] bl FUN_02022720 mov r0, #4 bl FUN_020166B8 pop {r3, r4, r5, pc} thumb_func_end MOD83_02234E40 thumb_func_start MOD83_02234E6C MOD83_02234E6C: ; 0x02234E6C push {r4, r5, r6, r7, lr} sub sp, #0xf4 add r7, r0, #0 ldr r0, [r7, #0x10] bl FUN_02022528 str r0, [sp] add r0, sp, #8 bl FUN_020690E4 add r6, r0, #0 mov r4, #0 add r5, r7, #0 _02234E86: ldr r0, _02234F04 ; =0x0000E880 mov r1, #0x3d lsl r1, r1, #4 ldr r0, [r7, r0] ldr r2, [r5, r1] mov r1, #0x96 lsl r1, r1, #4 add r0, r0, #4 mul r1, r2 add r0, r0, r1 mov r1, #0xf3 lsl r1, r1, #2 ldr r2, [r5, r1] mov r1, #0x50 mul r1, r2 add r0, r0, r1 add r1, r6, #0 bl MOD83_02237F6C ldr r0, [sp] add r1, r6, #0 add r2, r4, #0 bl FUN_0202BF7C add r4, r4, #1 add r5, #0xc cmp r4, #6 blt _02234E86 mov r5, #0 add r0, sp, #4 strh r5, [r0] add r4, r7, #0 sub r6, r5, #1 _02234EC8: mov r0, #0xf3 lsl r0, r0, #2 ldr r2, [r4, r0] add r0, r0, #4 ldr r1, [r4, r0] cmp r2, r6 beq _02234EF6 cmp r1, #0xe beq _02234EF6 ldr r0, _02234F04 ; =0x0000E880 mov r3, #0x96 ldr r0, [r7, r0] lsl r3, r3, #4 mul r3, r1 add r0, r0, #4 mov r1, #0x50 mul r1, r2 add r0, r0, r3 add r0, r0, r1 mov r1, #0xb add r2, sp, #4 bl MOD83_02237D90 _02234EF6: add r5, r5, #1 add r4, #0xc cmp r5, #6 blt _02234EC8 add sp, #0xf4 pop {r4, r5, r6, r7, pc} nop _02234F04: .word 0x0000E880 thumb_func_end MOD83_02234E6C thumb_func_start MOD83_02234F08 MOD83_02234F08: ; 0x02234F08 push {r4, lr} add r4, r0, #0 mov r0, #1 tst r2, r0 beq _02234F26 mov r2, #0 bl FUN_02002E14 ldr r1, [r4, #0x10] lsl r1, r1, #3 sub r1, r1, r0 lsr r0, r1, #0x1f add r0, r1, r0 asr r0, r0, #1 pop {r4, pc} _02234F26: ldr r0, [r4, #0x18] pop {r4, pc} .align 2, 0 thumb_func_end MOD83_02234F08 thumb_func_start MOD83_02234F2C MOD83_02234F2C: ; 0x02234F2C push {r4, r5, r6, r7, lr} sub sp, #0x1c add r5, r1, #0 ldr r6, [r5, #0x44] add r4, r2, #0 cmp r6, #0 bne _02234F3C mov r6, #0xff _02234F3C: ldr r1, [r5] ldr r2, [r1] cmp r2, #0 bne _02234F7A ldr r2, [r5, #0xc] lsl r2, r2, #0x18 lsr r2, r2, #0x18 str r2, [sp] ldr r2, [r5, #0x10] lsl r2, r2, #0x18 lsr r2, r2, #0x18 str r2, [sp, #4] ldr r2, [r5, #0x14] lsl r2, r2, #0x18 lsr r2, r2, #0x18 str r2, [sp, #8] mov r2, #0xf str r2, [sp, #0xc] ldr r2, [r5, #0x20] lsl r2, r2, #0x10 lsr r2, r2, #0x10 str r2, [sp, #0x10] ldr r2, [r5, #0x24] ldr r3, [r5, #8] lsl r2, r2, #0x18 lsl r3, r3, #0x18 ldr r0, [r0, #0x20] lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl FUN_02019064 _02234F7A: mov r0, #2 tst r0, r4 bne _02234F8C ldr r1, [r5, #0x30] ldr r0, [r5] lsl r1, r1, #0x18 lsr r1, r1, #0x18 bl FUN_02019620 _02234F8C: mov r0, #0 ldr r1, [r5, #0x34] mvn r0, r0 cmp r1, r0 beq _02235004 ldr r2, _022350B4 ; =0x00000193 mov r0, #1 mov r1, #0x1a mov r3, #0x4e bl FUN_0200A86C ldr r7, [r5, #0x40] str r0, [sp, #0x14] cmp r7, #0 bne _02234FB2 mov r0, #0x4e bl FUN_0200AA80 add r7, r0, #0 _02234FB2: ldr r1, [sp, #0x14] ldr r2, [r5, #0x34] add r0, r7, #0 mov r3, #0x4e bl FUN_0200A9C4 str r0, [sp, #0x18] ldr r1, [sp, #0x18] add r0, r5, #0 add r2, r4, #0 bl MOD83_02234F08 add r3, r0, #0 ldr r0, [r5, #0x1c] ldr r2, [sp, #0x18] str r0, [sp] str r6, [sp, #4] ldr r0, [r5, #0x2c] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] ldr r0, [r5] ldr r1, [r5, #0x28] bl FUN_0201BDE0 str r0, [r5, #0x48] ldr r0, [sp, #0x18] bl FUN_02021A20 ldr r0, [r5, #0x40] cmp r0, #0 bne _02234FF8 add r0, r7, #0 bl FUN_0200AB18 _02234FF8: ldr r0, [sp, #0x14] bl FUN_0200A8B8 mov r0, #0 mvn r0, r0 str r0, [r5, #0x34] _02235004: ldr r0, [r5, #0x38] cmp r0, #0 beq _0223504C mov r0, #0x40 mov r1, #0x4e bl FUN_020219F4 ldr r1, [r5, #0x38] add r7, r0, #0 mov r2, #0x40 bl FUN_02021E8C add r0, r5, #0 add r1, r7, #0 add r2, r4, #0 bl MOD83_02234F08 add r3, r0, #0 ldr r0, [r5, #0x1c] add r2, r7, #0 str r0, [sp] str r6, [sp, #4] ldr r0, [r5, #0x2c] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] ldr r0, [r5] ldr r1, [r5, #0x28] bl FUN_0201BDE0 str r0, [r5, #0x48] add r0, r7, #0 bl FUN_02021A20 mov r0, #0 str r0, [r5, #0x38] _0223504C: ldr r1, [r5, #0x3c] cmp r1, #0 beq _0223507A add r0, r5, #0 add r2, r4, #0 bl MOD83_02234F08 add r3, r0, #0 ldr r0, [r5, #0x1c] str r0, [sp] str r6, [sp, #4] ldr r0, [r5, #0x2c] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] ldr r0, [r5] ldr r1, [r5, #0x28] ldr r2, [r5, #0x3c] bl FUN_0201BDE0 str r0, [r5, #0x48] mov r0, #0 str r0, [r5, #0x3c] _0223507A: mov r0, #4 tst r0, r4 bne _02235086 ldr r0, [r5] bl FUN_020191D0 _02235086: mov r0, #8 tst r0, r4 beq _022350AE mov r0, #0x10 tst r0, r4 ldr r0, [r5] beq _022350A2 ldr r2, _022350B8 ; =0x000003D2 mov r1, #0 mov r3, #0xd bl FUN_0200D0BC add sp, #0x1c pop {r4, r5, r6, r7, pc} _022350A2: mov r2, #0x3f mov r1, #0 lsl r2, r2, #4 mov r3, #0xe bl FUN_0200CCA4 _022350AE: add sp, #0x1c pop {r4, r5, r6, r7, pc} nop _022350B4: .word 0x00000193 _022350B8: .word 0x000003D2 thumb_func_end MOD83_02234F2C thumb_func_start MOD83_022350BC MOD83_022350BC: ; 0x022350BC push {r4, lr} sub sp, #0x10 ldr r4, _022350E8 ; =0x0223A50C add r3, sp, #0 add r2, r3, #0 ldmia r4!, {r0, r1} stmia r3!, {r0, r1} ldmia r4!, {r0, r1} stmia r3!, {r0, r1} add r0, r2, #0 bl FUN_0201D040 mov r0, #0x14 mov r1, #0x4e bl FUN_0201E00C bl FUN_0201D168 bl FUN_0201E0BC add sp, #0x10 pop {r4, pc} .align 2, 0 _022350E8: .word 0x0223A50C thumb_func_end MOD83_022350BC thumb_func_start MOD83_022350EC MOD83_022350EC: ; 0x022350EC push {r4, r5, r6, r7, lr} sub sp, #0x14 add r6, r0, #0 bl FUN_020B0FC0 mov r0, #0 str r0, [sp] mov r1, #0x7e str r1, [sp, #4] str r0, [sp, #8] mov r3, #0x20 str r3, [sp, #0xc] mov r2, #0x4e str r2, [sp, #0x10] add r2, r0, #0 bl FUN_02009EAC add r1, r6, #0 mov r0, #0x50 add r1, #0x2c mov r2, #0x4e bl FUN_02008C9C str r0, [r6, #0x28] add r0, r6, #0 mov r2, #1 add r0, #0x2c mov r1, #0 lsl r2, r2, #0x14 bl FUN_02008D24 mov r7, #0x55 mov r4, #0 add r5, r6, #0 lsl r7, r7, #2 _02235132: mov r0, #3 add r1, r4, #0 mov r2, #0x4e bl FUN_02008DEC str r0, [r5, r7] add r4, r4, #1 add r5, r5, #4 cmp r4, #6 blt _02235132 mov r0, #0 str r0, [sp] mov r3, #1 str r3, [sp, #4] mov r0, #0x4e str r0, [sp, #8] mov r0, #0x55 lsl r0, r0, #2 ldr r0, [r6, r0] mov r1, #0x74 mov r2, #0x1a bl FUN_02008F34 mov r1, #0x5b lsl r1, r1, #2 str r0, [r6, r1] mov r3, #0 str r3, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #4 str r0, [sp, #8] mov r0, #0x4e sub r1, #0x14 str r0, [sp, #0xc] ldr r0, [r6, r1] mov r1, #0x74 mov r2, #0x17 bl FUN_02008FEC mov r1, #0x17 lsl r1, r1, #4 str r0, [r6, r1] mov r0, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x4e sub r1, #0x14 str r0, [sp, #8] ldr r0, [r6, r1] mov r1, #0x74 mov r2, #0x19 mov r3, #1 bl FUN_020090AC mov r1, #0x5d lsl r1, r1, #2 str r0, [r6, r1] mov r0, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x4e sub r1, #0x14 str r0, [sp, #8] ldr r0, [r6, r1] mov r1, #0x74 mov r2, #0x18 mov r3, #1 bl FUN_020090AC mov r1, #0x5e lsl r1, r1, #2 str r0, [r6, r1] sub r1, #0xc ldr r0, [r6, r1] bl FUN_02009A50 mov r0, #0x17 lsl r0, r0, #4 ldr r0, [r6, r0] bl FUN_02009CF0 bl FUN_0206B888 add r1, r0, #0 mov r0, #0 mov r2, #1 str r0, [sp] mov r0, #0x4e add r3, r2, #0 str r0, [sp, #4] mov r0, #0x13 add r3, #0xff bl FUN_02006930 add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD83_022350EC thumb_func_start MOD83_022351F8 MOD83_022351F8: ; 0x022351F8 push {lr} sub sp, #0x2c mov r1, #0 str r1, [sp] sub r2, r1, #1 str r2, [sp, #4] str r2, [sp, #8] str r1, [sp, #0xc] mov r3, #0x55 str r1, [sp, #0x10] lsl r3, r3, #2 ldr r2, [r0, r3] str r2, [sp, #0x14] add r2, r3, #4 ldr r2, [r0, r2] str r2, [sp, #0x18] add r2, r3, #0 add r2, #8 ldr r2, [r0, r2] str r2, [sp, #0x1c] add r2, r3, #0 add r2, #0xc ldr r2, [r0, r2] add r3, #0x30 str r2, [sp, #0x20] str r1, [sp, #0x24] add r0, r0, r3 add r2, r1, #0 add r3, r1, #0 str r1, [sp, #0x28] bl FUN_02008AA4 mov r0, #0x10 mov r1, #1 bl FUN_0201E6E4 add sp, #0x2c pop {pc} thumb_func_end MOD83_022351F8 thumb_func_start MOD83_02235244 MOD83_02235244: ; 0x02235244 ldr r2, [r1, #0x28] str r2, [r0] mov r2, #0x61 lsl r2, r2, #2 add r1, r1, r2 str r1, [r0, #4] mov r2, #0 mov r1, #1 str r2, [r0, #0x10] lsl r1, r1, #0xc str r1, [r0, #0x14] str r1, [r0, #0x18] str r1, [r0, #0x1c] strh r2, [r0, #0x20] mov r1, #0x14 str r1, [r0, #0x24] str r3, [r0, #0x28] mov r1, #0x4e str r1, [r0, #0x2c] bx lr thumb_func_end MOD83_02235244 thumb_func_start MOD83_0223526C MOD83_0223526C: ; 0x0223526C ldr r3, _02235288 ; =0x0000E880 ldr r0, [r0, r3] add r3, r0, #4 mov r0, #0x96 lsl r0, r0, #4 mul r0, r1 add r1, r3, r0 mov r0, #0x50 mul r0, r2 add r0, r1, r0 ldr r3, _0223528C ; =MOD83_02237A10 mov r1, #0xb mov r2, #0 bx r3 .align 2, 0 _02235288: .word 0x0000E880 _0223528C: .word MOD83_02237A10 thumb_func_end MOD83_0223526C thumb_func_start MOD83_02235290 MOD83_02235290: ; 0x02235290 ldr r3, _022352AC ; =0x0000E880 ldr r0, [r0, r3] add r3, r0, #4 mov r0, #0x96 lsl r0, r0, #4 mul r0, r1 add r1, r3, r0 mov r0, #0x50 mul r0, r2 add r0, r1, r0 ldr r3, _022352B0 ; =MOD83_02237A10 mov r1, #0x2d mov r2, #0 bx r3 .align 2, 0 _022352AC: .word 0x0000E880 _022352B0: .word MOD83_02237A10 thumb_func_end MOD83_02235290 thumb_func_start MOD83_022352B4 MOD83_022352B4: ; 0x022352B4 ldr r3, _022352D0 ; =0x0000E880 ldr r0, [r0, r3] add r3, r0, #4 mov r0, #0x96 lsl r0, r0, #4 mul r0, r1 add r1, r3, r0 mov r0, #0x50 mul r0, r2 add r0, r1, r0 mov r1, #0 ldr r3, _022352D4 ; =MOD83_02237A10 add r2, r1, #0 bx r3 .align 2, 0 _022352D0: .word 0x0000E880 _022352D4: .word MOD83_02237A10 thumb_func_end MOD83_022352B4 thumb_func_start MOD83_022352D8 MOD83_022352D8: ; 0x022352D8 push {r4, r5} ldr r5, [sp, #8] lsr r4, r5, #0x1f add r4, r5, r4 asr r4, r4, #1 sub r5, r2, r4 strb r5, [r0] lsr r5, r3, #0x1f add r5, r3, r5 asr r5, r5, #1 sub r3, r1, r5 strb r3, [r0, #2] add r2, r2, r4 strb r2, [r0, #1] add r1, r1, r5 strb r1, [r0, #3] pop {r4, r5} bx lr thumb_func_end MOD83_022352D8 thumb_func_start MOD83_022352FC MOD83_022352FC: ; 0x022352FC push {r3, r4, r5, r6, r7, lr} add r6, r1, #0 mov r1, #1 add r5, r0, #0 add r0, r3, #0 lsl r1, r1, #0xc add r7, r2, #0 bl FUN_020169D8 add r4, r0, #0 beq _02235330 add r1, r5, #0 add r2, r6, #0 bl LoadFromNARC add r0, r4, #0 add r1, r7, #0 bl FUN_020B0030 cmp r0, #0 bne _02235330 add r0, r4, #0 bl FUN_02016A18 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _02235330: add r0, r4, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD83_022352FC thumb_func_start MOD83_02235334 MOD83_02235334: ; 0x02235334 push {r4, r5, r6, lr} add r6, r0, #0 add r5, r1, #0 add r4, r2, #0 add r0, r3, #0 add r1, r6, #0 bl FUN_02006774 add r0, r4, #0 add r1, r5, #0 bl FUN_020B0030 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD83_02235334 thumb_func_start MOD83_02235350 MOD83_02235350: ; 0x02235350 push {r4, lr} add r3, r1, #0 mov r4, #0 cmp r0, #0xc9 beq _02235362 ldr r1, _022353BC ; =0x00000182 cmp r0, r1 beq _0223538C b _022353B6 _02235362: mov r4, #3 lsl r0, r4, #8 add r2, r3, #0 and r0, r3 lsr r1, r0, #6 lsl r0, r4, #0x18 and r2, r4 and r0, r3 lsl r4, r4, #0x10 and r3, r4 lsr r0, r0, #0x12 lsr r3, r3, #0xc orr r0, r3 orr r0, r1 orr r0, r2 mov r1, #0x1c bl _u32_div_f lsl r0, r1, #0x18 lsr r4, r0, #0x18 b _022353B6 _0223538C: cmp r2, #5 bhi _022353A8 add r0, r2, r2 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0223539C: ; jump table .short _022353A8 - _0223539C - 2 ; case 0 .short _022353A8 - _0223539C - 2 ; case 1 .short _022353A8 - _0223539C - 2 ; case 2 .short _022353B4 - _0223539C - 2 ; case 3 .short _022353AC - _0223539C - 2 ; case 4 .short _022353B0 - _0223539C - 2 ; case 5 _022353A8: mov r4, #0 b _022353B6 _022353AC: mov r4, #1 b _022353B6 _022353B0: mov r4, #2 b _022353B6 _022353B4: mov r4, #3 _022353B6: add r0, r4, #0 pop {r4, pc} nop _022353BC: .word 0x00000182 thumb_func_end MOD83_02235350 thumb_func_start MOD83_022353C0 MOD83_022353C0: ; 0x022353C0 push {r3, r4, r5, r6, r7, lr} add r6, r2, #0 add r7, r3, #0 add r5, r1, #0 bl MOD83_02237EBC add r1, r6, #0 add r2, r7, #0 add r4, r0, #0 bl MOD83_02235350 add r7, r0, #0 add r0, r4, #0 add r1, r5, #0 add r2, r7, #0 bl FUN_0206B6D4 add r1, r0, #0 mov r0, #0x13 add r2, sp, #0 mov r3, #0x4e bl MOD83_022352FC add r6, r0, #0 ldr r0, [sp] mov r1, #2 ldr r0, [r0, #0x14] lsl r1, r1, #8 bl DC_FlushRange ldr r1, [sp, #0x18] ldr r0, [sp] lsl r1, r1, #4 add r1, #0x64 mov r2, #2 ldr r0, [r0, #0x14] lsl r1, r1, #5 lsl r2, r2, #8 bl GX_LoadOBJ add r0, r4, #0 add r1, r7, #0 add r2, r5, #0 bl FUN_0206B7BC add r1, r0, #0 ldr r0, [sp, #0x1c] add r1, #8 bl FUN_02020248 add r0, r6, #0 bl FUN_02016A18 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD83_022353C0 thumb_func_start MOD83_0223542C MOD83_0223542C: ; 0x0223542C push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r7, r1, #0 ldr r1, _022354A8 ; =0x0223BB14 str r2, [sp] ldr r2, [r1] mov r1, #0x83 add r5, r3, #0 lsl r1, r1, #2 mul r1, r5 add r4, r2, r1 ldr r1, [sp, #0x20] add r6, r0, #0 cmp r1, #0 beq _022354A0 bl MOD83_02234C74 cmp r0, #0 bne _0223545C add r0, r6, #0 bl MOD83_02237EBC add r6, r0, #0 b _0223545E _0223545C: mov r6, #0 _0223545E: ldr r2, [sp] add r0, r6, #0 add r1, r7, #0 bl FUN_0206B6D4 ldr r2, [sp, #0x24] ldr r3, [sp, #0x28] add r1, sp, #4 bl MOD83_02235334 ldr r0, [sp, #4] add r1, r4, #0 mov r2, #2 ldr r0, [r0, #0x14] add r1, #0xc lsl r2, r2, #8 bl MIi_CpuCopyFast lsl r0, r5, #4 add r0, #0x64 lsl r0, r0, #5 str r0, [r4] ldr r0, [sp, #0x20] ldr r1, [sp] str r0, [r4, #8] add r0, r6, #0 add r2, r7, #0 bl FUN_0206B7BC add r0, #8 add sp, #8 str r0, [r4, #4] pop {r3, r4, r5, r6, r7, pc} _022354A0: mov r0, #0 str r0, [r4, #8] add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _022354A8: .word 0x0223BB14 thumb_func_end MOD83_0223542C thumb_func_start MOD83_022354AC MOD83_022354AC: ; 0x022354AC push {r3, r4, r5, r6, r7, lr} ldr r0, _022354EC ; =0x0223BB14 mov r6, #2 lsl r6, r6, #8 add r7, r6, #0 ldr r5, [r0] mov r4, #0 add r7, #0xc _022354BC: ldr r0, [r5, #8] cmp r0, #0 beq _022354E0 add r0, r5, #0 add r0, #0xc add r1, r6, #0 bl DC_FlushRange add r0, r5, #0 ldr r1, [r5] add r0, #0xc add r2, r6, #0 bl GX_LoadOBJ ldr r0, [r5, #8] ldr r1, [r5, #4] bl FUN_02020248 _022354E0: add r4, r4, #1 add r5, r5, r7 cmp r4, #0x1e blt _022354BC pop {r3, r4, r5, r6, r7, pc} nop _022354EC: .word 0x0223BB14 thumb_func_end MOD83_022354AC thumb_func_start MOD83_022354F0 MOD83_022354F0: ; 0x022354F0 push {r4, r5, r6, r7, lr} sub sp, #0x24 add r5, r0, #0 mov r0, #0x13 mov r1, #0x4e bl FUN_02006670 mov r1, #1 str r0, [sp, #0xc] mov r0, #0x4e lsl r1, r1, #0xc bl FUN_020169D8 mov r6, #0 str r0, [sp, #0x10] add r7, r6, #0 add r4, r5, #0 _02235512: ldr r0, _02235634 ; =0x0000E880 ldr r1, _02235638 ; =0x0000E884 ldr r0, [r5, r0] ldr r2, [r5, r1] mov r1, #0x96 lsl r1, r1, #4 mul r1, r2 add r0, r0, #4 add r0, r0, r1 add r0, r0, r7 mov r1, #5 mov r2, #0 bl MOD83_02237A10 cmp r0, #0 beq _022355D2 ldr r1, _02235638 ; =0x0000E884 add r0, r5, #0 ldr r1, [r5, r1] add r2, r6, #0 bl MOD83_0223526C ldr r1, _02235638 ; =0x0000E884 str r0, [sp, #0x1c] ldr r1, [r5, r1] add r0, r5, #0 add r2, r6, #0 bl MOD83_02235290 ldr r1, _02235638 ; =0x0000E884 str r0, [sp, #0x18] ldr r1, [r5, r1] add r0, r5, #0 add r2, r6, #0 bl MOD83_022352B4 str r0, [sp, #0x20] ldr r0, [sp, #0x1c] bl MOD83_02237EBC ldr r2, _0223563C ; =0x021C4918 ldr r1, [sp, #0x20] ldrb r2, [r2, #6] bl MOD83_02235350 str r0, [sp, #0x14] mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [sp, #0x18] str r0, [sp] ldr r0, [sp, #0x10] ldr r2, [sp, #0x14] str r0, [sp, #4] ldr r0, [sp, #0xc] add r3, r6, #0 str r0, [sp, #8] ldr r0, [sp, #0x1c] bl MOD83_0223542C mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #1 bl FUN_020200A0 ldr r0, _02235634 ; =0x0000E880 ldr r1, _02235638 ; =0x0000E884 ldr r0, [r5, r0] ldr r2, [r5, r1] mov r1, #0x96 lsl r1, r1, #4 mul r1, r2 add r0, r0, #4 add r0, r0, r1 add r0, r0, r7 mov r1, #0xc mov r2, #0 bl MOD83_02237A10 cmp r0, #0 beq _022355C4 mov r0, #0x6b lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #1 bl FUN_020200A0 b _02235602 _022355C4: mov r0, #0x6b lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0 bl FUN_020200A0 b _02235602 _022355D2: mov r0, #0 str r0, [sp] ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] str r0, [sp, #4] ldr r0, [sp, #0xc] ldr r2, [sp, #0x14] str r0, [sp, #8] ldr r0, [sp, #0x1c] add r3, r6, #0 bl MOD83_0223542C mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0 bl FUN_020200A0 mov r0, #0x6b lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0 bl FUN_020200A0 _02235602: add r6, r6, #1 add r7, #0x50 add r4, #0xc cmp r6, #0x1e blt _02235512 ldr r0, [sp, #0x10] bl FUN_02016A18 ldr r0, [sp, #0xc] bl FUN_020066F4 ldr r1, _02235640 ; =MOD83_022354AC ldr r0, _02235644 ; =0x00012604 str r1, [r5, r0] ldr r1, _02235638 ; =0x0000E884 add r0, r5, #0 ldr r1, [r5, r1] bl MOD83_02235B6C add r0, r5, #0 bl MOD83_02235B20 add sp, #0x24 pop {r4, r5, r6, r7, pc} nop _02235634: .word 0x0000E880 _02235638: .word 0x0000E884 _0223563C: .word 0x021C4918 _02235640: .word MOD83_022354AC _02235644: .word 0x00012604 thumb_func_end MOD83_022354F0 thumb_func_start MOD83_02235648 MOD83_02235648: ; 0x02235648 push {r4, r5, r6, r7, lr} sub sp, #0x44 mov r2, #0x61 add r5, r0, #0 lsl r2, r2, #2 add r0, sp, #0x14 add r1, r5, #0 add r2, r5, r2 mov r3, #1 bl MOD83_02235244 mov r0, #0x28 str r0, [sp, #8] mov r0, #0x31 mov r4, #0 lsl r0, r0, #4 str r4, [sp, #0xc] add r7, r5, r0 _0223566C: mov r0, #0 str r0, [sp, #0x10] ldr r0, [sp, #8] mov r6, #0x1c lsl r0, r0, #0xc str r0, [sp, #4] _02235678: mov r0, #0x1c str r0, [sp] ldr r2, [sp, #8] add r0, r7, #0 add r1, r6, #0 mov r3, #0x1c bl MOD83_022352D8 lsl r0, r6, #0xc str r0, [sp, #0x1c] ldr r0, [sp, #4] str r0, [sp, #0x20] mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r5, r0] cmp r0, #0 bne _022356A6 add r0, sp, #0x14 bl FUN_0201FE94 mov r1, #0x6a lsl r1, r1, #2 str r0, [r5, r1] _022356A6: mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #1 bl FUN_020200BC mov r0, #0x6a lsl r0, r0, #2 add r1, r4, #0 ldr r0, [r5, r0] add r1, #0xa bl FUN_02020130 mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #1 bl FUN_02020238 mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #1 bl FUN_020200A0 mov r0, #0x6a lsl r0, r0, #2 add r1, r4, #0 ldr r0, [r5, r0] add r1, #0x64 bl FUN_02020310 mov r0, #6 ldr r1, [sp, #0x1c] lsl r0, r0, #0xc add r0, r1, r0 str r0, [sp, #0x1c] mov r0, #3 ldr r1, [sp, #0x20] lsl r0, r0, #0xe add r0, r1, r0 str r0, [sp, #0x20] mov r0, #0x6b lsl r0, r0, #2 ldr r0, [r5, r0] cmp r0, #0 bne _02235710 add r0, sp, #0x14 bl FUN_0201FE94 mov r1, #0x6b lsl r1, r1, #2 str r0, [r5, r1] _02235710: mov r0, #0x6b lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #1 bl FUN_020200BC mov r0, #0x6b lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #0x28 bl FUN_02020130 mov r0, #0x6b lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #1 bl FUN_02020238 mov r0, #0x6b lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #0 bl FUN_020200A0 mov r0, #0x6b lsl r0, r0, #2 ldr r0, [r5, r0] add r1, r4, #0 bl FUN_02020310 add r4, r4, #1 add r7, r7, #4 add r5, #0xc cmp r4, #0x1e beq _02235774 ldr r0, [sp, #0x10] add r6, #0x28 add r0, r0, #1 str r0, [sp, #0x10] cmp r0, #6 blt _02235678 ldr r0, [sp, #8] add r0, #0x18 str r0, [sp, #8] ldr r0, [sp, #0xc] add r0, r0, #1 str r0, [sp, #0xc] cmp r0, #5 bge _02235774 b _0223566C _02235774: add sp, #0x44 pop {r4, r5, r6, r7, pc} thumb_func_end MOD83_02235648 thumb_func_start MOD83_02235778 MOD83_02235778: ; 0x02235778 push {r3, r4, r5, r6, r7, lr} sub sp, #0x30 add r4, r2, #0 mov r2, #0x61 add r6, r0, #0 lsl r2, r2, #2 add r5, r1, #0 add r7, r3, #0 add r0, sp, #0 add r1, r6, #0 add r2, r6, r2 mov r3, #1 bl MOD83_02235244 lsl r0, r5, #0xc str r0, [sp, #8] lsl r0, r4, #0xc str r0, [sp, #0xc] mov r0, #0xa str r0, [sp, #0x24] add r0, sp, #0 bl FUN_0201FE94 add r4, r0, #0 mov r1, #1 bl FUN_020200BC add r0, r4, #0 add r1, r7, #0 bl FUN_02020130 add r0, r4, #0 mov r1, #1 bl FUN_02020238 ldr r1, [sp, #0x48] add r0, r4, #0 bl FUN_020200A0 add r0, r4, #0 add sp, #0x30 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD83_02235778 thumb_func_start MOD83_022357CC MOD83_022357CC: ; 0x022357CC push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 mov r0, #0x20 str r0, [sp] mov r0, #0xe2 lsl r0, r0, #2 add r0, r6, r0 mov r1, #0xe4 mov r2, #0xb0 mov r3, #0x32 bl MOD83_022352D8 mov r0, #1 str r0, [sp] add r0, r6, #0 mov r1, #0xe4 mov r2, #0xb0 mov r3, #6 bl MOD83_02235778 mov r1, #0xe6 lsl r1, r1, #2 str r0, [r6, r1] sub r1, #8 add r0, r6, r1 mov r1, #0xb0 mov r3, #0x20 add r2, r1, #0 str r3, [sp] bl MOD83_022352D8 mov r0, #1 mov r1, #0xb0 str r0, [sp] add r0, r6, #0 add r2, r1, #0 mov r3, #3 bl MOD83_02235778 mov r1, #0xea lsl r1, r1, #2 str r0, [r6, r1] sub r1, #0x1c mov r3, #0x20 add r0, r6, r1 mov r1, #0x18 mov r2, #0xb0 str r3, [sp] bl MOD83_022352D8 mov r0, #1 str r0, [sp] add r0, r6, #0 mov r1, #0x18 mov r2, #0xb0 mov r3, #0 bl MOD83_02235778 mov r1, #0xee lsl r1, r1, #2 str r0, [r6, r1] mov r7, #0 mov r0, #0xff sub r1, #0x24 strb r0, [r6, r1] add r4, r7, #0 add r5, r6, #0 _02235852: mov r0, #0 str r0, [sp] add r0, r6, #0 add r1, r4, #0 mov r2, #0x40 mov r3, #9 bl MOD83_02235778 mov r1, #0xf2 lsl r1, r1, #2 str r0, [r5, r1] mov r1, #0 mov r0, #0xf3 mvn r1, r1 lsl r0, r0, #2 str r1, [r5, r0] mov r1, #0xe add r0, r0, #4 str r1, [r5, r0] add r7, r7, #1 add r4, #0x24 add r5, #0xc cmp r7, #6 blt _02235852 mov r0, #0x41 mov r1, #0 lsl r0, r0, #4 str r1, [r6, r0] pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD83_022357CC thumb_func_start MOD83_0223588C MOD83_0223588C: ; 0x0223588C push {r3, lr} ldr r3, _022358C0 ; =0x0000E880 ldr r2, [r0, r3] add r3, r3, #4 ldr r3, [r0, r3] mov r0, #0x96 lsl r0, r0, #4 add r2, r2, #4 mul r0, r3 add r2, r2, r0 mov r0, #0x50 mul r0, r1 add r0, r2, r0 mov r1, #0x41 mov r2, #0 bl MOD83_02237A10 mov r1, #0x67 lsl r1, r1, #2 cmp r0, r1 bne _022358BA mov r0, #1 pop {r3, pc} _022358BA: mov r0, #0 pop {r3, pc} nop _022358C0: .word 0x0000E880 thumb_func_end MOD83_0223588C thumb_func_start MOD83_022358C4 MOD83_022358C4: ; 0x022358C4 push {r3, r4, r5, r6, r7, lr} ldr r3, _02235910 ; =0x0000E880 mov r5, #0 ldr r2, [r0, r3] add r3, r3, #4 ldr r3, [r0, r3] mov r0, #0x96 lsl r0, r0, #4 add r2, r2, #4 mul r0, r3 add r4, r2, r0 mov r0, #0x50 add r6, r1, #0 mul r6, r0 add r7, r5, #0 _022358E2: add r1, r5, #0 add r0, r4, r6 add r1, #0xd add r2, r7, #0 bl MOD83_02237A10 ldr r3, _02235914 ; =0x0223B2B8 add r2, r0, #0 mov r1, #0 _022358F4: ldr r0, [r3] cmp r2, r0 bne _022358FE mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _022358FE: add r1, r1, #1 add r3, r3, #4 cmp r1, #8 blo _022358F4 add r5, r5, #1 cmp r5, #4 blt _022358E2 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02235910: .word 0x0000E880 _02235914: .word 0x0223B2B8 thumb_func_end MOD83_022358C4 thumb_func_start MOD83_02235918 MOD83_02235918: ; 0x02235918 push {r3, lr} ldr r3, _0223595C ; =0x0000E880 ldr r2, [r0, r3] add r3, r3, #4 ldr r3, [r0, r3] mov r0, #0x96 lsl r0, r0, #4 add r2, r2, #4 mul r0, r3 add r2, r2, r0 mov r0, #0x50 mul r0, r1 add r0, r2, r0 mov r1, #0xc mov r2, #0 bl MOD83_02237A10 ldr r1, _02235960 ; =0x0223B2C8 ldrh r1, [r1, #0x30] cmp r1, #0 beq _02235956 ldr r2, _02235964 ; =0x0223B2F8 _02235944: ldrh r1, [r2] cmp r0, r1 bne _0223594E mov r0, #1 pop {r3, pc} _0223594E: add r2, r2, #2 ldrh r1, [r2] cmp r1, #0 bne _02235944 _02235956: mov r0, #0 pop {r3, pc} nop _0223595C: .word 0x0000E880 _02235960: .word 0x0223B2C8 _02235964: .word 0x0223B2F8 thumb_func_end MOD83_02235918 thumb_func_start MOD83_02235968 MOD83_02235968: ; 0x02235968 push {r3, lr} ldr r3, _02235990 ; =0x0000E880 ldr r2, [r0, r3] add r3, r3, #4 ldr r3, [r0, r3] mov r0, #0x96 lsl r0, r0, #4 add r2, r2, #4 mul r0, r3 add r2, r2, r0 mov r0, #0x50 mul r0, r1 add r0, r2, r0 mov r1, #0xb mov r2, #0 bl MOD83_02237A10 bl MOD83_02234C74 pop {r3, pc} .align 2, 0 _02235990: .word 0x0000E880 thumb_func_end MOD83_02235968 thumb_func_start MOD83_02235994 MOD83_02235994: ; 0x02235994 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r4, r0, #0 mov r0, #0x6a lsl r0, r0, #2 add r0, r4, r0 str r0, [sp] add r6, r1, #0 mov r0, #0xc mul r0, r6 ldr r1, [sp] str r0, [sp, #4] ldr r0, [r1, r0] cmp r0, #0 beq _022359C0 bl FUN_02020128 cmp r0, #0 bne _022359C0 add sp, #0x14 mov r0, #3 pop {r4, r5, r6, r7, pc} _022359C0: mov r5, #0 mov r7, #0x3d mvn r5, r5 mov r2, #0 add r3, r4, #0 lsl r7, r7, #4 b _022359E8 _022359CE: ldr r0, _02235B1C ; =0x0000E884 ldr r1, [r4, r0] ldr r0, [r3, r7] cmp r1, r0 bne _022359E4 mov r0, #0xf3 lsl r0, r0, #2 ldr r0, [r3, r0] cmp r6, r0 bne _022359E4 add r5, r2, #0 _022359E4: add r3, #0xc add r2, r2, #1 _022359E8: mov r0, #0 mvn r0, r0 cmp r5, r0 bne _022359F4 cmp r2, #6 blt _022359CE _022359F4: add r0, r4, #0 add r1, r6, #0 bl MOD83_0223588C cmp r0, #1 bne _02235A06 add sp, #0x14 mov r0, #4 pop {r4, r5, r6, r7, pc} _02235A06: add r0, r4, #0 add r1, r6, #0 bl MOD83_022358C4 cmp r0, #1 bne _02235A18 add sp, #0x14 mov r0, #5 pop {r4, r5, r6, r7, pc} _02235A18: add r0, r4, #0 add r1, r6, #0 bl MOD83_02235918 cmp r0, #1 bne _02235A2A add sp, #0x14 mov r0, #6 pop {r4, r5, r6, r7, pc} _02235A2A: add r0, r4, #0 add r1, r6, #0 bl MOD83_02235968 cmp r0, #1 bne _02235A3C add sp, #0x14 mov r0, #7 pop {r4, r5, r6, r7, pc} _02235A3C: mov r0, #0 mvn r0, r0 cmp r5, r0 bne _02235AE4 mov r0, #0x41 lsl r0, r0, #4 ldr r0, [r4, r0] cmp r0, #6 bne _02235A54 add sp, #0x14 mov r0, #0 pop {r4, r5, r6, r7, pc} _02235A54: mov r5, #0 mov r0, #0xf3 add r3, r4, #0 lsl r0, r0, #2 sub r1, r5, #1 _02235A5E: ldr r2, [r3, r0] cmp r2, r1 bne _02235ADA ldr r1, [sp] ldr r0, [sp, #4] ldr r0, [r1, r0] bl FUN_0202011C add r1, r0, #0 mov r0, #0xc add r7, r5, #0 mul r7, r0 mov r0, #0xf2 lsl r0, r0, #2 add r5, r4, r0 ldr r0, [r5, r7] bl FUN_02020044 ldr r0, [r5, r7] bl FUN_0202011C add r3, r0, #0 add r2, sp, #8 ldmia r3!, {r0, r1} mov ip, r2 stmia r2!, {r0, r1} ldr r0, [r3] mov r1, #2 str r0, [r2] ldr r0, [sp, #8] lsl r1, r1, #0xe sub r0, r0, r1 str r0, [sp, #8] ldr r0, [sp, #0xc] lsr r1, r1, #1 sub r0, r0, r1 str r0, [sp, #0xc] ldr r0, [r5, r7] mov r1, ip bl FUN_02020044 ldr r0, [r5, r7] mov r1, #1 bl FUN_020200A0 mov r1, #0xf3 add r3, r4, r7 lsl r1, r1, #2 ldr r0, _02235B1C ; =0x0000E884 str r6, [r3, r1] ldr r2, [r4, r0] add r0, r1, #4 str r2, [r3, r0] add r0, r1, #0 add r0, #0x44 ldr r0, [r4, r0] add r1, #0x44 add r0, r0, #1 str r0, [r4, r1] add sp, #0x14 mov r0, #1 pop {r4, r5, r6, r7, pc} _02235ADA: add r5, r5, #1 add r3, #0xc cmp r5, #6 blt _02235A5E b _02235B16 _02235AE4: mov r0, #0xc add r6, r5, #0 mul r6, r0 mov r0, #0xf2 add r1, r4, r6 lsl r0, r0, #2 ldr r0, [r1, r0] mov r1, #0 bl FUN_020200A0 mov r2, #0 mov r1, #0xf3 mvn r2, r2 add r0, r4, r6 lsl r1, r1, #2 str r2, [r0, r1] add r0, r1, #0 add r0, #0x44 ldr r0, [r4, r0] add r1, #0x44 sub r0, r0, #1 str r0, [r4, r1] add sp, #0x14 mov r0, #2 pop {r4, r5, r6, r7, pc} _02235B16: mov r0, #0 add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _02235B1C: .word 0x0000E884 thumb_func_end MOD83_02235994 thumb_func_start MOD83_02235B20 MOD83_02235B20: ; 0x02235B20 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 mov r4, #0 add r5, r6, #0 sub r7, r4, #1 _02235B2A: mov r0, #0xf3 lsl r0, r0, #2 ldr r0, [r5, r0] cmp r0, r7 beq _02235B50 ldr r0, _02235B68 ; =0x0000E884 ldr r1, [r6, r0] mov r0, #0x3d lsl r0, r0, #4 ldr r0, [r5, r0] cmp r1, r0 bne _02235B50 mov r0, #0xf2 lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #1 bl FUN_020200A0 b _02235B5C _02235B50: mov r0, #0xf2 lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #0 bl FUN_020200A0 _02235B5C: add r4, r4, #1 add r5, #0xc cmp r4, #6 blt _02235B2A pop {r3, r4, r5, r6, r7, pc} nop _02235B68: .word 0x0000E884 thumb_func_end MOD83_02235B20 thumb_func_start MOD83_02235B6C MOD83_02235B6C: ; 0x02235B6C push {r3, r4, r5, lr} sub sp, #0x60 add r5, r0, #0 mov r0, #0 add r4, r1, #0 add r3, sp, #0x14 add r1, r0, #0 mov r2, #4 _02235B7C: stmia r3!, {r0, r1} stmia r3!, {r0, r1} sub r2, r2, #1 bne _02235B7C stmia r3!, {r0, r1} str r0, [r3] ldr r0, _02235BE4 ; =0x00000478 add r0, r5, r0 str r0, [sp, #0x14] mov r0, #6 str r0, [sp, #0x1c] mov r0, #0x15 str r0, [sp, #0x20] mov r0, #0xd str r0, [sp, #0x24] mov r0, #2 str r0, [sp, #0x28] sub r0, r0, #3 str r0, [sp, #0x48] mov r0, #0 str r0, [sp, #0x2c] str r0, [sp, #0x30] mov r0, #1 str r0, [sp, #0x38] str r0, [sp, #0x3c] ldr r0, _02235BE8 ; =0x00010200 str r0, [sp, #0x40] mov r0, #0xa0 str r0, [sp, #0x34] bl MOD83_02236EA8 add r3, r0, #0 ldr r0, _02235BEC ; =0x0000E880 mov r2, #9 ldr r1, [r5, r0] ldr r0, _02235BF0 ; =0x00008344 add r1, r1, r0 lsl r0, r4, #3 add r0, r4, r0 add r0, r1, r0 add r1, sp, #0 bl FUN_02015D88 add r0, sp, #0 str r0, [sp, #0x4c] add r0, r5, #0 add r1, sp, #0x14 mov r2, #1 bl MOD83_02234F2C add sp, #0x60 pop {r3, r4, r5, pc} .align 2, 0 _02235BE4: .word 0x00000478 _02235BE8: .word 0x00010200 _02235BEC: .word 0x0000E880 _02235BF0: .word 0x00008344 thumb_func_end MOD83_02235B6C thumb_func_start MOD83_02235BF4 MOD83_02235BF4: ; 0x02235BF4 push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, [r5, #0x20] add r6, r1, #0 mov r1, #2 bl FUN_0201886C add r4, r0, #0 cmp r6, #0 beq _02235C18 add r0, r6, #0 mov r1, #8 mov r2, #0 bl MOD83_02237A10 lsl r0, r0, #0x18 lsr r1, r0, #0x18 b _02235C1A _02235C18: mov r1, #0 _02235C1A: mov r2, #0 mov r0, #1 _02235C1E: add r3, r1, #0 tst r3, r0 beq _02235C2A add r6, r2, #0 add r6, #0x80 b _02235C2E _02235C2A: add r6, r2, #0 add r6, #0x60 _02235C2E: add r3, r4, #0 add r3, #0xd6 lsl r1, r1, #0x17 add r2, r2, #1 strh r6, [r3] lsr r1, r1, #0x18 add r4, r4, #2 cmp r2, #4 blt _02235C1E ldr r0, [r5, #0x20] mov r1, #2 bl FUN_02017CD0 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD83_02235BF4 thumb_func_start MOD83_02235C4C MOD83_02235C4C: ; 0x02235C4C push {r3, r4, r5, r6, r7, lr} sub sp, #0x78 add r5, r0, #0 mov r0, #0 add r4, r1, #0 add r3, sp, #0x2c add r1, r0, #0 mov r2, #4 _02235C5C: stmia r3!, {r0, r1} stmia r3!, {r0, r1} sub r2, r2, #1 bne _02235C5C stmia r3!, {r0, r1} str r0, [r3] mov r1, #0x20 str r1, [sp, #0x3c] mov r1, #1 ldr r0, _02235DF8 ; =0x00000488 str r1, [sp, #0x50] str r1, [sp, #0x54] mov r1, #0xbc str r1, [sp, #0x4c] ldr r1, _02235DFC ; =0x000F0200 add r0, r5, r0 str r1, [sp, #0x58] mov r1, #0x2c str r0, [sp, #0x2c] mov r0, #0 str r1, [sp, #0x60] mov r1, #0x90 mov r2, #4 str r1, [sp, #0x44] str r0, [sp, #0x34] str r0, [sp, #0x38] str r0, [sp, #0x64] str r0, [sp, #0x48] add r0, r5, #0 add r1, sp, #0x2c str r2, [sp, #0x40] bl MOD83_02234F2C mov r0, #0x2b str r0, [sp, #0x60] mov r0, #0x50 str r0, [sp, #0x44] mov r0, #8 str r0, [sp, #0x48] add r0, r5, #0 add r1, sp, #0x2c mov r2, #6 bl MOD83_02234F2C add r0, r5, #0 add r1, r4, #0 bl MOD83_02235BF4 cmp r4, #0 bne _02235CCA ldr r0, [sp, #0x2c] bl FUN_020191D0 add sp, #0x78 pop {r3, r4, r5, r6, r7, pc} _02235CCA: add r2, sp, #0x1c add r0, r4, #0 mov r1, #2 add r2, #2 bl MOD83_02237A10 add r0, r4, #0 mov r1, #3 mov r2, #0 bl MOD83_02237A10 add r3, r0, #0 add r0, sp, #0x1c add r0, #2 add r1, sp, #8 mov r2, #0xb bl FUN_02015D88 add r0, sp, #8 str r0, [sp, #0x64] mov r0, #0 mvn r0, r0 str r0, [sp, #0x60] mov r0, #8 str r0, [sp, #0x44] mov r0, #0 str r0, [sp, #0x48] add r0, r5, #0 add r1, sp, #0x2c mov r2, #6 bl MOD83_02234F2C mov r0, #0x40 mov r1, #0x4e bl FUN_020219F4 add r6, r0, #0 ldr r2, _02235E00 ; =0x0000016A mov r0, #1 mov r1, #0x1a mov r3, #0x4e bl FUN_0200A86C add r7, r0, #0 add r0, r4, #0 mov r1, #0xb mov r2, #0 bl MOD83_02237A10 bl MOD83_02237EBC str r0, [sp, #4] ldr r1, [sp, #4] add r0, r7, #0 add r2, r6, #0 bl FUN_0200A8E0 mov r0, #0 mvn r0, r0 str r0, [sp, #0x60] mov r0, #0x10 str r0, [sp, #0x44] str r0, [sp, #0x48] add r0, r5, #0 add r1, sp, #0x2c mov r2, #6 str r6, [sp, #0x68] bl MOD83_02234F2C add r0, r7, #0 bl FUN_0200A8B8 add r0, r6, #0 bl FUN_02021A20 add r0, r4, #0 mov r1, #0xc mov r2, #0 bl MOD83_02237A10 cmp r0, #0 beq _02235DAC lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl FUN_0206E6D8 add r7, r0, #0 mov r0, #0x40 mov r1, #0x4e bl FUN_020219F4 lsl r1, r7, #0x10 lsr r1, r1, #0x10 mov r2, #0x4e add r6, r0, #0 bl FUN_0206E768 mov r0, #0 mvn r0, r0 str r0, [sp, #0x60] mov r0, #0x98 str r0, [sp, #0x44] mov r0, #0x10 str r0, [sp, #0x48] add r0, r5, #0 add r1, sp, #0x2c mov r2, #6 str r6, [sp, #0x68] bl MOD83_02234F2C add r0, r6, #0 bl FUN_02021A20 _02235DAC: add r0, r4, #0 bl MOD83_02237EDC add r6, r0, #0 mov r0, #0xa mov r1, #0x4e bl FUN_020219F4 mov r3, #1 add r1, r6, #0 mov r2, #3 add r4, r0, #0 str r3, [sp] bl FUN_02021B04 mov r0, #0 mvn r0, r0 str r0, [sp, #0x60] mov r0, #0x64 str r0, [sp, #0x44] mov r0, #8 str r0, [sp, #0x48] add r0, r5, #0 add r1, sp, #0x2c mov r2, #2 str r4, [sp, #0x68] bl MOD83_02234F2C add r0, r4, #0 bl FUN_02021A20 ldr r0, [sp, #4] lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl FUN_02005578 add sp, #0x78 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02235DF8: .word 0x00000488 _02235DFC: .word 0x000F0200 _02235E00: .word 0x0000016A thumb_func_end MOD83_02235C4C thumb_func_start MOD83_02235E04 MOD83_02235E04: ; 0x02235E04 push {r3, r4, r5, r6, lr} sub sp, #0xc add r5, r0, #0 mov r0, #6 str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #0x4e str r0, [sp, #8] add r6, r2, #0 mov r0, #0 add r4, r3, #0 add r2, r1, #0 add r3, r0, #0 bl FUN_0200E1D0 cmp r4, #0 beq _02235E2C mov r0, #0x17 str r0, [r4] _02235E2C: str r6, [r5, #0x24] add sp, #0xc pop {r3, r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD83_02235E04 thumb_func_start MOD83_02235E34 MOD83_02235E34: ; 0x02235E34 push {r3, r4, r5, r6, lr} sub sp, #0xc add r5, r0, #0 mov r0, #6 str r0, [sp] mov r0, #1 add r4, r3, #0 str r0, [sp, #4] mov r0, #0x4e add r6, r2, #0 str r0, [sp, #8] ldr r3, _02235E64 ; =0x00007FFF mov r0, #0 add r2, r1, #0 bl FUN_0200E1D0 cmp r4, #0 beq _02235E5C mov r0, #0x17 str r0, [r4] _02235E5C: str r6, [r5, #0x24] add sp, #0xc pop {r3, r4, r5, r6, pc} nop _02235E64: .word 0x00007FFF thumb_func_end MOD83_02235E34 thumb_func_start MOD83_02235E68 MOD83_02235E68: ; 0x02235E68 push {r3, r4, r5, lr} sub sp, #0x80 ldr r5, _02235F28 ; =0x0223A51C add r3, sp, #0x70 add r4, r0, #0 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, _02235F2C ; =0x0223A52C add r3, sp, #0x54 ldmia r5!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r5] mov r1, #0 str r0, [r3] add r0, r4, #0 add r3, r1, #0 bl FUN_02016C18 add r0, r4, #0 mov r1, #0 bl FUN_02018744 ldr r5, _02235F30 ; =0x0223A548 add r3, sp, #0x38 ldmia r5!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r5] mov r1, #1 str r0, [r3] add r0, r4, #0 mov r3, #0 bl FUN_02016C18 add r0, r4, #0 mov r1, #1 bl FUN_02018744 ldr r5, _02235F34 ; =0x0223A564 add r3, sp, #0x1c ldmia r5!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r5] mov r1, #2 str r0, [r3] add r0, r4, #0 mov r3, #0 bl FUN_02016C18 add r0, r4, #0 mov r1, #2 bl FUN_02018744 ldr r5, _02235F38 ; =0x0223A580 add r3, sp, #0 ldmia r5!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r5] mov r1, #3 str r0, [r3] add r0, r4, #0 mov r3, #0 bl FUN_02016C18 add r0, r4, #0 mov r1, #3 bl FUN_02018744 add sp, #0x80 pop {r3, r4, r5, pc} nop _02235F28: .word 0x0223A51C _02235F2C: .word 0x0223A52C _02235F30: .word 0x0223A548 _02235F34: .word 0x0223A564 _02235F38: .word 0x0223A580 thumb_func_end MOD83_02235E68 thumb_func_start MOD83_02235F3C MOD83_02235F3C: ; 0x02235F3C push {r3, r4, r5, lr} sub sp, #0x38 ldr r5, _02235FB4 ; =0x0223A59C add r4, r0, #0 add r3, sp, #0x10 mov r2, #5 _02235F48: ldmia r5!, {r0, r1} stmia r3!, {r0, r1} sub r2, r2, #1 bne _02235F48 add r0, sp, #0x10 bl FUN_0201E66C ldr r0, [r4, #0x20] bl MOD83_02235E68 ldr r0, _02235FB8 ; =0x021C4918 mov r1, #1 strb r1, [r0, #5] bl FUN_0201E7A0 bl FUN_0201BD5C mov r1, #0x1e mov r0, #0 lsl r1, r1, #4 mov r2, #0x4e bl FUN_02002ED0 mov r0, #0xc0 str r0, [sp] mov r0, #0x4e mov r2, #0 str r0, [sp, #4] mov r0, #0x74 mov r1, #0x13 add r3, r2, #0 bl FUN_02006930 mov r0, #0 str r0, [sp] mov r0, #5 lsl r0, r0, #0xa str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] mov r0, #0x4e str r0, [sp, #0xc] ldr r2, [r4, #0x20] mov r0, #0x74 mov r1, #0x16 mov r3, #2 bl FUN_0200687C mov r0, #2 mov r1, #0x4e bl FUN_02002C50 add sp, #0x38 pop {r3, r4, r5, pc} .align 2, 0 _02235FB4: .word 0x0223A59C _02235FB8: .word 0x021C4918 thumb_func_end MOD83_02235F3C thumb_func_start MOD83_02235FBC MOD83_02235FBC: ; 0x02235FBC push {r4, lr} sub sp, #0x10 add r4, r0, #0 mov r0, #0 str r0, [sp] mov r0, #6 lsl r0, r0, #8 str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] mov r0, #0x4e str r0, [sp, #0xc] ldr r2, [r4, #0x20] mov r0, #0x74 mov r1, #0x14 mov r3, #2 bl FUN_020068C8 mov r0, #0x20 str r0, [sp] mov r0, #0x18 str r0, [sp, #4] mov r2, #0 ldr r1, [r4] ldr r0, _02236008 ; =0x0223B280 add r3, r2, #0 ldrb r0, [r0, r1] mov r1, #2 str r0, [sp, #8] ldr r0, [r4, #0x20] bl FUN_020186B4 ldr r0, [r4, #0x20] mov r1, #2 bl FUN_02017CD0 add sp, #0x10 pop {r4, pc} .align 2, 0 _02236008: .word 0x0223B280 thumb_func_end MOD83_02235FBC thumb_func_start MOD83_0223600C MOD83_0223600C: ; 0x0223600C push {r4, lr} sub sp, #8 mov r1, #7 add r4, r0, #0 mov r0, #0 lsl r1, r1, #6 mov r2, #0x4e bl FUN_02002ED0 mov r1, #0 mov r2, #0x3f str r1, [sp] mov r0, #0x4e str r0, [sp, #4] ldr r0, [r4, #0x20] lsl r2, r2, #4 mov r3, #0xe bl FUN_0200CB00 ldr r0, [r4, #0x1c] ldr r2, _022360B4 ; =0x000003D2 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp] mov r0, #0x4e str r0, [sp, #4] ldr r0, [r4, #0x20] mov r1, #0 mov r3, #0xd bl FUN_0200CD68 ldr r0, _022360B8 ; =0x0000042C mov r1, #0 add r0, r4, r0 mov r2, #0x4c bl Call_FillMemWithValue ldr r0, _022360BC ; =0x00000498 mov r3, #0x1b add r1, r0, #0 add r2, r4, r0 sub r1, #0x6c str r2, [r4, r1] add r1, r0, #0 mov r2, #2 sub r1, #0x64 str r2, [r4, r1] add r1, r0, #0 mov r2, #1 sub r1, #0x60 str r2, [r4, r1] add r1, r0, #0 sub r1, #0x5c str r3, [r4, r1] add r1, r0, #0 mov r3, #4 sub r1, #0x58 str r3, [r4, r1] add r3, r0, #0 mov r1, #0 sub r3, #0x48 str r1, [r4, r3] add r3, r0, #0 sub r3, #0x44 str r2, [r4, r3] add r3, r0, #0 sub r3, #0x4c str r2, [r4, r3] add r2, r0, #0 ldr r3, _022360C0 ; =0x0001020F sub r2, #0x40 str r3, [r4, r2] add r2, r0, #0 ldr r3, _022360C4 ; =0x000F020F sub r2, #0x3c str r3, [r4, r2] add r2, r0, #0 sub r2, #0x34 str r1, [r4, r2] sub r0, #0x30 str r1, [r4, r0] add sp, #8 pop {r4, pc} nop _022360B4: .word 0x000003D2 _022360B8: .word 0x0000042C _022360BC: .word 0x00000498 _022360C0: .word 0x0001020F _022360C4: .word 0x000F020F thumb_func_end MOD83_0223600C thumb_func_start MOD83_022360C8 MOD83_022360C8: ; 0x022360C8 push {r4, r5, r6, r7, lr} sub sp, #0x4c add r6, r0, #0 mov r7, #0x6b mov r5, #0 add r4, r6, #0 lsl r7, r7, #2 _022360D6: mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0 bl FUN_020200A0 ldr r0, [r4, r7] mov r1, #0 bl FUN_020200A0 add r5, r5, #1 add r4, #0xc cmp r5, #0x1e blt _022360D6 mov r7, #0xf2 mov r5, #0 add r4, r6, #0 lsl r7, r7, #2 _022360FA: ldr r0, [r4, r7] mov r1, #0 bl FUN_020200A0 add r5, r5, #1 add r4, #0xc cmp r5, #6 blt _022360FA mov r0, #0xe6 lsl r0, r0, #2 ldr r0, [r6, r0] mov r1, #0 bl FUN_020200A0 mov r0, #0xee lsl r0, r0, #2 ldr r0, [r6, r0] mov r1, #0 bl FUN_020200A0 mov r0, #0xea lsl r0, r0, #2 ldr r0, [r6, r0] mov r1, #0 bl FUN_020200A0 mov r2, #0x61 lsl r2, r2, #2 add r0, sp, #0x1c add r1, r6, #0 add r2, r6, r2 mov r3, #1 bl MOD83_02235244 mov r0, #0x1c mov r7, #0 str r0, [sp, #0x10] add r4, r6, #0 add r5, r6, #0 _02236148: ldr r0, [sp, #0x10] lsl r0, r0, #0xc str r0, [sp, #0x24] mov r0, #0x8e lsl r0, r0, #0xc str r0, [sp, #0x28] add r0, sp, #0x1c bl FUN_0201FE94 ldr r1, _02236288 ; =0x00000414 str r0, [r4, r1] add r0, r1, #0 ldr r0, [r4, r0] mov r1, #1 bl FUN_020200BC ldr r0, _02236288 ; =0x00000414 add r1, r7, #0 ldr r0, [r4, r0] add r1, #0xa bl FUN_02020130 ldr r0, _02236288 ; =0x00000414 mov r1, #1 ldr r0, [r4, r0] bl FUN_02020238 ldr r0, _02236288 ; =0x00000414 mov r1, #1 ldr r0, [r4, r0] bl FUN_020200A0 mov r1, #0x3d mov r2, #0xf3 lsl r1, r1, #4 lsl r2, r2, #2 ldr r1, [r5, r1] ldr r2, [r5, r2] add r0, r6, #0 bl MOD83_0223526C mov r1, #0x3d mov r2, #0xf3 lsl r1, r1, #4 lsl r2, r2, #2 str r0, [sp, #0x14] ldr r1, [r5, r1] ldr r2, [r5, r2] add r0, r6, #0 bl MOD83_02235290 mov r1, #0x3d mov r2, #0xf3 lsl r1, r1, #4 lsl r2, r2, #2 str r0, [sp, #0x18] ldr r1, [r5, r1] ldr r2, [r5, r2] add r0, r6, #0 bl MOD83_022352B4 add r2, r0, #0 ldr r0, _02236288 ; =0x00000414 str r7, [sp] ldr r0, [r4, r0] ldr r3, _0223628C ; =0x021C4918 str r0, [sp, #4] ldrb r3, [r3, #6] ldr r0, [sp, #0x14] ldr r1, [sp, #0x18] bl MOD83_022353C0 ldr r0, [sp, #0x10] add r7, r7, #1 add r0, #0x28 str r0, [sp, #0x10] add r4, r4, #4 add r5, #0xc cmp r7, #6 blt _02236148 mov r0, #0 str r0, [sp] mov r0, #6 lsl r0, r0, #8 str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] mov r0, #0x4e str r0, [sp, #0xc] ldr r2, [r6, #0x20] mov r0, #0x74 mov r1, #0x15 mov r3, #2 bl FUN_020068C8 mov r0, #0x20 str r0, [sp] mov r0, #0x18 str r0, [sp, #4] mov r2, #0 ldr r1, [r6] ldr r0, _02236290 ; =0x0223B280 add r3, r2, #0 ldrb r0, [r0, r1] mov r1, #2 str r0, [sp, #8] ldr r0, [r6, #0x20] bl FUN_020186B4 ldr r0, [r6, #0x20] mov r1, #2 bl FUN_02017CD0 mov r0, #2 mov r1, #0 bl FUN_0201E6E4 mov r1, #7 mov r0, #0 lsl r1, r1, #6 mov r2, #0x4e bl FUN_02002ED0 mov r1, #0 mov r2, #0x3f str r1, [sp] mov r0, #0x4e str r0, [sp, #4] ldr r0, [r6, #0x20] lsl r2, r2, #4 mov r3, #0xe bl FUN_0200CB00 ldr r0, [r6, #0x1c] ldr r2, _02236294 ; =0x000003D2 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp] mov r0, #0x4e str r0, [sp, #4] ldr r0, [r6, #0x20] mov r1, #0 mov r3, #0xd bl FUN_0200CD68 add r0, r6, #0 bl MOD83_0223600C mov r1, #0x46 mov r0, #0xa lsl r1, r1, #4 str r0, [r6, r1] sub r1, #0x34 add r0, r6, #0 add r1, r6, r1 mov r2, #0x18 bl MOD83_02234F2C add sp, #0x4c pop {r4, r5, r6, r7, pc} .align 2, 0 _02236288: .word 0x00000414 _0223628C: .word 0x021C4918 _02236290: .word 0x0223B280 _02236294: .word 0x000003D2 thumb_func_end MOD83_022360C8 thumb_func_start MOD83_02236298 MOD83_02236298: ; 0x02236298 push {r4, lr} add r4, r0, #0 ldr r1, [r4] cmp r1, #0 beq _022362B4 mov r1, #0 bl FUN_0200D0E0 add r0, r4, #0 bl FUN_02019570 add r0, r4, #0 bl FUN_02019178 _022362B4: pop {r4, pc} .align 2, 0 thumb_func_end MOD83_02236298 thumb_func_start MOD83_022362B8 MOD83_022362B8: ; 0x022362B8 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 ldr r7, _02236328 ; =0x00000414 mov r4, #0 add r5, r6, #0 _022362C2: ldr r0, [r5, r7] bl FUN_0201FFC8 add r4, r4, #1 add r5, r5, #4 cmp r4, #6 blt _022362C2 mov r0, #2 mov r1, #1 bl FUN_0201E6E4 ldr r0, _0223632C ; =0x00000498 add r0, r6, r0 bl MOD83_02236298 mov r0, #0xe6 lsl r0, r0, #2 ldr r0, [r6, r0] mov r1, #1 bl FUN_020200A0 mov r0, #0xee lsl r0, r0, #2 ldr r0, [r6, r0] mov r1, #1 bl FUN_020200A0 mov r0, #0xea lsl r0, r0, #2 ldr r0, [r6, r0] mov r1, #1 bl FUN_020200A0 mov r0, #0xf3 mov r5, #0 lsl r0, r0, #2 add r4, r6, #0 sub r3, r5, #1 mov r2, #0xe add r1, r0, #4 _02236312: str r3, [r4, r0] str r2, [r4, r1] add r5, r5, #1 add r4, #0xc cmp r5, #6 blt _02236312 mov r0, #0x41 mov r1, #0 lsl r0, r0, #4 str r1, [r6, r0] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02236328: .word 0x00000414 _0223632C: .word 0x00000498 thumb_func_end MOD83_022362B8 thumb_func_start MOD83_02236330 MOD83_02236330: ; 0x02236330 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 mov r0, #0 add r1, r0, #0 bl FUN_02015F10 mov r7, #0x6a mov r4, #0 add r5, r6, #0 lsl r7, r7, #2 _02236344: ldr r0, [r5, r7] cmp r0, #0 beq _0223634E bl FUN_0201FFC8 _0223634E: mov r0, #0x6b lsl r0, r0, #2 ldr r0, [r5, r0] cmp r0, #0 beq _0223635C bl FUN_0201FFC8 _0223635C: add r4, r4, #1 add r5, #0xc cmp r4, #0x1e blt _02236344 mov r7, #0xf2 mov r5, #0 add r4, r6, #0 lsl r7, r7, #2 _0223636C: ldr r0, [r4, r7] cmp r0, #0 beq _02236376 bl FUN_0201FFC8 _02236376: add r5, r5, #1 add r4, #0xc cmp r5, #6 blt _0223636C mov r0, #0xe6 lsl r0, r0, #2 ldr r0, [r6, r0] cmp r0, #0 beq _0223638C bl FUN_0201FFC8 _0223638C: mov r0, #0xee lsl r0, r0, #2 ldr r0, [r6, r0] cmp r0, #0 beq _0223639A bl FUN_0201FFC8 _0223639A: mov r0, #0xea lsl r0, r0, #2 ldr r0, [r6, r0] cmp r0, #0 beq _022363A8 bl FUN_0201FFC8 _022363A8: ldr r0, _0223643C ; =0x00000478 add r0, r6, r0 bl MOD83_02236298 ldr r0, _02236440 ; =0x00000488 add r0, r6, r0 bl MOD83_02236298 ldr r0, _02236444 ; =0x00000498 add r0, r6, r0 bl MOD83_02236298 mov r0, #2 bl FUN_02002CF8 mov r0, #0x5b lsl r0, r0, #2 ldr r0, [r6, r0] bl FUN_02009C0C mov r0, #0x17 lsl r0, r0, #4 ldr r0, [r6, r0] bl FUN_02009E04 mov r7, #0x55 mov r5, #0 add r4, r6, #0 lsl r7, r7, #2 _022363E2: ldr r0, [r4, r7] bl FUN_02008E2C add r5, r5, #1 add r4, r4, #4 cmp r5, #6 blt _022363E2 ldr r0, [r6, #0x28] bl FUN_0201FD58 mov r0, #0 str r0, [r6, #0x28] bl FUN_02009FA0 bl FUN_0201D12C bl FUN_0201E08C ldr r0, _02236448 ; =0x0000E88C ldr r0, [r6, r0] bl FUN_020145A8 ldr r0, _0223644C ; =0x021C4918 mov r1, #0 strb r1, [r0, #5] bl FUN_0201E7A0 ldr r0, [r6, #0x20] mov r1, #0 bl FUN_020178A0 ldr r0, [r6, #0x20] mov r1, #1 bl FUN_020178A0 ldr r0, [r6, #0x20] mov r1, #2 bl FUN_020178A0 ldr r0, [r6, #0x20] mov r1, #3 bl FUN_020178A0 pop {r3, r4, r5, r6, r7, pc} nop _0223643C: .word 0x00000478 _02236440: .word 0x00000488 _02236444: .word 0x00000498 _02236448: .word 0x0000E88C _0223644C: .word 0x021C4918 thumb_func_end MOD83_02236330 thumb_func_start MOD83_02236450 MOD83_02236450: ; 0x02236450 push {lr} sub sp, #0x14 ldr r1, [r0, #0x20] mov r2, #0x19 str r1, [sp] mov r1, #0 str r1, [sp, #4] mov r1, #2 lsl r1, r1, #8 str r1, [sp, #8] mov r1, #8 str r1, [sp, #0xc] add r1, sp, #0 strb r2, [r1, #0x10] mov r2, #7 strb r2, [r1, #0x11] ldr r1, _02236480 ; =0x0000E88C ldr r0, [r0, r1] add r1, sp, #0 bl FUN_020145C8 add sp, #0x14 pop {pc} nop _02236480: .word 0x0000E88C thumb_func_end MOD83_02236450 thumb_func_start MOD83_02236484 MOD83_02236484: ; 0x02236484 push {r4, r5, r6, lr} sub sp, #0x18 add r5, r0, #0 bl MOD83_02237464 add r4, r0, #0 bl MOD83_02236EA8 add r3, r0, #0 add r0, r4, #0 add r1, sp, #8 mov r2, #8 bl FUN_02015D88 mov r0, #0x4e bl FUN_0200AA80 add r4, r0, #0 mov r0, #8 mov r1, #0x4e bl FUN_020219F4 add r1, sp, #8 add r6, r0, #0 bl FUN_02021E28 mov r1, #1 str r1, [sp] mov r0, #2 str r0, [sp, #4] add r0, r4, #0 add r2, r6, #0 mov r3, #0 bl FUN_0200ABB4 add r0, r5, #0 bl MOD83_0223600C ldr r0, [r5] mov r2, #0x18 lsl r1, r0, #2 ldr r0, _02236508 ; =0x0223B2A0 ldr r0, [r0, r1] mov r1, #0x46 lsl r1, r1, #4 str r0, [r5, r1] add r0, r1, #0 add r0, #0xc sub r1, #0x34 str r4, [r5, r0] add r0, r5, #0 add r1, r5, r1 bl MOD83_02234F2C add r0, r6, #0 bl FUN_02021A20 add r0, r4, #0 bl FUN_0200AB18 add r0, r5, #0 bl MOD83_02236450 add sp, #0x18 pop {r4, r5, r6, pc} nop _02236508: .word 0x0223B2A0 thumb_func_end MOD83_02236484 thumb_func_start MOD83_0223650C MOD83_0223650C: ; 0x0223650C push {r4, lr} add r4, r0, #0 ldr r0, _0223653C ; =0x00012604 ldr r0, [r4, r0] cmp r0, #0 beq _02236520 blx r0 ldr r0, _0223653C ; =0x00012604 mov r1, #0 str r1, [r4, r0] _02236520: bl FUN_0201C30C bl FUN_02009F80 ldr r0, [r4, #0x20] bl FUN_0201AB60 ldr r3, _02236540 ; =0x027E0000 ldr r1, _02236544 ; =0x00003FF8 mov r0, #1 ldr r2, [r3, r1] orr r0, r2 str r0, [r3, r1] pop {r4, pc} .align 2, 0 _0223653C: .word 0x00012604 _02236540: .word 0x027E0000 _02236544: .word 0x00003FF8 thumb_func_end MOD83_0223650C thumb_func_start MOD83_02236548 MOD83_02236548: ; 0x02236548 push {r4, r5, r6, r7, lr} sub sp, #0xc str r0, [sp] ldr r0, [r0, #0x10] bl FUN_02022528 str r0, [sp, #8] bl FUN_0202C0B8 cmp r0, #0 bne _0223659C ldr r0, [sp, #8] bl FUN_0202C060 cmp r0, #0 bne _0223656E add sp, #0xc mov r0, #3 pop {r4, r5, r6, r7, pc} _0223656E: ldr r0, [sp, #8] bl FUN_0202C094 cmp r0, #0 bne _0223657E add sp, #0xc mov r0, #4 pop {r4, r5, r6, r7, pc} _0223657E: bl MOD83_02237448 add r1, r0, #0 ldr r0, [sp, #8] bl FUN_0202C028 cmp r0, #0 bne _02236590 ldr r0, _022365F8 ; =0x0002A300 _02236590: ldr r1, _022365FC ; =0x00015180 cmp r0, r1 bge _0223659C add sp, #0xc mov r0, #2 pop {r4, r5, r6, r7, pc} _0223659C: mov r6, #0 str r6, [sp, #4] add r7, r6, #0 _022365A2: mov r4, #0 add r5, r4, #0 _022365A6: ldr r1, [sp] ldr r0, _02236600 ; =0x0000E880 mov r2, #0 ldr r0, [r1, r0] mov r1, #5 add r0, r0, #4 add r0, r0, r7 add r0, r0, r5 bl MOD83_02237A10 cmp r0, #0 beq _022365C0 add r6, r6, #1 _022365C0: add r4, r4, #1 add r5, #0x50 cmp r4, #0x1e blt _022365A6 mov r0, #0x96 lsl r0, r0, #4 add r7, r7, r0 ldr r0, [sp, #4] add r0, r0, #1 str r0, [sp, #4] cmp r0, #0xe blt _022365A2 cmp r6, #6 bge _022365E2 add sp, #0xc mov r0, #5 pop {r4, r5, r6, r7, pc} _022365E2: ldr r0, [sp, #8] bl FUN_0202C000 cmp r0, #0 beq _022365F2 add sp, #0xc mov r0, #6 pop {r4, r5, r6, r7, pc} _022365F2: mov r0, #0 add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 _022365F8: .word 0x0002A300 _022365FC: .word 0x00015180 _02236600: .word 0x0000E880 thumb_func_end MOD83_02236548 thumb_func_start MOD83_02236604 MOD83_02236604: ; 0x02236604 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 ldr r1, [r5, #4] cmp r1, #0 beq _02236640 bl MOD83_0223600C mov r0, #1 bl FUN_02002BB8 ldr r0, _02236660 ; =0x0223B2D8 lsl r1, r4, #2 ldr r0, [r0, r1] mov r1, #0x46 lsl r1, r1, #4 str r0, [r5, r1] add r0, r1, #0 sub r1, #0x34 mov r2, #1 add r0, #0x10 str r2, [r5, r0] add r0, r5, #0 add r1, r5, r1 mov r2, #0x18 bl MOD83_02234F2C mov r0, #0 str r0, [r5, #4] b _0223665A _02236640: ldr r0, _02236664 ; =0x00000474 ldr r0, [r5, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0201BD70 cmp r0, #0 bne _0223665A mov r0, #0 bl FUN_02002BB8 mov r0, #1 pop {r3, r4, r5, pc} _0223665A: mov r0, #0 pop {r3, r4, r5, pc} nop _02236660: .word 0x0223B2D8 _02236664: .word 0x00000474 thumb_func_end MOD83_02236604 thumb_func_start MOD83_02236668 MOD83_02236668: ; 0x02236668 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 ldr r1, [r5, #4] cmp r1, #0 beq _022366A4 bl MOD83_0223600C mov r0, #1 bl FUN_02002BB8 ldr r0, _022366C8 ; =0x0223B2D8 lsl r1, r4, #2 ldr r0, [r0, r1] mov r1, #0x46 lsl r1, r1, #4 str r0, [r5, r1] add r0, r1, #0 sub r1, #0x34 mov r2, #1 add r0, #0x10 str r2, [r5, r0] add r0, r5, #0 add r1, r5, r1 mov r2, #0x18 bl MOD83_02234F2C mov r0, #0 str r0, [r5, #4] b _022366C4 _022366A4: ldr r0, _022366CC ; =0x00000474 ldr r0, [r5, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0201BD70 cmp r0, #0 bne _022366C4 add r0, r5, #0 bl MOD83_02236450 mov r0, #0 bl FUN_02002BB8 mov r0, #1 pop {r3, r4, r5, pc} _022366C4: mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 _022366C8: .word 0x0223B2D8 _022366CC: .word 0x00000474 thumb_func_end MOD83_02236668 thumb_func_start MOD83_022366D0 MOD83_022366D0: ; 0x022366D0 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 mov r1, #0 ldr r2, [r5, #8] mvn r1, r1 cmp r2, r1 beq _02236712 bl MOD83_0223600C mov r0, #1 bl FUN_02002BB8 mov r1, #0x46 ldr r0, [r5, #8] lsl r1, r1, #4 str r0, [r5, r1] add r0, r1, #0 add r0, #0x10 sub r1, #0x34 str r4, [r5, r0] add r0, r5, #0 add r1, r5, r1 mov r2, #0x18 bl MOD83_02234F2C mov r0, #0 mvn r0, r0 str r0, [r5, #8] ldr r0, _02236754 ; =0x000005DC bl FUN_020054C8 b _02236750 _02236712: cmp r4, #0 beq _02236730 ldr r0, _02236758 ; =0x00000474 ldr r0, [r5, r0] lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_0201BD70 cmp r0, #0 bne _02236750 mov r0, #0 bl FUN_02002BB8 mov r0, #1 pop {r3, r4, r5, pc} _02236730: ldr r0, _0223675C ; =0x021C48F8 ldrh r0, [r0, #0x20] cmp r0, #0 bne _02236740 ldr r0, _02236760 ; =0x021C48B8 ldr r0, [r0, #0x48] cmp r0, #0 beq _02236750 _02236740: mov r0, #0 bl FUN_02002BB8 ldr r0, _02236754 ; =0x000005DC bl FUN_020054C8 mov r0, #1 pop {r3, r4, r5, pc} _02236750: mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 _02236754: .word 0x000005DC _02236758: .word 0x00000474 _0223675C: .word 0x021C48F8 _02236760: .word 0x021C48B8 thumb_func_end MOD83_022366D0 thumb_func_start MOD83_02236764 MOD83_02236764: ; 0x02236764 push {r3, r4, r5, lr} mov r2, #0xa add r5, r0, #0 mov r0, #3 mov r1, #0x4e lsl r2, r2, #0xe bl FUN_0201681C ldr r1, _022367F0 ; =0x00012608 add r0, r5, #0 mov r2, #0x4e bl FUN_02006268 ldr r2, _022367F0 ; =0x00012608 mov r1, #0 add r4, r0, #0 bl Call_FillMemWithValue mov r0, #0x4e bl FUN_02016B94 str r0, [r4, #0x20] mov r0, #0x4e bl FUN_02014590 ldr r1, _022367F4 ; =0x0000E88C str r0, [r4, r1] mov r0, #0 add r1, r0, #0 bl FUN_0200E3A0 mov r0, #1 mov r1, #0 bl FUN_0200E3A0 add r0, r5, #0 bl FUN_0200628C ldr r0, [r0, #8] str r0, [r4, #0x10] bl FUN_020238F4 str r0, [r4, #0x14] ldr r0, [r4, #0x10] bl LoadPlayerDataAddress str r0, [r4, #0x18] bl FUN_02025084 str r0, [r4, #0x1c] ldr r1, _022367F8 ; =0x00000496 mov r0, #9 mov r2, #1 bl FUN_0200433C bl OS_IsTickAvailable cmp r0, #0 bne _022367DE bl OS_InitTick _022367DE: bl MOD83_02239490 ldr r0, _022367FC ; =0x0000E89C add r1, r4, r0 ldr r0, _02236800 ; =0x0223BB14 str r1, [r0] mov r0, #1 pop {r3, r4, r5, pc} nop _022367F0: .word 0x00012608 _022367F4: .word 0x0000E88C _022367F8: .word 0x00000496 _022367FC: .word 0x0000E89C _02236800: .word 0x0223BB14 thumb_func_end MOD83_02236764 thumb_func_start MOD83_02236804 MOD83_02236804: ; 0x02236804 push {r4, r5, r6, lr} add r5, r1, #0 bl FUN_02006278 add r4, r0, #0 bl CTRDG_IsExisting bl CTRDG_IsPulledOut cmp r0, #1 beq _02236822 ldr r0, _02236B3C ; =0x02106FA4 ldr r0, [r0] cmp r0, #0 beq _02236828 _02236822: mov r0, #0x4e bl FUN_02089F24 _02236828: ldr r0, [r4, #0xc] add r0, r0, #1 str r0, [r4, #0xc] ldr r0, [r5] cmp r0, #0x18 bhi _02236924 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02236840: ; jump table .short _02236872 - _02236840 - 2 ; case 0 .short _022368BA - _02236840 - 2 ; case 1 .short _02236900 - _02236840 - 2 ; case 2 .short _02236914 - _02236840 - 2 ; case 3 .short _0223694E - _02236840 - 2 ; case 4 .short _02236966 - _02236840 - 2 ; case 5 .short _022369BC - _02236840 - 2 ; case 6 .short _022369CE - _02236840 - 2 ; case 7 .short _022369EC - _02236840 - 2 ; case 8 .short _022369FE - _02236840 - 2 ; case 9 .short _02236A5C - _02236840 - 2 ; case 10 .short _02236A74 - _02236840 - 2 ; case 11 .short _02236A88 - _02236840 - 2 ; case 12 .short _02236AC8 - _02236840 - 2 ; case 13 .short _02236BF0 - _02236840 - 2 ; case 14 .short _02236C0A - _02236840 - 2 ; case 15 .short _02236C26 - _02236840 - 2 ; case 16 .short _02236C40 - _02236840 - 2 ; case 17 .short _02236C76 - _02236840 - 2 ; case 18 .short _02236C9C - _02236840 - 2 ; case 19 .short _02236D06 - _02236840 - 2 ; case 20 .short _02236D12 - _02236840 - 2 ; case 21 .short _02236D54 - _02236840 - 2 ; case 22 .short _02236D78 - _02236840 - 2 ; case 23 .short _02236D86 - _02236840 - 2 ; case 24 _02236872: bl MOD83_02236E90 mov r0, #0x4b lsl r0, r0, #4 add r0, r4, r0 bl MOD83_02236E18 ldr r1, _02236B40 ; =0x000004A8 str r0, [r4, r1] ldr r0, [r4, r1] cmp r0, #0 bne _022368AE bl MOD83_022371C4 ldr r1, _02236B44 ; =0x000004AC str r0, [r4, r1] ldr r0, [r4, r1] cmp r0, #0 bne _022368AA bl MOD83_0223742C ldr r1, _02236B48 ; =0x0000E880 str r0, [r4, r1] ldr r0, [r4, r1] ldrb r2, [r0] add r0, r1, #4 str r2, [r4, r0] b _022368AE _022368AA: mov r0, #1 str r0, [r4, #4] _022368AE: add r0, r4, #0 bl MOD83_02234CA0 mov r0, #1 str r0, [r5] b _02236D90 _022368BA: add r0, r4, #0 bl MOD83_02235F3C bl MOD83_022350BC add r0, r4, #0 bl MOD83_022350EC add r0, r4, #0 bl MOD83_022351F8 add r0, r4, #0 bl MOD83_022357CC ldr r0, _02236B4C ; =MOD83_0223650C add r1, r4, #0 bl FUN_02015F10 mov r0, #0x10 mov r1, #0 bl FUN_0201E6E4 ldr r0, [r4, #4] cmp r0, #1 bne _022368FA add r0, r4, #0 mov r1, #1 mov r2, #0xb add r3, r5, #0 bl MOD83_02235E04 b _02236D90 _022368FA: mov r0, #2 str r0, [r5] b _02236D90 _02236900: add r0, r4, #0 bl MOD83_02236484 add r0, r4, #0 mov r1, #1 mov r2, #3 add r3, r5, #0 bl MOD83_02235E04 b _02236D90 _02236914: ldr r0, _02236B50 ; =0x0000E88C ldr r0, [r4, r0] bl FUN_0201466C cmp r0, #1 beq _02236926 cmp r0, #2 beq _02236938 _02236924: b _02236D90 _02236926: ldr r0, _02236B50 ; =0x0000E88C ldr r0, [r4, r0] bl FUN_020146C4 mov r0, #0x22 str r0, [r4, #8] mov r0, #4 str r0, [r5] b _02236D90 _02236938: ldr r0, _02236B50 ; =0x0000E88C ldr r0, [r4, r0] bl FUN_020146C4 add r0, r4, #0 mov r1, #0 mov r2, #0x18 add r3, r5, #0 bl MOD83_02235E34 b _02236D90 _0223694E: add r0, r4, #0 mov r1, #1 bl MOD83_022366D0 cmp r0, #0 beq _02236976 add r0, r4, #0 bl MOD83_02236450 mov r0, #5 str r0, [r5] b _02236D90 _02236966: ldr r0, _02236B50 ; =0x0000E88C ldr r0, [r4, r0] bl FUN_0201466C cmp r0, #1 beq _02236978 cmp r0, #2 beq _022369A6 _02236976: b _02236D90 _02236978: ldr r0, _02236B50 ; =0x0000E88C ldr r0, [r4, r0] bl FUN_020146C4 add r0, r4, #0 bl MOD83_02236548 str r0, [r4, #4] cmp r0, #0 beq _0223699E sub r0, r0, #3 cmp r0, #1 bhi _02236998 mov r0, #8 str r0, [r5] b _02236D90 _02236998: mov r0, #0xb str r0, [r5] b _02236D90 _0223699E: mov r0, #6 str r0, [r4, #8] str r0, [r5] b _02236D90 _022369A6: ldr r0, _02236B50 ; =0x0000E88C ldr r0, [r4, r0] bl FUN_020146C4 add r0, r4, #0 mov r1, #0 mov r2, #0x18 add r3, r5, #0 bl MOD83_02235E34 b _02236D90 _022369BC: add r0, r4, #0 mov r1, #1 bl MOD83_022366D0 cmp r0, #0 beq _02236A0E mov r0, #7 str r0, [r5] b _02236D90 _022369CE: ldr r0, _02236B54 ; =0x021C48F8 ldrh r0, [r0, #0x20] cmp r0, #0 bne _022369DE ldr r0, _02236B58 ; =0x021C48B8 ldr r0, [r0, #0x48] cmp r0, #0 beq _02236A0E _022369DE: add r0, r4, #0 mov r1, #0 mov r2, #0xc add r3, r5, #0 bl MOD83_02235E04 b _02236D90 _022369EC: ldr r1, [r4, #4] add r0, r4, #0 bl MOD83_02236668 cmp r0, #0 beq _02236A0E mov r0, #9 str r0, [r5] b _02236D90 _022369FE: ldr r0, _02236B50 ; =0x0000E88C ldr r0, [r4, r0] bl FUN_0201466C cmp r0, #1 beq _02236A10 cmp r0, #2 beq _02236A46 _02236A0E: b _02236D90 _02236A10: ldr r0, _02236B50 ; =0x0000E88C ldr r0, [r4, r0] bl FUN_020146C4 mov r1, #0x47 lsl r1, r1, #4 mov r2, #0 add r0, r1, #0 str r2, [r4, r1] sub r1, #0x44 mov r3, #0x28 sub r0, #0x10 str r3, [r4, r0] add r0, r4, #0 add r1, r4, r1 bl MOD83_02234F2C ldr r1, _02236B5C ; =0x00000498 add r0, r4, r1 sub r1, #0xc6 bl FUN_0200D858 ldr r1, _02236B60 ; =0x0000E898 str r0, [r4, r1] mov r0, #0xa str r0, [r5] b _02236D90 _02236A46: ldr r0, _02236B50 ; =0x0000E88C ldr r0, [r4, r0] bl FUN_020146C4 add r0, r4, #0 mov r1, #0 mov r2, #0x18 add r3, r5, #0 bl MOD83_02235E34 b _02236D90 _02236A5C: add r0, r4, #0 bl MOD83_02234E40 ldr r0, _02236B60 ; =0x0000E898 ldr r0, [r4, r0] bl FUN_0200DBFC mov r0, #7 str r0, [r4, #4] mov r0, #0xb str r0, [r5] b _02236D90 _02236A74: ldr r1, [r4, #4] add r0, r4, #0 bl MOD83_02236604 cmp r0, #0 bne _02236A82 b _02236D90 _02236A82: mov r0, #0x16 str r0, [r5] b _02236D90 _02236A88: ldr r0, _02236B5C ; =0x00000498 add r0, r4, r0 bl MOD83_02236298 add r0, r4, #0 bl MOD83_02235FBC add r0, r4, #0 bl MOD83_02235648 add r0, r4, #0 bl MOD83_022354F0 ldr r0, _02236B4C ; =MOD83_0223650C add r1, r4, #0 bl FUN_02015F10 mov r0, #0x10 mov r1, #1 bl FUN_0201E6E4 add r0, r4, #0 mov r1, #0 bl MOD83_02235C4C add r0, r4, #0 mov r1, #1 mov r2, #0xd add r3, r5, #0 bl MOD83_02235E04 b _02236D90 _02236AC8: mov r0, #0x31 lsl r0, r0, #4 add r0, r4, r0 bl FUN_02020988 add r6, r0, #0 mov r0, #0 mvn r0, r0 cmp r6, r0 beq _02236B9C cmp r6, #0x1e bge _02236B92 add r0, r4, #0 add r1, r6, #0 bl MOD83_02235994 cmp r0, #1 bne _02236B20 ldr r2, _02236B48 ; =0x0000E880 add r0, r4, #0 ldr r1, [r4, r2] add r2, r2, #4 ldr r3, [r4, r2] mov r2, #0x96 lsl r2, r2, #4 add r1, r1, #4 mul r2, r3 add r2, r1, r2 mov r1, #0x50 mul r1, r6 add r1, r2, r1 bl MOD83_02235C4C mov r0, #0x41 lsl r0, r0, #4 ldr r0, [r4, r0] cmp r0, #6 bne _02236B9C ldr r0, _02236B64 ; =0x0000E888 mov r1, #0x2d str r1, [r4, r0] mov r0, #0xf str r0, [r5] b _02236D90 _02236B20: cmp r0, #2 bne _02236B2E add r0, r4, #0 mov r1, #0 bl MOD83_02235C4C b _02236D90 _02236B2E: cmp r0, #4 bne _02236B68 mov r0, #8 str r0, [r4, #8] mov r0, #0xe str r0, [r5] b _02236D90 .align 2, 0 _02236B3C: .word 0x02106FA4 _02236B40: .word 0x000004A8 _02236B44: .word 0x000004AC _02236B48: .word 0x0000E880 _02236B4C: .word MOD83_0223650C _02236B50: .word 0x0000E88C _02236B54: .word 0x021C48F8 _02236B58: .word 0x021C48B8 _02236B5C: .word 0x00000498 _02236B60: .word 0x0000E898 _02236B64: .word 0x0000E888 _02236B68: cmp r0, #5 bne _02236B76 mov r0, #9 str r0, [r4, #8] mov r0, #0xe str r0, [r5] b _02236D90 _02236B76: cmp r0, #6 bne _02236B84 mov r0, #0x26 str r0, [r4, #8] mov r0, #0xe str r0, [r5] b _02236D90 _02236B84: cmp r0, #7 bne _02236B9C mov r0, #0x26 str r0, [r4, #8] mov r0, #0xe str r0, [r5] b _02236D90 _02236B92: beq _02236BDC cmp r6, #0x1f beq _02236B9E cmp r6, #0x20 beq _02236BBC _02236B9C: b _02236D90 _02236B9E: ldr r0, _02236DA0 ; =0x0000E884 ldr r1, [r4, r0] cmp r1, #0 bne _02236BAA mov r1, #0xd b _02236BAC _02236BAA: sub r1, r1, #1 _02236BAC: str r1, [r4, r0] add r0, r4, #0 bl MOD83_022354F0 ldr r0, _02236DA4 ; =0x000005DC bl FUN_020054C8 b _02236D90 _02236BBC: ldr r0, _02236DA0 ; =0x0000E884 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] ldr r1, [r4, r0] cmp r1, #0xe bne _02236BCE mov r1, #0 str r1, [r4, r0] _02236BCE: add r0, r4, #0 bl MOD83_022354F0 ldr r0, _02236DA4 ; =0x000005DC bl FUN_020054C8 b _02236D90 _02236BDC: add r0, r4, #0 mov r1, #0 mov r2, #0x18 add r3, r5, #0 bl MOD83_02235E34 ldr r0, _02236DA4 ; =0x000005DC bl FUN_020054C8 b _02236D90 _02236BF0: add r0, r4, #0 mov r1, #0 bl MOD83_022366D0 cmp r0, #0 beq _02236C50 ldr r0, _02236DA8 ; =0x00000498 add r0, r4, r0 bl MOD83_02236298 mov r0, #0xd str r0, [r5] b _02236D90 _02236C0A: ldr r0, _02236DAC ; =0x0000E888 ldr r1, [r4, r0] sub r1, r1, #1 str r1, [r4, r0] ldr r0, [r4, r0] cmp r0, #0 bne _02236C50 add r0, r4, #0 mov r1, #0 mov r2, #0x10 add r3, r5, #0 bl MOD83_02235E04 b _02236D90 _02236C26: add r0, r4, #0 bl MOD83_022360C8 add r0, r4, #0 mov r1, #1 mov r2, #0x11 add r3, r5, #0 bl MOD83_02235E04 add r0, r4, #0 bl MOD83_02236450 b _02236D90 _02236C40: ldr r0, _02236DB0 ; =0x0000E88C ldr r0, [r4, r0] bl FUN_0201466C cmp r0, #1 beq _02236C52 cmp r0, #2 beq _02236C60 _02236C50: b _02236D90 _02236C52: ldr r0, _02236DB0 ; =0x0000E88C ldr r0, [r4, r0] bl FUN_020146C4 mov r0, #0x12 str r0, [r5] b _02236D90 _02236C60: ldr r0, _02236DB0 ; =0x0000E88C ldr r0, [r4, r0] bl FUN_020146C4 add r0, r4, #0 mov r1, #0 mov r2, #0x14 add r3, r5, #0 bl MOD83_02235E04 b _02236D90 _02236C76: mov r1, #0x46 mov r0, #0xb lsl r1, r1, #4 str r0, [r4, r1] sub r1, #0x34 add r0, r4, #0 add r1, r4, r1 mov r2, #0 bl MOD83_02234F2C add r0, r4, #0 bl MOD83_02236450 ldr r0, _02236DA4 ; =0x000005DC bl FUN_020054C8 mov r0, #0x13 str r0, [r5] b _02236D90 _02236C9C: ldr r0, _02236DB0 ; =0x0000E88C ldr r0, [r4, r0] bl FUN_0201466C cmp r0, #1 beq _02236CAE cmp r0, #2 beq _02236CF0 b _02236D90 _02236CAE: ldr r0, [r4] mov r2, #0 lsl r1, r0, #2 ldr r0, _02236DB4 ; =0x0223B288 ldr r0, [r0, r1] mov r1, #0x46 lsl r1, r1, #4 str r0, [r4, r1] sub r1, #0x34 add r0, r4, #0 add r1, r4, r1 bl MOD83_02234F2C ldr r0, _02236DB0 ; =0x0000E88C ldr r0, [r4, r0] bl FUN_020146C4 ldr r0, _02236DB8 ; =0x0000E890 mov r1, #0 str r1, [r4, r0] ldr r1, _02236DA8 ; =0x00000498 add r0, r4, r1 sub r1, #0xc6 bl FUN_0200D858 ldr r1, _02236DBC ; =0x0000E898 str r0, [r4, r1] mov r0, #0x15 str r0, [r5] mov r0, #4 bl FUN_020166A8 b _02236D90 _02236CF0: ldr r0, _02236DB0 ; =0x0000E88C ldr r0, [r4, r0] bl FUN_020146C4 add r0, r4, #0 mov r1, #0 mov r2, #0x14 add r3, r5, #0 bl MOD83_02235E04 b _02236D90 _02236D06: add r0, r4, #0 bl MOD83_022362B8 mov r0, #0xc str r0, [r5] b _02236D90 _02236D12: add r0, r4, #0 bl MOD83_02234CE8 add r6, r0, #0 cmp r6, #0xa beq _02236D90 ldr r0, _02236DBC ; =0x0000E898 ldr r0, [r4, r0] bl FUN_0200DBFC ldr r0, _02236DC0 ; =0x0000061B bl FUN_020054C8 cmp r6, #0xb bne _02236D34 mov r1, #0x1d b _02236D36 _02236D34: mov r1, #0x24 _02236D36: mov r0, #0x46 lsl r0, r0, #4 str r1, [r4, r0] ldr r1, _02236DC4 ; =0x0000042C add r0, r4, #0 add r1, r4, r1 mov r2, #0 bl MOD83_02234F2C mov r0, #0x16 str r0, [r5] mov r0, #4 bl FUN_020166B8 b _02236D90 _02236D54: ldr r0, _02236DC8 ; =0x021C48F8 ldrh r0, [r0, #0x20] cmp r0, #0 bne _02236D64 ldr r0, _02236DCC ; =0x021C48B8 ldr r0, [r0, #0x48] cmp r0, #0 beq _02236D90 _02236D64: add r0, r4, #0 mov r1, #0 mov r2, #0x18 add r3, r5, #0 bl MOD83_02235E34 ldr r0, _02236DA4 ; =0x000005DC bl FUN_020054C8 b _02236D90 _02236D78: bl FUN_0200E308 cmp r0, #0 beq _02236D90 ldr r0, [r4, #0x24] str r0, [r5] b _02236D90 _02236D86: add r0, r4, #0 bl MOD83_02236330 mov r0, #1 pop {r4, r5, r6, pc} _02236D90: ldr r0, [r4, #0x28] cmp r0, #0 beq _02236D9A bl FUN_0201FDEC _02236D9A: mov r0, #0 pop {r4, r5, r6, pc} nop _02236DA0: .word 0x0000E884 _02236DA4: .word 0x000005DC _02236DA8: .word 0x00000498 _02236DAC: .word 0x0000E888 _02236DB0: .word 0x0000E88C _02236DB4: .word 0x0223B288 _02236DB8: .word 0x0000E890 _02236DBC: .word 0x0000E898 _02236DC0: .word 0x0000061B _02236DC4: .word 0x0000042C _02236DC8: .word 0x021C48F8 _02236DCC: .word 0x021C48B8 thumb_func_end MOD83_02236804 thumb_func_start MOD83_02236DD0 MOD83_02236DD0: ; 0x02236DD0 push {r4, lr} add r4, r0, #0 bl FUN_02006278 ldr r0, [r0, #0x20] bl FUN_02016A18 ldr r0, _02236DFC ; =SDK_OVERLAY_MODULE_63_ID ldr r1, _02236E00 ; =0x021DBAB8 bl FUN_02000E7C add r0, r4, #0 bl FUN_0200627C mov r0, #0x4e bl FUN_020168D0 mov r0, #0 bl MOD83_02239450 mov r0, #1 pop {r4, pc} .align 2, 0 _02236DFC: .word SDK_OVERLAY_MODULE_63_ID _02236E00: .word 0x021DBAB8 thumb_func_end MOD83_02236DD0 thumb_func_start MOD83_02236E04 MOD83_02236E04: ; 0x02236E04 push {r3, lr} mov r0, #1 bl CTRDG_IdentifyAgbBackup cmp r0, #0 bne _02236E14 mov r0, #1 pop {r3, pc} _02236E14: mov r0, #0 pop {r3, pc} thumb_func_end MOD83_02236E04 thumb_func_start MOD83_02236E18 MOD83_02236E18: ; 0x02236E18 push {r3, lr} ldr r1, _02236E74 ; =0x0223BB18 str r0, [r1, #8] ldr r0, _02236E78 ; =0x0223B41C ldr r0, [r0] cmp r0, #0 beq _02236E2A mov r0, #0xc pop {r3, pc} _02236E2A: ldr r0, _02236E7C ; =0x0223A5C4 mov r1, #0x1e bl MOD83_02236EB4 cmp r0, #0 bne _02236E72 ldr r0, _02236E78 ; =0x0223B41C ldr r0, [r0] ldrb r0, [r0, #4] cmp r0, #0 bne _02236E5A mov r0, #0x89 ldr r1, _02236E80 ; =0x0223BB98 lsl r0, r0, #4 str r0, [r1, #0x20] mov r0, #0xeb lsl r0, r0, #6 str r0, [r1, #0x24] ldr r2, _02236E84 ; =0x00001220 ldr r0, _02236E74 ; =0x0223BB18 str r2, [r0, #0x68] mov r0, #9 str r0, [r1, #0x30] b _02236E64 _02236E5A: ldr r0, _02236E88 ; =0x08000100 ldr r1, _02236E8C ; =0x0223BB30 mov r2, #0xfc bl CTRDG_CpuCopy32 _02236E64: bl MOD83_02236E04 cmp r0, #0 bne _02236E70 mov r0, #3 pop {r3, pc} _02236E70: mov r0, #0 _02236E72: pop {r3, pc} .align 2, 0 _02236E74: .word 0x0223BB18 _02236E78: .word 0x0223B41C _02236E7C: .word 0x0223A5C4 _02236E80: .word 0x0223BB98 _02236E84: .word 0x00001220 _02236E88: .word 0x08000100 _02236E8C: .word 0x0223BB30 thumb_func_end MOD83_02236E18 thumb_func_start MOD83_02236E90 MOD83_02236E90: ; 0x02236E90 ldr r0, _02236E98 ; =0x0223B41C mov r1, #0 str r1, [r0] bx lr .align 2, 0 _02236E98: .word 0x0223B41C thumb_func_end MOD83_02236E90 thumb_func_start MOD83_02236E9C MOD83_02236E9C: ; 0x02236E9C ldr r0, _02236EA4 ; =0x0223B41C ldr r0, [r0] ldrb r0, [r0, #5] bx lr .align 2, 0 _02236EA4: .word 0x0223B41C thumb_func_end MOD83_02236E9C thumb_func_start MOD83_02236EA8 MOD83_02236EA8: ; 0x02236EA8 ldr r0, _02236EB0 ; =0x0223B41C ldr r0, [r0] ldrh r0, [r0, #6] bx lr .align 2, 0 _02236EB0: .word 0x0223B41C thumb_func_end MOD83_02236EA8 thumb_func_start MOD83_02236EB4 MOD83_02236EB4: ; 0x02236EB4 push {r3, r4, r5, lr} sub sp, #0xc0 add r5, r0, #0 add r4, r1, #0 ldr r0, _02236F60 ; =0x0223B41C mov r1, #0 str r1, [r0] bl CTRDG_IsAgbCartridge cmp r0, #0 bne _02236ED0 add sp, #0xc0 mov r0, #1 pop {r3, r4, r5, pc} _02236ED0: bl CTRDG_GetAgbGameCode mov r2, #0 cmp r4, #0 ble _02236EF4 add r3, r5, #0 _02236EDC: ldr r1, [r3] cmp r0, r1 bne _02236EEC lsl r0, r2, #3 add r1, r5, r0 ldr r0, _02236F60 ; =0x0223B41C str r1, [r0] b _02236EF4 _02236EEC: add r2, r2, #1 add r3, #8 cmp r2, r4 blt _02236EDC _02236EF4: ldr r0, _02236F60 ; =0x0223B41C ldr r0, [r0] cmp r0, #0 bne _02236F02 add sp, #0xc0 mov r0, #2 pop {r3, r4, r5, pc} _02236F02: mov r0, #1 bl CTRDG_Enable add r4, sp, #0 mov r0, #2 lsl r0, r0, #0x1a add r1, r4, #0 mov r2, #0xc0 bl CTRDG_CpuCopy32 ldr r3, _02236F64 ; =0x0223B424 mov r2, #0 _02236F1A: add r0, r4, r2 ldrb r1, [r3] ldrb r0, [r0, #4] cmp r1, r0 beq _02236F2A add sp, #0xc0 mov r0, #4 pop {r3, r4, r5, pc} _02236F2A: add r2, r2, #1 add r3, r3, #1 cmp r2, #0x9c blo _02236F1A mov r2, #0 mov r1, #0xa0 _02236F36: ldrb r0, [r4, r1] add r1, r1, #1 add r0, r2, r0 lsl r0, r0, #0x18 lsr r2, r0, #0x18 cmp r1, #0xbc ble _02236F36 add r2, #0x19 neg r0, r2 lsl r0, r0, #0x18 add r4, #0xbd lsr r1, r0, #0x18 ldrb r0, [r4] cmp r0, r1 beq _02236F5A add sp, #0xc0 mov r0, #4 pop {r3, r4, r5, pc} _02236F5A: mov r0, #0 add sp, #0xc0 pop {r3, r4, r5, pc} .align 2, 0 _02236F60: .word 0x0223B41C _02236F64: .word 0x0223B424 thumb_func_end MOD83_02236EB4 thumb_func_start MOD83_02236F68 MOD83_02236F68: ; 0x02236F68 push {r3, r4} mov r2, #0 lsr r4, r1, #2 add r3, r2, #0 cmp r4, #0 ble _02236F84 _02236F74: ldr r1, [r0] add r0, r0, #4 add r2, r2, r1 add r1, r3, #1 lsl r1, r1, #0x10 lsr r3, r1, #0x10 cmp r3, r4 blt _02236F74 _02236F84: lsr r0, r2, #0x10 lsl r0, r0, #0x10 lsr r1, r0, #0x10 lsl r0, r2, #0x10 lsr r0, r0, #0x10 add r0, r1, r0 lsl r0, r0, #0x10 lsr r0, r0, #0x10 pop {r3, r4} bx lr thumb_func_end MOD83_02236F68 thumb_func_start MOD83_02236F98 MOD83_02236F98: ; 0x02236F98 push {r3, lr} lsl r0, r0, #0x10 mov r3, #1 add r2, r1, #0 lsr r0, r0, #0x10 mov r1, #0 lsl r3, r3, #0xc bl CTRDG_ReadAgbFlash pop {r3, pc} thumb_func_end MOD83_02236F98 thumb_func_start MOD83_02236FAC MOD83_02236FAC: ; 0x02236FAC cmp r0, #0 bne _02236FBA ldr r0, _02236FE0 ; =0x0223BB98 ldr r0, [r0, #0x20] lsl r0, r0, #0x10 lsr r0, r0, #0x10 bx lr _02236FBA: cmp r0, #4 bne _02236FCE ldr r0, _02236FE0 ; =0x0223BB98 ldr r1, [r0, #0x24] mov r0, #0xba lsl r0, r0, #6 sub r0, r1, r0 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bx lr _02236FCE: cmp r0, #0xd bne _02236FD8 mov r0, #0x7d lsl r0, r0, #4 bx lr _02236FD8: mov r0, #0x3e lsl r0, r0, #6 bx lr nop _02236FE0: .word 0x0223BB98 thumb_func_end MOD83_02236FAC thumb_func_start MOD83_02236FE4 MOD83_02236FE4: ; 0x02236FE4 cmp r0, #0 bne _02236FF4 ldr r0, _02237034 ; =0x0223BB18 ldr r1, [r0, #8] mov r0, #1 lsl r0, r0, #0xc add r0, r1, r0 bx lr _02236FF4: cmp r0, #1 blt _02237012 cmp r0, #4 bgt _02237012 ldr r1, _02237034 ; =0x0223BB18 ldr r2, [r1, #8] mov r1, #2 lsl r1, r1, #0xc add r2, r2, r1 sub r1, r0, #1 mov r0, #0x3e lsl r0, r0, #6 mul r0, r1 add r0, r2, r0 bx lr _02237012: cmp r0, #5 blt _02237030 cmp r0, #0xe bge _02237030 ldr r1, _02237034 ; =0x0223BB18 ldr r2, [r1, #8] mov r1, #6 lsl r1, r1, #0xc add r2, r2, r1 sub r1, r0, #5 mov r0, #0x3e lsl r0, r0, #6 mul r0, r1 add r0, r2, r0 bx lr _02237030: mov r0, #0 bx lr .align 2, 0 _02237034: .word 0x0223BB18 thumb_func_end MOD83_02236FE4 thumb_func_start MOD83_02237038 MOD83_02237038: ; 0x02237038 push {r3, r4, r5, r6, r7, lr} sub sp, #8 mov r6, #0 add r5, r1, #0 str r6, [sp, #4] add r1, r2, #0 str r6, [r1] ldr r1, _022370CC ; =0x0223BB18 add r7, r0, #0 str r6, [r1, #4] mov r1, #0xe str r2, [sp] add r4, r6, #0 mul r7, r1 _02237054: add r0, r4, #0 mov r1, #0xe bl _s32_div_f add r0, r1, r7 add r1, r5, #0 bl MOD83_02236F98 mov r1, #1 add r0, r5, #0 lsl r1, r1, #0xc bl DC_FlushRange ldr r0, _022370D0 ; =0x00000FF8 ldr r1, [r5, r0] ldr r0, _022370D4 ; =0x08012025 cmp r1, r0 bne _022370A6 mov r0, #1 str r0, [sp, #4] ldr r0, _022370D8 ; =0x00000FF4 ldrh r0, [r5, r0] bl MOD83_02236FAC add r1, r0, #0 add r0, r5, #0 bl MOD83_02236F68 ldr r1, _022370DC ; =0x00000FF6 ldrh r1, [r5, r1] cmp r1, r0 bne _022370A6 ldr r0, _022370E0 ; =0x00000FFC ldr r1, [r5, r0] ldr r0, [sp] str r1, [r0] ldr r0, _022370D8 ; =0x00000FF4 ldrh r1, [r5, r0] mov r0, #1 lsl r0, r1 orr r6, r0 _022370A6: add r4, r4, #1 cmp r4, #0xe blt _02237054 ldr r0, [sp, #4] cmp r0, #0 beq _022370C4 ldr r0, _022370E4 ; =0x00003FFF cmp r6, r0 bne _022370BE add sp, #8 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _022370BE: add sp, #8 mov r0, #0xff pop {r3, r4, r5, r6, r7, pc} _022370C4: mov r0, #0 add sp, #8 pop {r3, r4, r5, r6, r7, pc} nop _022370CC: .word 0x0223BB18 _022370D0: .word 0x00000FF8 _022370D4: .word 0x08012025 _022370D8: .word 0x00000FF4 _022370DC: .word 0x00000FF6 _022370E0: .word 0x00000FFC _022370E4: .word 0x00003FFF thumb_func_end MOD83_02237038 thumb_func_start MOD83_022370E8 MOD83_022370E8: ; 0x022370E8 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r7, r0, #0 add r5, r1, #0 add r4, r2, #0 mov r0, #0 add r1, r7, #0 add r2, sp, #4 bl MOD83_02237038 add r6, r0, #0 mov r0, #1 add r1, r7, #0 add r2, sp, #0 bl MOD83_02237038 cmp r6, #1 bne _02237160 cmp r0, #1 bne _02237160 mov r1, #0 ldr r0, [sp, #4] mvn r1, r1 cmp r0, r1 bne _02237120 ldr r3, [sp] cmp r3, #0 beq _0223712E _02237120: cmp r0, #0 bne _02237146 mov r1, #0 ldr r3, [sp] mvn r1, r1 cmp r3, r1 bne _02237146 _0223712E: add r2, r0, #1 add r1, r3, #1 cmp r2, r1 bhs _0223713E str r3, [r4] mov r0, #1 str r0, [r5] b _0223715A _0223713E: str r0, [r4] mov r0, #0 str r0, [r5] b _0223715A _02237146: ldr r1, [sp] cmp r0, r1 bhs _02237154 str r1, [r4] mov r0, #1 str r0, [r5] b _0223715A _02237154: str r0, [r4] mov r0, #0 str r0, [r5] _0223715A: add sp, #8 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _02237160: cmp r6, #1 bne _02237184 cmp r0, #1 beq _02237184 ldr r1, [sp, #4] cmp r0, #0xff str r1, [r4] bne _0223717A mov r0, #0 str r0, [r5] add sp, #8 mov r0, #0xff pop {r3, r4, r5, r6, r7, pc} _0223717A: mov r0, #0 str r0, [r5] add sp, #8 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _02237184: cmp r0, #1 bne _022371A6 cmp r6, #1 beq _022371A6 ldr r0, [sp] cmp r6, #0xff str r0, [r4] bne _0223719E mov r0, #1 str r0, [r5] add sp, #8 mov r0, #0xff pop {r3, r4, r5, r6, r7, pc} _0223719E: mov r0, #1 add sp, #8 str r0, [r5] pop {r3, r4, r5, r6, r7, pc} _022371A6: cmp r6, #0 bne _022371B8 cmp r0, #0 bne _022371B8 mov r0, #0 str r0, [r4] add sp, #8 str r0, [r5] pop {r3, r4, r5, r6, r7, pc} _022371B8: mov r0, #0 str r0, [r4] str r0, [r5] mov r0, #2 add sp, #8 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD83_022370E8 thumb_func_start MOD83_022371C4 MOD83_022371C4: ; 0x022371C4 push {r3, r4, r5, r6, r7, lr} ldr r0, _02237278 ; =0x0223BB18 ldr r1, _0223727C ; =0x0223BB18 ldr r0, [r0, #8] ldr r2, _02237280 ; =0x0223BB28 bl MOD83_022370E8 cmp r0, #1 beq _022371EE cmp r0, #0 beq _022371E6 cmp r0, #2 beq _022371EA cmp r0, #0xff bne _022371EE mov r0, #5 pop {r3, r4, r5, r6, r7, pc} _022371E6: mov r0, #7 pop {r3, r4, r5, r6, r7, pc} _022371EA: mov r0, #6 pop {r3, r4, r5, r6, r7, pc} _022371EE: ldr r7, _02237278 ; =0x0223BB18 ldr r0, [r7] cmp r0, #1 bhi _02237272 mov r6, #0 ldr r5, [r7, #8] add r4, r6, #0 _022371FC: ldr r1, [r7] mov r0, #0xe mul r0, r1 add r0, r4, r0 add r1, r5, #0 bl MOD83_02236F98 ldr r0, _02237284 ; =0x00000FF8 ldr r1, [r5, r0] ldr r0, _02237288 ; =0x08012025 cmp r1, r0 bne _0223725E ldr r0, _0223728C ; =0x00000FF4 ldrh r0, [r5, r0] bl MOD83_02236FAC add r1, r0, #0 add r0, r5, #0 bl MOD83_02236F68 ldr r1, _02237290 ; =0x00000FF6 ldrh r1, [r5, r1] cmp r1, r0 bne _0223725E ldr r0, _02237294 ; =0x00000FFC mov r1, #1 ldr r0, [r5, r0] str r0, [r7, #0x10] ldr r0, _0223728C ; =0x00000FF4 ldrh r0, [r5, r0] lsl r1, r0 orr r6, r1 bl MOD83_02236FAC str r0, [sp] ldr r0, _0223728C ; =0x00000FF4 ldrh r0, [r5, r0] bl MOD83_02236FE4 add r1, r0, #0 ldr r2, [sp] add r0, r5, #0 bl MIi_CpuCopy32 ldr r0, _0223728C ; =0x00000FF4 ldrh r0, [r5, r0] cmp r0, #0 bne _0223725E str r4, [r7, #0xc] _0223725E: add r4, r4, #1 cmp r4, #0xe blt _022371FC ldr r0, _02237298 ; =0x00003FFF cmp r6, r0 bne _0223726E mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _0223726E: mov r0, #4 pop {r3, r4, r5, r6, r7, pc} _02237272: mov r0, #6 pop {r3, r4, r5, r6, r7, pc} nop _02237278: .word 0x0223BB18 _0223727C: .word 0x0223BB18 _02237280: .word 0x0223BB28 _02237284: .word 0x00000FF8 _02237288: .word 0x08012025 _0223728C: .word 0x00000FF4 _02237290: .word 0x00000FF6 _02237294: .word 0x00000FFC _02237298: .word 0x00003FFF thumb_func_end MOD83_022371C4 thumb_func_start MOD83_0223729C MOD83_0223729C: ; 0x0223729C push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, _02237318 ; =0x0223BB18 mov r2, #1 ldr r4, [r0, #8] str r2, [r0, #0x14] mov r0, #0 add r1, r4, #0 lsl r2, r2, #0xc bl MIi_CpuClear32 add r0, r5, #0 bl MOD83_02236FAC add r6, r0, #0 add r0, r5, #0 bl MOD83_02236FE4 add r1, r4, #0 add r2, r6, #0 bl MIi_CpuCopy32 ldr r0, _02237318 ; =0x0223BB18 ldr r1, [r0, #0x10] ldr r0, _0223731C ; =0x00000FFC str r1, [r4, r0] add r1, r0, #0 sub r1, #8 strh r5, [r4, r1] ldr r1, _02237320 ; =0x08012025 sub r0, r0, #4 str r1, [r4, r0] add r0, r5, #0 bl MOD83_02236FAC add r1, r0, #0 add r0, r4, #0 bl MOD83_02236F68 ldr r1, _02237324 ; =0x00000FF6 strh r0, [r4, r1] ldr r0, _02237318 ; =0x0223BB18 mov r1, #0xe ldr r0, [r0, #0xc] add r0, r5, r0 add r0, r0, #1 bl _s32_div_f ldr r0, _02237328 ; =0x0223B41C ldr r3, _0223732C ; =MOD83_02237330 ldr r2, [r0, #4] mov r0, #0xe mul r0, r2 add r0, r1, r0 lsl r0, r0, #0x18 lsr r0, r0, #0x18 add r1, r4, #0 mov r2, #4 bl CTRDG_WriteAndVerifyAgbFlashAsync pop {r4, r5, r6, pc} nop _02237318: .word 0x0223BB18 _0223731C: .word 0x00000FFC _02237320: .word 0x08012025 _02237324: .word 0x00000FF6 _02237328: .word 0x0223B41C _0223732C: .word MOD83_02237330 thumb_func_end MOD83_0223729C thumb_func_start MOD83_02237330 MOD83_02237330: ; 0x02237330 ldr r0, [r0, #8] cmp r0, #0 bne _0223735C ldr r1, _02237368 ; =0x0223BB18 ldr r0, [r1, #4] add r0, r0, #1 str r0, [r1, #4] cmp r0, #0xe blt _0223734A mov r0, #0 str r0, [r1, #4] str r0, [r1, #0x14] bx lr _0223734A: cmp r0, #0xd bne _02237356 mov r0, #2 str r0, [r1, #0x14] mov r0, #0 bx lr _02237356: mov r0, #3 str r0, [r1, #0x14] b _02237362 _0223735C: ldr r0, _02237368 ; =0x0223BB18 mov r1, #4 str r1, [r0, #0x14] _02237362: mov r0, #0 bx lr nop _02237368: .word 0x0223BB18 thumb_func_end MOD83_02237330 thumb_func_start MOD83_0223736C MOD83_0223736C: ; 0x0223736C push {r3, lr} ldr r1, _022373AC ; =0x0223BB18 ldr r0, [r1, #4] cmp r0, #0 bne _02237392 ldr r1, [r1] cmp r1, #1 bne _02237382 mov r2, #0 ldr r1, _022373B0 ; =0x0223B41C b _02237386 _02237382: ldr r1, _022373B0 ; =0x0223B41C mov r2, #1 _02237386: str r2, [r1, #4] ldr r1, _022373AC ; =0x0223BB18 ldr r2, [r1, #0x10] add r2, r2, #1 str r2, [r1, #0x10] b _02237396 _02237392: mov r0, #0 pop {r3, pc} _02237396: ldr r1, _022373B0 ; =0x0223B41C ldr r1, [r1, #4] cmp r1, #0 bge _022373A2 mov r0, #0 pop {r3, pc} _022373A2: bl MOD83_0223729C mov r0, #1 pop {r3, pc} nop _022373AC: .word 0x0223BB18 _022373B0: .word 0x0223B41C thumb_func_end MOD83_0223736C thumb_func_start MOD83_022373B4 MOD83_022373B4: ; 0x022373B4 push {r3, lr} ldr r1, _022373F0 ; =0x0223BB18 ldr r0, [r1, #0x14] cmp r0, #4 bhi _022373EC add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022373CA: ; jump table .short _022373EC - _022373CA - 2 ; case 0 .short _022373E4 - _022373CA - 2 ; case 1 .short _022373D4 - _022373CA - 2 ; case 2 .short _022373DE - _022373CA - 2 ; case 3 .short _022373E8 - _022373CA - 2 ; case 4 _022373D4: ldr r0, [r1, #4] bl MOD83_0223729C mov r0, #0 pop {r3, pc} _022373DE: ldr r0, [r1, #4] bl MOD83_0223729C _022373E4: mov r0, #0xa pop {r3, pc} _022373E8: mov r0, #8 pop {r3, pc} _022373EC: mov r0, #0 pop {r3, pc} .align 2, 0 _022373F0: .word 0x0223BB18 thumb_func_end MOD83_022373B4 thumb_func_start MOD83_022373F4 MOD83_022373F4: ; 0x022373F4 ldr r0, _02237428 ; =0x0223BB18 ldr r0, [r0, #0x14] cmp r0, #4 bhi _02237422 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237408: ; jump table .short _02237422 - _02237408 - 2 ; case 0 .short _0223741A - _02237408 - 2 ; case 1 .short _02237412 - _02237408 - 2 ; case 2 .short _02237416 - _02237408 - 2 ; case 3 .short _0223741E - _02237408 - 2 ; case 4 _02237412: mov r0, #0xb bx lr _02237416: mov r0, #0xa bx lr _0223741A: mov r0, #9 bx lr _0223741E: mov r0, #8 bx lr _02237422: mov r0, #0 bx lr nop _02237428: .word 0x0223BB18 thumb_func_end MOD83_022373F4 thumb_func_start MOD83_0223742C MOD83_0223742C: ; 0x0223742C ldr r0, _02237438 ; =0x0223BB18 ldr r1, [r0, #8] mov r0, #6 lsl r0, r0, #0xc add r0, r1, r0 bx lr .align 2, 0 _02237438: .word 0x0223BB18 thumb_func_end MOD83_0223742C thumb_func_start MOD83_0223743C MOD83_0223743C: ; 0x0223743C ldr r3, _02237444 ; =MOD83_02236FE4 mov r0, #0 bx r3 nop _02237444: .word MOD83_02236FE4 thumb_func_end MOD83_0223743C thumb_func_start MOD83_02237448 MOD83_02237448: ; 0x02237448 push {r3, lr} bl MOD83_0223743C ldrb r2, [r0, #0xb] ldrb r1, [r0, #0xa] lsl r3, r2, #8 ldrb r2, [r0, #0xd] ldrb r0, [r0, #0xc] lsl r2, r2, #0x18 lsl r0, r0, #0x10 orr r0, r2 orr r0, r3 orr r0, r1 pop {r3, pc} thumb_func_end MOD83_02237448 thumb_func_start MOD83_02237464 MOD83_02237464: ; 0x02237464 ldr r3, _02237468 ; =MOD83_0223743C bx r3 .align 2, 0 _02237468: .word MOD83_0223743C thumb_func_end MOD83_02237464 thumb_func_start MOD83_0223746C MOD83_0223746C: ; 0x0223746C push {r4, r5, r6, lr} add r4, r0, #0 add r0, r1, #0 mov r1, #0x18 add r5, r2, #0 mov r6, #0 bl _u32_div_f cmp r1, #0x17 bhi _022374C2 add r0, r1, r1 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0223748C: ; jump table .short _022374BC - _0223748C - 2 ; case 0 .short _022374EE - _0223748C - 2 ; case 1 .short _0223751E - _0223748C - 2 ; case 2 .short _0223754E - _0223748C - 2 ; case 3 .short _0223757E - _0223748C - 2 ; case 4 .short _022375AE - _0223748C - 2 ; case 5 .short _022375DE - _0223748C - 2 ; case 6 .short _02237610 - _0223748C - 2 ; case 7 .short _02237640 - _0223748C - 2 ; case 8 .short _02237670 - _0223748C - 2 ; case 9 .short _022376A0 - _0223748C - 2 ; case 10 .short _022376D0 - _0223748C - 2 ; case 11 .short _02237700 - _0223748C - 2 ; case 12 .short _02237732 - _0223748C - 2 ; case 13 .short _02237762 - _0223748C - 2 ; case 14 .short _02237792 - _0223748C - 2 ; case 15 .short _022377C2 - _0223748C - 2 ; case 16 .short _022377F2 - _0223748C - 2 ; case 17 .short _02237822 - _0223748C - 2 ; case 18 .short _02237854 - _0223748C - 2 ; case 19 .short _02237884 - _0223748C - 2 ; case 20 .short _022378B4 - _0223748C - 2 ; case 21 .short _022378E4 - _0223748C - 2 ; case 22 .short _02237914 - _0223748C - 2 ; case 23 _022374BC: add r4, #0x20 cmp r5, #3 bls _022374C4 _022374C2: b _02237942 _022374C4: add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022374D0: ; jump table .short _022374D8 - _022374D0 - 2 ; case 0 .short _022374DC - _022374D0 - 2 ; case 1 .short _022374E2 - _022374D0 - 2 ; case 2 .short _022374E8 - _022374D0 - 2 ; case 3 _022374D8: add r6, r4, #0 b _02237942 _022374DC: add r6, r4, #0 add r6, #0xc b _02237942 _022374E2: add r6, r4, #0 add r6, #0x18 b _02237942 _022374E8: add r6, r4, #0 add r6, #0x24 b _02237942 _022374EE: add r4, #0x20 cmp r5, #3 bhi _022375E4 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237500: ; jump table .short _02237508 - _02237500 - 2 ; case 0 .short _0223750C - _02237500 - 2 ; case 1 .short _02237512 - _02237500 - 2 ; case 2 .short _02237518 - _02237500 - 2 ; case 3 _02237508: add r6, r4, #0 b _02237942 _0223750C: add r6, r4, #0 add r6, #0xc b _02237942 _02237512: add r6, r4, #0 add r6, #0x24 b _02237942 _02237518: add r6, r4, #0 add r6, #0x18 b _02237942 _0223751E: add r4, #0x20 cmp r5, #3 bhi _022375E4 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237530: ; jump table .short _02237538 - _02237530 - 2 ; case 0 .short _0223753C - _02237530 - 2 ; case 1 .short _02237542 - _02237530 - 2 ; case 2 .short _02237548 - _02237530 - 2 ; case 3 _02237538: add r6, r4, #0 b _02237942 _0223753C: add r6, r4, #0 add r6, #0x18 b _02237942 _02237542: add r6, r4, #0 add r6, #0xc b _02237942 _02237548: add r6, r4, #0 add r6, #0x24 b _02237942 _0223754E: add r4, #0x20 cmp r5, #3 bhi _022375E4 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237560: ; jump table .short _02237568 - _02237560 - 2 ; case 0 .short _0223756C - _02237560 - 2 ; case 1 .short _02237572 - _02237560 - 2 ; case 2 .short _02237578 - _02237560 - 2 ; case 3 _02237568: add r6, r4, #0 b _02237942 _0223756C: add r6, r4, #0 add r6, #0x24 b _02237942 _02237572: add r6, r4, #0 add r6, #0xc b _02237942 _02237578: add r6, r4, #0 add r6, #0x18 b _02237942 _0223757E: add r4, #0x20 cmp r5, #3 bhi _022375E4 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237590: ; jump table .short _02237598 - _02237590 - 2 ; case 0 .short _0223759C - _02237590 - 2 ; case 1 .short _022375A2 - _02237590 - 2 ; case 2 .short _022375A8 - _02237590 - 2 ; case 3 _02237598: add r6, r4, #0 b _02237942 _0223759C: add r6, r4, #0 add r6, #0x18 b _02237942 _022375A2: add r6, r4, #0 add r6, #0x24 b _02237942 _022375A8: add r6, r4, #0 add r6, #0xc b _02237942 _022375AE: add r4, #0x20 cmp r5, #3 bhi _022375E4 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022375C0: ; jump table .short _022375C8 - _022375C0 - 2 ; case 0 .short _022375CC - _022375C0 - 2 ; case 1 .short _022375D2 - _022375C0 - 2 ; case 2 .short _022375D8 - _022375C0 - 2 ; case 3 _022375C8: add r6, r4, #0 b _02237942 _022375CC: add r6, r4, #0 add r6, #0x24 b _02237942 _022375D2: add r6, r4, #0 add r6, #0x18 b _02237942 _022375D8: add r6, r4, #0 add r6, #0xc b _02237942 _022375DE: add r4, #0x20 cmp r5, #3 bls _022375E6 _022375E4: b _02237942 _022375E6: add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022375F2: ; jump table .short _022375FA - _022375F2 - 2 ; case 0 .short _02237600 - _022375F2 - 2 ; case 1 .short _02237604 - _022375F2 - 2 ; case 2 .short _0223760A - _022375F2 - 2 ; case 3 _022375FA: add r6, r4, #0 add r6, #0xc b _02237942 _02237600: add r6, r4, #0 b _02237942 _02237604: add r6, r4, #0 add r6, #0x18 b _02237942 _0223760A: add r6, r4, #0 add r6, #0x24 b _02237942 _02237610: add r4, #0x20 cmp r5, #3 bhi _02237706 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237622: ; jump table .short _0223762A - _02237622 - 2 ; case 0 .short _02237630 - _02237622 - 2 ; case 1 .short _02237634 - _02237622 - 2 ; case 2 .short _0223763A - _02237622 - 2 ; case 3 _0223762A: add r6, r4, #0 add r6, #0xc b _02237942 _02237630: add r6, r4, #0 b _02237942 _02237634: add r6, r4, #0 add r6, #0x24 b _02237942 _0223763A: add r6, r4, #0 add r6, #0x18 b _02237942 _02237640: add r4, #0x20 cmp r5, #3 bhi _02237706 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237652: ; jump table .short _0223765A - _02237652 - 2 ; case 0 .short _02237660 - _02237652 - 2 ; case 1 .short _02237664 - _02237652 - 2 ; case 2 .short _0223766A - _02237652 - 2 ; case 3 _0223765A: add r6, r4, #0 add r6, #0x18 b _02237942 _02237660: add r6, r4, #0 b _02237942 _02237664: add r6, r4, #0 add r6, #0xc b _02237942 _0223766A: add r6, r4, #0 add r6, #0x24 b _02237942 _02237670: add r4, #0x20 cmp r5, #3 bhi _02237706 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237682: ; jump table .short _0223768A - _02237682 - 2 ; case 0 .short _02237690 - _02237682 - 2 ; case 1 .short _02237694 - _02237682 - 2 ; case 2 .short _0223769A - _02237682 - 2 ; case 3 _0223768A: add r6, r4, #0 add r6, #0x24 b _02237942 _02237690: add r6, r4, #0 b _02237942 _02237694: add r6, r4, #0 add r6, #0xc b _02237942 _0223769A: add r6, r4, #0 add r6, #0x18 b _02237942 _022376A0: add r4, #0x20 cmp r5, #3 bhi _02237706 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022376B2: ; jump table .short _022376BA - _022376B2 - 2 ; case 0 .short _022376C0 - _022376B2 - 2 ; case 1 .short _022376C4 - _022376B2 - 2 ; case 2 .short _022376CA - _022376B2 - 2 ; case 3 _022376BA: add r6, r4, #0 add r6, #0x18 b _02237942 _022376C0: add r6, r4, #0 b _02237942 _022376C4: add r6, r4, #0 add r6, #0x24 b _02237942 _022376CA: add r6, r4, #0 add r6, #0xc b _02237942 _022376D0: add r4, #0x20 cmp r5, #3 bhi _02237706 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022376E2: ; jump table .short _022376EA - _022376E2 - 2 ; case 0 .short _022376F0 - _022376E2 - 2 ; case 1 .short _022376F4 - _022376E2 - 2 ; case 2 .short _022376FA - _022376E2 - 2 ; case 3 _022376EA: add r6, r4, #0 add r6, #0x24 b _02237942 _022376F0: add r6, r4, #0 b _02237942 _022376F4: add r6, r4, #0 add r6, #0x18 b _02237942 _022376FA: add r6, r4, #0 add r6, #0xc b _02237942 _02237700: add r4, #0x20 cmp r5, #3 bls _02237708 _02237706: b _02237942 _02237708: add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237714: ; jump table .short _0223771C - _02237714 - 2 ; case 0 .short _02237722 - _02237714 - 2 ; case 1 .short _02237728 - _02237714 - 2 ; case 2 .short _0223772C - _02237714 - 2 ; case 3 _0223771C: add r6, r4, #0 add r6, #0xc b _02237942 _02237722: add r6, r4, #0 add r6, #0x18 b _02237942 _02237728: add r6, r4, #0 b _02237942 _0223772C: add r6, r4, #0 add r6, #0x24 b _02237942 _02237732: add r4, #0x20 cmp r5, #3 bhi _02237828 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237744: ; jump table .short _0223774C - _02237744 - 2 ; case 0 .short _02237752 - _02237744 - 2 ; case 1 .short _02237758 - _02237744 - 2 ; case 2 .short _0223775C - _02237744 - 2 ; case 3 _0223774C: add r6, r4, #0 add r6, #0xc b _02237942 _02237752: add r6, r4, #0 add r6, #0x24 b _02237942 _02237758: add r6, r4, #0 b _02237942 _0223775C: add r6, r4, #0 add r6, #0x18 b _02237942 _02237762: add r4, #0x20 cmp r5, #3 bhi _02237828 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237774: ; jump table .short _0223777C - _02237774 - 2 ; case 0 .short _02237782 - _02237774 - 2 ; case 1 .short _02237788 - _02237774 - 2 ; case 2 .short _0223778C - _02237774 - 2 ; case 3 _0223777C: add r6, r4, #0 add r6, #0x18 b _02237942 _02237782: add r6, r4, #0 add r6, #0xc b _02237942 _02237788: add r6, r4, #0 b _02237942 _0223778C: add r6, r4, #0 add r6, #0x24 b _02237942 _02237792: add r4, #0x20 cmp r5, #3 bhi _02237828 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022377A4: ; jump table .short _022377AC - _022377A4 - 2 ; case 0 .short _022377B2 - _022377A4 - 2 ; case 1 .short _022377B8 - _022377A4 - 2 ; case 2 .short _022377BC - _022377A4 - 2 ; case 3 _022377AC: add r6, r4, #0 add r6, #0x24 b _02237942 _022377B2: add r6, r4, #0 add r6, #0xc b _02237942 _022377B8: add r6, r4, #0 b _02237942 _022377BC: add r6, r4, #0 add r6, #0x18 b _02237942 _022377C2: add r4, #0x20 cmp r5, #3 bhi _02237828 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022377D4: ; jump table .short _022377DC - _022377D4 - 2 ; case 0 .short _022377E2 - _022377D4 - 2 ; case 1 .short _022377E8 - _022377D4 - 2 ; case 2 .short _022377EC - _022377D4 - 2 ; case 3 _022377DC: add r6, r4, #0 add r6, #0x18 b _02237942 _022377E2: add r6, r4, #0 add r6, #0x24 b _02237942 _022377E8: add r6, r4, #0 b _02237942 _022377EC: add r6, r4, #0 add r6, #0xc b _02237942 _022377F2: add r4, #0x20 cmp r5, #3 bhi _02237828 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237804: ; jump table .short _0223780C - _02237804 - 2 ; case 0 .short _02237812 - _02237804 - 2 ; case 1 .short _02237818 - _02237804 - 2 ; case 2 .short _0223781C - _02237804 - 2 ; case 3 _0223780C: add r6, r4, #0 add r6, #0x24 b _02237942 _02237812: add r6, r4, #0 add r6, #0x18 b _02237942 _02237818: add r6, r4, #0 b _02237942 _0223781C: add r6, r4, #0 add r6, #0xc b _02237942 _02237822: add r4, #0x20 cmp r5, #3 bls _0223782A _02237828: b _02237942 _0223782A: add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237836: ; jump table .short _0223783E - _02237836 - 2 ; case 0 .short _02237844 - _02237836 - 2 ; case 1 .short _0223784A - _02237836 - 2 ; case 2 .short _02237850 - _02237836 - 2 ; case 3 _0223783E: add r6, r4, #0 add r6, #0xc b _02237942 _02237844: add r6, r4, #0 add r6, #0x18 b _02237942 _0223784A: add r6, r4, #0 add r6, #0x24 b _02237942 _02237850: add r6, r4, #0 b _02237942 _02237854: add r4, #0x20 cmp r5, #3 bhi _02237942 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237866: ; jump table .short _0223786E - _02237866 - 2 ; case 0 .short _02237874 - _02237866 - 2 ; case 1 .short _0223787A - _02237866 - 2 ; case 2 .short _02237880 - _02237866 - 2 ; case 3 _0223786E: add r6, r4, #0 add r6, #0xc b _02237942 _02237874: add r6, r4, #0 add r6, #0x24 b _02237942 _0223787A: add r6, r4, #0 add r6, #0x18 b _02237942 _02237880: add r6, r4, #0 b _02237942 _02237884: add r4, #0x20 cmp r5, #3 bhi _02237942 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237896: ; jump table .short _0223789E - _02237896 - 2 ; case 0 .short _022378A4 - _02237896 - 2 ; case 1 .short _022378AA - _02237896 - 2 ; case 2 .short _022378B0 - _02237896 - 2 ; case 3 _0223789E: add r6, r4, #0 add r6, #0x18 b _02237942 _022378A4: add r6, r4, #0 add r6, #0xc b _02237942 _022378AA: add r6, r4, #0 add r6, #0x24 b _02237942 _022378B0: add r6, r4, #0 b _02237942 _022378B4: add r4, #0x20 cmp r5, #3 bhi _02237942 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022378C6: ; jump table .short _022378CE - _022378C6 - 2 ; case 0 .short _022378D4 - _022378C6 - 2 ; case 1 .short _022378DA - _022378C6 - 2 ; case 2 .short _022378E0 - _022378C6 - 2 ; case 3 _022378CE: add r6, r4, #0 add r6, #0x24 b _02237942 _022378D4: add r6, r4, #0 add r6, #0xc b _02237942 _022378DA: add r6, r4, #0 add r6, #0x18 b _02237942 _022378E0: add r6, r4, #0 b _02237942 _022378E4: add r4, #0x20 cmp r5, #3 bhi _02237942 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022378F6: ; jump table .short _022378FE - _022378F6 - 2 ; case 0 .short _02237904 - _022378F6 - 2 ; case 1 .short _0223790A - _022378F6 - 2 ; case 2 .short _02237910 - _022378F6 - 2 ; case 3 _022378FE: add r6, r4, #0 add r6, #0x18 b _02237942 _02237904: add r6, r4, #0 add r6, #0x24 b _02237942 _0223790A: add r6, r4, #0 add r6, #0xc b _02237942 _02237910: add r6, r4, #0 b _02237942 _02237914: add r4, #0x20 cmp r5, #3 bhi _02237942 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237926: ; jump table .short _0223792E - _02237926 - 2 ; case 0 .short _02237934 - _02237926 - 2 ; case 1 .short _0223793A - _02237926 - 2 ; case 2 .short _02237940 - _02237926 - 2 ; case 3 _0223792E: add r6, r4, #0 add r6, #0x24 b _02237942 _02237934: add r6, r4, #0 add r6, #0x18 b _02237942 _0223793A: add r6, r4, #0 add r6, #0xc b _02237942 _02237940: add r6, r4, #0 _02237942: add r0, r6, #0 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD83_0223746C thumb_func_start MOD83_02237948 MOD83_02237948: ; 0x02237948 push {r3, r4} add r4, r0, #0 mov r3, #0 add r4, #0x20 _02237950: ldr r2, [r4] ldr r1, [r0, #4] add r3, r3, #1 eor r2, r1 str r2, [r4] ldr r1, [r0] eor r1, r2 stmia r4!, {r1} cmp r3, #0xc blo _02237950 pop {r3, r4} bx lr thumb_func_end MOD83_02237948 thumb_func_start MOD83_02237968 MOD83_02237968: ; 0x02237968 push {r3, r4} add r4, r0, #0 mov r3, #0 add r4, #0x20 _02237970: ldr r2, [r4] ldr r1, [r0] add r3, r3, #1 eor r2, r1 str r2, [r4] ldr r1, [r0, #4] eor r1, r2 stmia r4!, {r1} cmp r3, #0xc blo _02237970 pop {r3, r4} bx lr thumb_func_end MOD83_02237968 thumb_func_start MOD83_02237988 MOD83_02237988: ; 0x02237988 push {r3, r4, r5, r6, r7, lr} add r1, r0, #0 mov r4, #0 ldr r1, [r1] str r0, [sp] add r2, r4, #0 bl MOD83_0223746C add r5, r0, #0 ldr r0, [sp] mov r2, #1 add r1, r0, #0 ldr r1, [r1] bl MOD83_0223746C add r6, r0, #0 ldr r0, [sp] mov r2, #2 add r1, r0, #0 ldr r1, [r1] bl MOD83_0223746C add r7, r0, #0 ldr r0, [sp] mov r2, #3 add r1, r0, #0 ldr r1, [r1] bl MOD83_0223746C add r1, r4, #0 _022379C4: ldrh r2, [r5] add r1, r1, #1 add r5, r5, #2 add r2, r4, r2 lsl r2, r2, #0x10 lsr r4, r2, #0x10 cmp r1, #6 blt _022379C4 mov r2, #0 _022379D6: ldrh r1, [r6] add r2, r2, #1 add r6, r6, #2 add r1, r4, r1 lsl r1, r1, #0x10 lsr r4, r1, #0x10 cmp r2, #6 blt _022379D6 mov r2, #0 _022379E8: ldrh r1, [r7] add r2, r2, #1 add r7, r7, #2 add r1, r4, r1 lsl r1, r1, #0x10 lsr r4, r1, #0x10 cmp r2, #6 blt _022379E8 mov r2, #0 _022379FA: ldrh r1, [r0] add r2, r2, #1 add r0, r0, #2 add r1, r4, r1 lsl r1, r1, #0x10 lsr r4, r1, #0x10 cmp r2, #6 blt _022379FA add r0, r4, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD83_02237988 thumb_func_start MOD83_02237A10 MOD83_02237A10: ; 0x02237A10 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 mov r4, #0 add r5, r0, #0 str r1, [sp] add r7, r2, #0 add r6, r4, #0 str r4, [sp, #0xc] str r4, [sp, #8] str r4, [sp, #4] cmp r1, #0xa ble _02237A86 ldr r1, [r5] add r2, r4, #0 bl MOD83_0223746C str r0, [sp, #0xc] ldr r1, [r5] add r0, r5, #0 mov r2, #1 bl MOD83_0223746C str r0, [sp, #8] ldr r1, [r5] add r0, r5, #0 mov r2, #2 bl MOD83_0223746C str r0, [sp, #4] ldr r1, [r5] add r0, r5, #0 mov r2, #3 bl MOD83_0223746C add r6, r0, #0 add r0, r5, #0 bl MOD83_02237948 add r0, r5, #0 bl MOD83_02237988 ldrh r1, [r5, #0x1c] cmp r0, r1 beq _02237A86 ldrb r0, [r5, #0x13] mov r1, #1 bic r0, r1 mov r1, #1 orr r0, r1 strb r0, [r5, #0x13] ldrb r1, [r5, #0x13] mov r0, #4 orr r0, r1 strb r0, [r5, #0x13] mov r0, #1 ldr r1, [r6, #4] lsl r0, r0, #0x1e orr r0, r1 str r0, [r6, #4] _02237A86: ldr r0, [sp] cmp r0, #0x50 bls _02237A8E b _02237D7C _02237A8E: add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237A9A: ; jump table .short _02237B3C - _02237A9A - 2 ; case 0 .short _02237B40 - _02237A9A - 2 ; case 1 .short _02237B44 - _02237A9A - 2 ; case 2 .short _02237B64 - _02237A9A - 2 ; case 3 .short _02237B68 - _02237A9A - 2 ; case 4 .short _02237B70 - _02237A9A - 2 ; case 5 .short _02237B78 - _02237A9A - 2 ; case 6 .short _02237B80 - _02237A9A - 2 ; case 7 .short _02237B94 - _02237A9A - 2 ; case 8 .short _02237B98 - _02237A9A - 2 ; case 9 .short _02237B9C - _02237A9A - 2 ; case 10 .short _02237BA0 - _02237A9A - 2 ; case 11 .short _02237BB4 - _02237A9A - 2 ; case 12 .short _02237BCC - _02237A9A - 2 ; case 13 .short _02237BCC - _02237A9A - 2 ; case 14 .short _02237BCC - _02237A9A - 2 ; case 15 .short _02237BCC - _02237A9A - 2 ; case 16 .short _02237BD8 - _02237A9A - 2 ; case 17 .short _02237BD8 - _02237A9A - 2 ; case 18 .short _02237BD8 - _02237A9A - 2 ; case 19 .short _02237BD8 - _02237A9A - 2 ; case 20 .short _02237BC0 - _02237A9A - 2 ; case 21 .short _02237C08 - _02237A9A - 2 ; case 22 .short _02237C0E - _02237A9A - 2 ; case 23 .short _02237C14 - _02237A9A - 2 ; case 24 .short _02237BBA - _02237A9A - 2 ; case 25 .short _02237BE4 - _02237A9A - 2 ; case 26 .short _02237BEA - _02237A9A - 2 ; case 27 .short _02237BF0 - _02237A9A - 2 ; case 28 .short _02237BF6 - _02237A9A - 2 ; case 29 .short _02237BFC - _02237A9A - 2 ; case 30 .short _02237C02 - _02237A9A - 2 ; case 31 .short _02237BC6 - _02237A9A - 2 ; case 32 .short _02237C1A - _02237A9A - 2 ; case 33 .short _02237C2C - _02237A9A - 2 ; case 34 .short _02237C34 - _02237A9A - 2 ; case 35 .short _02237C3C - _02237A9A - 2 ; case 36 .short _02237C44 - _02237A9A - 2 ; case 37 .short _02237C4C - _02237A9A - 2 ; case 38 .short _02237C5A - _02237A9A - 2 ; case 39 .short _02237C62 - _02237A9A - 2 ; case 40 .short _02237C6A - _02237A9A - 2 ; case 41 .short _02237C72 - _02237A9A - 2 ; case 42 .short _02237C7A - _02237A9A - 2 ; case 43 .short _02237C82 - _02237A9A - 2 ; case 44 .short _02237C8A - _02237A9A - 2 ; case 45 .short _02237C92 - _02237A9A - 2 ; case 46 .short _02237C20 - _02237A9A - 2 ; case 47 .short _02237C26 - _02237A9A - 2 ; case 48 .short _02237C54 - _02237A9A - 2 ; case 49 .short _02237C98 - _02237A9A - 2 ; case 50 .short _02237CA0 - _02237A9A - 2 ; case 51 .short _02237CA8 - _02237A9A - 2 ; case 52 .short _02237CB0 - _02237A9A - 2 ; case 53 .short _02237CB8 - _02237A9A - 2 ; case 54 .short _02237D7C - _02237A9A - 2 ; case 55 .short _02237D7C - _02237A9A - 2 ; case 56 .short _02237D7C - _02237A9A - 2 ; case 57 .short _02237D7C - _02237A9A - 2 ; case 58 .short _02237D7C - _02237A9A - 2 ; case 59 .short _02237D7C - _02237A9A - 2 ; case 60 .short _02237D7C - _02237A9A - 2 ; case 61 .short _02237D7C - _02237A9A - 2 ; case 62 .short _02237D7C - _02237A9A - 2 ; case 63 .short _02237D7C - _02237A9A - 2 ; case 64 .short _02237D2E - _02237A9A - 2 ; case 65 .short _02237D4C - _02237A9A - 2 ; case 66 .short _02237CC0 - _02237A9A - 2 ; case 67 .short _02237CC8 - _02237A9A - 2 ; case 68 .short _02237CD0 - _02237A9A - 2 ; case 69 .short _02237CD8 - _02237A9A - 2 ; case 70 .short _02237CE0 - _02237A9A - 2 ; case 71 .short _02237CE8 - _02237A9A - 2 ; case 72 .short _02237CF0 - _02237A9A - 2 ; case 73 .short _02237CF8 - _02237A9A - 2 ; case 74 .short _02237D00 - _02237A9A - 2 ; case 75 .short _02237D08 - _02237A9A - 2 ; case 76 .short _02237D10 - _02237A9A - 2 ; case 77 .short _02237D18 - _02237A9A - 2 ; case 78 .short _02237D20 - _02237A9A - 2 ; case 79 .short _02237D28 - _02237A9A - 2 ; case 80 _02237B3C: ldr r4, [r5] b _02237D7C _02237B40: ldr r4, [r5, #4] b _02237D7C _02237B44: ldrb r0, [r5, #0x13] lsl r0, r0, #0x1f lsr r0, r0, #0x1f beq _02237B50 mov r4, #0 b _02237B5E _02237B50: mov r4, #0 _02237B52: add r0, r5, r4 ldrb r0, [r0, #8] strb r0, [r7, r4] add r4, r4, #1 cmp r4, #0xa blo _02237B52 _02237B5E: mov r0, #0xff strb r0, [r7, r4] b _02237D7C _02237B64: ldrb r4, [r5, #0x12] b _02237D7C _02237B68: ldrb r0, [r5, #0x13] lsl r0, r0, #0x1f lsr r4, r0, #0x1f b _02237D7C _02237B70: ldrb r0, [r5, #0x13] lsl r0, r0, #0x1e lsr r4, r0, #0x1f b _02237D7C _02237B78: ldrb r0, [r5, #0x13] lsl r0, r0, #0x1d lsr r4, r0, #0x1f b _02237D7C _02237B80: mov r4, #0 _02237B82: add r0, r5, r4 ldrb r0, [r0, #0x14] strb r0, [r7, r4] add r4, r4, #1 cmp r4, #7 blo _02237B82 mov r0, #0xff strb r0, [r7, r4] b _02237D7C _02237B94: ldrb r4, [r5, #0x1b] b _02237D7C _02237B98: ldrh r4, [r5, #0x1c] b _02237D7C _02237B9C: ldrh r4, [r5, #0x1e] b _02237D7C _02237BA0: ldrb r0, [r5, #0x13] lsl r0, r0, #0x1f lsr r0, r0, #0x1f beq _02237BAE mov r4, #0x67 lsl r4, r4, #2 b _02237D7C _02237BAE: ldr r0, [sp, #0xc] ldrh r4, [r0] b _02237D7C _02237BB4: ldr r0, [sp, #0xc] ldrh r4, [r0, #2] b _02237D7C _02237BBA: ldr r0, [sp, #0xc] ldr r4, [r0, #4] b _02237D7C _02237BC0: ldr r0, [sp, #0xc] ldrb r4, [r0, #8] b _02237D7C _02237BC6: ldr r0, [sp, #0xc] ldrb r4, [r0, #9] b _02237D7C _02237BCC: ldr r0, [sp] sub r0, #0xd lsl r1, r0, #1 ldr r0, [sp, #8] ldrh r4, [r0, r1] b _02237D7C _02237BD8: ldr r1, [sp] ldr r0, [sp, #8] sub r1, #0x11 add r0, r0, r1 ldrb r4, [r0, #8] b _02237D7C _02237BE4: ldr r0, [sp, #4] ldrb r4, [r0] b _02237D7C _02237BEA: ldr r0, [sp, #4] ldrb r4, [r0, #1] b _02237D7C _02237BF0: ldr r0, [sp, #4] ldrb r4, [r0, #2] b _02237D7C _02237BF6: ldr r0, [sp, #4] ldrb r4, [r0, #3] b _02237D7C _02237BFC: ldr r0, [sp, #4] ldrb r4, [r0, #4] b _02237D7C _02237C02: ldr r0, [sp, #4] ldrb r4, [r0, #5] b _02237D7C _02237C08: ldr r0, [sp, #4] ldrb r4, [r0, #6] b _02237D7C _02237C0E: ldr r0, [sp, #4] ldrb r4, [r0, #7] b _02237D7C _02237C14: ldr r0, [sp, #4] ldrb r4, [r0, #8] b _02237D7C _02237C1A: ldr r0, [sp, #4] ldrb r4, [r0, #9] b _02237D7C _02237C20: ldr r0, [sp, #4] ldrb r4, [r0, #0xa] b _02237D7C _02237C26: ldr r0, [sp, #4] ldrb r4, [r0, #0xb] b _02237D7C _02237C2C: ldr r0, [r6] lsl r0, r0, #0x18 lsr r4, r0, #0x18 b _02237D7C _02237C34: ldr r0, [r6] lsl r0, r0, #0x10 lsr r4, r0, #0x18 b _02237D7C _02237C3C: ldr r0, [r6] lsl r0, r0, #9 lsr r4, r0, #0x19 b _02237D7C _02237C44: ldr r0, [r6] lsl r0, r0, #5 lsr r4, r0, #0x1c b _02237D7C _02237C4C: ldr r0, [r6] lsl r0, r0, #1 lsr r4, r0, #0x1c b _02237D7C _02237C54: ldr r0, [r6] lsr r4, r0, #0x1f b _02237D7C _02237C5A: ldr r0, [r6, #4] lsl r0, r0, #0x1b lsr r4, r0, #0x1b b _02237D7C _02237C62: ldr r0, [r6, #4] lsl r0, r0, #0x16 lsr r4, r0, #0x1b b _02237D7C _02237C6A: ldr r0, [r6, #4] lsl r0, r0, #0x11 lsr r4, r0, #0x1b b _02237D7C _02237C72: ldr r0, [r6, #4] lsl r0, r0, #0xc lsr r4, r0, #0x1b b _02237D7C _02237C7A: ldr r0, [r6, #4] lsl r0, r0, #7 lsr r4, r0, #0x1b b _02237D7C _02237C82: ldr r0, [r6, #4] lsl r0, r0, #2 lsr r4, r0, #0x1b b _02237D7C _02237C8A: ldr r0, [r6, #4] lsl r0, r0, #1 lsr r4, r0, #0x1f b _02237D7C _02237C92: ldr r0, [r6, #4] lsr r4, r0, #0x1f b _02237D7C _02237C98: ldr r0, [r6, #8] lsl r0, r0, #0x1d lsr r4, r0, #0x1d b _02237D7C _02237CA0: ldr r0, [r6, #8] lsl r0, r0, #0x1a lsr r4, r0, #0x1d b _02237D7C _02237CA8: ldr r0, [r6, #8] lsl r0, r0, #0x17 lsr r4, r0, #0x1d b _02237D7C _02237CB0: ldr r0, [r6, #8] lsl r0, r0, #0x14 lsr r4, r0, #0x1d b _02237D7C _02237CB8: ldr r0, [r6, #8] lsl r0, r0, #0x11 lsr r4, r0, #0x1d b _02237D7C _02237CC0: ldr r0, [r6, #8] lsl r0, r0, #0x10 lsr r4, r0, #0x1f b _02237D7C _02237CC8: ldr r0, [r6, #8] lsl r0, r0, #0xf lsr r4, r0, #0x1f b _02237D7C _02237CD0: ldr r0, [r6, #8] lsl r0, r0, #0xe lsr r4, r0, #0x1f b _02237D7C _02237CD8: ldr r0, [r6, #8] lsl r0, r0, #0xd lsr r4, r0, #0x1f b _02237D7C _02237CE0: ldr r0, [r6, #8] lsl r0, r0, #0xc lsr r4, r0, #0x1f b _02237D7C _02237CE8: ldr r0, [r6, #8] lsl r0, r0, #0xb lsr r4, r0, #0x1f b _02237D7C _02237CF0: ldr r0, [r6, #8] lsl r0, r0, #0xa lsr r4, r0, #0x1f b _02237D7C _02237CF8: ldr r0, [r6, #8] lsl r0, r0, #9 lsr r4, r0, #0x1f b _02237D7C _02237D00: ldr r0, [r6, #8] lsl r0, r0, #8 lsr r4, r0, #0x1f b _02237D7C _02237D08: ldr r0, [r6, #8] lsl r0, r0, #7 lsr r4, r0, #0x1f b _02237D7C _02237D10: ldr r0, [r6, #8] lsl r0, r0, #6 lsr r4, r0, #0x1f b _02237D7C _02237D18: ldr r0, [r6, #8] lsl r0, r0, #5 lsr r4, r0, #0x1f b _02237D7C _02237D20: ldr r0, [r6, #8] lsl r0, r0, #1 lsr r4, r0, #0x1c b _02237D7C _02237D28: ldr r0, [r6, #8] lsr r4, r0, #0x1f b _02237D7C _02237D2E: ldr r0, [sp, #0xc] ldrh r4, [r0] cmp r4, #0 beq _02237D7C ldr r0, [r6, #4] lsl r0, r0, #1 lsr r0, r0, #0x1f bne _02237D46 ldrb r0, [r5, #0x13] lsl r0, r0, #0x1f lsr r0, r0, #0x1f beq _02237D7C _02237D46: mov r4, #0x67 lsl r4, r4, #2 b _02237D7C _02237D4C: ldr r4, [r6, #4] lsl r0, r4, #2 lsr r0, r0, #0x1b lsl r6, r0, #0x19 lsl r0, r4, #7 lsr r0, r0, #0x1b lsl r3, r0, #0x14 lsl r0, r4, #0xc lsr r0, r0, #0x1b lsl r2, r0, #0xf lsl r0, r4, #0x11 lsr r0, r0, #0x1b lsl r1, r0, #0xa lsl r0, r4, #0x1b lsl r4, r4, #0x16 lsr r4, r4, #0x1b lsr r0, r0, #0x1b lsl r4, r4, #5 orr r0, r4 orr r0, r1 orr r0, r2 orr r0, r3 add r4, r6, #0 orr r4, r0 _02237D7C: ldr r0, [sp] cmp r0, #0xa ble _02237D88 add r0, r5, #0 bl MOD83_02237968 _02237D88: add r0, r4, #0 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD83_02237A10 thumb_func_start MOD83_02237D90 MOD83_02237D90: ; 0x02237D90 push {r3, r4, r5, r6, r7, lr} add r6, r1, #0 add r4, r0, #0 add r5, r2, #0 mov r7, #0 cmp r6, #0xa ble _02237E04 ldr r1, [r4] add r2, r7, #0 bl MOD83_0223746C add r7, r0, #0 ldr r1, [r4] add r0, r4, #0 mov r2, #1 bl MOD83_0223746C ldr r1, [r4] add r0, r4, #0 mov r2, #2 bl MOD83_0223746C ldr r1, [r4] add r0, r4, #0 mov r2, #3 bl MOD83_0223746C str r0, [sp] add r0, r4, #0 bl MOD83_02237948 add r0, r4, #0 bl MOD83_02237988 ldrh r1, [r4, #0x1c] cmp r0, r1 beq _02237E04 ldrb r1, [r4, #0x13] mov r0, #1 bic r1, r0 mov r0, #1 orr r0, r1 strb r0, [r4, #0x13] ldrb r1, [r4, #0x13] mov r0, #4 orr r0, r1 strb r0, [r4, #0x13] ldr r0, [sp] ldr r1, [r0, #4] mov r0, #1 lsl r0, r0, #0x1e orr r1, r0 ldr r0, [sp] str r1, [r0, #4] add r0, r4, #0 bl MOD83_02237968 pop {r3, r4, r5, r6, r7, pc} _02237E04: cmp r6, #0xb bhi _02237EA8 add r0, r6, r6 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02237E14: ; jump table .short _02237EA8 - _02237E14 - 2 ; case 0 .short _02237EA8 - _02237E14 - 2 ; case 1 .short _02237E2C - _02237E14 - 2 ; case 2 .short _02237E3C - _02237E14 - 2 ; case 3 .short _02237E42 - _02237E14 - 2 ; case 4 .short _02237E54 - _02237E14 - 2 ; case 5 .short _02237E66 - _02237E14 - 2 ; case 6 .short _02237E78 - _02237E14 - 2 ; case 7 .short _02237EA8 - _02237E14 - 2 ; case 8 .short _02237EA8 - _02237E14 - 2 ; case 9 .short _02237EA8 - _02237E14 - 2 ; case 10 .short _02237E88 - _02237E14 - 2 ; case 11 _02237E2C: mov r2, #0 _02237E2E: ldrb r1, [r5, r2] add r0, r4, r2 add r2, r2, #1 strb r1, [r0, #8] cmp r2, #0xa blt _02237E2E b _02237EA8 _02237E3C: ldrb r0, [r5] strb r0, [r4, #0x12] b _02237EA8 _02237E42: ldrb r0, [r4, #0x13] ldrb r2, [r5] mov r1, #1 bic r0, r1 mov r1, #1 and r1, r2 orr r0, r1 strb r0, [r4, #0x13] b _02237EA8 _02237E54: ldrb r0, [r4, #0x13] mov r1, #2 bic r0, r1 ldrb r1, [r5] lsl r1, r1, #0x1f lsr r1, r1, #0x1e orr r0, r1 strb r0, [r4, #0x13] b _02237EA8 _02237E66: ldrb r0, [r4, #0x13] mov r1, #4 bic r0, r1 ldrb r1, [r5] lsl r1, r1, #0x1f lsr r1, r1, #0x1d orr r0, r1 strb r0, [r4, #0x13] b _02237EA8 _02237E78: mov r2, #0 _02237E7A: ldrb r1, [r5, r2] add r0, r4, r2 add r2, r2, #1 strb r1, [r0, #0x14] cmp r2, #7 blt _02237E7A b _02237EA8 _02237E88: ldrb r0, [r5, #1] ldrb r1, [r5] lsl r0, r0, #8 add r0, r1, r0 strh r0, [r7] ldrh r0, [r7] ldrb r1, [r4, #0x13] cmp r0, #0 beq _02237EA2 mov r0, #2 orr r0, r1 strb r0, [r4, #0x13] b _02237EA8 _02237EA2: mov r0, #2 bic r1, r0 strb r1, [r4, #0x13] _02237EA8: cmp r6, #0xa ble _02237EBA add r0, r4, #0 bl MOD83_02237988 strh r0, [r4, #0x1c] add r0, r4, #0 bl MOD83_02237968 _02237EBA: pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD83_02237D90 thumb_func_start MOD83_02237EBC MOD83_02237EBC: ; 0x02237EBC ldr r2, _02237ED4 ; =0x00000115 cmp r0, r2 blt _02237ED2 add r1, r2, #0 add r1, #0x86 cmp r0, r1 bgt _02237ED2 sub r0, r0, r2 lsl r1, r0, #1 ldr r0, _02237ED8 ; =0x0223B57C ldrh r0, [r0, r1] _02237ED2: bx lr .align 2, 0 _02237ED4: .word 0x00000115 _02237ED8: .word 0x0223B57C thumb_func_end MOD83_02237EBC thumb_func_start MOD83_02237EDC MOD83_02237EDC: ; 0x02237EDC push {r3, r4, r5, lr} add r5, r0, #0 mov r1, #0xb mov r2, #0 bl MOD83_02237A10 bl MOD83_02237EBC add r4, r0, #0 add r0, r5, #0 mov r1, #0x19 mov r2, #0 bl MOD83_02237A10 add r1, r0, #0 lsl r0, r4, #0x10 lsr r0, r0, #0x10 bl FUN_02068800 pop {r3, r4, r5, pc} thumb_func_end MOD83_02237EDC thumb_func_start MOD83_02237F04 MOD83_02237F04: ; 0x02237F04 push {r4, r5, r6, lr} add r4, r0, #0 add r0, r1, #0 mov r1, #5 mov r2, #0 bl FUN_020672BC lsl r0, r0, #0x10 lsr r5, r0, #0x10 add r0, r4, #0 mov r1, #0x2e mov r2, #0 bl MOD83_02237A10 add r6, r0, #0 add r0, r5, #0 mov r1, #0x19 bl FUN_02068678 cmp r0, #0 beq _02237F5E ldr r2, _02237F68 ; =0x0223B4C0 mov r4, #0 _02237F32: ldrh r1, [r2] cmp r5, r1 bne _02237F42 add r0, r5, #0 mov r1, #0x18 bl FUN_02068678 b _02237F4A _02237F42: add r4, r4, #1 add r2, r2, #2 cmp r4, #0x5e blo _02237F32 _02237F4A: cmp r4, #0x5e bne _02237F66 mov r1, #1 tst r1, r6 bne _02237F66 add r0, r5, #0 mov r1, #0x18 bl FUN_02068678 pop {r4, r5, r6, pc} _02237F5E: add r0, r5, #0 mov r1, #0x18 bl FUN_02068678 _02237F66: pop {r4, r5, r6, pc} .align 2, 0 _02237F68: .word 0x0223B4C0 thumb_func_end MOD83_02237F04 thumb_func_start MOD83_02237F6C MOD83_02237F6C: ; 0x02237F6C push {r3, r4, r5, r6, r7, lr} sub sp, #0x30 add r4, r1, #0 add r6, r0, #0 add r0, r4, #0 bl FUN_020669A0 add r0, r4, #0 bl FUN_02066A6C mov r1, #0 str r0, [sp] add r0, r6, #0 add r2, r1, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0xb mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] bl MOD83_02237EBC str r0, [sp, #8] add r0, r4, #0 mov r1, #5 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0xc mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] cmp r0, #0 beq _02237FCE lsl r0, r0, #0x10 lsr r0, r0, #0x10 bl FUN_0206E6D8 str r0, [sp, #8] _02237FCE: add r0, r4, #0 mov r1, #6 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #1 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #7 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x19 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #8 add r2, sp, #8 bl FUN_02067960 mov r0, #0x46 str r0, [sp, #8] add r0, r4, #0 mov r1, #9 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 add r1, r4, #0 bl MOD83_02237F04 str r0, [sp, #8] add r0, r4, #0 mov r1, #0xa add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #8 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0xb add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #3 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #4] add r0, r4, #0 mov r1, #0xc add r2, sp, #4 bl FUN_02067960 add r0, r6, #0 mov r1, #0x1a mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0xd add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x1b mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0xe add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x1c mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0xf add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x1d mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x10 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x1e mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x11 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x1f mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x12 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x16 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x13 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x17 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x14 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x18 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x15 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x21 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x16 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x2f mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x17 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x30 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x18 add r2, sp, #8 bl FUN_02067960 mov r5, #0 add r7, r5, #0 _0223815E: add r1, r5, #0 add r0, r6, #0 add r1, #0xd mov r2, #0 bl MOD83_02237A10 add r1, r5, #0 str r0, [sp, #8] add r0, r4, #0 add r1, #0x36 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x15 mov r2, #0 bl MOD83_02237A10 mov r1, #3 lsl r1, r7 str r0, [sp, #8] and r0, r1 lsr r0, r7 add r1, r5, #0 str r0, [sp, #8] add r0, r4, #0 add r1, #0x3e add r2, sp, #8 bl FUN_02067960 add r1, r5, #0 add r0, r4, #0 add r1, #0x42 mov r2, #0 bl FUN_020672BC add r1, r5, #0 str r0, [sp, #8] add r0, r4, #0 add r1, #0x3a add r2, sp, #8 bl FUN_02067960 add r5, r5, #1 add r7, r7, #2 cmp r5, #4 blt _0223815E add r0, r6, #0 mov r1, #0x27 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x46 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x28 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x47 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x29 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x48 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x2a mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x49 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x2b mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x4a add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x2c mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x4b add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x2d mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x4c add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x32 mov r2, #0 bl MOD83_02237A10 add r7, r0, #0 cmp r7, #4 bgt _02238282 mov r5, #0 cmp r7, #0 ble _02238282 _0223826C: mov r0, #1 add r1, r5, #0 str r0, [sp, #8] add r0, r4, #0 add r1, #0x4e add r2, sp, #8 bl FUN_02067960 add r5, r5, #1 cmp r5, r7 blt _0223826C _02238282: add r0, r6, #0 mov r1, #0x33 mov r2, #0 bl MOD83_02237A10 add r7, r0, #0 cmp r7, #4 bgt _022382AE mov r5, #0 cmp r7, #0 ble _022382AE _02238298: mov r0, #1 add r1, r5, #0 str r0, [sp, #8] add r0, r4, #0 add r1, #0x52 add r2, sp, #8 bl FUN_02067960 add r5, r5, #1 cmp r5, r7 blt _02238298 _022382AE: add r0, r6, #0 mov r1, #0x34 mov r2, #0 bl MOD83_02237A10 add r7, r0, #0 cmp r7, #4 bgt _022382DA mov r5, #0 cmp r7, #0 ble _022382DA _022382C4: mov r0, #1 add r1, r5, #0 str r0, [sp, #8] add r0, r4, #0 add r1, #0x56 add r2, sp, #8 bl FUN_02067960 add r5, r5, #1 cmp r5, r7 blt _022382C4 _022382DA: add r0, r6, #0 mov r1, #0x35 mov r2, #0 bl MOD83_02237A10 add r7, r0, #0 cmp r7, #4 bgt _02238306 mov r5, #0 cmp r7, #0 ble _02238306 _022382F0: mov r0, #1 add r1, r5, #0 str r0, [sp, #8] add r0, r4, #0 add r1, #0x5a add r2, sp, #8 bl FUN_02067960 add r5, r5, #1 cmp r5, r7 blt _022382F0 _02238306: add r0, r6, #0 mov r1, #0x36 mov r2, #0 bl MOD83_02237A10 add r7, r0, #0 cmp r7, #4 bgt _02238332 mov r5, #0 cmp r7, #0 ble _02238332 _0223831C: mov r0, #1 add r1, r5, #0 str r0, [sp, #8] add r0, r4, #0 add r1, #0x5e add r2, sp, #8 bl FUN_02067960 add r5, r5, #1 cmp r5, r7 blt _0223831C _02238332: add r0, r6, #0 mov r1, #0x43 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x62 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x44 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x63 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x45 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x64 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x46 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x65 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x47 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x66 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x48 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x67 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x49 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x68 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x4a mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x69 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x4b mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x6a add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x4c mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x6b add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x4d mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x6c add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x4e mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x6d add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x50 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x6e add r2, sp, #8 bl FUN_02067960 add r0, r4, #0 bl FUN_020689E8 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x6f add r2, sp, #8 bl FUN_02067960 add r0, r4, #0 mov r1, #5 mov r2, #0 bl FUN_020672BC cmp r0, #0xc9 bne _022384AE mov r1, #0 add r0, r6, #0 add r2, r1, #0 bl MOD83_02237A10 add r3, r0, #0 mov r7, #3 lsl r0, r7, #8 and r0, r3 lsr r1, r0, #6 lsl r0, r7, #0x18 and r0, r3 lsr r5, r0, #0x12 lsl r0, r7, #0x10 and r0, r3 lsr r0, r0, #0xc add r2, r3, #0 orr r0, r5 orr r0, r1 and r2, r7 str r3, [sp, #8] orr r0, r2 mov r1, #0x1c bl _u32_div_f str r1, [sp, #8] add r0, r4, #0 mov r1, #0x70 add r2, sp, #8 bl FUN_02067960 _022384AE: add r0, r4, #0 mov r1, #5 mov r2, #0 bl FUN_020672BC ldr r1, _022385F0 ; =0x00000182 cmp r0, r1 bne _022384FE ldr r0, _022385F4 ; =0x021C4918 ldrb r0, [r0, #6] cmp r0, #5 bhi _022384DE add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022384D2: ; jump table .short _022384DE - _022384D2 - 2 ; case 0 .short _022384DE - _022384D2 - 2 ; case 1 .short _022384DE - _022384D2 - 2 ; case 2 .short _022384F0 - _022384D2 - 2 ; case 3 .short _022384E4 - _022384D2 - 2 ; case 4 .short _022384EA - _022384D2 - 2 ; case 5 _022384DE: mov r0, #0 str r0, [sp, #8] b _022384F4 _022384E4: mov r0, #1 str r0, [sp, #8] b _022384F4 _022384EA: mov r0, #2 str r0, [sp, #8] b _022384F4 _022384F0: mov r0, #3 str r0, [sp, #8] _022384F4: add r0, r4, #0 mov r1, #0x70 add r2, sp, #8 bl FUN_02067960 _022384FE: add r0, r6, #0 mov r1, #2 add r2, sp, #0x24 bl MOD83_02237A10 ldr r3, [sp, #4] add r0, sp, #0x24 add r1, sp, #0xc mov r2, #0xc bl FUN_02015D88 add r0, r4, #0 mov r1, #0x75 add r2, sp, #0xc bl FUN_02067960 add r0, r6, #0 mov r1, #3 mov r2, #0 bl MOD83_02237A10 ldr r1, _022385F8 ; =0x020ECAC4 ldrb r1, [r1] cmp r1, r0 beq _0223853E mov r0, #1 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x4d add r2, sp, #8 bl FUN_02067960 _0223853E: add r0, r6, #0 mov r1, #0x25 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x79 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #7 add r2, sp, #0x24 bl MOD83_02237A10 ldr r3, [sp, #4] add r0, sp, #0x24 add r1, sp, #0xc mov r2, #8 bl FUN_02015D88 add r0, r4, #0 mov r1, #0x8f add r2, sp, #0xc bl FUN_02067960 add r0, r6, #0 mov r1, #0x23 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x98 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x22 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x99 add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x26 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x9a add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x24 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x9b add r2, sp, #8 bl FUN_02067960 add r0, r6, #0 mov r1, #0x31 mov r2, #0 bl MOD83_02237A10 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x9c add r2, sp, #8 bl FUN_02067960 ldr r1, [sp] add r0, r4, #0 bl FUN_02066A94 add sp, #0x30 pop {r3, r4, r5, r6, r7, pc} nop _022385F0: .word 0x00000182 _022385F4: .word 0x021C4918 _022385F8: .word 0x020ECAC4 thumb_func_end MOD83_02237F6C thumb_func_start MOD83_022385FC MOD83_022385FC: ; 0x022385FC ldr r1, _02238604 ; =0x0223BC2C str r0, [r1] bx lr nop _02238604: .word 0x0223BC2C thumb_func_end MOD83_022385FC thumb_func_start MOD83_02238608 MOD83_02238608: ; 0x02238608 add r1, r0, #0 ldr r0, _02238614 ; =0x0223BC2C ldr r3, _02238618 ; =FUN_02016998 ldr r0, [r0] bx r3 nop _02238614: .word 0x0223BC2C _02238618: .word FUN_02016998 thumb_func_end MOD83_02238608 thumb_func_start MOD83_0223861C MOD83_0223861C: ; 0x0223861C push {r3, r4, r5, r6, r7, lr} sub sp, #0x1fc sub sp, #0x1fc sub sp, #0x130 bl CTRDG_GetAgbGameCode lsr r1, r0, #0x18 lsl r1, r1, #0x18 lsr r2, r1, #0x18 lsr r1, r0, #0x10 lsl r3, r0, #0x18 lsr r0, r0, #8 lsl r0, r0, #0x18 lsl r1, r1, #0x18 lsr r0, r0, #8 lsr r1, r1, #0x10 orr r0, r3 orr r0, r1 add r6, r2, #0 orr r6, r0 ldr r0, _022386B0 ; =0x0223B69C mov r4, #0 ldr r0, [r0] cmp r0, #0 bls _022386A6 ldr r5, _022386B4 ; =0x0223B69C add r7, sp, #0x80 _02238652: ldr r0, [r5] cmp r6, r0 bne _0223869C mov r0, #1 bl CTRDG_Enable mov r0, #0x81 ldr r2, _022386B8 ; =0x000004A8 lsl r0, r0, #0x14 add r1, r7, #0 bl CTRDG_CpuCopy8 ldr r0, _022386BC ; =0x08020000 add r1, sp, #0 mov r2, #0x80 bl CTRDG_CpuCopy8 mov r0, #0 bl CTRDG_Enable ldr r0, _022386C0 ; =MOD83_02238608 ldr r1, _022386C4 ; =FUN_02016A18 bl SetCustomAllocator ldr r1, _022386B8 ; =0x000004A8 ldr r3, _022386C8 ; =0x0223A6B4 add r0, r7, #0 add r2, sp, #0 bl FUN_020910EC cmp r0, #0 beq _0223869C add sp, #0x1fc add sp, #0x1fc add sp, #0x130 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _0223869C: add r5, r5, #4 ldr r0, [r5] add r4, r4, #1 cmp r4, r0 blo _02238652 _022386A6: mov r0, #0 add sp, #0x1fc add sp, #0x1fc add sp, #0x130 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _022386B0: .word 0x0223B69C _022386B4: .word 0x0223B69C _022386B8: .word 0x000004A8 _022386BC: .word 0x08020000 _022386C0: .word MOD83_02238608 _022386C4: .word FUN_02016A18 _022386C8: .word 0x0223A6B4 thumb_func_end MOD83_0223861C thumb_func_start MOD83_022386CC MOD83_022386CC: ; 0x022386CC push {r3, lr} bl CTRDG_Init bl CTRDG_IsAgbCartridge cmp r0, #0 bne _022386DE mov r0, #0 pop {r3, pc} _022386DE: bl CTRDG_GetAgbMakerCode ldr r1, _022386FC ; =0x00003130 cmp r0, r1 beq _022386EC mov r0, #0 pop {r3, pc} _022386EC: bl MOD83_0223861C cmp r0, #0 beq _022386F8 mov r0, #1 pop {r3, pc} _022386F8: mov r0, #0 pop {r3, pc} .align 2, 0 _022386FC: .word 0x00003130 thumb_func_end MOD83_022386CC thumb_func_start MOD83_02238700 MOD83_02238700: ; 0x02238700 push {r3, lr} bl MOD83_022386CC cmp r0, #0 bne _0223870E mov r0, #0 pop {r3, pc} _0223870E: mov r0, #1 bl CTRDG_Enable mov r0, #0x81 lsl r0, r0, #0x14 add r1, sp, #0 bl CTRDG_Read32 mov r0, #0 bl CTRDG_Enable ldr r0, [sp] pop {r3, pc} thumb_func_end MOD83_02238700 thumb_func_start MOD83_02238728 MOD83_02238728: ; 0x02238728 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD83_022386CC cmp r0, #0 bne _0223873A mov r0, #0 pop {r3, r4, r5, pc} _0223873A: cmp r4, #0 bne _02238744 bl MOD83_02238700 add r4, r0, #0 _02238744: mov r0, #1 bl CTRDG_Enable ldr r0, _0223876C ; =0x08100100 add r1, r5, #0 add r2, r4, #0 bl CTRDG_CpuCopy16 add r4, r0, #0 mov r0, #0 bl CTRDG_Enable bl CTRDG_IsExisting cmp r0, #0 bne _02238768 mov r0, #0 pop {r3, r4, r5, pc} _02238768: add r0, r4, #0 pop {r3, r4, r5, pc} .align 2, 0 _0223876C: .word 0x08100100 thumb_func_end MOD83_02238728 thumb_func_start MOD83_02238770 MOD83_02238770: ; 0x02238770 push {r3, r4, r5, r6} add r4, r0, #0 mov r0, #0 ldr r6, _02238798 ; =0x0223BC30 add r1, r0, #0 add r2, r0, #0 add r3, r0, #0 mov r5, #0x75 _02238780: stmia r6!, {r0, r1, r2, r3} stmia r6!, {r0, r1, r2, r3} sub r5, r5, #1 bne _02238780 str r0, [r6] ldr r0, _0223879C ; =0x0223BC30 mov r1, #1 str r1, [r0] str r4, [r0, #4] pop {r3, r4, r5, r6} bx lr nop _02238798: .word 0x0223BC30 _0223879C: .word 0x0223BC30 thumb_func_end MOD83_02238770 thumb_func_start MOD83_022387A0 MOD83_022387A0: ; 0x022387A0 push {r4, r5, r6, lr} add r5, r0, #0 add r4, r2, #0 add r6, r1, #0 mov r0, #3 add r2, r3, #0 bl FUN_0201681C add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl FUN_02006268 mov r1, #0 add r2, r4, #0 add r5, r0, #0 bl Call_FillMemWithValue mov r0, #0 add r1, r0, #0 bl FUN_0200E3A0 mov r0, #1 mov r1, #0 bl FUN_0200E3A0 add r0, r5, #0 pop {r4, r5, r6, pc} thumb_func_end MOD83_022387A0 thumb_func_start MOD83_022387D8 MOD83_022387D8: ; 0x022387D8 push {r4, r5, r6, r7, lr} sub sp, #0x1c ldr r5, _0223885C ; =0x0223A760 add r6, r3, #0 add r7, r0, #0 add r4, r1, #0 ldmia r5!, {r0, r1} add r3, sp, #0 stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r5] cmp r2, #4 str r0, [r3] add r0, sp, #0 strb r2, [r0, #0x10] bhi _02238832 add r0, r2, r2 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0223880A: ; jump table .short _02238832 - _0223880A - 2 ; case 0 .short _02238814 - _0223880A - 2 ; case 1 .short _0223881C - _0223880A - 2 ; case 2 .short _02238824 - _0223880A - 2 ; case 3 .short _0223882C - _0223880A - 2 ; case 4 _02238814: mov r0, #2 lsl r0, r0, #0xa str r0, [sp, #8] b _02238832 _0223881C: mov r0, #1 lsl r0, r0, #0xc str r0, [sp, #8] b _02238832 _02238824: mov r0, #1 lsl r0, r0, #0xc str r0, [sp, #8] b _02238832 _0223882C: mov r0, #2 lsl r0, r0, #0xc str r0, [sp, #8] _02238832: lsr r1, r6, #0xb add r0, sp, #0 strb r1, [r0, #0x12] ldr r1, [sp, #0x30] add r2, sp, #0 lsr r1, r1, #0xe strb r1, [r0, #0x13] lsl r1, r4, #0x18 add r0, r7, #0 lsr r1, r1, #0x18 mov r3, #0 bl FUN_02016C18 lsl r1, r4, #0x18 add r0, r7, #0 lsr r1, r1, #0x18 bl FUN_02018744 add sp, #0x1c pop {r4, r5, r6, r7, pc} nop _0223885C: .word 0x0223A760 thumb_func_end MOD83_022387D8 thumb_func_start MOD83_02238860 MOD83_02238860: ; 0x02238860 ldr r1, _02238868 ; =0x0223BC30 str r0, [r1, #0xc] bx lr nop _02238868: .word 0x0223BC30 thumb_func_end MOD83_02238860 thumb_func_start MOD83_0223886C MOD83_0223886C: ; 0x0223886C push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 str r0, [sp, #0xc] ldr r0, _022388C0 ; =0x0223BC30 add r5, r1, #0 ldr r0, [r0, #0xc] add r4, r2, #0 add r6, r3, #0 ldr r7, _022388C4 ; =0x0223BC30 cmp r0, #0 bne _0223889C mov r0, #6 str r0, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, [r7, #4] ldr r1, [sp, #0xc] str r0, [sp, #8] mov r0, #0 add r2, r1, #0 add r3, r0, #0 bl FUN_0200E1D0 b _022388B4 _0223889C: mov r0, #6 str r0, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, [r7, #4] ldr r1, [sp, #0xc] str r0, [sp, #8] ldr r3, _022388C8 ; =0x00007FFF mov r0, #0 add r2, r1, #0 bl FUN_0200E1D0 _022388B4: cmp r4, #0 beq _022388BA str r6, [r4] _022388BA: str r5, [r7, #8] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _022388C0: .word 0x0223BC30 _022388C4: .word 0x0223BC30 _022388C8: .word 0x00007FFF thumb_func_end MOD83_0223886C thumb_func_start MOD83_022388CC MOD83_022388CC: ; 0x022388CC push {r3, r4, r5, lr} add r4, r0, #0 ldr r5, _022388E0 ; =0x0223BC30 bl FUN_0200E308 cmp r0, #0 beq _022388DE ldr r0, [r5, #8] str r0, [r4] _022388DE: pop {r3, r4, r5, pc} .align 2, 0 _022388E0: .word 0x0223BC30 thumb_func_end MOD83_022388CC thumb_func_start MOD83_022388E4 MOD83_022388E4: ; 0x022388E4 push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r6, r2, #0 mov r1, #0 mov r2, #0x54 add r5, r0, #0 add r7, r3, #0 bl Call_FillMemWithValue mov r0, #1 str r0, [r5, #4] str r0, [r5, #8] sub r0, r0, #2 str r0, [r5, #0x4c] str r4, [r5, #0x10] str r6, [r5, #0x30] ldr r0, [sp, #0x18] str r7, [r5, #0x34] str r0, [r5, #0x38] ldr r0, [sp, #0x1c] mov r2, #0 str r0, [r5, #0x3c] str r2, [r5, #0x2c] ldr r0, _02238930 ; =0x0001020F str r2, [r5, #0x40] str r0, [r5, #0x44] add r0, r5, #0 mov r1, #0xf add r0, #0x48 strb r1, [r0] str r2, [r5] str r2, [r5, #0x24] str r2, [r5, #0x20] str r2, [r5, #0x14] mov r0, #0xff str r0, [r5, #0x50] pop {r3, r4, r5, r6, r7, pc} nop _02238930: .word 0x0001020F thumb_func_end MOD83_022388E4 thumb_func_start MOD83_02238934 MOD83_02238934: ; 0x02238934 str r1, [r0, #0x18] str r2, [r0, #0x1c] str r3, [r0, #0x28] bx lr thumb_func_end MOD83_02238934 thumb_func_start MOD83_0223893C MOD83_0223893C: ; 0x0223893C str r1, [r0] str r2, [r0, #0x40] bx lr .align 2, 0 thumb_func_end MOD83_0223893C thumb_func_start MOD83_02238944 MOD83_02238944: ; 0x02238944 str r1, [r0, #0x20] str r2, [r0, #0x24] bx lr .align 2, 0 thumb_func_end MOD83_02238944 thumb_func_start MOD83_0223894C MOD83_0223894C: ; 0x0223894C push {r4, r5, r6, r7, lr} sub sp, #0x14 add r5, r0, #0 mov r0, #0 mvn r0, r0 ldr r4, _02238A34 ; =0x0223BC30 cmp r1, r0 beq _02238A2A ldr r0, [r5, #0x4c] cmp r0, r1 beq _02238A2A str r1, [r5, #0x4c] ldr r0, [r5, #8] cmp r0, #1 bne _02238976 add r1, r5, #0 add r1, #0x48 ldrb r1, [r1] ldr r0, [r5, #0x10] bl FUN_02019620 _02238976: mov r0, #0 ldr r1, [r5, #0x4c] mvn r0, r0 cmp r1, r0 beq _02238A2A ldr r2, [r5, #0x34] ldr r3, [r4, #4] mov r0, #1 mov r1, #0x1a bl FUN_0200A86C ldr r6, [r5, #0x14] str r0, [sp, #0x10] cmp r6, #0 bne _0223899C ldr r0, [r4, #4] bl FUN_0200AA80 add r6, r0, #0 _0223899C: ldr r1, [sp, #0x10] ldr r2, [r5, #0x4c] ldr r3, [r4, #4] add r0, r6, #0 bl FUN_0200A9C4 add r4, r0, #0 ldr r0, [r5, #0xc] cmp r0, #0 bne _022389D0 ldr r0, [r5, #0x24] add r2, r4, #0 str r0, [sp] ldr r0, [r5, #0x50] str r0, [sp, #4] ldr r0, [r5, #0x44] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] ldr r0, [r5, #0x10] ldr r1, [r5, #0x40] ldr r3, [r5, #0x20] bl FUN_0201BDE0 add r7, r0, #0 b _02238A12 _022389D0: ldr r0, [r5, #0x40] mov r1, #2 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bl FUN_02002E4C add r2, r0, #0 ldr r0, [r5, #0x40] add r1, r4, #0 bl FUN_02002E14 add r7, r0, #0 ldr r0, [r5, #0x10] bl FUN_0201AB0C lsl r0, r0, #3 sub r3, r0, r7 ldr r0, [r5, #0x24] add r2, r4, #0 str r0, [sp] ldr r0, [r5, #0x50] str r0, [sp, #4] ldr r0, [r5, #0x44] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] ldr r0, [r5, #0x10] ldr r1, [r5, #0x40] bl FUN_0201BDE0 add r7, r0, #0 mov r0, #0 str r0, [r5, #0xc] _02238A12: add r0, r4, #0 bl FUN_02021A20 ldr r0, [r5, #0x14] cmp r0, #0 bne _02238A24 add r0, r6, #0 bl FUN_0200AB18 _02238A24: ldr r0, [sp, #0x10] bl FUN_0200A8B8 _02238A2A: mov r0, #0xff str r0, [r5, #0x50] add r0, r7, #0 add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _02238A34: .word 0x0223BC30 thumb_func_end MOD83_0223894C thumb_func_start MOD83_02238A38 MOD83_02238A38: ; 0x02238A38 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r4, r1, #0 ldr r1, [r4, #0x10] add r6, r2, #0 ldr r2, [r1] add r5, r3, #0 cmp r2, #0 bne _02238A8A lsl r2, r5, #0x18 lsr r2, r2, #0x18 str r2, [sp] ldr r2, [r4, #0x18] lsl r3, r6, #0x18 lsl r2, r2, #0x18 lsr r2, r2, #0x18 str r2, [sp, #4] ldr r2, [r4, #0x1c] lsr r3, r3, #0x18 lsl r2, r2, #0x18 lsr r2, r2, #0x18 str r2, [sp, #8] ldr r2, [r4, #0x30] lsl r2, r2, #0x18 lsr r2, r2, #0x18 str r2, [sp, #0xc] ldr r2, [r4, #0x28] lsl r2, r2, #0x10 lsr r2, r2, #0x10 str r2, [sp, #0x10] ldr r2, [r4, #0x2c] lsl r2, r2, #0x18 lsr r2, r2, #0x18 bl FUN_02019064 ldr r1, [sp, #0x28] add r0, r4, #0 bl MOD83_0223894C add r5, r0, #0 b _02238AB8 _02238A8A: mov r0, #0 mvn r0, r0 cmp r6, r0 beq _02238A9C add r0, r1, #0 lsl r1, r6, #0x18 lsr r1, r1, #0x18 bl FUN_0201AB1C _02238A9C: mov r0, #0 mvn r0, r0 cmp r5, r0 beq _02238AAE lsl r1, r5, #0x18 ldr r0, [r4, #0x10] lsr r1, r1, #0x18 bl FUN_0201AB20 _02238AAE: ldr r1, [sp, #0x28] add r0, r4, #0 bl MOD83_0223894C add r5, r0, #0 _02238AB8: ldr r0, [r4, #4] cmp r0, #1 bne _02238AEC ldr r0, [r4] cmp r0, #0 ldr r0, [r4, #0x10] bne _02238ADA ldr r2, [r4, #0x38] ldr r3, [r4, #0x3c] lsl r2, r2, #0x10 lsl r3, r3, #0x18 mov r1, #0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 bl FUN_0200CCA4 b _02238AEC _02238ADA: ldr r2, [r4, #0x38] ldr r3, [r4, #0x3c] lsl r2, r2, #0x10 lsl r3, r3, #0x18 mov r1, #0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 bl FUN_0200D0BC _02238AEC: add r0, r5, #0 add sp, #0x14 pop {r3, r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD83_02238A38 thumb_func_start MOD83_02238AF4 MOD83_02238AF4: ; 0x02238AF4 ldr r1, [r0, #0x18] ldr r0, [r0, #0x1c] mul r0, r1 bx lr thumb_func_end MOD83_02238AF4 thumb_func_start MOD83_02238AFC MOD83_02238AFC: ; 0x02238AFC push {r4, lr} sub sp, #0x10 ldr r4, _02238B30 ; =0x0223A734 add r3, sp, #0 add r2, r3, #0 ldmia r4!, {r0, r1} stmia r3!, {r0, r1} ldmia r4!, {r0, r1} stmia r3!, {r0, r1} ldr r0, _02238B34 ; =0x0223BC30 ldr r0, [r0, #4] str r0, [sp, #0xc] add r0, r2, #0 bl FUN_0201D040 ldr r1, _02238B34 ; =0x0223BC30 mov r0, #0x14 ldr r1, [r1, #4] bl FUN_0201E00C bl FUN_0201D168 bl FUN_0201E0BC add sp, #0x10 pop {r4, pc} .align 2, 0 _02238B30: .word 0x0223A734 _02238B34: .word 0x0223BC30 thumb_func_end MOD83_02238AFC thumb_func_start MOD83_02238B38 MOD83_02238B38: ; 0x02238B38 ldr r0, _02238B48 ; =0x0223BC30 ldr r0, [r0, #0x30] cmp r0, #0 beq _02238B44 mov r0, #1 bx lr _02238B44: mov r0, #0 bx lr .align 2, 0 _02238B48: .word 0x0223BC30 thumb_func_end MOD83_02238B38 thumb_func_start MOD83_02238B4C MOD83_02238B4C: ; 0x02238B4C push {r4, r5, r6, r7, lr} sub sp, #0x14 ldr r6, _02238BB4 ; =0x0223BC30 bl FUN_020B0FC0 mov r0, #0 str r0, [sp] mov r1, #0x7e str r1, [sp, #4] str r0, [sp, #8] mov r3, #0x20 ldr r2, _02238BB8 ; =0x0223BC30 str r3, [sp, #0xc] ldr r2, [r2, #4] str r2, [sp, #0x10] add r2, r0, #0 bl FUN_02009EAC ldr r2, _02238BB8 ; =0x0223BC30 ldr r1, _02238BBC ; =0x0223BC64 ldr r2, [r2, #4] mov r0, #0x46 bl FUN_02008C9C ldr r1, _02238BB8 ; =0x0223BC30 mov r2, #1 str r0, [r1, #0x30] ldr r0, _02238BBC ; =0x0223BC64 mov r1, #0 lsl r2, r2, #0x14 bl FUN_02008D24 mov r1, #3 mov r7, #0x57 ldr r0, _02238BC0 ; =0x0223BE30 lsl r1, r1, #0x12 str r1, [r0, #0xc] mov r4, #0 add r5, r6, #0 lsl r7, r7, #2 _02238B9C: ldr r2, [r6, #4] mov r0, #3 add r1, r4, #0 bl FUN_02008DEC str r0, [r5, r7] add r4, r4, #1 add r5, r5, #4 cmp r4, #6 blt _02238B9C add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _02238BB4: .word 0x0223BC30 _02238BB8: .word 0x0223BC30 _02238BBC: .word 0x0223BC64 _02238BC0: .word 0x0223BE30 thumb_func_end MOD83_02238B4C thumb_func_start MOD83_02238BC4 MOD83_02238BC4: ; 0x02238BC4 push {r3, r4, r5, r6, r7, lr} sub sp, #0x38 ldr r4, [sp, #0x54] add r6, r0, #0 mov ip, r1 str r2, [sp, #0x2c] str r3, [sp, #0x30] ldr r5, _02238D30 ; =0x0223BC30 cmp r4, #0 bne _02238BDC mov r7, #1 b _02238BDE _02238BDC: mov r7, #2 _02238BDE: mov r0, #1 str r0, [sp, #0x34] cmp r6, #0x10 bne _02238BEA mov r0, #0 str r0, [sp, #0x34] _02238BEA: mov r1, #0 mvn r1, r1 mov r0, ip cmp r0, r1 beq _02238C18 str r4, [sp] str r7, [sp, #4] ldr r0, [r5, #4] ldr r3, [sp, #0x34] str r0, [sp, #8] mov r0, #0x57 lsl r0, r0, #2 ldr r0, [r5, r0] add r1, r6, #0 mov r2, ip bl FUN_02008F34 mov r1, #0x18 mul r1, r4 add r2, r5, r1 mov r1, #0x5d lsl r1, r1, #2 str r0, [r2, r1] _02238C18: mov r1, #0 ldr r0, [sp, #0x2c] mvn r1, r1 cmp r0, r1 beq _02238C4A str r4, [sp] str r7, [sp, #4] mov r0, #3 str r0, [sp, #8] ldr r0, [r5, #4] ldr r2, [sp, #0x2c] str r0, [sp, #0xc] mov r0, #0x16 lsl r0, r0, #4 ldr r0, [r5, r0] add r1, r6, #0 mov r3, #0 bl FUN_02008FEC mov r1, #0x18 mul r1, r4 add r2, r5, r1 mov r1, #0x5e lsl r1, r1, #2 str r0, [r2, r1] _02238C4A: mov r1, #0 ldr r0, [sp, #0x30] mvn r1, r1 cmp r0, r1 beq _02238C7A str r4, [sp] mov r0, #2 str r0, [sp, #4] ldr r0, [r5, #4] ldr r2, [sp, #0x30] str r0, [sp, #8] mov r0, #0x59 lsl r0, r0, #2 ldr r0, [r5, r0] ldr r3, [sp, #0x34] add r1, r6, #0 bl FUN_020090AC mov r1, #0x18 mul r1, r4 add r2, r5, r1 mov r1, #0x5f lsl r1, r1, #2 str r0, [r2, r1] _02238C7A: mov r0, #0 ldr r2, [sp, #0x50] mvn r0, r0 cmp r2, r0 beq _02238CA8 str r4, [sp] mov r0, #3 str r0, [sp, #4] ldr r0, [r5, #4] ldr r3, [sp, #0x34] str r0, [sp, #8] mov r0, #0x5a lsl r0, r0, #2 ldr r0, [r5, r0] add r1, r6, #0 bl FUN_020090AC mov r1, #0x18 add r2, r4, #0 mul r2, r1 add r2, r5, r2 lsl r1, r1, #4 str r0, [r2, r1] _02238CA8: mov r0, #0x18 add r6, r4, #0 mul r6, r0 mov r0, #0x5d add r1, r5, r6 lsl r0, r0, #2 ldr r0, [r1, r0] bl FUN_02009A50 mov r0, #0x5e add r1, r5, r6 lsl r0, r0, #2 ldr r0, [r1, r0] bl FUN_02009CF0 mov r0, #0 mov r2, #0x57 str r4, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] str r0, [sp, #0x10] lsl r2, r2, #2 ldr r1, [r5, r2] add r3, r4, #0 str r1, [sp, #0x14] add r1, r2, #4 ldr r1, [r5, r1] str r1, [sp, #0x18] add r1, r2, #0 add r1, #8 ldr r1, [r5, r1] str r1, [sp, #0x1c] add r1, r2, #0 add r1, #0xc ldr r1, [r5, r1] add r2, #0x48 str r1, [sp, #0x20] str r0, [sp, #0x24] str r0, [sp, #0x28] mov r0, #0x24 add r1, r5, r2 mul r0, r4 add r0, r1, r0 add r1, r4, #0 add r2, r4, #0 bl FUN_02008AA4 cmp r4, #0 bne _02238D1A mov r0, #0x10 mov r1, #1 bl FUN_0201E6E4 b _02238D22 _02238D1A: mov r0, #0x10 mov r1, #1 bl FUN_0201E74C _02238D22: ldr r0, _02238D34 ; =MOD83_02238F00 mov r1, #0 bl FUN_02015F10 add sp, #0x38 pop {r3, r4, r5, r6, r7, pc} nop _02238D30: .word 0x0223BC30 _02238D34: .word MOD83_02238F00 thumb_func_end MOD83_02238BC4 thumb_func_start MOD83_02238D38 MOD83_02238D38: ; 0x02238D38 push {r4, lr} add r2, r0, #0 add r4, r1, #0 add r1, r2, #0 ldr r0, _02238D50 ; =0x0223BC64 add r2, r4, #0 bl FUN_02008D24 ldr r0, _02238D54 ; =0x0223BE30 str r4, [r0, #0xc] pop {r4, pc} nop _02238D50: .word 0x0223BC64 _02238D54: .word 0x0223BE30 thumb_func_end MOD83_02238D38 thumb_func_start MOD83_02238D58 MOD83_02238D58: ; 0x02238D58 push {r4, lr} ldr r0, _02238DB4 ; =0x0223BE30 ldr r4, _02238DB8 ; =0x0223BC30 ldr r0, [r0, #4] cmp r0, #0 beq _02238DA6 mov r0, #0x82 lsl r0, r0, #2 ldr r1, [r4, r0] cmp r1, #0 bne _02238DA2 sub r0, r0, #4 ldr r0, [r4, r0] bl FUN_02020128 cmp r0, #0 bne _02238D86 mov r0, #0x81 lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #1 bl FUN_020200A0 _02238D86: mov r0, #0x81 lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_0202011C mov r1, #6 ldr r2, [r0, #4] lsl r1, r1, #0x12 cmp r2, r1 bge _02238DA6 lsr r1, r1, #7 add r1, r2, r1 str r1, [r0, #4] b _02238DA6 _02238DA2: sub r1, r1, #1 str r1, [r4, r0] _02238DA6: ldr r0, [r4, #0x30] cmp r0, #0 beq _02238DB0 bl FUN_0201FDEC _02238DB0: pop {r4, pc} nop _02238DB4: .word 0x0223BE30 _02238DB8: .word 0x0223BC30 thumb_func_end MOD83_02238D58 thumb_func_start MOD83_02238DBC MOD83_02238DBC: ; 0x02238DBC push {r3, r4, r5, lr} sub sp, #0x30 add r4, r1, #0 ldr r1, _02238E44 ; =0x0223BC30 bne _02238E1E ldr r4, [r1, #0x30] lsl r2, r2, #0xc str r4, [sp] mov r4, #0x69 lsl r4, r4, #2 add r5, r1, r4 mov r4, #0x24 mul r4, r0 add r4, r5, r4 str r4, [sp, #4] mov r4, #1 lsl r4, r4, #0xc mov r5, #0 str r5, [sp, #0x10] str r4, [sp, #0x14] str r4, [sp, #0x18] str r4, [sp, #0x1c] add r4, sp, #0 strh r5, [r4, #0x20] str r2, [sp, #8] lsl r2, r3, #0xc str r2, [sp, #0xc] mov r2, #0xa str r2, [sp, #0x24] cmp r0, #0 bne _02238DFE mov r2, #1 b _02238E00 _02238DFE: mov r2, #2 _02238E00: ldr r0, [r1, #4] str r2, [sp, #0x28] str r0, [sp, #0x2c] cmp r2, #2 bne _02238E16 mov r0, #0x83 lsl r0, r0, #2 ldr r2, [sp, #0xc] ldr r0, [r1, r0] add r0, r2, r0 str r0, [sp, #0xc] _02238E16: add r0, sp, #0 bl FUN_0201FE94 add r4, r0, #0 _02238E1E: add r0, r4, #0 mov r1, #1 bl FUN_020200BC add r0, r4, #0 mov r1, #0 bl FUN_02020238 ldr r1, [sp, #0x40] add r0, r4, #0 bl FUN_02020130 add r0, r4, #0 mov r1, #1 bl FUN_020200A0 add r0, r4, #0 add sp, #0x30 pop {r3, r4, r5, pc} .align 2, 0 _02238E44: .word 0x0223BC30 thumb_func_end MOD83_02238DBC thumb_func_start MOD83_02238E48 MOD83_02238E48: ; 0x02238E48 push {r3, r4, r5, r6, r7, lr} ldr r0, _02238EE8 ; =0x0223BE30 ldr r4, _02238EEC ; =0x0223BC30 ldr r0, [r0, #4] cmp r0, #0 beq _02238E66 mov r0, #0x81 lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_0201FFC8 mov r0, #0x81 mov r1, #0 lsl r0, r0, #2 str r1, [r4, r0] _02238E66: mov r1, #0x51 ldr r0, _02238EF0 ; =0x0223BC60 lsl r1, r1, #2 ldr r0, [r0, r1] cmp r0, #0 beq _02238E76 bl FUN_02009C0C _02238E76: mov r1, #0x57 ldr r0, _02238EF0 ; =0x0223BC60 lsl r1, r1, #2 ldr r0, [r0, r1] cmp r0, #0 beq _02238E86 bl FUN_02009C0C _02238E86: mov r1, #0x52 ldr r0, _02238EF0 ; =0x0223BC60 lsl r1, r1, #2 ldr r0, [r0, r1] cmp r0, #0 beq _02238E96 bl FUN_02009E04 _02238E96: mov r1, #0x16 ldr r0, _02238EF0 ; =0x0223BC60 lsl r1, r1, #4 ldr r0, [r0, r1] cmp r0, #0 beq _02238EA6 bl FUN_02009E04 _02238EA6: mov r4, #0 mov r7, #0x4b ldr r5, _02238EF0 ; =0x0223BC60 add r6, r4, #0 lsl r7, r7, #2 _02238EB0: mov r0, #0x4b lsl r0, r0, #2 ldr r0, [r5, r0] bl FUN_02008E2C str r6, [r5, r7] add r4, r4, #1 add r5, r5, #4 cmp r4, #6 blt _02238EB0 ldr r0, _02238EF0 ; =0x0223BC60 ldr r0, [r0] bl FUN_0201FD58 ldr r0, _02238EF0 ; =0x0223BC60 mov r1, #0 str r1, [r0] bl FUN_02009FA0 bl FUN_0201D12C bl FUN_0201E08C mov r0, #0 add r1, r0, #0 bl FUN_02015F10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02238EE8: .word 0x0223BE30 _02238EEC: .word 0x0223BC30 _02238EF0: .word 0x0223BC60 thumb_func_end MOD83_02238E48 thumb_func_start MOD83_02238EF4 MOD83_02238EF4: ; 0x02238EF4 mov r1, #1 sub r0, #0xa lsl r1, r0 add r0, r1, #0 bx lr .align 2, 0 thumb_func_end MOD83_02238EF4 thumb_func_start MOD83_02238F00 MOD83_02238F00: ; 0x02238F00 push {r4, lr} ldr r0, _02238F34 ; =0x0223CAB0 ldr r4, _02238F38 ; =0x0223BC30 ldr r0, [r0, #0x20] cmp r0, #0 beq _02238F1E mov r1, #0xea lsl r1, r1, #4 ldr r1, [r4, r1] add r0, r4, #0 blx r1 mov r0, #0xea mov r1, #0 lsl r0, r0, #4 str r1, [r4, r0] _02238F1E: bl FUN_0201C30C bl FUN_02009F80 ldr r3, _02238F3C ; =0x027E0000 ldr r1, _02238F40 ; =0x00003FF8 mov r0, #1 ldr r2, [r3, r1] orr r0, r2 str r0, [r3, r1] pop {r4, pc} .align 2, 0 _02238F34: .word 0x0223CAB0 _02238F38: .word 0x0223BC30 _02238F3C: .word 0x027E0000 _02238F40: .word 0x00003FF8 thumb_func_end MOD83_02238F00 thumb_func_start MOD83_02238F44 MOD83_02238F44: ; 0x02238F44 push {r4} sub sp, #0x1c ldr r4, _02238F90 ; =0x0223A744 add r3, sp, #0 mov r2, #0x1a _02238F4E: ldrb r1, [r4] add r4, r4, #1 strb r1, [r3] add r3, r3, #1 sub r2, r2, #1 bne _02238F4E add r1, sp, #0 ldrb r2, [r1] mov r3, #0 sub r1, r3, #1 cmp r2, r1 beq _02238F88 add r4, sp, #0 sub r1, r3, #1 _02238F6A: ldrb r2, [r4] cmp r0, r2 bne _02238F7E add r0, sp, #0 lsl r1, r3, #1 add r0, #1 add sp, #0x1c ldrb r0, [r0, r1] pop {r4} bx lr _02238F7E: add r4, r4, #2 ldrb r2, [r4] add r3, r3, #1 cmp r2, r1 bne _02238F6A _02238F88: mov r0, #0 add sp, #0x1c pop {r4} bx lr .align 2, 0 _02238F90: .word 0x0223A744 thumb_func_end MOD83_02238F44 thumb_func_start MOD83_02238F94 MOD83_02238F94: ; 0x02238F94 push {r3, r4, r5, r6, r7, lr} sub sp, #0x28 str r0, [sp, #0x20] add r5, r1, #0 add r7, r2, #0 add r6, r3, #0 ldr r4, [sp, #0x40] bl FUN_020689E0 str r0, [sp, #0x24] ldr r0, [sp, #0x20] bl FUN_02068A80 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp] lsl r0, r7, #0x18 ldr r2, [sp, #0x24] lsr r0, r0, #0x18 str r0, [sp, #4] mov r0, #0 lsl r1, r5, #0x10 lsl r2, r2, #0x18 str r0, [sp, #8] add r0, r4, #0 lsr r1, r1, #0x10 lsr r2, r2, #0x18 mov r3, #2 bl FUN_02068C00 mov r1, #0 ldr r0, [sp, #0x20] add r2, r1, #0 bl FUN_020671BC mov r3, #0 str r3, [sp] mov r1, #0xa str r1, [sp, #4] str r1, [sp, #8] str r6, [sp, #0xc] str r0, [sp, #0x10] str r3, [sp, #0x14] mov r0, #2 str r0, [sp, #0x18] str r5, [sp, #0x1c] ldr r2, _0223902C ; =0x0223BC30 ldrh r0, [r4] ldrh r1, [r4, #2] ldr r2, [r2, #4] bl FUN_020124B4 mov r1, #0x32 add r0, r6, #0 lsl r1, r1, #6 bl DC_FlushRange mov r1, #0x32 lsl r1, r1, #6 add r0, r6, #0 add r2, r1, #0 bl GXS_LoadOBJ mov r0, #0x20 str r0, [sp] ldr r0, _0223902C ; =0x0223BC30 mov r2, #5 ldr r0, [r0, #4] mov r3, #0x60 str r0, [sp, #4] ldrh r0, [r4] ldrh r1, [r4, #4] bl FUN_02006930 add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _0223902C: .word 0x0223BC30 thumb_func_end MOD83_02238F94 thumb_func_start MOD83_02239030 MOD83_02239030: ; 0x02239030 push {r4, lr} sub sp, #8 add r4, r0, #0 mov r0, #0x21 str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #0x74 mov r1, #0x23 mov r2, #0x20 mov r3, #0x22 bl MOD83_02238BC4 mov r1, #1 mov r0, #0 lsl r1, r1, #0x14 bl MOD83_02238D38 mov r3, #0 mov r1, #0x81 str r3, [sp] lsl r1, r1, #2 ldr r1, [r4, r1] mov r0, #1 mov r2, #0x80 bl MOD83_02238DBC mov r1, #0x81 lsl r1, r1, #2 str r0, [r4, r1] add sp, #8 pop {r4, pc} thumb_func_end MOD83_02239030 thumb_func_start MOD83_02239070 MOD83_02239070: ; 0x02239070 push {r4, r5, r6, lr} sub sp, #8 add r5, r0, #0 mov r0, #0xc str r0, [sp] mov r0, #1 add r6, r1, #0 add r4, r2, #0 str r0, [sp, #4] mov r0, #0x36 mov r1, #0xa mov r2, #0 mov r3, #0xb bl MOD83_02238BC4 mov r1, #1 mov r0, #0 lsl r1, r1, #0x14 bl MOD83_02238D38 mov r0, #1 mov r1, #0x81 str r0, [sp] lsl r1, r1, #2 ldr r1, [r5, r1] mov r2, #0x80 mov r3, #0 bl MOD83_02238DBC mov r3, #0x81 lsl r3, r3, #2 add r4, #8 str r0, [r5, r3] cmp r6, #1 beq _022390C2 cmp r6, #2 beq _022390F4 cmp r6, #7 beq _02239110 add sp, #8 pop {r4, r5, r6, pc} _022390C2: add r0, r4, #0 mov r1, #5 mov r2, #0 bl FUN_020671BC add r6, r0, #0 add r0, r4, #0 mov r1, #0x70 mov r2, #0 bl FUN_020671BC add r2, r0, #0 mov r0, #0xe9 lsl r0, r0, #4 mov r3, #0x21 add r0, r5, r0 lsl r3, r3, #4 str r0, [sp] add r0, r4, #0 add r1, r6, #0 add r3, r5, r3 bl MOD83_02238F94 add sp, #8 pop {r4, r5, r6, pc} _022390F4: mov r0, #0xe9 lsl r0, r0, #4 add r1, r3, #0 add r0, r5, r0 add r3, #0xc str r0, [sp] add r0, r4, #0 sub r1, #0x16 mov r2, #0 add r3, r5, r3 bl MOD83_02238F94 add sp, #8 pop {r4, r5, r6, pc} _02239110: mov r0, #0xe9 lsl r0, r0, #4 add r1, r3, #0 add r0, r5, r0 add r3, #0xc str r0, [sp] add r0, r4, #0 sub r1, #0x16 mov r2, #1 add r3, r5, r3 bl MOD83_02238F94 add sp, #8 pop {r4, r5, r6, pc} thumb_func_end MOD83_02239070 thumb_func_start MOD83_0223912C MOD83_0223912C: ; 0x0223912C push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r5, r0, #0 cmp r1, #0xa bhi _02239168 add r0, r1, r1 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02239142: ; jump table .short _02239168 - _02239142 - 2 ; case 0 .short _02239168 - _02239142 - 2 ; case 1 .short _02239168 - _02239142 - 2 ; case 2 .short _02239158 - _02239142 - 2 ; case 3 .short _02239168 - _02239142 - 2 ; case 4 .short _02239168 - _02239142 - 2 ; case 5 .short _02239168 - _02239142 - 2 ; case 6 .short _02239168 - _02239142 - 2 ; case 7 .short _0223915C - _02239142 - 2 ; case 8 .short _02239160 - _02239142 - 2 ; case 9 .short _02239166 - _02239142 - 2 ; case 10 _02239158: ldr r4, [r2, #4] b _02239168 _0223915C: ldr r4, _022391C4 ; =0x000001C6 b _02239168 _02239160: mov r4, #0x71 lsl r4, r4, #2 b _02239168 _02239166: ldr r4, _022391C8 ; =0x000001C7 _02239168: lsl r0, r4, #0x10 lsr r0, r0, #0x10 mov r1, #1 bl FUN_0206E640 add r7, r0, #0 lsl r0, r4, #0x10 lsr r0, r0, #0x10 mov r1, #2 bl FUN_0206E640 add r4, r0, #0 bl FUN_0206E708 add r6, r0, #0 bl FUN_0206E70C str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #0x10 add r1, r7, #0 add r2, r4, #0 add r3, r6, #0 bl MOD83_02238BC4 mov r1, #1 mov r0, #0 lsl r1, r1, #0x14 bl MOD83_02238D38 mov r3, #0 mov r1, #0x81 str r3, [sp] lsl r1, r1, #2 ldr r1, [r5, r1] mov r0, #1 mov r2, #0x80 bl MOD83_02238DBC mov r1, #0x81 lsl r1, r1, #2 str r0, [r5, r1] add sp, #8 pop {r3, r4, r5, r6, r7, pc} nop _022391C4: .word 0x000001C6 _022391C8: .word 0x000001C7 thumb_func_end MOD83_0223912C thumb_func_start MOD83_022391CC MOD83_022391CC: ; 0x022391CC push {r3, lr} sub sp, #8 mov r1, #0xc0 str r1, [sp] ldr r0, [r0, #4] mov r2, #4 add r3, r2, #0 str r0, [sp, #4] mov r0, #0x74 mov r1, #0x1d add r3, #0xfc bl FUN_02006930 add sp, #8 pop {r3, pc} .align 2, 0 thumb_func_end MOD83_022391CC thumb_func_start MOD83_022391EC MOD83_022391EC: ; 0x022391EC push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r6, r1, #0 ldrh r4, [r6] add r5, r0, #0 add r0, r4, #0 bl MOD83_02238F44 add r7, r0, #0 mov r0, #0 str r0, [sp] mov r0, #5 lsl r0, r0, #0xa str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] ldr r0, _022392DC ; =0x0223BC30 mov r1, #0x1e ldr r0, [r0, #4] add r2, r5, #0 str r0, [sp, #0xc] mov r0, #0x74 mov r3, #5 bl FUN_0200687C mov r2, #1 ldr r3, _022392DC ; =0x0223BC30 str r2, [sp] ldr r3, [r3, #4] mov r0, #0x74 mov r1, #0x1f bl FUN_02006C98 add r1, sp, #0x14 str r0, [sp, #0x10] bl FUN_020B0180 ldr r2, [sp, #0x14] mov r3, #6 add r0, r5, #0 mov r1, #5 add r2, #0xc lsl r3, r3, #8 bl FUN_02017DFC ldr r0, [sp, #0x10] bl FUN_02016A18 mov r0, #0x20 str r0, [sp] mov r0, #0x18 mov r2, #0 add r7, #8 str r0, [sp, #4] lsl r0, r7, #0x18 lsr r0, r0, #0x18 str r0, [sp, #8] add r0, r5, #0 mov r1, #5 add r3, r2, #0 bl FUN_020186B4 add r0, r5, #0 mov r1, #5 bl FUN_02017CD0 ldr r1, _022392E0 ; =MOD83_022391CC ldr r0, _022392E4 ; =0x0223CAB0 cmp r4, #0xb str r1, [r0, #0x20] bhi _022392CA add r0, r4, r4 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02239286: ; jump table .short _022392CA - _02239286 - 2 ; case 0 .short _022392B4 - _02239286 - 2 ; case 1 .short _022392B4 - _02239286 - 2 ; case 2 .short _022392C0 - _02239286 - 2 ; case 3 .short _0223929E - _02239286 - 2 ; case 4 .short _0223929E - _02239286 - 2 ; case 5 .short _0223929E - _02239286 - 2 ; case 6 .short _022392AA - _02239286 - 2 ; case 7 .short _022392C0 - _02239286 - 2 ; case 8 .short _022392C0 - _02239286 - 2 ; case 9 .short _022392C0 - _02239286 - 2 ; case 10 .short _0223929E - _02239286 - 2 ; case 11 _0223929E: ldr r0, _022392E8 ; =0x0223BC30 add r1, r4, #0 add r2, r6, #0 bl MOD83_02239030 b _022392CA _022392AA: mov r1, #0x82 ldr r0, _022392E8 ; =0x0223BC30 mov r2, #0x78 lsl r1, r1, #2 str r2, [r0, r1] _022392B4: ldr r0, _022392E8 ; =0x0223BC30 add r1, r4, #0 add r2, r6, #0 bl MOD83_02239070 b _022392CA _022392C0: ldr r0, _022392E8 ; =0x0223BC30 add r1, r4, #0 add r2, r6, #0 bl MOD83_0223912C _022392CA: mov r1, #0x81 ldr r0, _022392E8 ; =0x0223BC30 lsl r1, r1, #2 ldr r0, [r0, r1] mov r1, #0 bl FUN_020200A0 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _022392DC: .word 0x0223BC30 _022392E0: .word MOD83_022391CC _022392E4: .word 0x0223CAB0 _022392E8: .word 0x0223BC30 thumb_func_end MOD83_022391EC thumb_func_start MOD83_022392EC MOD83_022392EC: ; 0x022392EC push {r4, r5, r6, r7, lr} sub sp, #0xc add r7, r1, #0 mov r1, #2 add r5, r0, #0 add r0, r2, #0 lsl r1, r1, #8 str r2, [sp] bl FUN_02016998 ldr r1, _0223936C ; =0x0000A001 add r4, r0, #0 bl MATHi_CRC16InitTableRev add r0, r4, #0 add r1, r5, #0 mov r2, #0x50 bl MATH_CalcCRC16 add r6, r0, #0 add r0, r4, #0 bl FUN_02016A18 add r0, sp, #4 bl OS_GetMacAddress add r0, sp, #4 ldrh r1, [r0, #2] mov r2, #0 add r3, sp, #4 strh r1, [r0, #6] ldr r1, _02239370 ; =0x0000D679 strh r6, [r0, #2] _0223932E: ldrh r0, [r3] add r2, r2, #1 eor r0, r1 strh r0, [r3] ldrh r1, [r3] add r3, r3, #2 cmp r2, #4 blt _0223932E mov r1, #0x41 ldr r0, [sp] lsl r1, r1, #2 bl FUN_02016998 add r1, sp, #4 mov r2, #8 add r4, r0, #0 bl FUN_0209521C add r5, #0x50 mov r2, #0xd6 add r0, r4, #0 add r1, r5, #0 lsl r2, r2, #2 add r3, r7, #0 bl FUN_020952AC add r0, r4, #0 bl FUN_02016A18 add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 _0223936C: .word 0x0000A001 _02239370: .word 0x0000D679 thumb_func_end MOD83_022392EC thumb_func_start MOD83_02239374 MOD83_02239374: ; 0x02239374 push {r4, r5, r6, r7, lr} sub sp, #0xc add r7, r1, #0 mov r1, #2 add r5, r0, #0 add r0, r2, #0 lsl r1, r1, #8 str r2, [sp] bl FUN_02016998 ldr r1, _0223940C ; =0x0000A001 add r4, r0, #0 bl MATHi_CRC16InitTableRev add r0, r4, #0 add r1, r5, #0 mov r2, #0x50 bl MATH_CalcCRC16 add r6, r0, #0 add r0, r4, #0 bl FUN_02016A18 mov r0, #0 bl FUN_0202EF18 ldrb r2, [r0, #4] add r1, sp, #4 mov r3, #0 strb r2, [r1] ldrb r2, [r0, #5] strb r2, [r1, #1] ldrb r2, [r0, #6] strb r2, [r1, #2] ldrb r2, [r0, #7] strb r2, [r1, #3] ldrb r2, [r0, #8] strb r2, [r1, #4] ldrb r0, [r0, #9] strb r0, [r1, #5] add r0, sp, #4 ldrh r2, [r0, #2] strh r2, [r0, #6] ldr r2, _02239410 ; =0x0000D679 strh r6, [r0, #2] _022393CE: ldrh r0, [r1] add r3, r3, #1 eor r0, r2 strh r0, [r1] ldrh r2, [r1] add r1, r1, #2 cmp r3, #4 blt _022393CE mov r1, #0x41 ldr r0, [sp] lsl r1, r1, #2 bl FUN_02016998 add r1, sp, #4 mov r2, #8 add r4, r0, #0 bl FUN_0209521C add r5, #0x50 mov r2, #0xd6 add r0, r4, #0 add r1, r5, #0 lsl r2, r2, #2 add r3, r7, #0 bl FUN_020952AC add r0, r4, #0 bl FUN_02016A18 add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 _0223940C: .word 0x0000A001 _02239410: .word 0x0000D679 thumb_func_end MOD83_02239374 thumb_func_start MOD83_02239414 MOD83_02239414: ; 0x02239414 push {r3, lr} cmp r2, #0 beq _0223941E cmp r2, #1 pop {r3, pc} _0223941E: ldr r0, _02239428 ; =0x000005DC bl FUN_020054C8 pop {r3, pc} nop _02239428: .word 0x000005DC thumb_func_end MOD83_02239414 thumb_func_start MOD83_0223942C MOD83_0223942C: ; 0x0223942C push {r3, lr} ldr r0, _0223944C ; =0x027FFFA8 ldrh r1, [r0] mov r0, #2 lsl r0, r0, #0xe and r0, r1 asr r0, r0, #0xf bne _02239448 bl CTRDG_IsAgbCartridge cmp r0, #0 bne _02239448 bl CTRDG_TerminateForPulledOut _02239448: pop {r3, pc} nop _0223944C: .word 0x027FFFA8 thumb_func_end MOD83_0223942C thumb_func_start MOD83_02239450 MOD83_02239450: ; 0x02239450 push {r3, lr} cmp r0, #1 bne _02239478 ldr r1, _02239484 ; =0x04000208 ldrh r0, [r1] mov r0, #0 strh r0, [r1] lsr r0, r1, #0xd ldr r1, _02239488 ; =MOD83_0223942C bl OS_SetIrqFunction mov r0, #2 lsl r0, r0, #0xc bl OS_EnableIrqMask ldr r1, _02239484 ; =0x04000208 ldrh r0, [r1] mov r0, #1 strh r0, [r1] pop {r3, pc} _02239478: mov r0, #2 lsl r0, r0, #0xc bl OS_DisableIrqMask pop {r3, pc} nop _02239484: .word 0x04000208 _02239488: .word MOD83_0223942C thumb_func_end MOD83_02239450 thumb_func_start MOD83_0223948C MOD83_0223948C: ; 0x0223948C bx lr .align 2, 0 thumb_func_end MOD83_0223948C thumb_func_start MOD83_02239490 MOD83_02239490: ; 0x02239490 push {r3, lr} ldr r1, _022394B4 ; =0x04000208 ldrh r0, [r1] mov r0, #0 strh r0, [r1] lsr r0, r1, #0xd ldr r1, _022394B8 ; =MOD83_0223948C bl OS_SetIrqFunction mov r0, #2 lsl r0, r0, #0xc bl OS_EnableIrqMask ldr r1, _022394B4 ; =0x04000208 ldrh r0, [r1] mov r0, #1 strh r0, [r1] pop {r3, pc} .align 2, 0 _022394B4: .word 0x04000208 _022394B8: .word MOD83_0223948C thumb_func_end MOD83_02239490 thumb_func_start MOD83_022394BC MOD83_022394BC: ; 0x022394BC ldr r1, _022394C8 ; =0x0223BC30 str r0, [r1, #0x14] mov r0, #0 str r0, [r1, #0x10] bx lr nop _022394C8: .word 0x0223BC30 thumb_func_end MOD83_022394BC thumb_func_start MOD83_022394CC MOD83_022394CC: ; 0x022394CC push {r3, r4, r5, lr} ldr r0, _0223953C ; =0x0223BC30 ldr r4, _02239540 ; =0x0223BC30 ldr r0, [r0, #0x10] cmp r0, #4 bhi _02239538 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _022394E4: ; jump table .short _022394EE - _022394E4 - 2 ; case 0 .short _02239504 - _022394E4 - 2 ; case 1 .short _02239538 - _022394E4 - 2 ; case 2 .short _02239538 - _022394E4 - 2 ; case 3 .short _02239538 - _022394E4 - 2 ; case 4 _022394EE: mov r0, #4 bl FUN_020166A8 ldr r0, [r4, #0x14] mov r1, #2 bl FUN_02022840 ldr r0, [r4, #0x10] add r0, r0, #1 str r0, [r4, #0x10] b _02239538 _02239504: ldr r0, [r4, #0x14] bl FUN_02022854 add r5, r0, #0 cmp r5, #3 bne _02239516 mov r0, #3 str r0, [r4, #0x10] b _02239528 _02239516: cmp r5, #2 bne _02239520 mov r0, #2 str r0, [r4, #0x10] b _02239528 _02239520: cmp r5, #1 bne _02239528 mov r0, #4 str r0, [r4, #0x10] _02239528: sub r0, r5, #2 cmp r0, #1 bhi _02239534 mov r0, #4 bl FUN_020166B8 _02239534: add r0, r5, #0 pop {r3, r4, r5, pc} _02239538: mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 _0223953C: .word 0x0223BC30 _02239540: .word 0x0223BC30 thumb_func_end MOD83_022394CC thumb_func_start MOD83_02239544 MOD83_02239544: ; 0x02239544 ldr r0, _02239554 ; =0x0223BC30 ldr r1, _02239558 ; =0x0223BC30 ldr r0, [r0, #0x10] cmp r0, #4 bne _02239552 mov r0, #1 str r0, [r1, #0x10] _02239552: bx lr .align 2, 0 _02239554: .word 0x0223BC30 _02239558: .word 0x0223BC30 thumb_func_end MOD83_02239544 thumb_func_start MOD83_0223955C MOD83_0223955C: ; 0x0223955C push {r3, lr} ldr r0, _02239570 ; =0x0223BC30 ldr r0, [r0, #0x14] bl FUN_0202287C mov r0, #4 bl FUN_020166B8 pop {r3, pc} nop _02239570: .word 0x0223BC30 thumb_func_end MOD83_0223955C thumb_func_start MOD83_02239574 MOD83_02239574: ; 0x02239574 ldr r0, _0223957C ; =0x0223BC30 ldr r0, [r0, #0x10] bx lr nop _0223957C: .word 0x0223BC30 thumb_func_end MOD83_02239574 thumb_func_start MOD83_02239580 MOD83_02239580: ; 0x02239580 push {r4, lr} ldr r1, _022395BC ; =0x0223CAD4 add r4, r0, #0 ldr r2, [r1, #4] cmp r2, #0 beq _0223959C ldr r3, [r1] ldr r1, _022395C0 ; =0x00001150 ldr r0, _022395C4 ; =0x0223B80C ldr r1, [r3, r1] lsl r3, r1, #2 ldr r1, _022395C8 ; =0x0223B7E4 ldr r1, [r1, r3] blx r2 _0223959C: ldr r3, _022395BC ; =0x0223CAD4 ldr r1, _022395C0 ; =0x00001150 ldr r0, [r3] str r4, [r0, r1] ldr r2, [r3, #4] cmp r2, #0 beq _022395B8 ldr r3, [r3] ldr r0, _022395CC ; =0x0223B814 ldr r1, [r3, r1] lsl r3, r1, #2 ldr r1, _022395C8 ; =0x0223B7E4 ldr r1, [r1, r3] blx r2 _022395B8: pop {r4, pc} nop _022395BC: .word 0x0223CAD4 _022395C0: .word 0x00001150 _022395C4: .word 0x0223B80C _022395C8: .word 0x0223B7E4 _022395CC: .word 0x0223B814 thumb_func_end MOD83_02239580 thumb_func_start MOD83_022395D0 MOD83_022395D0: ; 0x022395D0 ldr r1, _022395E4 ; =0x0223CAD4 ldr r3, [r1] ldr r1, _022395E8 ; =0x00001150 ldr r2, [r3, r1] sub r2, #9 cmp r2, #1 bls _022395E2 add r1, r1, #4 str r0, [r3, r1] _022395E2: bx lr .align 2, 0 _022395E4: .word 0x0223CAD4 _022395E8: .word 0x00001150 thumb_func_end MOD83_022395D0 thumb_func_start MOD83_022395EC MOD83_022395EC: ; 0x022395EC push {r4, lr} ldr r0, _02239658 ; =0x0223CAD4 ldr r1, [r0] ldr r0, _0223965C ; =0x00001150 ldr r0, [r1, r0] cmp r0, #4 bne _022395FE bl OS_Terminate _022395FE: mov r0, #2 bl MOD83_02239580 ldr r3, _02239658 ; =0x0223CAD4 ldr r0, _02239660 ; =0x0000FFFF ldr r2, [r3] ldr r1, _02239664 ; =0x00000FCC strh r0, [r2, r1] sub r2, r1, #2 ldr r4, [r3] sub r1, r1, #4 strh r0, [r4, r2] ldr r2, [r3] strh r0, [r2, r1] bl MOD83_02239670 cmp r0, #0 bne _0223963C mov r0, #9 bl MOD83_02239580 ldr r0, _02239658 ; =0x0223CAD4 ldr r1, [r0] ldr r0, _02239668 ; =0x0000117C ldr r1, [r1, r0] cmp r1, #0 beq _02239638 mov r0, #4 blx r1 _02239638: mov r0, #0 pop {r4, pc} _0223963C: ldr r1, _02239658 ; =0x0223CAD4 ldr r0, _0223966C ; =0x00001158 ldr r2, [r1] mov r3, #2 strh r3, [r2, r0] ldr r1, [r1] add r0, #0x24 ldr r1, [r1, r0] cmp r1, #0 beq _02239654 mov r0, #0 blx r1 _02239654: mov r0, #1 pop {r4, pc} .align 2, 0 _02239658: .word 0x0223CAD4 _0223965C: .word 0x00001150 _02239660: .word 0x0000FFFF _02239664: .word 0x00000FCC _02239668: .word 0x0000117C _0223966C: .word 0x00001158 thumb_func_end MOD83_022395EC thumb_func_start MOD83_02239670 MOD83_02239670: ; 0x02239670 push {r3, r4, r5, r6, r7, lr} ldr r0, _02239748 ; =0x0223CAD4 ldr r1, [r0] ldr r0, _0223974C ; =0x00001150 ldr r0, [r1, r0] cmp r0, #2 beq _02239684 bl OS_Terminate mov r0, #0 _02239684: bl WM_GetAllowedChannel add r4, r0, #0 mov r0, #2 lsl r0, r0, #0xe cmp r4, r0 bne _0223969C mov r0, #3 bl MOD83_022395D0 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _0223969C: cmp r4, #0 bne _022396AA mov r0, #0x16 bl MOD83_022395D0 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _022396AA: ldr r0, _02239748 ; =0x0223CAD4 ldr r2, [r0] ldr r0, _02239750 ; =0x00001176 ldrh r1, [r2, r0] cmp r1, #0x10 blo _022396EC sub r1, #0x10 mov r5, #0 mov r7, #0xd mov r6, #1 b _022396D2 _022396C0: add r0, r1, #1 add r1, r7, #0 bl _s32_div_f add r0, r6, #0 lsl r0, r1 tst r0, r4 bne _022396D6 add r5, r5, #1 _022396D2: cmp r5, #0xd blt _022396C0 _022396D6: ldr r2, _02239748 ; =0x0223CAD4 add r4, r1, #0 ldr r3, [r2] ldr r0, _02239750 ; =0x00001176 add r4, #0x10 strh r4, [r3, r0] add r3, r1, #1 ldr r1, [r2] ldr r0, _02239754 ; =0x00000FC4 strh r3, [r1, r0] b _022396F0 _022396EC: ldr r0, _02239754 ; =0x00000FC4 strh r1, [r2, r0] _022396F0: ldr r2, _02239748 ; =0x0223CAD4 ldr r0, _02239758 ; =0x00000FC6 ldr r1, [r2] mov r3, #0xdc strh r3, [r1, r0] add r1, r0, #0 ldr r3, [r2] sub r1, #0xc6 add r1, r3, r1 sub r0, r0, #6 str r1, [r3, r0] ldr r1, [r2] ldr r0, _0223975C ; =0x00001158 ldrh r0, [r1, r0] cmp r0, #3 bne _02239726 mov r5, #0 ldr r0, _02239760 ; =0x00001170 ldr r1, _02239764 ; =0x00000FC8 b _02239722 _02239718: ldr r3, [r2] add r4, r3, r5 ldrb r3, [r4, r0] add r5, r5, #1 strb r3, [r4, r1] _02239722: cmp r5, #6 blt _02239718 _02239726: ldr r1, _02239748 ; =0x0223CAD4 ldr r0, _02239768 ; =MOD83_0223976C ldr r2, [r1] mov r1, #0x3f lsl r1, r1, #6 add r1, r2, r1 bl WM_StartScan cmp r0, #2 beq _02239742 bl MOD83_022395D0 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _02239742: mov r0, #1 pop {r3, r4, r5, r6, r7, pc} nop _02239748: .word 0x0223CAD4 _0223974C: .word 0x00001150 _02239750: .word 0x00001176 _02239754: .word 0x00000FC4 _02239758: .word 0x00000FC6 _0223975C: .word 0x00001158 _02239760: .word 0x00001170 _02239764: .word 0x00000FC8 _02239768: .word MOD83_0223976C thumb_func_end MOD83_02239670 thumb_func_start MOD83_0223976C MOD83_0223976C: ; 0x0223976C push {r3, r4, r5, lr} add r4, r0, #0 ldrh r0, [r4, #2] cmp r0, #0 beq _02239792 bl MOD83_022395D0 mov r0, #9 bl MOD83_02239580 ldr r0, _02239880 ; =0x0223CAD4 ldr r1, [r0] ldr r0, _02239884 ; =0x0000117C ldr r1, [r1, r0] cmp r1, #0 beq _0223987E mov r0, #4 blx r1 pop {r3, r4, r5, pc} _02239792: ldr r0, _02239880 ; =0x0223CAD4 ldr r1, [r0] ldr r0, _02239888 ; =0x00001150 ldr r0, [r1, r0] cmp r0, #2 beq _022397BE bl MOD83_022398A4 cmp r0, #0 bne _0223987E mov r0, #9 bl MOD83_02239580 ldr r0, _02239880 ; =0x0223CAD4 ldr r1, [r0] ldr r0, _02239884 ; =0x0000117C ldr r1, [r1, r0] cmp r1, #0 beq _0223987E mov r0, #4 blx r1 pop {r3, r4, r5, pc} _022397BE: ldrh r0, [r4, #8] cmp r0, #3 beq _0223987E cmp r0, #4 beq _02239860 cmp r0, #5 bne _02239860 mov r0, #0xf lsl r0, r0, #8 add r0, r1, r0 mov r1, #0xc0 bl DC_InvalidateRange ldrh r0, [r4, #0x36] cmp r0, #8 blo _022397E6 ldr r1, [r4, #0x3c] ldr r0, _0223988C ; =0x00400318 cmp r1, r0 beq _022397F8 _022397E6: ldr r0, _02239880 ; =0x0223CAD4 ldr r3, [r0, #4] cmp r3, #0 beq _02239860 ldr r0, _02239890 ; =0x0223B818 ldr r1, [r4, #0x3c] ldr r2, _0223988C ; =0x00400318 blx r3 b _02239860 _022397F8: ldr r1, _02239880 ; =0x0223CAD4 ldrh r3, [r4, #0x12] ldr r2, [r1] ldr r0, _02239894 ; =0x0000116C str r3, [r2, r0] ldr r1, [r1] sub r0, #0x14 ldrh r0, [r1, r0] cmp r0, #2 bne _02239844 add r0, r4, #0 add r0, #0x48 bl MOD83_02239B00 ldr r2, _02239880 ; =0x0223CAD4 ldr r1, _02239898 ; =0x00001170 mov r0, #0 _0223981A: add r3, r4, r0 ldrb r5, [r3, #0xa] ldr r3, [r2] add r3, r3, r0 add r0, r0, #1 strb r5, [r3, r1] cmp r0, #6 blt _0223981A ldr r1, _02239880 ; =0x0223CAD4 ldr r0, _0223989C ; =0x00001176 ldr r3, [r1] ldrh r2, [r3, r0] sub r2, #0xf strh r2, [r3, r0] ldr r1, [r1] add r0, r0, #6 ldr r1, [r1, r0] cmp r1, #0 beq _02239844 mov r0, #1 blx r1 _02239844: add r4, #0x48 add r0, r4, #0 bl MOD83_02239B80 cmp r0, #0 beq _02239860 ldr r0, _02239880 ; =0x0223CAD4 mov r2, #4 ldr r1, [r0] ldr r0, _022398A0 ; =0x00001158 strh r2, [r1, r0] bl MOD83_02239A14 pop {r3, r4, r5, pc} _02239860: bl MOD83_02239670 cmp r0, #0 bne _0223987E mov r0, #9 bl MOD83_02239580 ldr r0, _02239880 ; =0x0223CAD4 ldr r1, [r0] ldr r0, _02239884 ; =0x0000117C ldr r1, [r1, r0] cmp r1, #0 beq _0223987E mov r0, #4 blx r1 _0223987E: pop {r3, r4, r5, pc} .align 2, 0 _02239880: .word 0x0223CAD4 _02239884: .word 0x0000117C _02239888: .word 0x00001150 _0223988C: .word 0x00400318 _02239890: .word 0x0223B818 _02239894: .word 0x0000116C _02239898: .word 0x00001170 _0223989C: .word 0x00001176 _022398A0: .word 0x00001158 thumb_func_end MOD83_0223976C thumb_func_start MOD83_022398A4 MOD83_022398A4: ; 0x022398A4 push {r3, lr} ldr r0, _022398BC ; =MOD83_022398C0 bl WM_EndScan cmp r0, #2 beq _022398B8 bl MOD83_022395D0 mov r0, #0 pop {r3, pc} _022398B8: mov r0, #1 pop {r3, pc} .align 2, 0 _022398BC: .word MOD83_022398C0 thumb_func_end MOD83_022398A4 thumb_func_start MOD83_022398C0 MOD83_022398C0: ; 0x022398C0 push {r3, lr} ldrh r0, [r0, #2] cmp r0, #0 beq _022398CE bl MOD83_022395D0 pop {r3, pc} _022398CE: mov r0, #1 bl MOD83_02239580 pop {r3, pc} .align 2, 0 thumb_func_end MOD83_022398C0 thumb_func_start MOD83_022398D8 MOD83_022398D8: ; 0x022398D8 push {r3, lr} ldrh r0, [r0, #2] cmp r0, #0 beq _022398E8 mov r0, #0xa bl MOD83_02239580 pop {r3, pc} _022398E8: mov r0, #0 bl MOD83_02239580 ldr r0, _02239900 ; =0x0223CAD4 ldr r1, [r0] ldr r0, _02239904 ; =0x0000117C ldr r1, [r1, r0] cmp r1, #0 beq _022398FE mov r0, #3 blx r1 _022398FE: pop {r3, pc} .align 2, 0 _02239900: .word 0x0223CAD4 _02239904: .word 0x0000117C thumb_func_end MOD83_022398D8 thumb_func_start MOD83_02239908 MOD83_02239908: ; 0x02239908 push {r3, lr} ldr r0, _02239924 ; =0x0223CAD4 mov r2, #0 ldr r1, [r0] ldr r0, _02239928 ; =0x00001154 str r2, [r1, r0] bl MOD83_02239954 cmp r0, #0 beq _02239920 mov r0, #1 pop {r3, pc} _02239920: mov r0, #0 pop {r3, pc} .align 2, 0 _02239924: .word 0x0223CAD4 _02239928: .word 0x00001154 thumb_func_end MOD83_02239908 thumb_func_start MOD83_0223992C MOD83_0223992C: ; 0x0223992C push {r3, lr} ldrh r0, [r0, #2] cmp r0, #8 bne _0223994A mov r0, #9 bl MOD83_02239580 ldr r0, _0223994C ; =0x0223CAD4 ldr r1, [r0] ldr r0, _02239950 ; =0x0000117C ldr r1, [r1, r0] cmp r1, #0 beq _0223994A mov r0, #4 blx r1 _0223994A: pop {r3, pc} .align 2, 0 _0223994C: .word 0x0223CAD4 _02239950: .word 0x0000117C thumb_func_end MOD83_0223992C thumb_func_start MOD83_02239954 MOD83_02239954: ; 0x02239954 push {r3, lr} mov r0, #3 bl MOD83_02239580 ldr r0, _02239980 ; =0x0223CAD4 ldr r1, _02239984 ; =MOD83_02239988 ldr r0, [r0] mov r2, #2 bl WM_Initialize cmp r0, #2 beq _0223997A bl MOD83_022395D0 mov r0, #0xa bl MOD83_02239580 mov r0, #0 pop {r3, pc} _0223997A: mov r0, #1 pop {r3, pc} nop _02239980: .word 0x0223CAD4 _02239984: .word MOD83_02239988 thumb_func_end MOD83_02239954 thumb_func_start MOD83_02239988 MOD83_02239988: ; 0x02239988 push {r3, lr} ldrh r0, [r0, #2] cmp r0, #0 beq _0223999C bl MOD83_022395D0 mov r0, #0xa bl MOD83_02239580 pop {r3, pc} _0223999C: ldr r0, _022399C0 ; =MOD83_0223992C bl WM_SetIndCallback cmp r0, #0 beq _022399B2 bl MOD83_022395D0 mov r0, #0xa bl MOD83_02239580 pop {r3, pc} _022399B2: mov r0, #1 bl MOD83_02239580 bl MOD83_022395EC pop {r3, pc} nop _022399C0: .word MOD83_0223992C thumb_func_end MOD83_02239988 thumb_func_start MOD83_022399C4 MOD83_022399C4: ; 0x022399C4 push {r3, lr} ldr r0, _02239A04 ; =0x0223CAD4 ldr r1, [r0] ldr r0, _02239A08 ; =0x00001150 ldr r0, [r1, r0] cmp r0, #1 beq _022399D6 bl OS_Terminate _022399D6: mov r0, #3 bl MOD83_02239580 ldr r0, _02239A0C ; =MOD83_022398D8 bl WM_End cmp r0, #2 beq _02239A00 mov r0, #9 bl MOD83_02239580 ldr r0, _02239A04 ; =0x0223CAD4 ldr r1, [r0] ldr r0, _02239A10 ; =0x0000117C ldr r1, [r1, r0] cmp r1, #0 beq _022399FC mov r0, #4 blx r1 _022399FC: mov r0, #0 pop {r3, pc} _02239A00: mov r0, #1 pop {r3, pc} .align 2, 0 _02239A04: .word 0x0223CAD4 _02239A08: .word 0x00001150 _02239A0C: .word MOD83_022398D8 _02239A10: .word 0x0000117C thumb_func_end MOD83_022399C4 thumb_func_start MOD83_02239A14 MOD83_02239A14: ; 0x02239A14 push {r3, lr} ldr r0, _02239A30 ; =0x0223CAD4 ldr r1, [r0] ldr r0, _02239A34 ; =0x00001150 ldr r0, [r1, r0] cmp r0, #1 bne _02239A28 bl MOD83_022399C4 pop {r3, pc} _02239A28: bl MOD83_02239A38 pop {r3, pc} nop _02239A30: .word 0x0223CAD4 _02239A34: .word 0x00001150 thumb_func_end MOD83_02239A14 thumb_func_start MOD83_02239A38 MOD83_02239A38: ; 0x02239A38 push {r3, lr} mov r0, #3 bl MOD83_02239580 ldr r0, _02239A58 ; =MOD83_02239A5C bl WM_Reset cmp r0, #2 beq _02239A52 bl MOD83_022395D0 mov r0, #0 pop {r3, pc} _02239A52: mov r0, #1 pop {r3, pc} nop _02239A58: .word MOD83_02239A5C thumb_func_end MOD83_02239A38 thumb_func_start MOD83_02239A5C MOD83_02239A5C: ; 0x02239A5C push {r4, lr} add r4, r0, #0 ldrh r0, [r4, #2] cmp r0, #0 beq _02239A84 mov r0, #9 bl MOD83_02239580 ldrh r0, [r4, #2] bl MOD83_022395D0 ldr r0, _02239A90 ; =0x0223CAD4 ldr r1, [r0] ldr r0, _02239A94 ; =0x0000117C ldr r1, [r1, r0] cmp r1, #0 beq _02239A8E mov r0, #4 blx r1 pop {r4, pc} _02239A84: mov r0, #1 bl MOD83_02239580 bl MOD83_022399C4 _02239A8E: pop {r4, pc} .align 2, 0 _02239A90: .word 0x0223CAD4 _02239A94: .word 0x0000117C thumb_func_end MOD83_02239A5C thumb_func_start MOD83_02239A98 MOD83_02239A98: ; 0x02239A98 push {r3, r4, r5, r6, r7, lr} add r3, r0, #0 add r2, #0x1f mov r0, #0x1f bic r2, r0 ldr r5, _02239AF4 ; =0x0223CAD4 ldr r4, _02239AF8 ; =0x00001150 str r2, [r5] mov r0, #0 str r0, [r2, r4] add r2, r4, #0 ldr r6, [r5] mov r7, #1 add r2, #8 strh r7, [r6, r2] add r2, r4, #0 ldr r6, [r5] add r2, #0x28 str r3, [r6, r2] add r2, r4, #0 ldr r3, [r5] add r2, #0xc strh r0, [r3, r2] add r2, r4, #0 ldr r3, [r5] add r2, #0xe strh r0, [r3, r2] add r2, r4, #0 ldr r3, [r5] add r2, #0x2c str r1, [r3, r2] add r2, r4, #0 ldr r3, [r5] mov r1, #0x10 add r2, #0x26 strh r1, [r3, r2] ldr r3, [r5] ldr r2, _02239AFC ; =0x00001048 sub r1, #0x11 str r0, [r3, r2] ldr r0, [r5] add r4, #0x1c str r1, [r0, r4] bl MOD83_02239908 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _02239AF4: .word 0x0223CAD4 _02239AF8: .word 0x00001150 _02239AFC: .word 0x00001048 thumb_func_end MOD83_02239A98 thumb_func_start MOD83_02239B00 MOD83_02239B00: ; 0x02239B00 push {r4, r5, r6, lr} ldr r3, _02239B70 ; =0x0223CAD4 ldr r1, _02239B74 ; =0x00001048 ldr r2, [r3] mov r4, #0 str r4, [r2, r1] ldr r1, [r3] ldr r2, _02239B78 ; =0x00001158 mov r4, #3 strh r4, [r1, r2] ldrh r5, [r0] ldr r4, [r3] add r1, r2, #2 strh r5, [r4, r1] ldr r4, [r0, #4] add r0, r2, #0 ldr r1, [r3] add r0, #8 str r4, [r1, r0] ldr r4, [r3] add r2, #8 ldr r0, [r4, r2] mov r1, #0x68 sub r0, r0, #1 bl _u32_div_f ldr r2, _02239B7C ; =0x0000115C add r0, r0, #1 strh r0, [r4, r2] ldr r4, _02239B70 ; =0x0223CAD4 mov r0, #0 ldr r3, [r4] add r1, r2, #2 strh r0, [r3, r1] add r1, r2, #0 ldr r3, [r4] add r1, #8 str r0, [r3, r1] ldr r1, [r4] ldrh r2, [r1, r2] cmp r2, #0 ble _02239B6C mov r2, #0x46 lsl r2, r2, #6 add r3, r2, #0 add r6, r0, #0 sub r3, #0x24 _02239B5E: add r1, r1, r0 strb r6, [r1, r2] ldr r1, [r4] add r0, r0, #1 ldrh r5, [r1, r3] cmp r0, r5 blt _02239B5E _02239B6C: pop {r4, r5, r6, pc} nop _02239B70: .word 0x0223CAD4 _02239B74: .word 0x00001048 _02239B78: .word 0x00001158 _02239B7C: .word 0x0000115C thumb_func_end MOD83_02239B00 thumb_func_start MOD83_02239B80 MOD83_02239B80: ; 0x02239B80 push {r3, r4, r5, lr} add r4, r0, #0 ldr r0, _02239C9C ; =0x0223CAD4 ldrh r1, [r4] ldr r3, [r0] ldr r0, _02239CA0 ; =0x0000115A ldrh r2, [r3, r0] cmp r2, r1 bne _02239B9C add r0, r0, #6 ldr r1, [r3, r0] ldr r0, [r4, #4] cmp r1, r0 beq _02239BC8 _02239B9C: ldr r0, _02239C9C ; =0x0223CAD4 ldr r3, [r0] ldr r0, _02239CA4 ; =0x00001164 ldr r2, [r3, r0] add r1, r2, #1 str r1, [r3, r0] cmp r2, #0x10 blo _02239BC4 add r0, r4, #0 bl MOD83_02239B00 ldr r0, _02239C9C ; =0x0223CAD4 ldr r1, [r0] ldr r0, _02239CA8 ; =0x0000117C ldr r1, [r1, r0] cmp r1, #0 beq _02239BC8 mov r0, #5 blx r1 b _02239BC8 _02239BC4: mov r0, #0 pop {r3, r4, r5, pc} _02239BC8: ldrh r3, [r4, #2] ldr r0, _02239CAC ; =0x0000FFFF cmp r3, r0 bne _02239BF0 ldr r1, _02239C9C ; =0x0223CAD4 add r4, #8 ldr r2, [r1] mov r1, #0xfe lsl r1, r1, #4 add r1, r2, r1 add r0, r4, #0 mov r2, #0x68 bl MIi_CpuCopy32 ldr r0, _02239C9C ; =0x0223CAD4 mov r2, #1 ldr r1, [r0] ldr r0, _02239CB0 ; =0x00001048 str r2, [r1, r0] b _02239C98 _02239BF0: ldr r1, _02239C9C ; =0x0223CAD4 ldr r0, _02239CB4 ; =0x00001168 ldr r2, [r1] str r3, [r2, r0] ldr r3, [r1] add r1, r0, #0 sub r1, #0xc ldrh r2, [r4, #2] ldrh r1, [r3, r1] cmp r2, r1 blo _02239C18 add r0, #0x14 ldr r1, [r3, r0] cmp r1, #0 beq _02239C12 mov r0, #4 blx r1 _02239C12: mov r0, #9 bl MOD83_02239580 _02239C18: ldr r0, _02239C9C ; =0x0223CAD4 mov r2, #0x46 ldr r1, [r0] lsl r2, r2, #6 ldrh r3, [r4, #2] add r5, r1, r2 ldrb r1, [r5, r3] cmp r1, #0 bne _02239C98 mov r1, #1 strb r1, [r5, r3] ldr r5, [r0] add r0, r2, #0 sub r0, #0x24 ldrh r0, [r5, r0] ldrh r1, [r4, #2] sub r0, r0, #1 cmp r1, r0 bne _02239C5C add r3, r1, #0 add r1, r2, #0 sub r1, #8 sub r2, #0x20 mov r0, #0x68 ldr r1, [r5, r1] mul r3, r0 ldr r2, [r5, r2] add r4, #8 add r0, r4, #0 add r1, r1, r3 sub r2, r2, r3 bl MIi_CpuCopy32 b _02239C70 _02239C5C: add r4, #8 sub r2, #8 add r0, r4, #0 ldr r4, [r5, r2] mov r2, #0x68 add r3, r1, #0 mul r3, r2 add r1, r4, r3 bl MIi_CpuCopy32 _02239C70: ldr r1, _02239C9C ; =0x0223CAD4 ldr r0, _02239CB8 ; =0x0000115E ldr r3, [r1] ldrh r2, [r3, r0] add r2, r2, #1 strh r2, [r3, r0] ldr r3, [r1] sub r1, r0, #2 ldrh r2, [r3, r0] ldrh r1, [r3, r1] cmp r2, r1 bne _02239C98 add r0, #0x1e ldr r1, [r3, r0] cmp r1, #0 beq _02239C94 mov r0, #2 blx r1 _02239C94: mov r0, #1 pop {r3, r4, r5, pc} _02239C98: mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 _02239C9C: .word 0x0223CAD4 _02239CA0: .word 0x0000115A _02239CA4: .word 0x00001164 _02239CA8: .word 0x0000117C _02239CAC: .word 0x0000FFFF _02239CB0: .word 0x00001048 _02239CB4: .word 0x00001168 _02239CB8: .word 0x0000115E thumb_func_end MOD83_02239B80 thumb_func_start MOD83_02239CBC MOD83_02239CBC: ; 0x02239CBC push {r3, r4} mov r2, #0 add r3, r2, #0 lsr r1, r1, #1 beq _02239CE4 _02239CC6: lsl r4, r3, #1 ldrh r4, [r0, r4] add r3, r3, #1 lsl r3, r3, #0x10 add r2, r2, r4 lsl r2, r2, #0x10 lsr r2, r2, #0x10 lsl r4, r2, #1 asr r2, r2, #0xf orr r2, r4 lsl r2, r2, #0x10 lsr r3, r3, #0x10 lsr r2, r2, #0x10 cmp r3, r1 blo _02239CC6 _02239CE4: add r0, r2, #0 pop {r3, r4} bx lr .align 2, 0 thumb_func_end MOD83_02239CBC thumb_func_start MOD83_02239CEC MOD83_02239CEC: ; 0x02239CEC push {r4, lr} sub sp, #8 ldr r0, _02239D80 ; =0x0223CAD4 add r1, sp, #0 ldr r4, [r0] ldr r0, _02239D84 ; =0x00001170 add r3, r4, r0 ldrh r2, [r3] sub r0, #0x16 strh r2, [r1] ldrh r2, [r3, #2] strh r2, [r1, #6] ldrh r2, [r3, #4] add r3, sp, #0 strh r2, [r1, #4] ldrh r0, [r4, r0] ldr r2, _02239D88 ; =0x00003FA2 strh r0, [r1, #2] mov r1, #0 _02239D12: ldrh r0, [r3] add r1, r1, #1 eor r0, r2 strh r0, [r3] ldrh r2, [r3] add r3, r3, #2 cmp r1, #4 blt _02239D12 ldr r0, _02239D80 ; =0x0223CAD4 mov r2, #8 ldr r1, [r0] ldr r0, _02239D8C ; =0x0000104C add r0, r1, r0 add r1, sp, #0 bl FUN_0209521C ldr r0, _02239D80 ; =0x0223CAD4 ldr r2, _02239D90 ; =0x00001178 ldr r3, [r0] ldr r0, _02239D8C ; =0x0000104C ldr r1, [r3, r2] sub r2, #0x18 ldr r2, [r3, r2] add r0, r3, r0 add r3, r1, #0 bl FUN_020952AC ldr r1, _02239D80 ; =0x0223CAD4 ldr r2, _02239D8C ; =0x0000104C ldr r1, [r1] mov r0, #0 add r1, r1, r2 lsr r2, r2, #4 bl MIi_CpuClear32 ldr r0, _02239D80 ; =0x0223CAD4 ldr r1, _02239D90 ; =0x00001178 ldr r2, [r0] ldr r0, [r2, r1] sub r1, #0x18 ldr r1, [r2, r1] bl MOD83_02239CBC ldr r1, _02239D80 ; =0x0223CAD4 ldr r2, [r1] ldr r1, _02239D94 ; =0x0000115A ldrh r1, [r2, r1] cmp r1, r0 bne _02239D7A add sp, #8 mov r0, #1 pop {r4, pc} _02239D7A: mov r0, #0 add sp, #8 pop {r4, pc} .align 2, 0 _02239D80: .word 0x0223CAD4 _02239D84: .word 0x00001170 _02239D88: .word 0x00003FA2 _02239D8C: .word 0x0000104C _02239D90: .word 0x00001178 _02239D94: .word 0x0000115A thumb_func_end MOD83_02239CEC thumb_func_start MOD83_02239D98 MOD83_02239D98: ; 0x02239D98 ldr r0, _02239D9C ; =0x000016A0 bx lr .align 2, 0 _02239D9C: .word 0x000016A0 thumb_func_end MOD83_02239D98 thumb_func_start MOD83_02239DA0 MOD83_02239DA0: ; 0x02239DA0 ldr r0, _02239DB8 ; =0x0223CAD4 ldr r2, [r0] ldr r0, _02239DBC ; =0x00001048 ldr r1, [r2, r0] cmp r1, #0 beq _02239DB2 sub r0, #0x68 add r0, r2, r0 bx lr _02239DB2: mov r0, #0 bx lr nop _02239DB8: .word 0x0223CAD4 _02239DBC: .word 0x00001048 thumb_func_end MOD83_02239DA0 thumb_func_start MOD83_02239DC0 MOD83_02239DC0: ; 0x02239DC0 push {r3, lr} add r1, #0x24 mov r0, #0x1f bic r1, r0 add r1, #0x20 mov r0, #0x56 bl FUN_02016998 add r2, r0, #0 add r2, #0x20 mov r1, #0x1f bic r2, r1 sub r1, r2, #4 str r0, [r1] add r0, r2, #0 pop {r3, pc} thumb_func_end MOD83_02239DC0 thumb_func_start MOD83_02239DE0 MOD83_02239DE0: ; 0x02239DE0 push {r3, lr} cmp r1, #0 beq _02239DEE sub r0, r1, #4 ldr r0, [r0] bl FUN_02016A18 _02239DEE: pop {r3, pc} thumb_func_end MOD83_02239DE0 thumb_func_start MOD83_02239DF0 MOD83_02239DF0: ; 0x02239DF0 push {r4, lr} sub sp, #8 add r4, r0, #0 add r0, sp, #0 add r1, sp, #4 bl MOD04_021DD718 ldr r0, [sp] neg r0, r0 bl MOD04_021D80E0 ldr r1, _02239E34 ; =0x00002610 str r0, [r4, r1] ldr r0, [sp] neg r2, r0 add r0, r1, #4 str r2, [r4, r0] add r0, r1, #0 ldr r2, [sp, #4] add r0, #8 str r2, [r4, r0] sub r0, r1, #4 mov r2, #1 str r2, [r4, r0] ldr r0, _02239E38 ; =0x0223CADC mov r1, #0 str r1, [r0, #0xc] add r0, r4, #0 bl MOD83_0222FA44 ldr r0, _02239E3C ; =0x0000100E add sp, #8 pop {r4, pc} nop _02239E34: .word 0x00002610 _02239E38: .word 0x0223CADC _02239E3C: .word 0x0000100E thumb_func_end MOD83_02239DF0 thumb_func_start MOD83_02239E40 MOD83_02239E40: ; 0x02239E40 push {r4, lr} add r4, r0, #0 ldr r0, _02239E70 ; =0x00002618 ldr r0, [r4, r0] cmp r0, #5 beq _02239E50 cmp r0, #6 bne _02239E5C _02239E50: bl MOD04_021DDC1C ldr r0, _02239E74 ; =0x0223CADC mov r1, #1 str r1, [r0, #0xc] b _02239E62 _02239E5C: ldr r0, _02239E74 ; =0x0223CADC mov r1, #1 str r1, [r0, #0xc] _02239E62: bl FUN_02033ED0 ldr r0, _02239E78 ; =0x0000260C mov r1, #0 str r1, [r4, r0] ldr r0, _02239E7C ; =0x0000100F pop {r4, pc} .align 2, 0 _02239E70: .word 0x00002618 _02239E74: .word 0x0223CADC _02239E78: .word 0x0000260C _02239E7C: .word 0x0000100F thumb_func_end MOD83_02239E40 thumb_func_start MOD83_02239E80 MOD83_02239E80: ; 0x02239E80 push {lr} sub sp, #0x3c bl MOD04_021DDC1C cmp r0, #4 beq _02239E94 cmp r0, #7 beq _02239EA0 cmp r0, #8 b _02239EA0 _02239E94: add r0, sp, #0 bl MOD04_021DD9DC add sp, #0x3c mov r0, #1 pop {pc} _02239EA0: mov r0, #0 add sp, #0x3c pop {pc} .align 2, 0 thumb_func_end MOD83_02239E80 thumb_func_start MOD83_02239EA8 MOD83_02239EA8: ; 0x02239EA8 push {r3, r4} ldr r3, _02239EBC ; =0x0223CADC mov r4, #0 str r4, [r3] ldr r3, _02239EC0 ; =0x000015F4 str r2, [r0, r3] ldr r0, _02239EC4 ; =0x00001011 str r0, [r1] pop {r3, r4} bx lr .align 2, 0 _02239EBC: .word 0x0223CADC _02239EC0: .word 0x000015F4 _02239EC4: .word 0x00001011 thumb_func_end MOD83_02239EA8 thumb_func_start MOD83_02239EC8 MOD83_02239EC8: ; 0x02239EC8 push {r3, r4, r5, lr} ldr r4, _02239EE4 ; =0x0223CADC mov r5, #0 str r5, [r4, #8] str r1, [r4, #4] ldr r1, _02239EE8 ; =0x000015F4 str r3, [r0, r1] ldr r0, _02239EEC ; =0x00001012 str r0, [r2] ldr r0, _02239EF0 ; =MOD83_02239F28 bl MOD04_021DE404 pop {r3, r4, r5, pc} nop _02239EE4: .word 0x0223CADC _02239EE8: .word 0x000015F4 _02239EEC: .word 0x00001012 _02239EF0: .word MOD83_02239F28 thumb_func_end MOD83_02239EC8 thumb_func_start MOD83_02239EF4 MOD83_02239EF4: ; 0x02239EF4 push {r3, lr} cmp r1, #6 bhi _02239F1C add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02239F06: ; jump table .short _02239F1C - _02239F06 - 2 ; case 0 .short _02239F1C - _02239F06 - 2 ; case 1 .short _02239F1C - _02239F06 - 2 ; case 2 .short _02239F14 - _02239F06 - 2 ; case 3 .short _02239F1C - _02239F06 - 2 ; case 4 .short _02239F1C - _02239F06 - 2 ; case 5 .short _02239F1C - _02239F06 - 2 ; case 6 _02239F14: cmp r0, #1 bne _02239F1C bl OS_Terminate _02239F1C: ldr r0, _02239F24 ; =0x0223CADC mov r1, #1 str r1, [r0] pop {r3, pc} .align 2, 0 _02239F24: .word 0x0223CADC thumb_func_end MOD83_02239EF4 thumb_func_start MOD83_02239F28 MOD83_02239F28: ; 0x02239F28 ldr r0, _02239F30 ; =0x0223CADC mov r1, #1 str r1, [r0, #8] bx lr .align 2, 0 _02239F30: .word 0x0223CADC thumb_func_end MOD83_02239F28 thumb_func_start MOD83_02239F34 MOD83_02239F34: ; 0x02239F34 push {r3, r4, r5, lr} add r5, r1, #0 bl FUN_02006278 ldr r1, _0223A24C ; =0x0000260C add r4, r0, #0 ldr r1, [r4, r1] cmp r1, #1 bne _02239F4C bl MOD83_02239E40 str r0, [r5] _02239F4C: ldr r0, _0223A250 ; =0x00002620 ldr r0, [r4, r0] cmp r0, #0 beq _02239F62 blx r0 cmp r0, #1 bne _02239F62 add r0, r4, #0 bl MOD83_02239DF0 str r0, [r5] _02239F62: mov r3, #1 ldr r0, [r5] lsl r3, r3, #0xc sub r0, r0, r3 cmp r0, #0x12 bls _02239F70 b _0223A342 _02239F70: add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _02239F7C: ; jump table .short _02239FA2 - _02239F7C - 2 ; case 0 .short _02239FB0 - _02239F7C - 2 ; case 1 .short _02239FCC - _02239F7C - 2 ; case 2 .short _02239FF4 - _02239F7C - 2 ; case 3 .short _0223A046 - _02239F7C - 2 ; case 4 .short _0223A05E - _02239F7C - 2 ; case 5 .short _0223A09A - _02239F7C - 2 ; case 6 .short _0223A0BE - _02239F7C - 2 ; case 7 .short _0223A0F2 - _02239F7C - 2 ; case 8 .short _0223A114 - _02239F7C - 2 ; case 9 .short _0223A14E - _02239F7C - 2 ; case 10 .short _0223A174 - _02239F7C - 2 ; case 11 .short _0223A1E8 - _02239F7C - 2 ; case 12 .short _0223A212 - _02239F7C - 2 ; case 13 .short _0223A342 - _02239F7C - 2 ; case 14 .short _0223A238 - _02239F7C - 2 ; case 15 .short _0223A2D4 - _02239F7C - 2 ; case 16 .short _0223A2F8 - _02239F7C - 2 ; case 17 .short _0223A31E - _02239F7C - 2 ; case 18 _02239FA2: bl FUN_0202E49C bl FUN_02088858 ldr r0, _0223A254 ; =0x00001001 str r0, [r5] b _0223A342 _02239FB0: bl FUN_0202E4C8 cmp r0, #0 beq _0223A092 ldr r0, _0223A258 ; =MOD83_02239DC0 ldr r1, _0223A25C ; =MOD83_02239DE0 bl MOD04_021DD968 ldr r0, [r4, #4] bl FUN_02033310 ldr r0, _0223A260 ; =0x00001002 str r0, [r5] b _0223A342 _02239FCC: ldr r0, _0223A264 ; =0x000015E4 mov r1, #2 add r0, r4, r0 mov r2, #1 mov r3, #0x14 bl MOD04_021DDEE0 mov r0, #2 bl MOD04_021DDE7C bl MOD04_021DDDCC bl FUN_02033E74 ldr r0, _0223A268 ; =0x00001003 mov r1, #0 str r0, [r5] ldr r0, _0223A26C ; =0x0000261C str r1, [r4, r0] b _0223A342 _02239FF4: bl MOD04_021DDD7C cmp r0, #0 bne _0223A002 bl MOD04_021DDCE8 b _0223A034 _0223A002: add r0, r4, #0 bl MOD83_02239E80 cmp r0, #1 bne _0223A02C ldr r0, _0223A26C ; =0x0000261C ldr r1, [r4, r0] cmp r1, #1 bne _0223A020 ldr r0, _0223A270 ; =0x0223CADC mov r1, #3 str r1, [r0, #4] ldr r0, _0223A274 ; =0x0000100D str r0, [r5] b _0223A034 _0223A020: ldr r1, _0223A278 ; =0x021DD984 add r0, r0, #4 str r1, [r4, r0] ldr r0, _0223A27C ; =0x00001004 str r0, [r5] b _0223A034 _0223A02C: add r0, r4, #0 bl MOD83_02239DF0 str r0, [r5] _0223A034: ldr r0, _0223A280 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #2 tst r0, r1 beq _0223A092 ldr r0, _0223A26C ; =0x0000261C mov r1, #1 str r1, [r4, r0] b _0223A342 _0223A046: bl MOD04_021DE05C cmp r0, #0 bne _0223A058 add r0, r4, #0 bl MOD83_02239DF0 str r0, [r5] b _0223A342 _0223A058: ldr r0, _0223A284 ; =0x00001005 str r0, [r5] b _0223A342 _0223A05E: bl MOD04_021DDF4C cmp r0, #3 bne _0223A06C ldr r0, _0223A288 ; =0x00001006 str r0, [r5] b _0223A088 _0223A06C: cmp r0, #4 bne _0223A07A add r0, r4, #0 bl MOD83_02239DF0 str r0, [r5] b _0223A088 _0223A07A: cmp r0, #5 bne _0223A088 ldr r0, _0223A270 ; =0x0223CADC mov r1, #3 str r1, [r0, #4] ldr r0, _0223A274 ; =0x0000100D str r0, [r5] _0223A088: ldr r0, _0223A280 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #2 tst r0, r1 bne _0223A094 _0223A092: b _0223A342 _0223A094: bl MOD04_021DDF40 b _0223A342 _0223A09A: ldr r0, _0223A28C ; =MOD83_02239EF4 ldr r1, _0223A290 ; =0x0223B838 ldr r2, _0223A294 ; =0x0223B840 bl MOD04_021DE45C cmp r0, #0 bne _0223A0B2 add r0, r4, #0 bl MOD83_02239DF0 str r0, [r5] b _0223A342 _0223A0B2: ldr r2, _0223A298 ; =0x00001007 add r0, r4, #0 add r1, r5, #0 bl MOD83_02239EA8 b _0223A342 _0223A0BE: ldr r0, _0223A26C ; =0x0000261C ldr r0, [r4, r0] cmp r0, #1 bne _0223A0D4 add r0, r4, #0 mov r1, #3 add r2, r5, #0 add r3, #0xc bl MOD83_02239EC8 b _0223A342 _0223A0D4: ldr r0, _0223A29C ; =0x0223B854 add r1, r0, #0 add r2, r0, #0 bl MOD04_021DE3D0 cmp r0, #0 bne _0223A0EC add r0, r4, #0 bl MOD83_02239DF0 str r0, [r5] b _0223A342 _0223A0EC: ldr r0, _0223A2A0 ; =0x00001008 str r0, [r5] b _0223A342 _0223A0F2: ldr r0, _0223A2A4 ; =0x000015F8 add r0, r4, r0 bl MOD04_021DE3AC cmp r0, #0 bne _0223A108 add r0, r4, #0 bl MOD83_02239DF0 str r0, [r5] b _0223A342 _0223A108: ldr r2, _0223A2A8 ; =0x00001009 add r0, r4, #0 add r1, r5, #0 bl MOD83_02239EA8 b _0223A342 _0223A114: ldr r0, _0223A2A4 ; =0x000015F8 ldr r0, [r4, r0] cmp r0, #1 beq _0223A12A add r0, r4, #0 mov r1, #2 add r2, r5, #0 add r3, #0xd bl MOD83_02239EC8 b _0223A342 _0223A12A: ldr r0, _0223A2AC ; =0x0223CAEC mov r1, #0 mov r2, #0xa bl MOD04_021DE364 cmp r0, #0 bne _0223A142 add r0, r4, #0 bl MOD83_02239DF0 str r0, [r5] b _0223A342 _0223A142: ldr r2, _0223A2B0 ; =0x0000100A add r0, r4, #0 add r1, r5, #0 bl MOD83_02239EA8 b _0223A342 _0223A14E: ldr r1, _0223A2B4 ; =0x000015FC ldr r0, _0223A2AC ; =0x0223CAEC add r1, r4, r1 add r2, r3, #0 bl MOD04_021DE330 cmp r0, #0 bne _0223A168 add r0, r4, #0 bl MOD83_02239DF0 str r0, [r5] b _0223A342 _0223A168: ldr r0, _0223A2B8 ; =0x0000100B mov r1, #0 str r0, [r5] ldr r0, _0223A2BC ; =0x00002608 str r1, [r4, r0] b _0223A342 _0223A174: ldr r0, _0223A270 ; =0x0223CADC ldr r0, [r0] cmp r0, #0 bne _0223A1C4 ldr r0, _0223A280 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #2 tst r0, r1 beq _0223A194 add r0, r4, #0 mov r1, #3 add r2, r5, #0 add r3, #0xc bl MOD83_02239EC8 b _0223A342 _0223A194: mov r1, #0x26 lsl r1, r1, #8 add r0, r4, r1 add r1, r1, #4 add r1, r4, r1 bl MOD04_021DE2D0 cmp r0, #1 bne _0223A21A mov r1, #0x26 lsl r1, r1, #8 ldr r2, [r4, r1] add r1, r1, #4 mov r0, #0x64 ldr r1, [r4, r1] mul r0, r2 bl _u32_div_f ldr r1, _0223A2BC ; =0x00002608 ldr r2, [r4, r1] cmp r2, r0 beq _0223A21A str r0, [r4, r1] b _0223A342 _0223A1C4: ldr r0, _0223A26C ; =0x0000261C ldr r0, [r4, r0] cmp r0, #0 bne _0223A1DA add r0, r4, #0 mov r1, #1 add r2, r5, #0 add r3, #0xd bl MOD83_02239EC8 b _0223A342 _0223A1DA: add r0, r4, #0 mov r1, #3 add r2, r5, #0 add r3, #0xd bl MOD83_02239EC8 b _0223A342 _0223A1E8: bl MOD04_021DE308 cmp r0, #0 bne _0223A1F6 ldr r0, _0223A274 ; =0x0000100D str r0, [r5] b _0223A342 _0223A1F6: ldr r0, _0223A250 ; =0x00002620 mov r1, #0 str r1, [r4, r0] bl FUN_02033ED0 bl FUN_02033364 bl FUN_02088868 bl FUN_0202E4F0 ldr r0, _0223A270 ; =0x0223CADC ldr r0, [r0, #4] pop {r3, r4, r5, pc} _0223A212: bl MOD04_021DDB40 cmp r0, #1 beq _0223A21C _0223A21A: b _0223A342 _0223A21C: ldr r0, _0223A250 ; =0x00002620 mov r1, #0 str r1, [r4, r0] bl FUN_02033ED0 bl FUN_020332DC bl FUN_02088868 bl FUN_0202E4F0 ldr r0, _0223A270 ; =0x0223CADC ldr r0, [r0, #4] pop {r3, r4, r5, pc} _0223A238: ldr r0, _0223A270 ; =0x0223CADC ldr r0, [r0, #0xc] cmp r0, #1 beq _0223A242 b _0223A342 _0223A242: add r0, r4, #0 bl MOD83_022307B4 ldr r0, _0223A2C0 ; =0x00002618 b _0223A2C4 .align 2, 0 _0223A24C: .word 0x0000260C _0223A250: .word 0x00002620 _0223A254: .word 0x00001001 _0223A258: .word MOD83_02239DC0 _0223A25C: .word MOD83_02239DE0 _0223A260: .word 0x00001002 _0223A264: .word 0x000015E4 _0223A268: .word 0x00001003 _0223A26C: .word 0x0000261C _0223A270: .word 0x0223CADC _0223A274: .word 0x0000100D _0223A278: .word 0x021DD984 _0223A27C: .word 0x00001004 _0223A280: .word 0x021C48B8 _0223A284: .word 0x00001005 _0223A288: .word 0x00001006 _0223A28C: .word MOD83_02239EF4 _0223A290: .word 0x0223B838 _0223A294: .word 0x0223B840 _0223A298: .word 0x00001007 _0223A29C: .word 0x0223B854 _0223A2A0: .word 0x00001008 _0223A2A4: .word 0x000015F8 _0223A2A8: .word 0x00001009 _0223A2AC: .word 0x0223CAEC _0223A2B0: .word 0x0000100A _0223A2B4: .word 0x000015FC _0223A2B8: .word 0x0000100B _0223A2BC: .word 0x00002608 _0223A2C0: .word 0x00002618 _0223A2C4: ldr r0, [r4, r0] cmp r0, #6 bne _0223A2CE bl MOD04_021DDBBC _0223A2CE: ldr r0, _0223A348 ; =0x00001010 str r0, [r5] b _0223A342 _0223A2D4: ldr r0, _0223A34C ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #1 tst r0, r1 beq _0223A342 ldr r0, _0223A350 ; =0x00002620 mov r1, #0 str r1, [r4, r0] bl MOD04_021DD6F0 bl FUN_020332DC bl FUN_02088868 bl FUN_0202E4F0 mov r0, #4 pop {r3, r4, r5, pc} _0223A2F8: ldr r0, _0223A354 ; =0x0223CADC ldr r1, [r0] cmp r1, #1 bne _0223A30C mov r1, #0 str r1, [r0] ldr r0, _0223A358 ; =0x000015F4 ldr r0, [r4, r0] str r0, [r5] b _0223A342 _0223A30C: ldr r0, _0223A34C ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #2 tst r0, r1 beq _0223A342 ldr r0, _0223A35C ; =0x0000261C mov r1, #1 str r1, [r4, r0] b _0223A342 _0223A31E: ldr r0, _0223A354 ; =0x0223CADC ldr r1, [r0, #8] cmp r1, #1 bne _0223A332 mov r1, #0 str r1, [r0, #8] ldr r0, _0223A358 ; =0x000015F4 ldr r0, [r4, r0] str r0, [r5] b _0223A342 _0223A332: ldr r0, _0223A34C ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #2 tst r0, r1 beq _0223A342 ldr r0, _0223A35C ; =0x0000261C mov r1, #1 str r1, [r4, r0] _0223A342: mov r0, #0 pop {r3, r4, r5, pc} nop _0223A348: .word 0x00001010 _0223A34C: .word 0x021C48B8 _0223A350: .word 0x00002620 _0223A354: .word 0x0223CADC _0223A358: .word 0x000015F4 _0223A35C: .word 0x0000261C thumb_func_end MOD83_02239F34 .section .rodata ; 0x0223A360 .incbin "baserom.nds", 0x2FE3A0, 0x41C .section .data ; 0x0223A780 .incbin "baserom.nds", 0x2FE7C0, 0x10E0 .section .bss ; 0x0223B860 .space 0x1980