.include "asm/macros.inc" .include "global.inc" .section .text .balign 4, 0 thumb_func_start MOD62_0222D5C0 MOD62_0222D5C0: ; 0x0222D5C0 ldr r3, _0222D5C8 ; =HandleLoadOverlay ldr r0, _0222D5CC ; =SDK_OVERLAY_MODULE_08_ID mov r1, #2 bx r3 .align 2, 0 _0222D5C8: .word HandleLoadOverlay _0222D5CC: .word SDK_OVERLAY_MODULE_08_ID thumb_func_end MOD62_0222D5C0 thumb_func_start MOD62_0222D5D0 MOD62_0222D5D0: ; 0x0222D5D0 add r3, r2, #0 sub r3, #0xa strb r3, [r0] add r3, r1, #0 sub r3, #0xa strb r3, [r0, #2] add r2, #0xa strb r2, [r0, #1] add r1, #0xa strb r1, [r0, #3] bx lr .align 2, 0 thumb_func_end MOD62_0222D5D0 thumb_func_start MOD62_0222D5E8 MOD62_0222D5E8: ; 0x0222D5E8 mov r1, #0 strb r1, [r0] strb r1, [r0, #2] mov r1, #0xc0 strb r1, [r0, #1] mov r1, #0xff strb r1, [r0, #3] bx lr thumb_func_end MOD62_0222D5E8 thumb_func_start MOD62_0222D5F8 MOD62_0222D5F8: ; 0x0222D5F8 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 beq _0222D64C cmp r2, #1 bne _0222D628 ldr r3, _0222D650 ; =0x021C48F8 mov r1, #0x1c mov r2, #0x1e ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] add r0, r4, #0 bl FUN_0200C714 add r1, sp, #0 add r0, r4, #0 add r1, #2 add r2, sp, #0 bl FUN_0200C7A0 add r0, r5, #0 bl MOD62_0222D5E8 pop {r3, r4, r5, pc} _0222D628: add r1, sp, #0 add r0, r4, #0 add r1, #2 add r2, sp, #0 bl FUN_0200C7A0 add r3, sp, #0 mov r1, #2 mov r2, #0 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] add r0, r5, #0 lsl r1, r1, #0x18 lsl r2, r2, #0x18 lsr r1, r1, #0x18 lsr r2, r2, #0x18 bl MOD62_0222D5D0 _0222D64C: pop {r3, r4, r5, pc} nop _0222D650: .word 0x021C48F8 thumb_func_end MOD62_0222D5F8 thumb_func_start MOD62_0222D654 MOD62_0222D654: ; 0x0222D654 push {r3, r4, r5, r6, r7, lr} mov r4, #0 add r7, r4, #0 mov r6, #0xcb add r5, r0, #0 sub r7, #0x38 lsl r6, r6, #2 _0222D662: ldr r0, [r5, r6] cmp r0, #0 beq _0222D670 add r1, r7, #0 mov r2, #0x10 bl FUN_0200C82C _0222D670: add r4, r4, #1 add r5, #0x10 cmp r4, #8 blt _0222D662 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD62_0222D654 thumb_func_start MOD62_0222D67C MOD62_0222D67C: ; 0x0222D67C push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 mov r0, #0xf1 lsl r0, r0, #2 ldr r0, [r7, r0] mov r6, #0 lsl r0, r0, #3 add r0, r7, r0 ldr r4, [r0, #8] add r5, r7, #0 _0222D690: ldrb r1, [r4] cmp r1, #0 beq _0222D6CE mov r0, #0xca lsl r0, r0, #2 strb r1, [r5, r0] ldrb r1, [r4, #1] add r0, r0, #1 strb r1, [r5, r0] ldrb r1, [r4, #2] ldr r0, _0222D6E8 ; =0x0000032A strb r1, [r5, r0] lsl r1, r6, #0x18 add r0, r7, #0 lsr r1, r1, #0x18 bl MOD62_0222D9A0 mov r0, #0x33 mov r1, #0xcb lsl r0, r0, #4 lsl r1, r1, #2 ldr r0, [r5, r0] ldr r1, [r5, r1] mov r2, #0 bl MOD62_0222D5F8 mov r0, #0xc9 mov r1, #1 lsl r0, r0, #2 str r1, [r5, r0] b _0222D6DA _0222D6CE: mov r0, #0xc9 mov r1, #0 lsl r0, r0, #2 str r1, [r5, r0] add r0, r0, #4 strb r1, [r5, r0] _0222D6DA: add r6, r6, #1 add r4, r4, #3 add r5, #0x10 cmp r6, #8 blt _0222D690 pop {r3, r4, r5, r6, r7, pc} nop _0222D6E8: .word 0x0000032A thumb_func_end MOD62_0222D67C thumb_func_start MOD62_0222D6EC MOD62_0222D6EC: ; 0x0222D6EC push {r4, r5, r6, r7, lr} sub sp, #0xc add r6, r0, #0 mov r0, #0xc9 mov r4, #0 add r3, r6, #0 lsl r0, r0, #2 _0222D6FA: ldr r2, [r3, r0] cmp r2, #1 beq _0222D75C add r0, r6, r1 mov r1, #0x42 lsl r1, r1, #4 ldrb r3, [r0, r1] lsl r5, r4, #4 add r0, r1, #0 add r2, r6, r5 sub r0, #0xf8 strb r3, [r2, r0] add r0, r1, #0 sub r0, #0xf7 add r7, r6, r0 mov r0, #0xbe sub r1, #0xf6 strb r0, [r7, r5] add r0, r6, r1 mov r1, #0x46 strb r1, [r0, r5] str r0, [sp] add r0, sp, #8 add r1, sp, #4 bl FUN_02020AB0 ldr r0, [sp, #8] strb r0, [r7, r5] ldr r1, [sp, #4] ldr r0, [sp] strb r1, [r0, r5] lsl r1, r4, #0x18 add r0, r6, #0 lsr r1, r1, #0x18 bl MOD62_0222D9A0 lsl r1, r4, #0x18 add r0, r6, #0 lsr r1, r1, #0x18 bl MOD62_0222D788 mov r0, #0xc9 mov r2, #1 add r1, r6, r5 lsl r0, r0, #2 str r2, [r1, r0] add sp, #0xc add r0, r4, #0 pop {r4, r5, r6, r7, pc} _0222D75C: add r4, r4, #1 add r3, #0x10 cmp r4, #8 blt _0222D6FA mov r0, #0xff add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD62_0222D6EC thumb_func_start MOD62_0222D76C MOD62_0222D76C: ; 0x0222D76C mov r1, #0xc9 mov r3, #0 lsl r1, r1, #2 _0222D772: ldr r2, [r0, r1] cmp r2, #1 beq _0222D77C mov r0, #1 bx lr _0222D77C: add r3, r3, #1 add r0, #0x10 cmp r3, #8 blt _0222D772 mov r0, #0 bx lr thumb_func_end MOD62_0222D76C thumb_func_start MOD62_0222D788 MOD62_0222D788: ; 0x0222D788 push {r3, r4, r5, r6, r7, lr} mov r7, #0xc9 add r5, r0, #0 add r6, r1, #0 mov r4, #0 lsl r7, r7, #2 _0222D794: ldr r0, [r5, r7] cmp r0, #1 bne _0222D7D4 cmp r4, r6 bne _0222D7AC mov r0, #0xcb lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #0 bl FUN_0200C6C4 b _0222D7D4 _0222D7AC: mov r0, #0xcb lsl r0, r0, #2 ldr r0, [r5, r0] bl FUN_0200C6D8 add r1, r0, #0 bne _0222D7C8 mov r0, #0xcb lsl r0, r0, #2 ldr r0, [r5, r0] add r1, r1, #1 bl FUN_0200C6C4 b _0222D7D4 _0222D7C8: mov r0, #0xcb lsl r0, r0, #2 ldr r0, [r5, r0] add r1, r1, #2 bl FUN_0200C6C4 _0222D7D4: add r4, r4, #1 add r5, #0x10 cmp r4, #8 blt _0222D794 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD62_0222D788 thumb_func_start MOD62_0222D7E0 MOD62_0222D7E0: ; 0x0222D7E0 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r7, r1, #0 add r1, r0, #0 add r1, #0xdc ldr r4, [r1] add r1, r0, #0 add r1, #0xe0 ldr r5, [r1] mov r1, #0x5b str r1, [sp] add r1, #0xca str r1, [sp, #4] mov r1, #0 str r1, [sp, #8] mov r1, #1 str r1, [sp, #0xc] mov r1, #2 str r1, [sp, #0x10] ldr r1, _0222D864 ; =0x0000532D add r6, r2, #0 str r1, [sp, #0x14] add r0, #0xe8 ldr r0, [r0] mov r1, #3 add r2, r4, #0 add r3, r5, #0 bl FUN_0200C0DC add r0, r7, #0 bl FUN_02085FAC add r3, r0, #0 mov r0, #1 str r0, [sp] mov r0, #2 str r0, [sp, #4] ldr r0, _0222D868 ; =0x00004E20 add r1, r5, #0 add r0, r6, r0 str r0, [sp, #8] add r0, r4, #0 mov r2, #0x5b bl FUN_0200C00C mov r0, #1 str r0, [sp] ldr r0, _0222D86C ; =0x0000564D add r1, r5, #0 str r0, [sp, #4] add r0, r4, #0 mov r2, #0x5b mov r3, #0x5d bl FUN_0200C124 mov r3, #1 ldr r0, _0222D870 ; =0x000059D9 str r3, [sp] str r0, [sp, #4] add r0, r4, #0 add r1, r5, #0 mov r2, #0x5b bl FUN_0200C13C add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _0222D864: .word 0x0000532D _0222D868: .word 0x00004E20 _0222D86C: .word 0x0000564D _0222D870: .word 0x000059D9 thumb_func_end MOD62_0222D7E0 thumb_func_start MOD62_0222D874 MOD62_0222D874: ; 0x0222D874 push {r4, r5, r6, r7, lr} sub sp, #0x74 mov r1, #0x26 lsl r1, r1, #4 str r0, [sp] ldr r0, [r0, r1] cmp r0, #0 bne _0222D886 b _0222D994 _0222D886: ldr r0, [sp] mov r7, #0 str r7, [r0, r1] add r4, sp, #0x54 add r5, sp, #0x34 add r6, r0, #0 _0222D892: mov r0, #0xff str r0, [r4] str r0, [r5] mov r0, #0xcb lsl r0, r0, #2 ldr r0, [r6, r0] cmp r0, #0 beq _0222D8AA bl FUN_0200C6D8 str r0, [r4] str r7, [r5] _0222D8AA: add r7, r7, #1 add r4, r4, #4 add r5, r5, #4 add r6, #0x10 cmp r7, #8 blt _0222D892 mov r0, #0 mov ip, r0 _0222D8BA: mov r0, ip mov r3, #7 cmp r0, #7 bge _0222D8EA add r4, sp, #0x70 add r5, sp, #0x50 _0222D8C6: sub r7, r4, #4 ldr r2, [r4] ldr r0, [r7] cmp r0, r2 blt _0222D8DE ldr r1, [r5] sub r6, r5, #4 str r0, [r4] ldr r0, [r6] str r0, [r5] str r2, [r7] str r1, [r6] _0222D8DE: sub r3, r3, #1 mov r0, ip sub r4, r4, #4 sub r5, r5, #4 cmp r3, r0 bgt _0222D8C6 _0222D8EA: mov r0, ip add r0, r0, #1 mov ip, r0 cmp r0, #7 blt _0222D8BA mov r3, #0xca lsl r3, r3, #2 ldr r0, [sp] mov r2, #0 add r1, sp, #0x1c add r4, r3, #1 add r5, r3, #2 _0222D902: ldrb r6, [r0, r3] add r2, r2, #1 strb r6, [r1] ldrb r6, [r0, r4] strb r6, [r1, #1] ldrb r6, [r0, r5] add r0, #0x10 strb r6, [r1, #2] add r1, r1, #3 cmp r2, #8 blt _0222D902 add r3, sp, #0x1c add r2, sp, #4 mov r1, #0x18 _0222D91E: ldrb r0, [r3] add r3, r3, #1 strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _0222D91E ldr r5, [sp] mov r6, #0 add r4, sp, #0x34 add r7, sp, #4 _0222D932: ldr r1, [r4] cmp r1, #0xff bne _0222D94A mov r0, #0xca mov r1, #0 lsl r0, r0, #2 strb r1, [r5, r0] add r0, r0, #1 strb r1, [r5, r0] ldr r0, _0222D998 ; =0x0000032A strb r1, [r5, r0] b _0222D98A _0222D94A: lsl r0, r1, #1 add r0, r1, r0 ldrb r1, [r7, r0] mov r0, #0xca lsl r0, r0, #2 strb r1, [r5, r0] ldr r1, [r4] lsl r0, r1, #1 add r0, r1, r0 add r0, r7, r0 ldrb r1, [r0, #1] ldr r0, _0222D99C ; =0x00000329 strb r1, [r5, r0] ldr r1, [r4] lsl r0, r1, #1 add r0, r1, r0 add r0, r7, r0 ldrb r1, [r0, #2] ldr r0, _0222D998 ; =0x0000032A strb r1, [r5, r0] ldr r0, [r4] lsl r1, r0, #4 ldr r0, [sp] add r1, r0, r1 mov r0, #0xcb lsl r0, r0, #2 ldr r0, [r1, r0] cmp r0, #0 beq _0222D98A add r1, r6, #0 bl FUN_0200C6C4 _0222D98A: add r6, r6, #1 add r4, r4, #4 add r5, #0x10 cmp r6, #8 blt _0222D932 _0222D994: add sp, #0x74 pop {r4, r5, r6, r7, pc} .align 2, 0 _0222D998: .word 0x0000032A _0222D99C: .word 0x00000329 thumb_func_end MOD62_0222D874 thumb_func_start MOD62_0222D9A0 MOD62_0222D9A0: ; 0x0222D9A0 push {r4, r5, r6, r7, lr} sub sp, #0x34 add r5, r1, #0 add r1, r0, #0 add r1, #0xdc ldr r7, [r1] add r1, r0, #0 add r1, #0xe0 ldr r6, [r1] mov r1, #0xc9 lsl r1, r1, #2 add r2, r0, r1 lsl r1, r5, #4 add r4, r2, r1 ldr r1, [r2, r1] cmp r1, #1 bne _0222D9CC bl ErrorHandling add sp, #0x34 mov r0, #0 pop {r4, r5, r6, r7, pc} _0222D9CC: ldrb r1, [r4, #4] add r2, r5, #0 bl MOD62_0222D7E0 ldrb r1, [r4, #5] add r0, sp, #0 strh r1, [r0] ldrb r1, [r4, #6] strh r1, [r0, #2] mov r1, #0 strh r1, [r0, #4] strh r1, [r0, #6] mov r0, #2 str r0, [sp, #0x10] mov r0, #1 str r0, [sp, #0x2c] sub r0, r0, #2 str r1, [sp, #0xc] str r1, [sp, #0x30] str r1, [sp, #8] str r0, [sp, #0x24] str r0, [sp, #0x28] ldrb r0, [r4, #4] bl FUN_02085FAC ldr r0, _0222DA28 ; =0x00004E20 add r1, r6, #0 add r0, r5, r0 str r0, [sp, #0x14] ldr r0, _0222DA2C ; =0x0000532D add r2, sp, #0 str r0, [sp, #0x18] ldr r0, _0222DA30 ; =0x0000564D str r0, [sp, #0x1c] ldr r0, _0222DA34 ; =0x000059D9 str r0, [sp, #0x20] add r0, r7, #0 bl FUN_0200C154 str r0, [r4, #8] bl FUN_0200C5A8 mov r0, #1 add sp, #0x34 pop {r4, r5, r6, r7, pc} nop _0222DA28: .word 0x00004E20 _0222DA2C: .word 0x0000532D _0222DA30: .word 0x0000564D _0222DA34: .word 0x000059D9 thumb_func_end MOD62_0222D9A0 thumb_func_start MOD62_0222DA38 MOD62_0222DA38: ; 0x0222DA38 push {r3, r4, r5, r6, r7, lr} add r5, r2, #0 add r6, r1, #0 mov r1, #0xc9 add r4, r0, #0 lsl r7, r5, #4 add r3, r4, r7 lsl r1, r1, #2 ldr r2, [r3, r1] cmp r2, #0 bne _0222DA52 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _0222DA52: cmp r6, #3 bhi _0222DAE2 add r2, r6, r6 add r2, pc ldrh r2, [r2, #6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0222DA62: ; jump table .short _0222DA6A - _0222DA62 - 2 ; case 0 .short _0222DAAA - _0222DA62 - 2 ; case 1 .short _0222DA80 - _0222DA62 - 2 ; case 2 .short _0222DAAA - _0222DA62 - 2 ; case 3 _0222DA6A: add r1, r4, #0 add r1, #0xd4 ldr r1, [r1] cmp r1, #0xff bne _0222DAE6 add r4, #0xd4 add r1, r5, #0 str r5, [r4] bl MOD62_0222D788 b _0222DAE6 _0222DA80: add r0, #0xd4 ldr r0, [r0] cmp r0, r5 bne _0222DAE6 add r0, r1, #0 add r0, #0xc add r1, #8 ldr r0, [r3, r0] ldr r1, [r3, r1] mov r2, #1 bl MOD62_0222D5F8 add r0, r4, #0 add r1, r5, #0 bl MOD62_0222DBCC add r0, r4, #0 add r1, r5, #0 bl MOD62_0222DC48 b _0222DAE6 _0222DAAA: add r1, r4, #0 add r1, #0xd4 ldr r1, [r1] cmp r1, #0xff bne _0222DAE6 add r1, r5, #0 bl MOD62_0222DB38 mov r1, #0x33 add r2, r4, r7 lsl r1, r1, #4 add r6, r0, #0 ldr r0, [r2, r1] sub r1, r1, #4 ldr r1, [r2, r1] mov r2, #0 bl MOD62_0222D5F8 cmp r6, #0 bne _0222DADA add r0, r4, #0 add r1, r5, #0 bl MOD62_0222DB78 _0222DADA: mov r0, #0xff add r4, #0xd4 str r0, [r4] b _0222DAE6 _0222DAE2: bl ErrorHandling _0222DAE6: mov r0, #1 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD62_0222DA38 thumb_func_start MOD62_0222DAEC MOD62_0222DAEC: ; 0x0222DAEC push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 mov r7, #0xc9 mov r4, #0 add r5, r6, #0 lsl r7, r7, #2 _0222DAF8: ldr r0, [r5, r7] cmp r0, #1 bne _0222DB06 add r0, r6, #0 add r1, r4, #0 bl MOD62_0222DB78 _0222DB06: add r4, r4, #1 add r5, #0x10 cmp r4, #8 blt _0222DAF8 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD62_0222DAEC thumb_func_start MOD62_0222DB10 MOD62_0222DB10: ; 0x0222DB10 push {r3, r4, r5, r6, r7, lr} mov r7, #0xc9 add r5, r0, #0 add r6, r1, #0 mov r4, #0 lsl r7, r7, #2 _0222DB1C: ldr r0, [r5, r7] cmp r0, #1 bne _0222DB2E mov r0, #0xcb lsl r0, r0, #2 ldr r0, [r5, r0] add r1, r6, #0 bl FUN_0200C644 _0222DB2E: add r4, r4, #1 add r5, #0x10 cmp r4, #8 blt _0222DB1C pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD62_0222DB10 thumb_func_start MOD62_0222DB38 MOD62_0222DB38: ; 0x0222DB38 push {r3, lr} lsl r1, r1, #4 add r2, r0, r1 mov r0, #0xc9 lsl r0, r0, #2 ldr r1, [r2, r0] cmp r1, #0 bne _0222DB4C mov r0, #1 pop {r3, pc} _0222DB4C: add r0, #8 ldr r0, [r2, r0] add r1, sp, #0 add r1, #2 add r2, sp, #0 bl FUN_0200C7A0 add r2, sp, #0 mov r0, #2 mov r1, #0 ldrsh r0, [r2, r0] ldrsh r1, [r2, r1] mov r2, #0xbe mov r3, #0x46 bl MOD08_0222A02C cmp r0, #0x3c bgt _0222DB74 mov r0, #1 pop {r3, pc} _0222DB74: mov r0, #0 pop {r3, pc} thumb_func_end MOD62_0222DB38 thumb_func_start MOD62_0222DB78 MOD62_0222DB78: ; 0x0222DB78 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 mov r0, #0xca add r7, r1, #0 lsl r0, r0, #2 lsl r4, r7, #4 add r6, r5, r0 ldrb r0, [r6, r4] bl FUN_02085FAC add r0, r5, #0 add r0, #0xe0 ldr r1, _0222DBC8 ; =0x00004E20 ldr r0, [r0] add r1, r7, r1 bl FUN_0200C358 mov r0, #0xcb lsl r0, r0, #2 add r7, r5, r0 ldr r0, [r7, r4] bl FUN_0200C3DC mov r1, #0 mov r2, #0xc9 lsl r2, r2, #2 str r1, [r7, r4] add r3, r5, r4 str r1, [r3, r2] strb r1, [r6, r4] add r0, r2, #5 strb r1, [r3, r0] add r0, r2, #6 add r2, #0xc strb r1, [r3, r0] ldr r0, [r3, r2] add r2, r1, #0 bl MOD62_0222D5D0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _0222DBC8: .word 0x00004E20 thumb_func_end MOD62_0222DB78 thumb_func_start MOD62_0222DBCC MOD62_0222DBCC: ; 0x0222DBCC push {r3, r4, r5, lr} add r4, r0, #0 add r5, r1, #0 bl MOD62_0222DB38 cmp r0, #0 bne _0222DBEC lsl r0, r5, #4 add r1, r4, r0 mov r0, #0xcb lsl r0, r0, #2 ldr r0, [r1, r0] mov r1, #1 bl FUN_0200C90C pop {r3, r4, r5, pc} _0222DBEC: lsl r0, r5, #4 add r1, r4, r0 mov r0, #0xcb lsl r0, r0, #2 ldr r0, [r1, r0] mov r1, #0 bl FUN_0200C90C pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD62_0222DBCC thumb_func_start MOD62_0222DC00 MOD62_0222DC00: ; 0x0222DC00 push {r4, r5, r6, r7} mov r2, #0xf1 lsl r2, r2, #2 ldr r2, [r0, r2] ldr r4, _0222DC44 ; =0x00000329 lsl r2, r2, #3 add r2, r0, r2 ldr r2, [r2, #8] mov r1, #0 add r3, r4, #1 sub r5, r4, #1 _0222DC16: ldrb r7, [r0, r5] ldrb r6, [r2] cmp r7, r6 bne _0222DC2E ldrb r7, [r0, r4] ldrb r6, [r2, #1] cmp r7, r6 bne _0222DC2E ldrb r7, [r0, r3] ldrb r6, [r2, #2] cmp r7, r6 beq _0222DC34 _0222DC2E: mov r0, #1 pop {r4, r5, r6, r7} bx lr _0222DC34: add r1, r1, #1 add r2, r2, #3 add r0, #0x10 cmp r1, #8 blt _0222DC16 mov r0, #0 pop {r4, r5, r6, r7} bx lr .align 2, 0 _0222DC44: .word 0x00000329 thumb_func_end MOD62_0222DC00 thumb_func_start MOD62_0222DC48 MOD62_0222DC48: ; 0x0222DC48 push {r3, r4, r5, lr} add r5, r0, #0 lsl r4, r1, #4 mov r0, #0xcb add r1, r5, r4 lsl r0, r0, #2 ldr r0, [r1, r0] add r1, sp, #0 add r1, #2 add r2, sp, #0 bl FUN_0200C7A0 add r2, sp, #0 mov r0, #2 ldrsh r1, [r2, r0] ldr r0, _0222DC78 ; =0x00000329 add r3, r5, r4 strb r1, [r3, r0] mov r1, #0 ldrsh r1, [r2, r1] add r0, r0, #1 strb r1, [r3, r0] pop {r3, r4, r5, pc} nop _0222DC78: .word 0x00000329 thumb_func_end MOD62_0222DC48 thumb_func_start MOD62_0222DC7C MOD62_0222DC7C: ; 0x0222DC7C push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 mov r3, #0xca add r7, r0, #0 lsl r3, r3, #2 mov r0, #0 add r1, r7, #0 add r2, sp, #0 add r4, r3, #1 add r5, r3, #2 _0222DC90: ldrb r6, [r1, r3] add r0, r0, #1 strb r6, [r2] ldrb r6, [r1, r4] strb r6, [r2, #1] ldrb r6, [r1, r5] add r1, #0x10 strb r6, [r2, #2] add r2, r2, #3 cmp r0, #8 blt _0222DC90 ldr r0, [r7] mov r2, #0xf1 lsl r2, r2, #2 ldr r0, [r0, #0x20] ldr r2, [r7, r2] add r1, sp, #0 bl FUN_02029CA4 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD62_0222DC7C thumb_func_start MOD62_0222DCBC MOD62_0222DCBC: ; 0x0222DCBC push {r3, r4, r5, r6} mov r3, #0xca lsl r3, r3, #2 mov r2, #0 add r4, r3, #1 add r5, r3, #2 _0222DCC8: ldrb r6, [r1, r3] add r2, r2, #1 strb r6, [r0] ldrb r6, [r1, r4] strb r6, [r0, #1] ldrb r6, [r1, r5] add r1, #0x10 strb r6, [r0, #2] add r0, r0, #3 cmp r2, #8 blt _0222DCC8 pop {r3, r4, r5, r6} bx lr .align 2, 0 thumb_func_end MOD62_0222DCBC thumb_func_start MOD62_0222DCE4 MOD62_0222DCE4: ; 0x0222DCE4 push {r3, r4, r5, r6, lr} sub sp, #4 add r5, r0, #0 add r0, r1, #0 add r1, sp, #0 add r4, r2, #0 add r1, #2 add r2, sp, #0 add r6, r3, #0 bl FUN_0200C7A0 add r1, sp, #0 mov r0, #0 ldrsh r2, [r1, r0] sub r2, r2, r6 strb r2, [r5] ldrsh r0, [r1, r0] add r0, r0, r6 strb r0, [r5, #1] mov r0, #2 ldrsh r2, [r1, r0] sub r2, r2, r4 strb r2, [r5, #2] ldrsh r0, [r1, r0] add r0, r0, r4 strb r0, [r5, #3] add sp, #4 pop {r3, r4, r5, r6, pc} thumb_func_end MOD62_0222DCE4 thumb_func_start MOD62_0222DD1C MOD62_0222DD1C: ; 0x0222DD1C push {r4, lr} add r4, r0, #0 mov r0, #2 mov r1, #0x35 bl FUN_02011744 mov r1, #0x8d lsl r1, r1, #2 str r0, [r4, r1] mov r0, #2 mov r1, #0x35 bl FUN_02002C50 pop {r4, pc} thumb_func_end MOD62_0222DD1C thumb_func_start MOD62_0222DD38 MOD62_0222DD38: ; 0x0222DD38 push {r4, lr} add r4, r0, #0 mov r0, #2 bl FUN_02002CF8 mov r0, #0x8e lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_02011870 mov r0, #9 lsl r0, r0, #6 add r0, r4, r0 bl FUN_0201D5E8 mov r0, #0x8f lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_02011870 mov r0, #0x93 lsl r0, r0, #2 add r0, r4, r0 bl FUN_0201D5E8 mov r0, #0x8d lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_020117BC pop {r4, pc} .align 2, 0 thumb_func_end MOD62_0222DD38 thumb_func_start MOD62_0222DD78 MOD62_0222DD78: ; 0x0222DD78 push {r3, lr} sub sp, #0x18 add r3, r0, #0 mov r0, #0xe str r0, [sp] mov r0, #7 str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] mov r0, #1 str r0, [sp, #0xc] mov r0, #2 str r0, [sp, #0x10] ldr r0, _0222DDB0 ; =0x00007530 add r2, r3, #0 str r0, [sp, #0x14] add r0, r3, #0 add r0, #0xe8 add r2, #0xdc add r3, #0xe0 ldr r0, [r0] ldr r2, [r2] ldr r3, [r3] mov r1, #3 bl FUN_0200C0DC add sp, #0x18 pop {r3, pc} .align 2, 0 _0222DDB0: .word 0x00007530 thumb_func_end MOD62_0222DD78 thumb_func_start MOD62_0222DDB4 MOD62_0222DDB4: ; 0x0222DDB4 push {r3, r4, lr} sub sp, #4 add r4, r0, #0 bl MOD62_0222DD78 mov r1, #0 add r0, r4, #0 mov r2, #0x4e mov r3, #0xa5 str r1, [sp] bl MOD62_0222DE00 mov r0, #0 str r0, [sp] add r0, r4, #0 mov r1, #1 mov r2, #0xac mov r3, #0xa5 bl MOD62_0222DE00 add sp, #4 pop {r3, r4, pc} thumb_func_end MOD62_0222DDB4 thumb_func_start MOD62_0222DDE0 MOD62_0222DDE0: ; 0x0222DDE0 push {r3, r4, r5, lr} add r5, r0, #0 mov r0, #0x8e lsl r0, r0, #2 ldr r0, [r5, r0] add r4, r1, #0 bl FUN_020119D0 mov r0, #0x8f lsl r0, r0, #2 ldr r0, [r5, r0] add r1, r4, #0 bl FUN_020119D0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD62_0222DDE0 thumb_func_start MOD62_0222DE00 MOD62_0222DE00: ; 0x0222DE00 push {r4, r5, r6, r7, lr} sub sp, #0x5c add r5, r0, #0 add r4, r1, #0 str r2, [sp, #0x10] add r7, r3, #0 mov r0, #0 mov r1, #0x1a mov r2, #8 mov r3, #0x35 bl FUN_0200A86C add r1, r4, #5 str r0, [sp, #0x14] bl FUN_0200A914 str r0, [sp, #0x18] add r0, sp, #0x1c bl FUN_0201901C mov r0, #0 str r0, [sp] str r0, [sp, #4] add r0, r5, #0 add r0, #0xe4 ldr r0, [r0] add r1, sp, #0x1c mov r2, #0xa mov r3, #2 bl FUN_020190EC mov r3, #0 str r3, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _0222DEF0 ; =0x000F0D02 ldr r2, [sp, #0x18] str r0, [sp, #8] add r0, sp, #0x1c mov r1, #2 str r3, [sp, #0xc] bl FUN_0201BDE0 add r0, sp, #0x1c mov r1, #2 mov r2, #0x35 bl FUN_02011898 mov r3, #9 lsl r3, r3, #6 mov r1, #0xc add r6, r4, #0 mul r6, r1 add r3, r5, r3 mov r1, #1 mov r2, #2 add r3, r3, r6 bl FUN_0201D568 mov r0, #0x8d lsl r0, r0, #2 ldr r0, [r5, r0] str r0, [sp, #0x2c] add r0, sp, #0x1c str r0, [sp, #0x30] add r0, r5, #0 add r0, #0xe0 ldr r0, [r0] bl FUN_0200CA40 str r0, [sp, #0x34] add r0, r5, #0 add r0, #0xe0 ldr r0, [r0] ldr r1, _0222DEF4 ; =0x00007530 bl FUN_0200C334 str r0, [sp, #0x38] mov r0, #0 mov r1, #0x91 str r0, [sp, #0x3c] add r0, r5, r6 lsl r1, r1, #2 ldr r0, [r0, r1] str r0, [sp, #0x40] ldr r0, [sp, #0x10] add r7, #0xc0 str r0, [sp, #0x44] mov r0, #1 str r0, [sp, #0x4c] mov r0, #0x28 str r0, [sp, #0x50] mov r0, #2 str r0, [sp, #0x54] mov r0, #0x35 sub r1, #0xc str r0, [sp, #0x58] str r7, [sp, #0x48] add r5, r5, r1 lsl r4, r4, #2 add r0, sp, #0x2c bl FUN_020117E8 str r0, [r5, r4] ldr r0, [r5, r4] ldr r1, [sp, #0x70] bl FUN_02011AC0 ldr r0, [sp, #0x18] bl FUN_02021A20 ldr r0, [sp, #0x14] bl FUN_0200A8B8 add r0, sp, #0x1c bl FUN_02019178 add sp, #0x5c pop {r4, r5, r6, r7, pc} nop _0222DEF0: .word 0x000F0D02 _0222DEF4: .word 0x00007530 thumb_func_end MOD62_0222DE00 thumb_func_start MOD62_0222DEF8 MOD62_0222DEF8: ; 0x0222DEF8 push {r3, r4, r5, r6, r7, lr} sub sp, #8 mov r6, #0 add r5, r0, #0 mov r0, #0x42 add r3, r1, #0 add r7, r6, #0 add r2, r6, #0 add r4, r6, #0 lsl r0, r0, #4 _0222DF0C: add r1, r5, r2 add r2, r2, #1 strb r4, [r1, r0] cmp r2, #8 blt _0222DF0C lsl r0, r3, #3 str r0, [sp, #4] add r0, r5, #0 str r0, [sp] add r0, #0x68 str r0, [sp] _0222DF22: ldr r0, [sp] add r1, r4, #0 bl FUN_02029CF8 add r1, r5, r4 add r1, #0x80 ldrb r1, [r1] cmp r1, #0 bne _0222DF38 cmp r0, #1 bne _0222DF50 _0222DF38: ldr r0, [sp, #4] add r7, r7, #1 cmp r7, r0 ble _0222DF50 mov r0, #0x42 add r1, r5, r6 add r2, r4, #1 lsl r0, r0, #4 add r6, r6, #1 strb r2, [r1, r0] cmp r6, #8 bge _0222DF56 _0222DF50: add r4, r4, #1 cmp r4, #0x51 blt _0222DF22 _0222DF56: add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD62_0222DEF8 thumb_func_start MOD62_0222DF5C MOD62_0222DF5C: ; 0x0222DF5C push {r4, r5, r6, r7, lr} sub sp, #0x1c add r7, r0, #0 add r0, #0xdc ldr r6, [r0] add r0, r7, #0 add r0, #0xe0 ldr r5, [r0] add r0, r7, #0 add r0, #0xe8 ldr r0, [r0] mov r4, #0 str r0, [sp, #0x18] _0222DF76: mov r0, #0x42 add r1, r7, r4 lsl r0, r0, #4 ldrb r0, [r1, r0] bl FUN_02085FAC add r3, r0, #0 mov r0, #1 str r0, [sp] mov r0, #2 str r0, [sp, #4] ldr r0, _0222DFF4 ; =0x000061A8 add r1, r5, #0 add r0, r4, r0 str r0, [sp, #8] add r0, r6, #0 mov r2, #0x5b bl FUN_0200C00C add r4, r4, #1 cmp r4, #8 blt _0222DF76 mov r0, #0x5b str r0, [sp] add r0, #0xca str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] mov r0, #1 str r0, [sp, #0xc] mov r0, #2 str r0, [sp, #0x10] ldr r0, _0222DFF8 ; =0x000066B4 mov r1, #3 str r0, [sp, #0x14] ldr r0, [sp, #0x18] add r2, r6, #0 add r3, r5, #0 bl FUN_0200C0DC mov r0, #1 str r0, [sp] ldr r0, _0222DFFC ; =0x00006A2C add r1, r5, #0 str r0, [sp, #4] add r0, r6, #0 mov r2, #0x5b mov r3, #0xb4 bl FUN_0200C124 mov r0, #1 str r0, [sp] ldr r0, _0222E000 ; =0x00006DB8 add r1, r5, #0 str r0, [sp, #4] add r0, r6, #0 mov r2, #0x5b mov r3, #0x58 bl FUN_0200C13C add sp, #0x1c pop {r4, r5, r6, r7, pc} nop _0222DFF4: .word 0x000061A8 _0222DFF8: .word 0x000066B4 _0222DFFC: .word 0x00006A2C _0222E000: .word 0x00006DB8 thumb_func_end MOD62_0222DF5C thumb_func_start MOD62_0222E004 MOD62_0222E004: ; 0x0222E004 push {r3, r4, r5, r6, r7, lr} sub sp, #0x58 add r5, r0, #0 add r0, #0xdc ldr r0, [r0] mov r4, #0 str r0, [sp] add r0, r5, #0 add r0, #0xe0 ldr r7, [r0] add r0, sp, #4 strh r4, [r0, #0x20] strh r4, [r0, #0x22] strh r4, [r0, #0x24] strh r4, [r0, #0x26] mov r0, #0x3c str r0, [sp, #0x2c] mov r0, #2 str r0, [sp, #0x34] mov r0, #1 str r0, [sp, #0x50] sub r0, r0, #2 str r0, [sp, #0x48] str r0, [sp, #0x4c] ldr r0, _0222E0B4 ; =0x000066B4 str r4, [sp, #0x54] str r0, [sp, #0x3c] ldr r0, _0222E0B8 ; =0x00006A2C str r4, [sp, #0x30] str r0, [sp, #0x40] ldr r0, _0222E0BC ; =0x00006DB8 str r0, [sp, #0x44] mov r0, #0xf9 lsl r0, r0, #2 add r6, r5, r0 _0222E04A: ldr r0, _0222E0C0 ; =0x000061A8 add r1, r7, #0 add r0, r4, r0 str r0, [sp, #0x38] ldr r0, [sp] add r2, sp, #0x24 bl FUN_0200C154 add r4, r4, #1 stmia r6!, {r0} cmp r4, #8 blt _0222E04A ldr r3, _0222E0C4 ; =0x02231158 add r2, sp, #4 mov r1, #0x10 _0222E068: ldrh r0, [r3] add r3, r3, #2 strh r0, [r2] add r2, r2, #2 sub r1, r1, #1 bne _0222E068 mov r7, #0xf9 mov r6, #0 add r4, sp, #4 lsl r7, r7, #2 _0222E07C: mov r2, #2 ldrsh r2, [r4, r2] mov r0, #0xf9 mov r1, #0 lsl r0, r0, #2 sub r2, r2, #1 lsl r2, r2, #0x10 ldrsh r1, [r4, r1] ldr r0, [r5, r0] asr r2, r2, #0x10 bl FUN_0200C714 mov r0, #0xf9 lsl r0, r0, #2 ldr r0, [r5, r0] bl FUN_0200C5A8 ldr r0, [r5, r7] mov r1, #0 bl FUN_0200C61C add r6, r6, #1 add r4, r4, #4 add r5, r5, #4 cmp r6, #8 blt _0222E07C add sp, #0x58 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _0222E0B4: .word 0x000066B4 _0222E0B8: .word 0x00006A2C _0222E0BC: .word 0x00006DB8 _0222E0C0: .word 0x000061A8 _0222E0C4: .word 0x02231158 thumb_func_end MOD62_0222E004 thumb_func_start MOD62_0222E0C8 MOD62_0222E0C8: ; 0x0222E0C8 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 mov r7, #0xf9 mov r4, #0 add r5, r6, #0 lsl r7, r7, #2 _0222E0D4: add r0, r6, #0 add r0, #0xe0 ldr r1, _0222E0F4 ; =0x000061A8 ldr r0, [r0] add r1, r4, r1 bl FUN_0200C358 ldr r0, [r5, r7] bl FUN_0200C3DC add r4, r4, #1 add r5, r5, #4 cmp r4, #8 blt _0222E0D4 pop {r3, r4, r5, r6, r7, pc} nop _0222E0F4: .word 0x000061A8 thumb_func_end MOD62_0222E0C8 thumb_func_start MOD62_0222E0F8 MOD62_0222E0F8: ; 0x0222E0F8 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r7, r1, #0 mov r4, #0 str r0, [sp] str r4, [sp, #4] add r5, r7, #0 add r6, r7, #0 _0222E108: mov r0, #0x51 lsl r0, r0, #2 ldr r1, [r5, r0] cmp r1, #0 beq _0222E120 add r0, r6, #0 bl MOD08_02217F08 cmp r0, #1 bne _0222E120 mov r0, #1 str r0, [sp, #4] _0222E120: add r4, r4, #1 add r5, r5, #4 add r6, #0x24 cmp r4, #8 blt _0222E108 mov r0, #0x12 lsl r0, r0, #4 add r0, r7, r0 bl MOD08_02217ECC cmp r0, #1 bne _0222E160 mov r3, #0x59 mov r0, #1 lsl r3, r3, #2 str r0, [sp, #4] ldr r0, [r7, r3] sub r3, #0x44 ldrsh r3, [r7, r3] mov r1, #5 mov r2, #0 bl FUN_020179E0 mov r3, #0x59 lsl r3, r3, #2 ldr r0, [r7, r3] sub r3, #0x42 ldrsh r3, [r7, r3] mov r1, #5 mov r2, #3 bl FUN_020179E0 _0222E160: ldr r0, [sp, #4] cmp r0, #0 bne _0222E17C mov r0, #0x5b lsl r0, r0, #2 ldr r0, [r7, r0] mov r1, #0 str r1, [r0] add r0, r7, #0 bl FUN_02016A18 ldr r0, [sp] bl FUN_0200CAB4 _0222E17C: add sp, #8 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD62_0222E0F8 thumb_func_start MOD62_0222E180 MOD62_0222E180: ; 0x0222E180 push {r3, r4, r5, r6, r7, lr} sub sp, #0x28 str r1, [sp, #0xc] mov r1, #0x17 str r0, [sp, #8] mov r0, #0x35 lsl r1, r1, #4 str r2, [sp, #0x10] bl FUN_02016998 str r0, [sp, #0x1c] ldr r0, [sp, #8] mov r1, #0x59 add r0, #0xe4 ldr r2, [r0] ldr r0, [sp, #0x1c] lsl r1, r1, #2 str r2, [r0, r1] add r4, r0, #0 add r5, r0, #0 ldr r0, [sp, #0xc] mov r1, #0x38 lsl r0, r0, #4 neg r0, r0 str r0, [sp, #0x18] ldr r0, [sp, #0xc] ldr r6, [sp, #8] mul r1, r0 ldr r0, [sp, #0x10] mov r7, #0 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r1, [sp, #0x14] str r0, [sp, #0x20] _0222E1C4: mov r0, #0xc9 lsl r0, r0, #2 ldr r0, [r6, r0] cmp r0, #0 bne _0222E1D8 mov r0, #0x51 mov r1, #0 lsl r0, r0, #2 str r1, [r4, r0] b _0222E22E _0222E1D8: mov r0, #0xcb lsl r0, r0, #2 ldr r1, [r6, r0] mov r0, #0x51 lsl r0, r0, #2 str r1, [r4, r0] add r1, sp, #0x24 ldr r0, [r4, r0] add r1, #2 add r2, sp, #0x24 bl FUN_0200C7A0 add r1, sp, #0x24 mov r0, #0 ldrsh r3, [r1, r0] mov r0, #2 ldrsh r1, [r1, r0] ldr r0, [sp, #0x18] ldr r2, [sp, #0x14] add r0, r3, r0 lsl r0, r0, #0x10 asr r0, r0, #0x10 str r0, [sp] ldr r0, [sp, #0x20] add r2, r1, r2 lsl r2, r2, #0x10 str r0, [sp, #4] add r0, r5, #0 asr r2, r2, #0x10 bl MOD08_02217E80 mov r1, #0x51 lsl r1, r1, #2 ldr r1, [r4, r1] add r0, r5, #0 bl MOD08_02217F08 mov r1, #0x51 lsl r1, r1, #2 ldr r1, [r4, r1] add r0, r5, #0 bl MOD08_02217F08 _0222E22E: add r7, r7, #1 add r6, #0x10 add r4, r4, #4 add r5, #0x24 cmp r7, #8 blt _0222E1C4 mov r1, #0x59 ldr r0, [sp, #0x1c] lsl r1, r1, #2 ldr r0, [r0, r1] mov r1, #5 bl FUN_02017B48 add r4, r0, #0 mov r1, #0x59 ldr r0, [sp, #0x1c] lsl r1, r1, #2 ldr r0, [r0, r1] mov r1, #5 bl FUN_02017B54 add r3, r0, #0 ldr r0, [sp, #0xc] mov r5, #0x37 lsl r0, r0, #4 add r0, r3, r0 lsl r0, r0, #0x10 asr r0, r0, #0x10 str r0, [sp] ldr r0, [sp, #0x10] mov r1, #0x12 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #4] lsl r3, r3, #0x10 ldr r2, [sp, #0xc] mvn r5, r5 mul r5, r2 add r2, r4, r5 lsl r2, r2, #0x10 ldr r0, [sp, #0x1c] lsl r1, r1, #4 add r0, r0, r1 lsl r1, r4, #0x10 asr r1, r1, #0x10 asr r2, r2, #0x10 asr r3, r3, #0x10 bl MOD08_02217E80 mov r2, #0x96 lsl r2, r2, #2 ldr r0, [sp, #8] add r1, r2, #0 add r3, r0, r2 ldr r0, [sp, #0x1c] sub r1, #0xec str r3, [r0, r1] sub r2, #0xec ldr r0, [r0, r2] mov r3, #1 str r3, [r0] ldr r0, _0222E2B8 ; =MOD62_0222E0F8 ldr r1, [sp, #0x1c] lsl r2, r3, #0xc bl FUN_0200CA44 add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} nop _0222E2B8: .word MOD62_0222E0F8 thumb_func_end MOD62_0222E180 thumb_func_start MOD62_0222E2BC MOD62_0222E2BC: ; 0x0222E2BC push {r3, lr} sub sp, #8 mov r2, #2 mov r1, #0 ldr r0, _0222E2D8 ; =MOD62_0222E2DC str r2, [sp] str r0, [sp, #4] mov r0, #0x35 add r3, r1, #0 bl FUN_02022318 add sp, #8 pop {r3, pc} nop _0222E2D8: .word MOD62_0222E2DC thumb_func_end MOD62_0222E2BC thumb_func_start MOD62_0222E2DC MOD62_0222E2DC: ; 0x0222E2DC push {r3, lr} mov r0, #1 add r1, r0, #0 bl FUN_0201E6E4 ldr r0, _0222E348 ; =0x04000008 mov r1, #3 ldrh r2, [r0] bic r2, r1 mov r1, #1 orr r1, r2 strh r1, [r0] add r0, #0x58 ldrh r2, [r0] ldr r1, _0222E34C ; =0xFFFFCFFD and r2, r1 strh r2, [r0] add r2, r1, #2 ldrh r3, [r0] add r1, r1, #2 and r3, r2 mov r2, #0x10 orr r2, r3 strh r2, [r0] ldrh r3, [r0] ldr r2, _0222E350 ; =0x0000CFFB and r3, r2 strh r3, [r0] ldrh r3, [r0] sub r2, #0x1c and r3, r1 mov r1, #8 orr r1, r3 strh r1, [r0] ldrh r1, [r0] and r1, r2 strh r1, [r0] mov r0, #0 add r1, r0, #0 add r2, r0, #0 add r3, r0, #0 bl G3X_SetFog mov r0, #0 ldr r2, _0222E354 ; =0x00007FFF add r1, r0, #0 mov r3, #0x3f str r0, [sp] bl G3X_SetClearColor ldr r1, _0222E358 ; =0xBFFF0000 ldr r0, _0222E35C ; =0x04000580 str r1, [r0] pop {r3, pc} .align 2, 0 _0222E348: .word 0x04000008 _0222E34C: .word 0xFFFFCFFD _0222E350: .word 0x0000CFFB _0222E354: .word 0x00007FFF _0222E358: .word 0xBFFF0000 _0222E35C: .word 0x04000580 thumb_func_end MOD62_0222E2DC thumb_func_start MOD62_0222E360 MOD62_0222E360: ; 0x0222E360 push {r3, r4, r5, lr} ldr r3, _0222E398 ; =0x021064B8 mov r0, #2 mov r1, #0 ldr r3, [r3] lsl r0, r0, #0xe add r2, r1, #0 blx r3 ldr r3, _0222E39C ; =0x021064C0 mov r1, #0 add r4, r0, #0 ldr r3, [r3] mov r0, #0x80 add r2, r1, #0 blx r3 add r5, r0, #0 cmp r4, #0 bne _0222E388 bl ErrorHandling _0222E388: cmp r5, #0 bne _0222E390 bl ErrorHandling _0222E390: bl FUN_02012CC8 pop {r3, r4, r5, pc} nop _0222E398: .word 0x021064B8 _0222E39C: .word 0x021064C0 thumb_func_end MOD62_0222E360 thumb_func_start MOD62_0222E3A0 MOD62_0222E3A0: ; 0x0222E3A0 push {r3, lr} bl FUN_020222AC bl FUN_02013364 cmp r0, #0 ble _0222E3B6 bl FUN_020222AC bl FUN_020B02C8 _0222E3B6: bl FUN_02013388 mov r0, #1 mov r1, #0 bl FUN_020222B4 pop {r3, pc} thumb_func_end MOD62_0222E3A0 thumb_func_start MOD62_0222E3C4 MOD62_0222E3C4: ; 0x0222E3C4 push {r3, r4, r5, r6, r7, lr} sub sp, #0x40 str r1, [sp, #0x18] str r0, [sp, #0x14] ldr r1, [sp, #0x58] add r0, r3, #0 add r6, r2, #0 str r3, [sp, #0x1c] bl MOD62_0222F89C cmp r0, #3 bhi _0222E442 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0222E3E8: ; jump table .short _0222E3F0 - _0222E3E8 - 2 ; case 0 .short _0222E402 - _0222E3E8 - 2 ; case 1 .short _0222E418 - _0222E3E8 - 2 ; case 2 .short _0222E42E - _0222E3E8 - 2 ; case 3 _0222E3F0: mov r0, #0 str r0, [sp, #0x24] mov r0, #4 str r0, [sp, #0x28] mov r0, #1 mov r5, #0xd mov r4, #6 str r0, [sp, #0x2c] b _0222E442 _0222E402: mov r0, #2 str r0, [sp, #0x24] mov r0, #0 str r0, [sp, #0x28] mov r0, #4 str r0, [sp, #0x2c] mov r0, #1 mov r5, #0xb mov r4, #8 str r0, [sp, #0x30] b _0222E442 _0222E418: mov r0, #3 str r0, [sp, #0x24] mov r0, #0 str r0, [sp, #0x28] mov r0, #4 str r0, [sp, #0x2c] mov r0, #1 mov r5, #0xb mov r4, #8 str r0, [sp, #0x30] b _0222E442 _0222E42E: mov r0, #2 str r0, [sp, #0x24] mov r0, #0 str r0, [sp, #0x28] mov r0, #4 str r0, [sp, #0x2c] mov r0, #1 mov r5, #0xb mov r4, #8 str r0, [sp, #0x30] _0222E442: lsr r0, r4, #0x1f add r0, r4, r0 asr r7, r0, #1 ldr r0, [sp, #0x18] bl FUN_0201901C lsl r0, r5, #0x18 lsr r0, r0, #0x18 str r0, [sp] mov r0, #9 str r0, [sp, #4] lsl r0, r4, #0x18 lsr r0, r0, #0x18 str r0, [sp, #8] mov r0, #0xe str r0, [sp, #0xc] mov r0, #0xa6 str r0, [sp, #0x10] lsl r2, r6, #0x18 ldr r0, [sp, #0x14] ldr r1, [sp, #0x18] lsr r2, r2, #0x18 mov r3, #0x15 bl FUN_02019064 add r0, r7, #0 mov r1, #0x35 bl FUN_02012838 mov r2, #0x67 ldr r1, [sp, #0x1c] lsl r2, r2, #2 str r0, [r1, r2] mov r0, #0 mov r1, #0x1a mov r2, #8 mov r3, #0x35 bl FUN_0200A86C mov r6, #0 str r0, [sp, #0x20] cmp r7, #0 ble _0222E4D0 add r5, sp, #0x24 _0222E49A: ldr r1, [r5] ldr r0, [sp, #0x20] lsl r2, r1, #3 ldr r1, _0222E538 ; =0x02231358 ldr r1, [r1, r2] bl FUN_0200A914 ldr r2, [r5] add r4, r0, #0 lsl r3, r2, #3 ldr r2, _0222E538 ; =0x02231358 mov r0, #0x67 add r2, r2, r3 ldr r1, [sp, #0x1c] lsl r0, r0, #2 ldr r0, [r1, r0] ldr r2, [r2, #4] add r1, r4, #0 bl FUN_020128A0 add r0, r4, #0 bl FUN_02021A20 add r6, r6, #1 add r5, r5, #4 cmp r6, r7 blt _0222E49A _0222E4D0: ldr r0, [sp, #0x20] bl FUN_0200A8B8 mov r1, #0x67 ldr r0, [sp, #0x1c] lsl r1, r1, #2 ldr r0, [r0, r1] mov r1, #0 str r0, [sp, #0x34] add r0, sp, #0x24 strb r1, [r0, #0x18] ldr r1, [sp, #0x18] mov r2, #0xf str r1, [sp, #0x38] mov r1, #1 strb r1, [r0, #0x19] strb r7, [r0, #0x1a] ldrb r3, [r0, #0x1b] bic r3, r2 strb r3, [r0, #0x1b] ldrb r3, [r0, #0x1b] mov r2, #0x30 bic r3, r2 strb r3, [r0, #0x1b] ldrb r3, [r0, #0x1b] mov r2, #0xc0 bic r3, r2 mov r2, #0x40 orr r2, r3 strb r2, [r0, #0x1b] ldr r0, [sp, #0x18] mov r2, #0x1f mov r3, #0xd bl FUN_0200CCA4 mov r0, #0x35 str r0, [sp] mov r0, #2 mov r2, #0 str r0, [sp, #4] add r0, sp, #0x34 mov r1, #8 add r3, r2, #0 bl FUN_02001C14 mov r2, #0x1a ldr r1, [sp, #0x1c] lsl r2, r2, #4 str r0, [r1, r2] add sp, #0x40 pop {r3, r4, r5, r6, r7, pc} nop _0222E538: .word 0x02231358 thumb_func_end MOD62_0222E3C4 thumb_func_start MOD62_0222E53C MOD62_0222E53C: ; 0x0222E53C push {r4, r5} lsr r5, r0, #0x1f lsl r4, r0, #0x1e sub r4, r4, r5 mov r3, #0x1e ror r4, r3 add r4, r5, r4 mov r3, #0x38 mul r3, r4 add r3, #0x28 strh r3, [r1] asr r1, r0, #2 mov r0, #0x35 mul r0, r1 add r0, #0x1b strh r0, [r2] pop {r4, r5} bx lr thumb_func_end MOD62_0222E53C thumb_func_start MOD62_0222E560 MOD62_0222E560: ; 0x0222E560 push {r4, r5, r6, lr} sub sp, #0x18 add r1, r0, #0 add r1, #0xdc ldr r4, [r1] add r1, r0, #0 add r1, #0xe0 add r0, #0xe8 ldr r5, [r1] ldr r6, [r0] bl FUN_0206B888 mov r1, #0x13 str r1, [sp] str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] mov r0, #3 str r0, [sp, #0xc] mov r0, #1 str r0, [sp, #0x10] mov r0, #0xfa lsl r0, r0, #6 str r0, [sp, #0x14] add r0, r6, #0 mov r1, #2 add r2, r4, #0 add r3, r5, #0 bl FUN_0200C0DC bl FUN_0206B894 add r3, r0, #0 mov r0, #0 str r0, [sp] ldr r0, _0222E5D0 ; =0x00004268 add r1, r5, #0 str r0, [sp, #4] add r0, r4, #0 mov r2, #0x13 bl FUN_0200C124 bl FUN_0206B8A0 add r3, r0, #0 mov r0, #0 str r0, [sp] ldr r0, _0222E5D4 ; =0x00004650 add r1, r5, #0 str r0, [sp, #4] add r0, r4, #0 mov r2, #0x13 bl FUN_0200C13C add sp, #0x18 pop {r4, r5, r6, pc} .align 2, 0 _0222E5D0: .word 0x00004268 _0222E5D4: .word 0x00004650 thumb_func_end MOD62_0222E560 thumb_func_start MOD62_0222E5D8 MOD62_0222E5D8: ; 0x0222E5D8 push {r4, r5, r6, r7, lr} sub sp, #0x4c add r5, r0, #0 ldr r1, [r5] mov r6, #0 ldr r0, [r1] cmp r0, #0 ble _0222E6C6 str r6, [sp, #0xc] add r4, r5, #0 _0222E5EC: ldr r0, [sp, #0xc] add r0, r1, r0 ldr r7, [r0, #4] add r0, r7, #0 bl FUN_0206B6C8 add r3, r0, #0 mov r0, #0 str r0, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, _0222E6CC ; =0x00003A98 add r1, r5, #0 add r0, r6, r0 str r0, [sp, #8] add r0, r5, #0 add r0, #0xdc add r1, #0xe0 ldr r0, [r0] ldr r1, [r1] mov r2, #0x13 bl FUN_0200C978 mov r1, #0 add r0, sp, #0x18 strh r1, [r0] strh r1, [r0, #2] strh r1, [r0, #4] strh r1, [r0, #6] mov r0, #0xa str r0, [sp, #0x20] add r0, r1, #0 str r0, [sp, #0x24] mov r0, #1 str r0, [sp, #0x28] mov r0, #2 str r0, [sp, #0x44] add r0, r1, #0 str r0, [sp, #0x48] ldr r0, _0222E6CC ; =0x00003A98 add r2, sp, #0x18 add r0, r6, r0 str r0, [sp, #0x2c] mov r0, #0xfa lsl r0, r0, #6 str r0, [sp, #0x30] ldr r0, _0222E6D0 ; =0x00004268 str r0, [sp, #0x34] ldr r0, _0222E6D4 ; =0x00004650 str r0, [sp, #0x38] sub r0, r1, #1 str r0, [sp, #0x3c] sub r0, r1, #1 str r0, [sp, #0x40] add r0, r5, #0 add r1, r5, #0 add r0, #0xdc add r1, #0xe0 ldr r0, [r0] ldr r1, [r1] bl FUN_0200C154 mov r1, #0xbf lsl r1, r1, #2 str r0, [r4, r1] add r0, r7, #0 mov r1, #5 mov r2, #0 bl FUN_020671BC str r0, [sp, #0x10] add r0, r7, #0 mov r1, #0x4c mov r2, #0 bl FUN_020671BC str r0, [sp, #0x14] add r0, r7, #0 mov r1, #0x70 mov r2, #0 bl FUN_020671BC add r1, r0, #0 ldr r0, [sp, #0x10] ldr r2, [sp, #0x14] bl FUN_0206B7BC add r1, r0, #0 mov r0, #0xbf lsl r0, r0, #2 ldr r0, [r4, r0] ldr r0, [r0] bl FUN_020202DC mov r0, #0xbf lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #1 bl FUN_0200C5C0 ldr r0, [sp, #0xc] ldr r1, [r5] add r0, r0, #4 str r0, [sp, #0xc] ldr r0, [r1] add r6, r6, #1 add r4, r4, #4 cmp r6, r0 blt _0222E5EC _0222E6C6: add sp, #0x4c pop {r4, r5, r6, r7, pc} nop _0222E6CC: .word 0x00003A98 _0222E6D0: .word 0x00004268 _0222E6D4: .word 0x00004650 thumb_func_end MOD62_0222E5D8 thumb_func_start MOD62_0222E6D8 MOD62_0222E6D8: ; 0x0222E6D8 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 ldr r0, [r6] mov r4, #0 ldr r0, [r0] cmp r0, #0 ble _0222E700 mov r7, #0xbf add r5, r6, #0 lsl r7, r7, #2 _0222E6EC: ldr r0, [r5, r7] mov r1, #0 bl FUN_0200C644 ldr r0, [r6] add r4, r4, #1 ldr r0, [r0] add r5, r5, #4 cmp r4, r0 blt _0222E6EC _0222E700: mov r5, #0 add r4, r6, #0 _0222E704: ldr r7, [r4, #4] cmp r7, #0xff beq _0222E748 add r1, sp, #0 add r0, r5, #0 add r1, #2 add r2, sp, #0 bl MOD62_0222E53C add r2, sp, #0 mov r1, #2 ldrsh r1, [r2, r1] add r3, r2, #0 mov r2, #0 ldrsh r2, [r3, r2] lsl r0, r7, #2 add r7, r6, r0 mov r0, #0xbf lsl r0, r0, #2 sub r1, #0x10 add r2, #0xc lsl r1, r1, #0x10 lsl r2, r2, #0x10 ldr r0, [r7, r0] asr r1, r1, #0x10 asr r2, r2, #0x10 bl FUN_0200C714 mov r0, #0xbf lsl r0, r0, #2 ldr r0, [r7, r0] mov r1, #1 bl FUN_0200C644 _0222E748: add r5, r5, #1 add r4, #8 cmp r5, #0xc blt _0222E704 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD62_0222E6D8 thumb_func_start MOD62_0222E754 MOD62_0222E754: ; 0x0222E754 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 ldr r0, [r6] mov r4, #0 ldr r0, [r0] cmp r0, #0 ble _0222E77A mov r7, #0xbf add r5, r6, #0 lsl r7, r7, #2 _0222E768: ldr r0, [r5, r7] bl FUN_0200C5A8 ldr r0, [r6] add r4, r4, #1 ldr r0, [r0] add r5, r5, #4 cmp r4, r0 blt _0222E768 _0222E77A: pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD62_0222E754 thumb_func_start MOD62_0222E77C MOD62_0222E77C: ; 0x0222E77C push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 ldr r0, [r6] mov r4, #0 ldr r0, [r0] cmp r0, #0 ble _0222E7A2 mov r7, #0xbf add r5, r6, #0 lsl r7, r7, #2 _0222E790: ldr r0, [r5, r7] bl FUN_0200C3DC ldr r0, [r6] add r4, r4, #1 ldr r0, [r0] add r5, r5, #4 cmp r4, r0 blt _0222E790 _0222E7A2: pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD62_0222E77C thumb_func_start MOD62_0222E7A4 MOD62_0222E7A4: ; 0x0222E7A4 push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 mov r6, #0 add r4, r7, #0 add r5, r7, #0 _0222E7AE: ldr r0, [r4, #8] bl MOD62_0222F870 mov r1, #0x9a lsl r1, r1, #2 str r0, [r5, r1] mov r0, #0x99 ldr r1, [r4, #4] lsl r0, r0, #2 str r1, [r5, r0] add r0, r0, #4 ldr r0, [r5, r0] cmp r0, #0 bne _0222E7DC mov r0, #0x99 lsl r0, r0, #2 ldr r0, [r5, r0] cmp r0, #0xff beq _0222E7DC add r0, r7, #0 add r1, r6, #0 bl MOD62_02230D38 _0222E7DC: add r6, r6, #1 add r4, #8 add r5, #0xc cmp r6, #0xc blt _0222E7AE pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD62_0222E7A4 thumb_func_start MOD62_0222E7E8 MOD62_0222E7E8: ; 0x0222E7E8 push {r3, r4, r5, r6, lr} sub sp, #0x4c add r4, r0, #0 mov r0, #0x35 bl FUN_0200BB14 add r2, sp, #0x2c ldr r5, _0222E868 ; =0x02231138 str r0, [r4, #8] ldmia r5!, {r0, r1} add r3, r2, #0 stmia r2!, {r0, r1} ldmia r5!, {r0, r1} stmia r2!, {r0, r1} ldmia r5!, {r0, r1} stmia r2!, {r0, r1} ldmia r5!, {r0, r1} ldr r6, _0222E86C ; =0x0223110C stmia r2!, {r0, r1} add r5, sp, #0x18 ldmia r6!, {r0, r1} add r2, r5, #0 stmia r5!, {r0, r1} ldmia r6!, {r0, r1} stmia r5!, {r0, r1} ldr r0, [r6] add r1, r3, #0 str r0, [r5] ldr r0, [r4, #8] mov r3, #0x20 bl FUN_0200BB6C ldr r3, _0222E870 ; =0x02231120 add r2, sp, #0 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, #8] bl FUN_0200BB34 str r0, [r4, #0xc] ldr r0, [r4, #8] ldr r1, [r4, #0xc] mov r2, #0x80 bl FUN_0200BBF0 cmp r0, #0 bne _0222E852 bl ErrorHandling _0222E852: ldr r0, [r4, #8] ldr r1, [r4, #0xc] add r2, sp, #0 bl FUN_0200BF60 cmp r0, #0 bne _0222E864 bl ErrorHandling _0222E864: add sp, #0x4c pop {r3, r4, r5, r6, pc} .align 2, 0 _0222E868: .word 0x02231138 _0222E86C: .word 0x0223110C _0222E870: .word 0x02231120 thumb_func_end MOD62_0222E7E8 thumb_func_start MOD62_0222E874 MOD62_0222E874: ; 0x0222E874 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #8] ldr r1, [r4, #0xc] bl FUN_0200C398 ldr r0, [r4, #8] bl FUN_0200BD04 pop {r4, pc} thumb_func_end MOD62_0222E874 thumb_func_start MOD62_0222E888 MOD62_0222E888: ; 0x0222E888 push {r3, r4, lr} sub sp, #0xc add r4, r0, #0 mov r0, #1 str r0, [sp] mov r0, #2 str r0, [sp, #4] ldr r0, _0222E8EC ; =0x0000AFC8 add r1, r4, #0 str r0, [sp, #8] add r0, r4, #0 add r0, #0xdc add r1, #0xe0 mov r2, #0x5b add r3, r2, #0 ldr r0, [r0] ldr r1, [r1] add r3, #0xae bl FUN_0200C00C mov r0, #1 str r0, [sp] ldr r0, _0222E8F0 ; =0x0000B798 add r1, r4, #0 str r0, [sp, #4] add r0, r4, #0 add r0, #0xdc add r1, #0xe0 ldr r0, [r0] ldr r1, [r1] mov r2, #0x5b mov r3, #0xad bl FUN_0200C124 mov r0, #1 str r0, [sp] ldr r0, _0222E8F4 ; =0x0000BB80 mov r2, #0x5b str r0, [sp, #4] add r0, r4, #0 add r0, #0xdc add r4, #0xe0 ldr r0, [r0] ldr r1, [r4] mov r3, #0x51 bl FUN_0200C13C add sp, #0xc pop {r3, r4, pc} nop _0222E8EC: .word 0x0000AFC8 _0222E8F0: .word 0x0000B798 _0222E8F4: .word 0x0000BB80 thumb_func_end MOD62_0222E888 thumb_func_start MOD62_0222E8F8 MOD62_0222E8F8: ; 0x0222E8F8 push {r4, r5, r6, r7, lr} sub sp, #0x64 ldr r4, _0222E97C ; =0x02231178 add r6, r0, #0 add r3, sp, #0 mov r2, #6 _0222E904: ldmia r4!, {r0, r1} stmia r3!, {r0, r1} sub r2, r2, #1 bne _0222E904 mov r7, #0 add r4, sp, #0 add r5, r6, #0 _0222E912: ldr r1, [r4] add r0, sp, #0 strh r1, [r0, #0x30] ldr r1, [r4, #4] add r2, sp, #0x30 strh r1, [r0, #0x32] mov r1, #0 strh r1, [r0, #0x34] strh r1, [r0, #0x36] mov r0, #0x28 str r0, [sp, #0x38] mov r0, #2 str r0, [sp, #0x3c] str r0, [sp, #0x40] mov r0, #1 str r0, [sp, #0x5c] add r0, r1, #0 str r0, [sp, #0x60] ldr r0, _0222E980 ; =0x0000AFC8 str r0, [sp, #0x44] ldr r0, _0222E984 ; =0x000066B2 str r0, [sp, #0x48] ldr r0, _0222E988 ; =0x0000B798 str r0, [sp, #0x4c] ldr r0, _0222E98C ; =0x0000BB80 str r0, [sp, #0x50] sub r0, r1, #1 str r0, [sp, #0x54] sub r0, r1, #1 str r0, [sp, #0x58] add r0, r6, #0 add r1, r6, #0 add r0, #0xdc add r1, #0xe0 ldr r0, [r0] ldr r1, [r1] bl FUN_0200C154 mov r1, #0xc5 lsl r1, r1, #2 str r0, [r5, r1] add r0, r1, #0 ldr r0, [r5, r0] ldr r1, [r4, #8] bl FUN_0200C8D0 add r7, r7, #1 add r4, #0xc add r5, r5, #4 cmp r7, #4 blt _0222E912 add sp, #0x64 pop {r4, r5, r6, r7, pc} .align 2, 0 _0222E97C: .word 0x02231178 _0222E980: .word 0x0000AFC8 _0222E984: .word 0x000066B2 _0222E988: .word 0x0000B798 _0222E98C: .word 0x0000BB80 thumb_func_end MOD62_0222E8F8 thumb_func_start MOD62_0222E990 MOD62_0222E990: ; 0x0222E990 push {r4, r5, r6, lr} add r5, r0, #0 add r0, #0xd8 ldr r0, [r0] cmp r0, #0 beq _0222E9B0 mov r6, #0xc5 mov r4, #0 lsl r6, r6, #2 _0222E9A2: ldr r0, [r5, r6] bl FUN_0200C5A8 add r4, r4, #1 add r5, r5, #4 cmp r4, #4 blt _0222E9A2 _0222E9B0: pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD62_0222E990 thumb_func_start MOD62_0222E9B4 MOD62_0222E9B4: ; 0x0222E9B4 push {r3, r4, r5, r6, r7, lr} mov r7, #0xc5 add r5, r0, #0 add r6, r1, #0 mov r4, #0 lsl r7, r7, #2 _0222E9C0: ldr r0, [r5, r7] add r1, r6, #0 bl FUN_0200C644 add r4, r4, #1 add r5, r5, #4 cmp r4, #4 blt _0222E9C0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD62_0222E9B4 thumb_func_start MOD62_0222E9D4 MOD62_0222E9D4: ; 0x0222E9D4 push {r4, r5, r6, lr} mov r6, #0xc5 add r5, r0, #0 mov r4, #0 lsl r6, r6, #2 _0222E9DE: ldr r0, [r5, r6] bl FUN_0200C3DC add r4, r4, #1 add r5, r5, #4 cmp r4, #4 blt _0222E9DE pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD62_0222E9D4 thumb_func_start MOD62_0222E9F0 MOD62_0222E9F0: ; 0x0222E9F0 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 mov r6, #1 str r6, [sp] ldr r6, [sp, #0x3c] add r7, r2, #0 str r6, [sp, #4] ldr r6, _0222EA68 ; =0x00002AF8 add r2, r3, #0 add r2, r2, r6 str r2, [sp, #8] mov r2, #0x5b add r5, r0, #0 add r4, r1, #0 bl FUN_0200C00C mov r0, #0x5b str r0, [sp] ldr r0, [sp, #0x30] mov r1, #0 str r0, [sp, #4] str r1, [sp, #8] ldr r1, [sp, #0x44] add r2, r5, #0 str r1, [sp, #0xc] ldr r1, [sp, #0x3c] add r3, r4, #0 str r1, [sp, #0x10] add r1, r6, #0 add r0, r0, r1 str r0, [sp, #0x14] ldr r1, [sp, #0x40] add r0, r7, #0 bl FUN_0200C0DC mov r0, #1 str r0, [sp] ldr r3, [sp, #0x34] add r0, r6, #0 add r0, r3, r0 str r0, [sp, #4] add r0, r5, #0 add r1, r4, #0 mov r2, #0x5b bl FUN_0200C124 mov r0, #1 str r0, [sp] ldr r3, [sp, #0x38] add r0, r6, #0 add r0, r3, r0 str r0, [sp, #4] add r0, r5, #0 add r1, r4, #0 mov r2, #0x5b bl FUN_0200C13C add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} nop _0222EA68: .word 0x00002AF8 thumb_func_end MOD62_0222E9F0 thumb_func_start MOD62_0222EA6C MOD62_0222EA6C: ; 0x0222EA6C push {r4, r5, r6, r7, lr} sub sp, #0x54 add r5, r0, #0 ldr r0, _0222EC14 ; =0x0000011E add r2, r5, #0 str r0, [sp] mov r0, #0xae str r0, [sp, #4] mov r3, #0x52 str r3, [sp, #8] mov r1, #1 str r1, [sp, #0xc] mov r0, #2 str r0, [sp, #0x10] str r1, [sp, #0x14] add r0, r5, #0 add r1, r5, #0 add r0, #0xdc add r1, #0xe0 add r2, #0xe8 ldr r0, [r0] ldr r1, [r1] ldr r2, [r2] add r3, #0xb8 bl MOD62_0222E9F0 ldr r0, _0222EC18 ; =0x00000123 add r2, r5, #0 str r0, [sp] mov r0, #0xb3 str r0, [sp, #4] mov r3, #0x57 str r3, [sp, #8] mov r1, #1 str r1, [sp, #0xc] mov r0, #2 str r0, [sp, #0x10] str r1, [sp, #0x14] add r0, r5, #0 add r1, r5, #0 add r0, #0xdc add r1, #0xe0 add r2, #0xe8 ldr r0, [r0] ldr r1, [r1] ldr r2, [r2] add r3, #0xbc bl MOD62_0222E9F0 mov r6, #0 add r4, r5, #0 add r7, sp, #0x18 _0222EAD4: mov r0, #0 strh r0, [r7, #8] strh r0, [r7, #0xa] strh r0, [r7, #0xc] mov r0, #0x9a lsl r0, r0, #2 ldr r0, [r4, r0] add r1, r5, #0 strh r0, [r7, #0xe] mov r0, #0x28 sub r0, r0, r6 str r0, [sp, #0x28] mov r0, #0 str r0, [sp, #0x2c] mov r0, #1 str r0, [sp, #0x30] mov r0, #2 str r0, [sp, #0x4c] mov r0, #0 str r0, [sp, #0x50] ldr r0, _0222EC1C ; =0x00002C02 add r1, #0xe0 str r0, [sp, #0x34] add r0, #0x14 str r0, [sp, #0x38] ldr r0, _0222EC20 ; =0x00002BA6 add r2, sp, #0x20 str r0, [sp, #0x3c] sub r0, #0x5c str r0, [sp, #0x40] mov r0, #0 mvn r0, r0 str r0, [sp, #0x44] str r0, [sp, #0x48] add r0, r5, #0 add r0, #0xdc ldr r0, [r0] ldr r1, [r1] bl FUN_0200C154 mov r1, #0x9b lsl r1, r1, #2 str r0, [r4, r1] add r1, sp, #0x1c add r0, r6, #0 add r1, #2 add r2, sp, #0x1c bl MOD62_0222E53C mov r0, #0x9b mov r1, #6 mov r2, #4 lsl r0, r0, #2 ldrsh r1, [r7, r1] ldrsh r2, [r7, r2] ldr r0, [r4, r0] bl FUN_0200C714 add r6, r6, #1 add r4, #0xc cmp r6, #0xc blt _0222EAD4 mov r1, #0 add r0, sp, #0x18 strh r1, [r0, #8] strh r1, [r0, #0xa] strh r1, [r0, #0xc] strh r1, [r0, #0xe] mov r0, #0x14 str r0, [sp, #0x28] mov r0, #1 str r1, [sp, #0x2c] str r1, [sp, #0x50] ldr r1, _0222EC24 ; =0x00002C0B str r0, [sp, #0x30] add r0, r1, #0 add r0, #0x10 str r0, [sp, #0x38] add r0, r1, #0 mov r2, #2 sub r0, #0x60 str r1, [sp, #0x34] str r0, [sp, #0x3c] sub r0, r2, #3 sub r1, #0xbc str r1, [sp, #0x40] add r1, r5, #0 str r2, [sp, #0x4c] str r0, [sp, #0x44] str r0, [sp, #0x48] add r0, r5, #0 add r0, #0xdc add r1, #0xe0 ldr r0, [r0] ldr r1, [r1] add r2, sp, #0x20 bl FUN_0200C154 mov r1, #0xbd lsl r1, r1, #2 str r0, [r5, r1] add r0, r5, #0 add r1, r5, #0 add r0, #0xdc add r1, #0xe0 ldr r0, [r0] ldr r1, [r1] add r2, sp, #0x20 bl FUN_0200C154 mov r1, #0xbe lsl r1, r1, #2 str r0, [r5, r1] add r1, #0xcc ldr r0, [r5, r1] add r1, sp, #0x18 add r1, #2 add r2, sp, #0x18 bl MOD62_0222E53C mov r0, #0xbd lsl r0, r0, #2 add r3, sp, #0x18 mov r1, #2 mov r2, #0 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] ldr r0, [r5, r0] bl FUN_0200C714 mov r0, #0xbe lsl r0, r0, #2 add r3, sp, #0x18 mov r1, #2 mov r2, #0 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] ldr r0, [r5, r0] bl FUN_0200C714 mov r0, #0xbe lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #0x19 bl FUN_0200C6C4 mov r0, #0xbd lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #0 bl FUN_0200C5C0 mov r0, #0xbe lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #0 bl FUN_0200C5C0 add sp, #0x54 pop {r4, r5, r6, r7, pc} .align 2, 0 _0222EC14: .word 0x0000011E _0222EC18: .word 0x00000123 _0222EC1C: .word 0x00002C02 _0222EC20: .word 0x00002BA6 _0222EC24: .word 0x00002C0B thumb_func_end MOD62_0222EA6C thumb_func_start MOD62_0222EC28 MOD62_0222EC28: ; 0x0222EC28 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 bl MOD62_0222E7A4 add r0, r5, #0 bl MOD62_0222E6D8 mov r7, #0x9a lsl r7, r7, #2 mov r4, #0 add r6, r7, #4 _0222EC3E: ldr r0, [r5, r6] cmp r0, #0 beq _0222EC4A ldr r1, [r5, r7] bl FUN_0200C5C0 _0222EC4A: add r4, r4, #1 add r5, #0xc cmp r4, #0xc blt _0222EC3E pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD62_0222EC28 thumb_func_start MOD62_0222EC54 MOD62_0222EC54: ; 0x0222EC54 push {r3, r4, r5, r6, r7, lr} sub sp, #0x28 add r5, r0, #0 lsl r6, r1, #3 add r0, r5, r6 ldr r0, [r0, #4] lsl r4, r2, #3 str r1, [sp] add r1, r5, r4 ldr r7, [r1, #4] cmp r0, #0xff beq _0222EC80 add r1, r2, #1 str r1, [sp, #0xc] ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 ldr r0, [r0, #4] mov r1, #0xa1 add r2, sp, #0xc bl FUN_02067830 _0222EC80: cmp r7, #0xff beq _0222EC9A ldr r0, [sp] add r2, sp, #8 add r0, r0, #1 str r0, [sp, #8] ldr r1, [r5] lsl r0, r7, #2 add r0, r1, r0 ldr r0, [r0, #4] mov r1, #0xa1 bl FUN_02067830 _0222EC9A: add r2, r5, #4 ldr r1, [r2, r6] ldr r0, [r2, r4] add r7, r5, #0 str r0, [r2, r6] str r1, [r2, r4] add r7, #8 ldr r0, [r7, r6] add r1, sp, #0x10 bl FUN_02029C74 add r0, r5, #0 str r0, [sp, #4] add r0, #8 str r0, [sp, #4] ldr r0, [r0, r4] ldr r1, [r7, r6] bl FUN_02029C74 ldr r1, [sp, #4] add r0, sp, #0x10 ldr r1, [r1, r4] bl FUN_02029C74 add r0, r5, #0 bl MOD62_0222EC28 add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD62_0222EC54 thumb_func_start MOD62_0222ECD4 MOD62_0222ECD4: ; 0x0222ECD4 push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 mov r6, #0x9b mov r4, #0 add r5, r7, #0 lsl r6, r6, #2 _0222ECE0: ldr r0, [r5, r6] bl FUN_0200C5A8 add r4, r4, #1 add r5, #0xc cmp r4, #0xc blt _0222ECE0 mov r0, #0xbd lsl r0, r0, #2 ldr r0, [r7, r0] bl FUN_0200C5A8 mov r0, #0xbe lsl r0, r0, #2 ldr r0, [r7, r0] bl FUN_0200C5A8 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD62_0222ECD4 thumb_func_start MOD62_0222ED04 MOD62_0222ED04: ; 0x0222ED04 push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 mov r6, #0x9b mov r4, #0 add r5, r7, #0 lsl r6, r6, #2 _0222ED10: ldr r0, [r5, r6] bl FUN_0200C3DC add r4, r4, #1 add r5, #0xc cmp r4, #0xc blt _0222ED10 mov r0, #0xbd lsl r0, r0, #2 ldr r0, [r7, r0] bl FUN_0200C3DC mov r0, #0xbe lsl r0, r0, #2 ldr r0, [r7, r0] bl FUN_0200C3DC pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD62_0222ED04 thumb_func_start MOD62_0222ED34 MOD62_0222ED34: ; 0x0222ED34 push {r3, r4, r5, r6, lr} sub sp, #0xc add r6, r2, #0 add r4, r1, #0 lsl r1, r6, #0x18 lsr r1, r1, #0x18 str r1, [sp] mov r1, #0x35 str r1, [sp, #4] mov r1, #1 add r2, r1, #0 mov r3, #0xf add r5, r0, #0 bl FUN_0200CD68 add r0, r6, #0 bl FUN_0200CD64 add r2, r0, #0 mov r0, #0 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0xc0 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x26 mov r3, #0x35 bl FUN_020030E8 mov r0, #0 str r0, [sp] mov r0, #0x35 str r0, [sp, #4] add r0, r5, #0 mov r1, #1 mov r2, #0x1f mov r3, #0xd bl FUN_0200CB00 bl FUN_0200CAFC add r2, r0, #0 mov r0, #0 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0xd0 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x26 mov r3, #0x35 bl FUN_020030E8 mov r0, #0 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0xe0 str r0, [sp, #8] add r0, r4, #0 mov r1, #0xe mov r2, #7 mov r3, #0x35 bl FUN_020030E8 add sp, #0xc pop {r3, r4, r5, r6, pc} thumb_func_end MOD62_0222ED34 thumb_func_start MOD62_0222EDBC MOD62_0222EDBC: ; 0x0222EDBC push {r3, r4, r5, r6, lr} sub sp, #0xc add r6, r2, #0 add r4, r1, #0 lsl r1, r6, #0x18 lsr r1, r1, #0x18 str r1, [sp] mov r1, #0x35 str r1, [sp, #4] mov r1, #4 mov r2, #1 mov r3, #0xf add r5, r0, #0 bl FUN_0200CD68 add r0, r6, #0 bl FUN_0200CD64 add r2, r0, #0 mov r0, #1 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0xc0 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x26 mov r3, #0x35 bl FUN_020030E8 mov r0, #0 str r0, [sp] mov r0, #0x35 str r0, [sp, #4] add r0, r5, #0 mov r1, #4 mov r2, #0x1f mov r3, #0xd bl FUN_0200CB00 bl FUN_0200CAFC add r2, r0, #0 mov r0, #1 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0xd0 str r0, [sp, #8] add r0, r4, #0 mov r1, #0x26 mov r3, #0x35 bl FUN_020030E8 mov r0, #1 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0xe0 str r0, [sp, #8] add r0, r4, #0 mov r1, #0xe mov r2, #7 mov r3, #0x35 bl FUN_020030E8 mov r0, #1 str r0, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0x30 str r0, [sp, #8] add r0, r4, #0 mov r1, #0xe mov r2, #7 mov r3, #0x35 bl FUN_020030E8 mov r0, #1 str r0, [sp] mov r0, #0x20 mov r1, #0x5b str r0, [sp, #4] mov r0, #0xb0 add r2, r1, #0 str r0, [sp, #8] add r0, r4, #0 add r2, #0xcb mov r3, #0x35 bl FUN_020030E8 add sp, #0xc pop {r3, r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD62_0222EDBC thumb_func_start MOD62_0222EE78 MOD62_0222EE78: ; 0x0222EE78 push {r3, r4, r5, r6, lr} sub sp, #0xc add r5, r1, #0 ldr r1, _0222EEDC ; =0x0000FFFF add r4, r0, #0 cmp r5, r1 bne _0222EE96 mov r1, #0xf bl FUN_02019620 add r0, r4, #0 bl FUN_020191D0 add sp, #0xc pop {r3, r4, r5, r6, pc} _0222EE96: mov r0, #0 mov r1, #0x1a mov r2, #8 mov r3, #0x35 bl FUN_0200A86C add r1, r5, #0 add r6, r0, #0 bl FUN_0200A914 add r5, r0, #0 add r0, r4, #0 mov r1, #0xf bl FUN_02019620 mov r1, #0 str r1, [sp] str r1, [sp, #4] add r0, r4, #0 add r2, r5, #0 add r3, r1, #0 str r1, [sp, #8] bl FUN_0201BD84 add r0, r4, #0 bl FUN_020191D0 add r0, r5, #0 bl FUN_02021A20 add r0, r6, #0 bl FUN_0200A8B8 add sp, #0xc pop {r3, r4, r5, r6, pc} .align 2, 0 _0222EEDC: .word 0x0000FFFF thumb_func_end MOD62_0222EE78 thumb_func_start MOD62_0222EEE0 MOD62_0222EEE0: ; 0x0222EEE0 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r5, r1, #0 add r7, r0, #0 add r0, r5, #0 add r4, r2, #0 add r6, r3, #0 bl FUN_0201901C ldr r0, [sp, #0x28] lsl r2, r4, #0x18 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp] ldr r0, [sp, #0x2c] lsl r3, r6, #0x18 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #4] ldr r0, [sp, #0x30] add r1, r5, #0 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #8] mov r0, #0xe str r0, [sp, #0xc] ldr r0, [sp, #0x34] lsr r2, r2, #0x18 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x10] add r0, r7, #0 lsr r3, r3, #0x18 bl FUN_02019064 mov r1, #1 add r0, r5, #0 add r2, r1, #0 mov r3, #0xc bl FUN_0200D0BC add r0, r5, #0 mov r1, #0xf bl FUN_02019620 add r0, r5, #0 bl FUN_020191D0 add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD62_0222EEE0 thumb_func_start MOD62_0222EF44 MOD62_0222EF44: ; 0x0222EF44 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r5, r1, #0 add r7, r0, #0 add r0, r5, #0 add r4, r2, #0 add r6, r3, #0 bl FUN_0201901C ldr r0, [sp, #0x28] lsl r2, r4, #0x18 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp] ldr r0, [sp, #0x2c] lsl r3, r6, #0x18 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #4] ldr r0, [sp, #0x30] add r1, r5, #0 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [sp, #0x38] lsr r2, r2, #0x18 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0xc] ldr r0, [sp, #0x34] lsr r3, r3, #0x18 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x10] add r0, r7, #0 bl FUN_02019064 add r0, r5, #0 mov r1, #0xf bl FUN_02019620 add r0, r5, #0 bl FUN_020191D0 add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD62_0222EF44 thumb_func_start MOD62_0222EFA0 MOD62_0222EFA0: ; 0x0222EFA0 push {r3, r4, lr} sub sp, #0x14 mov r1, #2 add r4, r0, #0 str r1, [sp] mov r0, #4 str r0, [sp, #4] str r1, [sp, #8] mov r1, #0x94 str r1, [sp, #0xc] mov r0, #0xb str r0, [sp, #0x10] add r0, r4, #0 add r0, #0xe4 add r1, #0x88 ldr r0, [r0] add r1, r4, r1 mov r2, #6 mov r3, #3 bl MOD62_0222EF44 mov r1, #2 str r1, [sp] mov r0, #4 str r0, [sp, #4] str r1, [sp, #8] mov r1, #0x9c str r1, [sp, #0xc] mov r0, #0xb str r0, [sp, #0x10] add r0, r4, #0 add r0, #0xe4 add r1, #0x90 ldr r0, [r0] add r1, r4, r1 mov r2, #6 mov r3, #0xa bl MOD62_0222EF44 mov r0, #5 str r0, [sp] mov r0, #4 str r0, [sp, #4] mov r0, #2 str r0, [sp, #8] mov r1, #0xa4 str r1, [sp, #0xc] mov r0, #0xb str r0, [sp, #0x10] add r0, r4, #0 add r0, #0xe4 add r1, #0x98 ldr r0, [r0] add r1, r4, r1 mov r2, #6 mov r3, #3 bl MOD62_0222EF44 mov r0, #5 str r0, [sp] mov r0, #4 str r0, [sp, #4] mov r0, #2 str r0, [sp, #8] mov r1, #0xac str r1, [sp, #0xc] mov r0, #0xb str r0, [sp, #0x10] add r0, r4, #0 add r0, #0xe4 add r1, #0xa0 ldr r0, [r0] add r1, r4, r1 mov r2, #6 mov r3, #0xa bl MOD62_0222EF44 mov r0, #8 str r0, [sp] mov r0, #4 str r0, [sp, #4] mov r0, #2 str r0, [sp, #8] mov r1, #0xb4 str r1, [sp, #0xc] mov r0, #0xb str r0, [sp, #0x10] add r0, r4, #0 add r0, #0xe4 add r1, #0xa8 ldr r0, [r0] add r1, r4, r1 mov r2, #6 mov r3, #3 bl MOD62_0222EF44 mov r0, #8 str r0, [sp] mov r0, #4 str r0, [sp, #4] mov r0, #2 str r0, [sp, #8] mov r1, #0xbc str r1, [sp, #0xc] mov r0, #0xb str r0, [sp, #0x10] add r0, r4, #0 add r0, #0xe4 add r1, #0xb0 ldr r0, [r0] add r1, r4, r1 mov r2, #6 mov r3, #0xa bl MOD62_0222EF44 mov r2, #0xb str r2, [sp] mov r0, #4 str r0, [sp, #4] mov r0, #2 str r0, [sp, #8] mov r1, #0xc4 str r1, [sp, #0xc] add r0, r4, #0 str r2, [sp, #0x10] add r0, #0xe4 add r1, #0xb8 ldr r0, [r0] add r1, r4, r1 mov r2, #6 mov r3, #3 bl MOD62_0222EF44 mov r2, #0xb str r2, [sp] mov r0, #4 str r0, [sp, #4] mov r0, #2 str r0, [sp, #8] mov r1, #0xcc str r1, [sp, #0xc] add r0, r4, #0 str r2, [sp, #0x10] add r0, #0xe4 add r1, #0xc0 ldr r0, [r0] add r1, r4, r1 mov r2, #6 mov r3, #0xa bl MOD62_0222EF44 add sp, #0x14 pop {r3, r4, pc} .align 2, 0 thumb_func_end MOD62_0222EFA0 thumb_func_start MOD62_0222F0D4 MOD62_0222F0D4: ; 0x0222F0D4 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r7, r0, #0 add r5, r7, #0 add r5, #0xec mov r6, #3 add r5, #0x30 _0222F0E2: ldr r0, _0222F160 ; =0x0000041D add r1, r7, r6 ldrb r0, [r1, r0] str r0, [sp, #0x10] cmp r0, #0 bne _0222F0FE add r0, r5, #0 mov r1, #0xee bl FUN_02019620 add r0, r5, #0 bl FUN_020191D0 b _0222F152 _0222F0FE: add r0, r5, #0 mov r1, #0 bl FUN_02019620 mov r0, #0x64 mov r1, #0x35 bl FUN_020219F4 ldr r1, [sp, #0x10] add r4, r0, #0 ldr r0, [r7, #0x64] sub r1, r1, #1 bl FUN_02029CF4 add r1, r0, #0 mov r0, #1 str r0, [sp] add r0, r4, #0 mov r2, #3 mov r3, #1 bl FUN_02021B04 mov r0, #0 str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _0222F164 ; =0x00010200 mov r1, #0 str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] add r0, r5, #0 add r2, r4, #0 mov r3, #7 bl FUN_0201BDE0 add r0, r5, #0 bl FUN_020191D0 add r0, r4, #0 bl FUN_02021A20 _0222F152: add r6, r6, #1 add r5, #0x10 cmp r6, #0xb blt _0222F0E2 add sp, #0x14 pop {r4, r5, r6, r7, pc} nop _0222F160: .word 0x0000041D _0222F164: .word 0x00010200 thumb_func_end MOD62_0222F0D4 thumb_func_start MOD62_0222F168 MOD62_0222F168: ; 0x0222F168 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r6, r0, #0 add r0, r1, #3 lsl r4, r0, #4 mov r0, #0x42 add r1, r6, r1 lsl r0, r0, #4 add r5, r6, #0 ldrb r7, [r1, r0] add r5, #0xec cmp r7, #0 bne _0222F194 add r0, r5, r4 mov r1, #0xee bl FUN_02019620 add r0, r5, r4 bl FUN_020191D0 add sp, #0x14 pop {r4, r5, r6, r7, pc} _0222F194: add r0, r5, r4 mov r1, #0 bl FUN_02019620 mov r0, #0x64 mov r1, #0x35 bl FUN_020219F4 str r0, [sp, #0x10] ldr r0, [r6, #0x64] sub r1, r7, #1 bl FUN_02029CF4 add r1, r0, #0 mov r3, #1 ldr r0, [sp, #0x10] mov r2, #3 str r3, [sp] bl FUN_02021B04 mov r1, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _0222F1E4 ; =0x00010200 ldr r2, [sp, #0x10] str r0, [sp, #8] add r0, r5, r4 mov r3, #7 str r1, [sp, #0xc] bl FUN_0201BDE0 add r0, r5, r4 bl FUN_020191D0 ldr r0, [sp, #0x10] bl FUN_02021A20 add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _0222F1E4: .word 0x00010200 thumb_func_end MOD62_0222F168 thumb_func_start MOD62_0222F1E8 MOD62_0222F1E8: ; 0x0222F1E8 push {r3, r4, r5, lr} add r0, #0xec add r5, r0, #0 mov r4, #3 add r5, #0x30 _0222F1F2: add r0, r5, #0 bl FUN_02019570 add r0, r5, #0 bl FUN_02019178 add r4, r4, #1 add r5, #0x10 cmp r4, #0xb blt _0222F1F2 pop {r3, r4, r5, pc} thumb_func_end MOD62_0222F1E8 thumb_func_start MOD62_0222F208 MOD62_0222F208: ; 0x0222F208 push {r3, r4, r5, r6, lr} sub sp, #0xc add r5, r1, #0 ldr r1, _0222F26C ; =0x0000FFFF add r4, r0, #0 cmp r5, r1 bne _0222F226 mov r1, #0xf bl FUN_02019620 add r0, r4, #0 bl FUN_020191D0 add sp, #0xc pop {r3, r4, r5, r6, pc} _0222F226: mov r0, #0 mov r1, #0x1a mov r2, #0xa mov r3, #0x35 bl FUN_0200A86C add r1, r5, #0 add r6, r0, #0 bl FUN_0200A914 add r5, r0, #0 add r0, r4, #0 mov r1, #0xf bl FUN_02019620 mov r1, #0 str r1, [sp] str r1, [sp, #4] add r0, r4, #0 add r2, r5, #0 add r3, r1, #0 str r1, [sp, #8] bl FUN_0201BD84 add r0, r4, #0 bl FUN_020191D0 add r0, r5, #0 bl FUN_02021A20 add r0, r6, #0 bl FUN_0200A8B8 add sp, #0xc pop {r3, r4, r5, r6, pc} .align 2, 0 _0222F26C: .word 0x0000FFFF thumb_func_end MOD62_0222F208 thumb_func_start MOD62_0222F270 MOD62_0222F270: ; 0x0222F270 push {r3, lr} bl FUN_0201E788 mov r0, #0x10 mov r1, #1 bl FUN_0201E6E4 mov r0, #0x10 mov r1, #1 bl FUN_0201E74C pop {r3, pc} thumb_func_end MOD62_0222F270 thumb_func_start MOD62_0222F288 MOD62_0222F288: ; 0x0222F288 push {lr} sub sp, #0xc mov r0, #6 str r0, [sp] mov r1, #1 str r1, [sp, #4] mov r0, #0x35 str r0, [sp, #8] mov r0, #0 add r2, r1, #0 add r3, r0, #0 bl FUN_0200E1D0 add sp, #0xc pop {pc} .align 2, 0 thumb_func_end MOD62_0222F288 thumb_func_start MOD62_0222F2A8 MOD62_0222F2A8: ; 0x0222F2A8 push {lr} sub sp, #0xc mov r0, #6 str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #0x35 str r0, [sp, #8] mov r0, #0 add r1, r0, #0 add r2, r0, #0 add r3, r0, #0 bl FUN_0200E1D0 add sp, #0xc pop {pc} thumb_func_end MOD62_0222F2A8 thumb_func_start MOD62_0222F2C8 MOD62_0222F2C8: ; 0x0222F2C8 push {r4, lr} sub sp, #0x10 add r4, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] mov r0, #0x35 add r2, r4, #0 str r0, [sp, #0xc] mov r0, #0x5b add r2, #0xe4 add r1, r0, #0 ldr r2, [r2] add r1, #0xb1 mov r3, #2 bl FUN_0200687C mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] mov r0, #0x35 add r2, r4, #0 str r0, [sp, #0xc] mov r0, #0x5b add r2, #0xe4 add r1, r0, #0 ldr r2, [r2] add r1, #0xc1 mov r3, #2 bl FUN_020068C8 mov r1, #0 str r1, [sp] mov r0, #0x40 str r0, [sp, #4] add r0, r4, #0 str r1, [sp, #8] add r0, #0xe8 mov r1, #0x5b add r2, r1, #0 ldr r0, [r0] add r2, #0xc5 mov r3, #0x35 bl FUN_020030E8 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] mov r0, #0x35 add r2, r4, #0 str r0, [sp, #0xc] mov r0, #0x5b add r2, #0xe4 add r1, r0, #0 ldr r2, [r2] add r1, #0xb2 mov r3, #3 bl FUN_0200687C mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] mov r0, #0x35 str r0, [sp, #0xc] mov r0, #0x5b add r4, #0xe4 add r1, r0, #0 ldr r2, [r4] add r1, #0xc2 mov r3, #3 bl FUN_020068C8 add sp, #0x10 pop {r4, pc} thumb_func_end MOD62_0222F2C8 thumb_func_start MOD62_0222F36C MOD62_0222F36C: ; 0x0222F36C push {r4, lr} sub sp, #0x10 add r4, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] mov r0, #0x35 add r2, r4, #0 str r0, [sp, #0xc] mov r0, #0x5b add r2, #0xe4 add r1, r0, #0 ldr r2, [r2] add r1, #0xb0 mov r3, #5 bl FUN_0200687C mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] mov r0, #0x35 add r2, r4, #0 str r0, [sp, #0xc] mov r0, #0x5b add r2, #0xe4 add r1, r0, #0 ldr r2, [r2] add r1, #0xc0 mov r3, #5 bl FUN_020068C8 mov r0, #1 str r0, [sp] mov r0, #0x40 str r0, [sp, #4] mov r0, #0 mov r1, #0x5b add r2, r1, #0 add r4, #0xe8 str r0, [sp, #8] ldr r0, [r4] add r2, #0xc4 mov r3, #0x35 bl FUN_020030E8 add sp, #0x10 pop {r4, pc} .align 2, 0 thumb_func_end MOD62_0222F36C thumb_func_start MOD62_0222F3D4 MOD62_0222F3D4: ; 0x0222F3D4 push {r4, lr} sub sp, #0x10 add r4, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] mov r0, #0x35 add r2, r4, #0 str r0, [sp, #0xc] mov r0, #0x5b add r2, #0xe4 add r1, r0, #0 ldr r2, [r2] add r1, #0xb0 mov r3, #7 bl FUN_0200687C mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] mov r0, #0x35 add r2, r4, #0 str r0, [sp, #0xc] mov r0, #0x5b add r2, #0xe4 add r1, r0, #0 ldr r2, [r2] add r1, #0xbf mov r3, #7 bl FUN_020068C8 mov r0, #1 str r0, [sp] mov r0, #0x40 str r0, [sp, #4] mov r0, #0 mov r1, #0x5b add r2, r1, #0 add r4, #0xe8 str r0, [sp, #8] ldr r0, [r4] add r2, #0xc4 mov r3, #0x35 bl FUN_020030E8 add sp, #0x10 pop {r4, pc} .align 2, 0 thumb_func_end MOD62_0222F3D4 thumb_func_start MOD62_0222F43C MOD62_0222F43C: ; 0x0222F43C push {r3, r4, r5, lr} sub sp, #0x18 add r1, r0, #0 add r1, #0xdc ldr r4, [r1] add r1, r0, #0 add r1, #0xe0 ldr r5, [r1] mov r1, #0x5b str r1, [sp] add r1, #0xc7 str r1, [sp, #4] mov r1, #0 str r1, [sp, #8] mov r1, #3 str r1, [sp, #0xc] mov r2, #2 str r2, [sp, #0x10] ldr r2, _0222F57C ; =0x000066B2 add r0, #0xe8 str r2, [sp, #0x14] ldr r0, [r0] add r2, r4, #0 add r3, r5, #0 bl FUN_0200C0DC mov r0, #1 str r0, [sp] mov r0, #2 str r0, [sp, #4] ldr r0, _0222F580 ; =0x000062B9 mov r2, #0x5b add r3, r2, #0 str r0, [sp, #8] add r0, r4, #0 add r1, r5, #0 add r3, #0xb6 bl FUN_0200C00C mov r0, #1 str r0, [sp] ldr r0, _0222F584 ; =0x00006A29 add r1, r5, #0 str r0, [sp, #4] add r0, r4, #0 mov r2, #0x5b mov r3, #0xb1 bl FUN_0200C124 mov r0, #1 str r0, [sp] ldr r0, _0222F588 ; =0x00006DB5 add r1, r5, #0 str r0, [sp, #4] add r0, r4, #0 mov r2, #0x5b mov r3, #0x55 bl FUN_0200C13C mov r0, #1 str r0, [sp] mov r0, #2 str r0, [sp, #4] ldr r0, _0222F58C ; =0x000062BA mov r2, #0x5b add r3, r2, #0 str r0, [sp, #8] add r0, r4, #0 add r1, r5, #0 add r3, #0xb7 bl FUN_0200C00C mov r0, #1 str r0, [sp] ldr r0, _0222F590 ; =0x00006A2A add r1, r5, #0 str r0, [sp, #4] add r0, r4, #0 mov r2, #0x5b mov r3, #0xb2 bl FUN_0200C124 mov r0, #1 str r0, [sp] ldr r0, _0222F594 ; =0x00006DB6 add r1, r5, #0 str r0, [sp, #4] add r0, r4, #0 mov r2, #0x5b mov r3, #0x56 bl FUN_0200C13C mov r0, #1 str r0, [sp] mov r0, #2 str r0, [sp, #4] ldr r0, _0222F598 ; =0x000062B6 mov r2, #0x5b add r3, r2, #0 str r0, [sp, #8] add r0, r4, #0 add r1, r5, #0 add r3, #0xb3 bl FUN_0200C00C mov r0, #1 str r0, [sp] ldr r0, _0222F59C ; =0x00006A27 add r1, r5, #0 str r0, [sp, #4] add r0, r4, #0 mov r2, #0x5b mov r3, #0xaf bl FUN_0200C124 mov r0, #1 str r0, [sp] ldr r0, _0222F5A0 ; =0x00006DB3 add r1, r5, #0 str r0, [sp, #4] add r0, r4, #0 mov r2, #0x5b mov r3, #0x53 bl FUN_0200C13C mov r0, #1 str r0, [sp] mov r0, #2 str r0, [sp, #4] ldr r0, _0222F5A4 ; =0x000089C8 mov r2, #0x5b add r3, r2, #0 str r0, [sp, #8] add r0, r4, #0 add r1, r5, #0 add r3, #0xb5 bl FUN_0200C00C mov r0, #1 str r0, [sp] ldr r0, _0222F5A8 ; =0x00006A28 add r1, r5, #0 str r0, [sp, #4] add r0, r4, #0 mov r2, #0x5b mov r3, #0xb0 bl FUN_0200C124 mov r0, #1 str r0, [sp] ldr r0, _0222F5AC ; =0x00006DB4 add r1, r5, #0 str r0, [sp, #4] add r0, r4, #0 mov r2, #0x5b mov r3, #0x54 bl FUN_0200C13C add sp, #0x18 pop {r3, r4, r5, pc} .align 2, 0 _0222F57C: .word 0x000066B2 _0222F580: .word 0x000062B9 _0222F584: .word 0x00006A29 _0222F588: .word 0x00006DB5 _0222F58C: .word 0x000062BA _0222F590: .word 0x00006A2A _0222F594: .word 0x00006DB6 _0222F598: .word 0x000062B6 _0222F59C: .word 0x00006A27 _0222F5A0: .word 0x00006DB3 _0222F5A4: .word 0x000089C8 _0222F5A8: .word 0x00006A28 _0222F5AC: .word 0x00006DB4 thumb_func_end MOD62_0222F43C thumb_func_start MOD62_0222F5B0 MOD62_0222F5B0: ; 0x0222F5B0 push {r3, r4, r5, r6, r7, lr} sub sp, #0xa0 add r7, r0, #0 add r0, #0xdc ldr r6, [r0] add r0, r7, #0 add r0, #0xe0 ldr r5, [r0] mov r0, #0xf9 lsl r0, r0, #2 add r4, r7, r0 mov r1, #0 add r2, sp, #0x6c strh r1, [r2] strh r1, [r2, #2] strh r1, [r2, #4] strh r1, [r2, #6] mov r0, #0x3c str r0, [sp, #0x74] mov r0, #2 str r0, [sp, #0x7c] mov r0, #1 str r1, [sp, #0x9c] sub r1, r0, #2 str r0, [sp, #0x98] str r0, [sp, #0x78] ldr r0, _0222F6FC ; =0x000062B9 str r1, [sp, #0x90] str r0, [sp, #0x80] ldr r0, _0222F700 ; =0x000066B2 str r1, [sp, #0x94] str r0, [sp, #0x84] ldr r0, _0222F704 ; =0x00006A29 add r1, r5, #0 str r0, [sp, #0x88] ldr r0, _0222F708 ; =0x00006DB5 str r0, [sp, #0x8c] add r0, r6, #0 bl FUN_0200C154 str r0, [r4, #0x20] ldr r0, _0222F70C ; =0x000062BA add r1, r5, #0 str r0, [sp, #0x80] ldr r0, _0222F700 ; =0x000066B2 add r2, sp, #0x6c str r0, [sp, #0x84] ldr r0, _0222F710 ; =0x00006A2A str r0, [sp, #0x88] ldr r0, _0222F714 ; =0x00006DB6 str r0, [sp, #0x8c] add r0, r6, #0 bl FUN_0200C154 str r0, [r4, #0x24] mov r0, #1 str r0, [sp, #0x98] str r0, [sp, #0x78] ldr r0, _0222F718 ; =0x000089C8 add r1, r5, #0 str r0, [sp, #0x80] ldr r0, _0222F700 ; =0x000066B2 add r2, sp, #0x6c str r0, [sp, #0x84] ldr r0, _0222F71C ; =0x00006A28 str r0, [sp, #0x88] ldr r0, _0222F720 ; =0x00006DB4 str r0, [sp, #0x8c] add r0, r6, #0 bl FUN_0200C154 str r0, [r4, #0x28] mov r0, #1 str r0, [sp, #0x98] mov r0, #0 str r0, [sp, #0x78] ldr r0, _0222F724 ; =0x000062B6 add r1, r5, #0 str r0, [sp, #0x80] ldr r0, _0222F700 ; =0x000066B2 add r2, sp, #0x6c str r0, [sp, #0x84] ldr r0, _0222F728 ; =0x00006A27 str r0, [sp, #0x88] ldr r0, _0222F72C ; =0x00006DB3 str r0, [sp, #0x8c] add r0, r6, #0 bl FUN_0200C154 str r0, [r4, #0x2c] add r0, r6, #0 add r1, r5, #0 add r2, sp, #0x6c bl FUN_0200C154 ldr r3, _0222F730 ; =0x022311A8 str r0, [r4, #0x30] add r2, sp, #0x38 mov r1, #0x1a _0222F676: ldrh r0, [r3] add r3, r3, #2 strh r0, [r2] add r2, r2, #2 sub r1, r1, #1 bne _0222F676 ldr r3, _0222F734 ; =0x022311DC add r2, sp, #4 mov r1, #0x1a _0222F688: ldrh r0, [r3] add r3, r3, #2 strh r0, [r2] add r2, r2, #2 sub r1, r1, #1 bne _0222F688 mov r0, #8 str r0, [sp] mov r0, #0x1d add r4, r7, #0 lsl r0, r0, #4 add r7, r7, r0 add r6, sp, #0x58 add r4, #0x20 add r5, sp, #0x24 add r7, #0x20 _0222F6A8: mov r0, #0xf9 mov r1, #0 mov r2, #2 lsl r0, r0, #2 ldrsh r1, [r6, r1] ldrsh r2, [r6, r2] ldr r0, [r4, r0] bl FUN_0200C714 mov r0, #0xf9 lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_0200C5A8 mov r0, #0xf9 lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0 bl FUN_0200C61C mov r1, #0xf9 mov r2, #0 mov r3, #2 lsl r1, r1, #2 ldrsh r2, [r5, r2] ldrsh r3, [r5, r3] ldr r1, [r4, r1] add r0, r7, #0 bl MOD62_0222DCE4 ldr r0, [sp] add r6, r6, #4 add r0, r0, #1 add r4, r4, #4 add r5, r5, #4 add r7, r7, #4 str r0, [sp] cmp r0, #0xd blt _0222F6A8 add sp, #0xa0 pop {r3, r4, r5, r6, r7, pc} nop _0222F6FC: .word 0x000062B9 _0222F700: .word 0x000066B2 _0222F704: .word 0x00006A29 _0222F708: .word 0x00006DB5 _0222F70C: .word 0x000062BA _0222F710: .word 0x00006A2A _0222F714: .word 0x00006DB6 _0222F718: .word 0x000089C8 _0222F71C: .word 0x00006A28 _0222F720: .word 0x00006DB4 _0222F724: .word 0x000062B6 _0222F728: .word 0x00006A27 _0222F72C: .word 0x00006DB3 _0222F730: .word 0x022311A8 _0222F734: .word 0x022311DC thumb_func_end MOD62_0222F5B0 thumb_func_start MOD62_0222F738 MOD62_0222F738: ; 0x0222F738 push {r3, r4, r5, r6, r7, lr} mov r7, #0xf9 add r5, r0, #0 add r6, r1, #0 mov r4, #0 lsl r7, r7, #2 _0222F744: ldr r0, [r5, r7] add r1, r6, #0 bl FUN_0200C644 add r4, r4, #1 add r5, r5, #4 cmp r4, #0xd blt _0222F744 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD62_0222F738 thumb_func_start MOD62_0222F758 MOD62_0222F758: ; 0x0222F758 bx lr .align 2, 0 thumb_func_end MOD62_0222F758 thumb_func_start MOD62_0222F75C MOD62_0222F75C: ; 0x0222F75C push {r4, r5, r6, lr} add r5, r0, #0 mov r6, #0xf9 mov r4, #8 add r5, #0x20 lsl r6, r6, #2 _0222F768: ldr r0, [r5, r6] bl FUN_0200C3DC add r4, r4, #1 add r5, r5, #4 cmp r4, #0xd blt _0222F768 pop {r4, r5, r6, pc} thumb_func_end MOD62_0222F75C thumb_func_start MOD62_0222F778 MOD62_0222F778: ; 0x0222F778 add r1, r0, #0 mov r0, #0xf1 lsl r0, r0, #2 ldr r0, [r1, r0] ldr r3, _0222F78C ; =FUN_02029C74 lsl r0, r0, #3 add r0, r1, r0 ldr r0, [r0, #8] add r1, #0x68 bx r3 .align 2, 0 _0222F78C: .word FUN_02029C74 thumb_func_end MOD62_0222F778 thumb_func_start MOD62_0222F790 MOD62_0222F790: ; 0x0222F790 mov r1, #0xf1 add r2, r0, #0 lsl r1, r1, #2 ldr r1, [r2, r1] ldr r3, _0222F7A4 ; =FUN_02029C74 lsl r1, r1, #3 add r1, r2, r1 add r0, #0x68 ldr r1, [r1, #8] bx r3 .align 2, 0 _0222F7A4: .word FUN_02029C74 thumb_func_end MOD62_0222F790 thumb_func_start MOD62_0222F7A8 MOD62_0222F7A8: ; 0x0222F7A8 push {r3, r4, r5, lr} add r5, r0, #0 mov r4, #0 _0222F7AE: ldr r0, [r5, #0x64] add r1, r4, #0 bl FUN_02029CF4 add r1, r5, r4 add r1, #0x80 add r4, r4, #1 strb r0, [r1] cmp r4, #0x51 blt _0222F7AE pop {r3, r4, r5, pc} thumb_func_end MOD62_0222F7A8 thumb_func_start MOD62_0222F7C4 MOD62_0222F7C4: ; 0x0222F7C4 push {r3, r4, r5, lr} add r5, r0, #0 mov r4, #0 _0222F7CA: add r2, r5, r4 add r2, #0x80 ldrb r2, [r2] ldr r0, [r5, #0x64] add r1, r4, #0 bl FUN_02029D40 add r4, r4, #1 cmp r4, #0x51 blt _0222F7CA pop {r3, r4, r5, pc} thumb_func_end MOD62_0222F7C4 thumb_func_start MOD62_0222F7E0 MOD62_0222F7E0: ; 0x0222F7E0 push {r3, lr} mov r0, #7 str r0, [sp] ldr r0, _0222F804 ; =0x04000050 mov r1, #0 mov r2, #6 mov r3, #0xb bl G2x_SetBlendAlpha_ mov r0, #8 str r0, [sp] ldr r0, _0222F808 ; =0x04001050 mov r1, #0 mov r2, #0xe mov r3, #7 bl G2x_SetBlendAlpha_ pop {r3, pc} .align 2, 0 _0222F804: .word 0x04000050 _0222F808: .word 0x04001050 thumb_func_end MOD62_0222F7E0 thumb_func_start MOD62_0222F80C MOD62_0222F80C: ; 0x0222F80C push {r3, r4, r5, r6, r7, lr} mov r1, #0xf1 add r5, r0, #0 lsl r1, r1, #2 ldr r0, [r5, r1] lsl r0, r0, #3 add r0, r5, r0 ldr r0, [r0, #4] cmp r0, #0xff beq _0222F832 ldr r2, [r5] lsl r0, r0, #2 add r0, r2, r0 add r1, #0x64 ldr r0, [r0, #4] ldr r1, [r5, r1] bl FUN_02069B88 pop {r3, r4, r5, r6, r7, pc} _0222F832: ldr r1, [r5] mov r6, #0 ldr r0, [r1] cmp r0, #0 ble _0222F868 add r4, r6, #0 _0222F83E: add r0, r1, r4 ldr r7, [r0, #4] mov r1, #0x4c add r0, r7, #0 mov r2, #0 bl FUN_020671BC cmp r0, #0 bne _0222F85C ldr r1, _0222F86C ; =0x00000428 add r0, r7, #0 ldr r1, [r5, r1] bl FUN_02069B88 pop {r3, r4, r5, r6, r7, pc} _0222F85C: ldr r1, [r5] add r6, r6, #1 ldr r0, [r1] add r4, r4, #4 cmp r6, r0 blt _0222F83E _0222F868: pop {r3, r4, r5, r6, r7, pc} nop _0222F86C: .word 0x00000428 thumb_func_end MOD62_0222F80C thumb_func_start MOD62_0222F870 MOD62_0222F870: ; 0x0222F870 push {r3, r4, r5, r6, r7, lr} mov r7, #0 add r6, r0, #0 add r5, r7, #0 add r4, r7, #0 _0222F87A: add r0, r6, #0 add r1, r4, #0 bl FUN_02029CC8 bl FUN_02029CE0 cmp r0, #0 beq _0222F88C add r5, r5, #1 _0222F88C: add r4, r4, #1 cmp r4, #8 blt _0222F87A cmp r5, #0 beq _0222F898 mov r7, #1 _0222F898: add r0, r7, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD62_0222F870 thumb_func_start MOD62_0222F89C MOD62_0222F89C: ; 0x0222F89C mov r2, #0xc mul r2, r1 add r1, r0, r2 mov r0, #0x99 lsl r0, r0, #2 ldr r2, [r1, r0] add r0, r0, #4 ldr r0, [r1, r0] cmp r2, #0xff bne _0222F8B8 cmp r0, #0 bne _0222F8B8 mov r0, #0 bx lr _0222F8B8: cmp r2, #0xff bne _0222F8C4 cmp r0, #1 bne _0222F8C4 mov r0, #1 bx lr _0222F8C4: cmp r2, #0xff beq _0222F8D0 cmp r0, #1 bne _0222F8D0 mov r0, #2 bx lr _0222F8D0: mov r0, #3 bx lr thumb_func_end MOD62_0222F89C thumb_func_start MOD62_0222F8D4 MOD62_0222F8D4: ; 0x0222F8D4 push {r3, r4} cmp r2, #0xff bne _0222F8E6 mov r2, #0xf6 lsl r2, r2, #2 ldr r4, [r0, r2] sub r2, r2, #4 str r4, [r0, r2] b _0222F8EC _0222F8E6: mov r4, #0xf5 lsl r4, r4, #2 str r2, [r0, r4] _0222F8EC: mov r2, #0xf3 lsl r2, r2, #2 str r1, [r0, r2] add r1, r2, #0 add r1, #0xc str r3, [r0, r1] mov r1, #0 add r2, #0x10 str r1, [r0, r2] pop {r3, r4} bx lr .align 2, 0 thumb_func_end MOD62_0222F8D4 thumb_func_start MOD62_0222F904 MOD62_0222F904: ; 0x0222F904 push {r4, lr} add r4, r0, #0 add r0, #0xfc mov r1, #1 bl FUN_0200CCF8 add r0, r4, #0 add r0, #0xfc bl FUN_02019570 mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #0 bl FUN_02001C5C mov r0, #0x67 lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_02012870 add r4, #0xfc add r0, r4, #0 bl FUN_02019178 mov r0, #1 pop {r4, pc} .align 2, 0 thumb_func_end MOD62_0222F904 thumb_func_start MOD62_0222F93C MOD62_0222F93C: ; 0x0222F93C push {r3, lr} mov r1, #1 mov r2, #0 mov r3, #3 bl MOD62_0222F8D4 mov r0, #0 pop {r3, pc} thumb_func_end MOD62_0222F93C thumb_func_start MOD62_0222F94C MOD62_0222F94C: ; 0x0222F94C push {r4, lr} add r4, r0, #0 bl MOD62_0222D874 add r0, r4, #0 bl MOD62_0222DC7C add r0, r4, #0 bl MOD62_0222EC28 mov r2, #0 add r0, r4, #0 mov r1, #2 add r3, r2, #0 bl MOD62_0222F8D4 mov r0, #0 pop {r4, pc} thumb_func_end MOD62_0222F94C thumb_func_start MOD62_0222F970 MOD62_0222F970: ; 0x0222F970 push {r3, lr} mov r1, #3 mov r2, #0 add r3, r1, #0 bl MOD62_0222F8D4 mov r0, #0 pop {r3, pc} thumb_func_end MOD62_0222F970 thumb_func_start MOD62_0222F980 MOD62_0222F980: ; 0x0222F980 push {r3, lr} mov r1, #4 mov r2, #0 mov r3, #3 bl MOD62_0222F8D4 mov r0, #0 pop {r3, pc} thumb_func_end MOD62_0222F980 thumb_func_start MOD62_0222F990 MOD62_0222F990: ; 0x0222F990 push {r3, r4, r5, lr} mov r1, #0xf3 add r4, r0, #0 lsl r1, r1, #2 ldr r1, [r4, r1] lsl r2, r1, #2 ldr r1, _0222F9B0 ; =0x02231220 ldr r1, [r1, r2] blx r1 add r4, #0xe0 add r5, r0, #0 ldr r0, [r4] bl FUN_0200BC1C add r0, r5, #0 pop {r3, r4, r5, pc} .align 2, 0 _0222F9B0: .word 0x02231220 thumb_func_end MOD62_0222F990 thumb_func_start MOD62_0222F9B4 MOD62_0222F9B4: ; 0x0222F9B4 push {r4, lr} add r4, r0, #0 ldr r0, _0222FA3C ; =0x021C48B8 mov r1, #0x10 ldr r0, [r0, #0x4c] tst r1, r0 beq _0222F9D2 ldr r0, [r4] mov r1, #0xc add r0, r0, #1 str r0, [r4] bl _s32_div_f str r1, [r4] b _0222FA38 _0222F9D2: mov r1, #0x20 tst r1, r0 beq _0222F9EA ldr r0, [r4] cmp r0, #0 ble _0222F9E4 sub r0, r0, #1 str r0, [r4] b _0222FA38 _0222F9E4: mov r0, #0xb str r0, [r4] b _0222FA38 _0222F9EA: mov r1, #0x40 tst r1, r0 beq _0222FA0E ldr r1, [r4] asr r0, r1, #1 lsr r0, r0, #0x1e add r0, r1, r0 asr r0, r0, #2 beq _0222FA0A sub r0, r1, #4 mov r1, #0xc str r0, [r4] bl _s32_div_f str r1, [r4] b _0222FA38 _0222FA0A: mov r0, #0 pop {r4, pc} _0222FA0E: mov r1, #0x80 tst r0, r1 beq _0222FA34 ldr r1, [r4] asr r0, r1, #1 lsr r0, r0, #0x1e add r0, r1, r0 asr r0, r0, #2 cmp r0, #2 beq _0222FA30 add r0, r1, #4 mov r1, #0xc str r0, [r4] bl _s32_div_f str r1, [r4] b _0222FA38 _0222FA30: mov r0, #0 pop {r4, pc} _0222FA34: mov r0, #0 pop {r4, pc} _0222FA38: mov r0, #1 pop {r4, pc} .align 2, 0 _0222FA3C: .word 0x021C48B8 thumb_func_end MOD62_0222F9B4 thumb_func_start MOD62_0222FA40 MOD62_0222FA40: ; 0x0222FA40 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r5, r0, #0 mov r4, #0 str r2, [sp] cmp r1, #0 bne _0222FA50 mov r4, #1 _0222FA50: mov r0, #0xf1 lsl r0, r0, #2 lsl r6, r1, #2 add r7, r5, r0 add r1, sp, #4 ldr r0, [r7, r6] add r1, #2 add r2, sp, #4 bl MOD62_0222E53C mov r0, #0xbd add r1, r5, r6 lsl r0, r0, #2 ldr r0, [r1, r0] add r3, sp, #4 mov r1, #2 mov r2, #0 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] bl FUN_0200C714 ldr r0, [sp] cmp r0, #1 bne _0222FAAE mov r0, #0xf1 lsl r0, r0, #2 add r1, r5, r0 ldr r0, [r7, r6] lsl r4, r4, #2 str r0, [r1, r4] ldr r0, [r1, r4] add r1, sp, #4 add r1, #2 add r2, sp, #4 bl MOD62_0222E53C mov r0, #0xbd add r1, r5, r4 lsl r0, r0, #2 ldr r0, [r1, r0] add r3, sp, #4 mov r1, #2 mov r2, #0 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] bl FUN_0200C714 _0222FAAE: add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD62_0222FA40 thumb_func_start MOD62_0222FAB4 MOD62_0222FAB4: ; 0x0222FAB4 push {r4, r5, r6, lr} sub sp, #0x10 mov r1, #0xf5 add r4, r0, #0 lsl r1, r1, #2 ldr r1, [r4, r1] cmp r1, #6 bls _0222FAC6 b _0222FD4C _0222FAC6: add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0222FAD2: ; jump table .short _0222FAE0 - _0222FAD2 - 2 ; case 0 .short _0222FBBC - _0222FAD2 - 2 ; case 1 .short _0222FBCC - _0222FAD2 - 2 ; case 2 .short _0222FBE0 - _0222FAD2 - 2 ; case 3 .short _0222FCA2 - _0222FAD2 - 2 ; case 4 .short _0222FD00 - _0222FAD2 - 2 ; case 5 .short _0222FD10 - _0222FAD2 - 2 ; case 6 _0222FAE0: bl MOD62_0222E560 add r0, r4, #0 bl MOD62_0222E5D8 add r0, r4, #0 bl MOD62_0222E6D8 add r0, r4, #0 bl MOD62_0222F2C8 add r0, r4, #0 bl MOD62_0222F36C add r0, r4, #0 bl MOD62_0222F3D4 add r0, r4, #0 bl MOD62_0222E7A4 add r0, r4, #0 bl MOD62_0222EA6C mov r0, #0x15 str r0, [sp] mov r0, #0x1b str r0, [sp, #4] mov r3, #2 add r1, r4, #0 str r3, [sp, #8] mov r0, #0x28 str r0, [sp, #0xc] add r0, r4, #0 add r0, #0xe4 ldr r0, [r0] add r1, #0xec mov r2, #1 bl MOD62_0222EEE0 add r0, r4, #0 bl MOD62_0222D67C add r0, r4, #0 mov r1, #1 bl MOD62_0222DB10 add r0, r4, #0 bl MOD62_0222D654 add r0, r4, #0 bl MOD62_0222F43C add r0, r4, #0 bl MOD62_0222F5B0 add r0, r4, #0 bl MOD62_0222E888 add r0, r4, #0 bl MOD62_0222E8F8 add r0, r4, #0 bl MOD62_0222F778 add r0, r4, #0 bl MOD62_0222F7A8 ldr r1, _0222FD60 ; =0x00000418 add r0, r4, #0 ldr r1, [r4, r1] bl MOD62_0222DEF8 add r0, r4, #0 bl MOD62_0222DF5C add r0, r4, #0 bl MOD62_0222E004 add r0, r4, #0 mov r1, #0 bl MOD62_0222F738 add r0, r4, #0 mov r1, #0 bl MOD62_0222E9B4 add r0, r4, #0 bl MOD62_0222DDB4 add r0, r4, #0 mov r1, #0 bl MOD62_0222DDE0 add r0, r4, #0 add r0, #0xec mov r1, #7 bl MOD62_0222EE78 bl MOD62_0222F270 add r0, r4, #0 mov r1, #0 bl MOD62_022300DC mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _0222FD4C _0222FBBC: bl MOD62_0222F288 mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _0222FD4C _0222FBCC: bl FUN_0200E308 cmp r0, #1 beq _0222FBD6 b _0222FD4C _0222FBD6: mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] _0222FBE0: bl FUN_02020AA4 cmp r0, #1 bne _0222FBF0 add r0, r4, #0 bl MOD62_0222F93C b _0222FD4C _0222FBF0: mov r0, #0xf1 lsl r0, r0, #2 ldr r6, [r4, r0] add r0, r4, r0 bl MOD62_0222F9B4 mov r1, #0xf1 lsl r1, r1, #2 ldr r5, [r4, r1] cmp r0, #1 str r6, [r4, r1] bne _0222FC4C add r0, r4, #0 bl MOD62_0222D874 add r0, r4, #0 bl MOD62_0222DC7C add r0, r4, #0 bl MOD62_0222EC28 mov r0, #0xf1 lsl r0, r0, #2 str r5, [r4, r0] add r0, r4, #0 mov r1, #0 mov r2, #1 bl MOD62_0222FA40 add r0, r4, #0 bl MOD62_0222DAEC add r0, r4, #0 bl MOD62_0222D67C add r0, r4, #0 mov r1, #1 bl MOD62_0222DB10 add r0, r4, #0 bl MOD62_0222D654 ldr r0, _0222FD64 ; =0x000005DC bl FUN_020054C8 b _0222FD4C _0222FC4C: ldr r0, _0222FD68 ; =0x021C48B8 ldr r2, [r0, #0x48] mov r0, #1 tst r0, r2 beq _0222FC8E add r0, r1, #0 add r0, #0x10 ldr r0, [r4, r0] add r1, #0x10 add r0, r0, #1 str r0, [r4, r1] add r0, r4, #0 add r0, #0xec mov r1, #8 bl MOD62_0222EE78 mov r0, #0xf1 lsl r0, r0, #2 ldr r0, [r4, r0] add r1, r4, #0 str r0, [sp] add r0, r4, #0 add r0, #0xe4 ldr r0, [r0] add r1, #0xfc mov r2, #1 add r3, r4, #0 bl MOD62_0222E3C4 ldr r0, _0222FD64 ; =0x000005DC bl FUN_020054C8 b _0222FD4C _0222FC8E: mov r0, #2 tst r0, r2 beq _0222FD4C mov r0, #5 add r1, #0x10 str r0, [r4, r1] ldr r0, _0222FD6C ; =0x000005DD bl FUN_020054C8 b _0222FD4C _0222FCA2: mov r0, #0x1a lsl r0, r0, #4 ldr r0, [r4, r0] bl FUN_02001C78 add r1, r0, #0 mov r0, #1 mvn r0, r0 cmp r1, r0 beq _0222FCBE add r0, r0, #1 cmp r1, r0 beq _0222FD4C b _0222FCD8 _0222FCBE: add r0, r4, #0 bl MOD62_0222F904 add r0, r4, #0 add r0, #0xec mov r1, #7 bl MOD62_0222EE78 mov r0, #0xf5 mov r1, #3 lsl r0, r0, #2 str r1, [r4, r0] b _0222FD4C _0222FCD8: cmp r1, #0 beq _0222FD4C add r0, r4, #0 blx r1 cmp r0, #1 beq _0222FCEC add r0, r4, #0 bl MOD62_0222F904 b _0222FD4C _0222FCEC: add r0, r4, #0 add r0, #0xec mov r1, #7 bl MOD62_0222EE78 mov r0, #0xf5 mov r1, #3 lsl r0, r0, #2 str r1, [r4, r0] b _0222FD4C _0222FD00: bl MOD62_0222F2A8 mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _0222FD4C _0222FD10: bl FUN_0200E308 cmp r0, #1 bne _0222FD4C add r0, r4, #0 add r0, #0xec bl FUN_02019178 add r0, r4, #0 bl MOD62_0222ED04 add r0, r4, #0 bl MOD62_0222E77C add r0, r4, #0 bl MOD62_0222F75C add r0, r4, #0 bl MOD62_0222E9D4 add r0, r4, #0 bl MOD62_0222E0C8 ldr r0, [r4] mov r1, #0 bl FUN_02085D9C add sp, #0x10 mov r0, #0 pop {r4, r5, r6, pc} _0222FD4C: add r0, r4, #0 bl MOD62_0222E754 add r0, r4, #0 bl MOD62_0222ECD4 mov r0, #1 add sp, #0x10 pop {r4, r5, r6, pc} nop _0222FD60: .word 0x00000418 _0222FD64: .word 0x000005DC _0222FD68: .word 0x021C48B8 _0222FD6C: .word 0x000005DD thumb_func_end MOD62_0222FAB4 thumb_func_start MOD62_0222FD70 MOD62_0222FD70: ; 0x0222FD70 push {r3, lr} cmp r1, #3 bhi _0222FDA2 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _0222FD82: ; jump table .short _0222FD8A - _0222FD82 - 2 ; case 0 .short _0222FD9A - _0222FD82 - 2 ; case 1 .short _0222FD92 - _0222FD82 - 2 ; case 2 .short _0222FD9A - _0222FD82 - 2 ; case 3 _0222FD8A: mov r1, #1 bl FUN_0200C61C pop {r3, pc} _0222FD92: mov r1, #2 bl FUN_0200C61C pop {r3, pc} _0222FD9A: mov r1, #0 bl FUN_0200C61C pop {r3, pc} _0222FDA2: bl ErrorHandling pop {r3, pc} thumb_func_end MOD62_0222FD70 thumb_func_start MOD62_0222FDA8 MOD62_0222FDA8: ; 0x0222FDA8 push {r4, r5, r6, lr} sub sp, #8 add r5, r0, #0 add r4, r1, #0 add r6, r2, #0 cmp r5, #0 beq _0222FDCC add r1, sp, #4 add r2, sp, #0 bl FUN_020119A4 ldr r1, [sp, #4] ldr r2, [sp] add r0, r5, #0 add r1, r1, r4 add r2, r2, r6 bl FUN_020118C4 _0222FDCC: add sp, #8 pop {r4, r5, r6, pc} thumb_func_end MOD62_0222FDA8 thumb_func_start MOD62_0222FDD0 MOD62_0222FDD0: ; 0x0222FDD0 push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] cmp r0, #3 beq _0222FDE2 cmp r0, #6 beq _0222FDFC b _0222FE1C _0222FDE2: mov r1, #0 ldr r0, [r4, #8] sub r2, r1, #1 bl MOD62_0222FDA8 ldr r0, [r4, #4] mov r1, #2 bl FUN_0200C61C ldr r0, [r4] add r0, r0, #1 str r0, [r4] pop {r3, r4, r5, pc} _0222FDFC: ldr r0, [r4, #8] mov r1, #0 mov r2, #2 bl MOD62_0222FDA8 ldr r0, [r4, #4] mov r1, #0 bl FUN_0200C61C add r0, r5, #0 bl FUN_0200CAB4 add r0, r4, #0 bl FUN_02016A18 pop {r3, r4, r5, pc} _0222FE1C: add r0, r0, #1 str r0, [r4] pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD62_0222FDD0 thumb_func_start MOD62_0222FE24 MOD62_0222FE24: ; 0x0222FE24 push {r4, r5, r6, lr} add r6, r0, #0 add r5, r1, #0 mov r0, #0x35 mov r1, #0xc bl FUN_02016998 add r4, r0, #0 mov r0, #1 str r0, [r4] mov r1, #0 str r6, [r4, #4] add r0, r5, #0 sub r2, r1, #1 str r5, [r4, #8] bl MOD62_0222FDA8 mov r2, #0xfa ldr r0, _0222FE54 ; =MOD62_0222FDD0 add r1, r4, #0 lsl r2, r2, #2 bl FUN_0200CA44 pop {r4, r5, r6, pc} .align 2, 0 _0222FE54: .word MOD62_0222FDD0 thumb_func_end MOD62_0222FE24 thumb_func_start MOD62_0222FE58 MOD62_0222FE58: ; 0x0222FE58 push {r4, r5, r6, lr} add r4, r2, #0 add r5, r0, #0 add r0, r4, #0 add r0, #0xd8 ldr r0, [r0] add r6, r1, #0 cmp r0, #0 bne _0222FE6C b _022300A8 _0222FE6C: cmp r5, #0x14 bls _0222FE72 b _022300A4 _0222FE72: add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _0222FE7E: ; jump table .short _0222FFE6 - _0222FE7E - 2 ; case 0 .short _0222FFE6 - _0222FE7E - 2 ; case 1 .short _0222FFE6 - _0222FE7E - 2 ; case 2 .short _0222FFE6 - _0222FE7E - 2 ; case 3 .short _0222FFE6 - _0222FE7E - 2 ; case 4 .short _0222FFE6 - _0222FE7E - 2 ; case 5 .short _0222FFE6 - _0222FE7E - 2 ; case 6 .short _0222FFE6 - _0222FE7E - 2 ; case 7 .short _0222FEA8 - _0222FE7E - 2 ; case 8 .short _0222FEF2 - _0222FE7E - 2 ; case 9 .short _0222FF40 - _0222FE7E - 2 ; case 10 .short _0222FF6E - _0222FE7E - 2 ; case 11 .short _0222FFAC - _0222FE7E - 2 ; case 12 .short _02230074 - _0222FE7E - 2 ; case 13 .short _02230074 - _0222FE7E - 2 ; case 14 .short _02230074 - _0222FE7E - 2 ; case 15 .short _02230074 - _0222FE7E - 2 ; case 16 .short _02230074 - _0222FE7E - 2 ; case 17 .short _02230074 - _0222FE7E - 2 ; case 18 .short _02230074 - _0222FE7E - 2 ; case 19 .short _02230074 - _0222FE7E - 2 ; case 20 _0222FEA8: cmp r6, #0 bne _0222FEE6 ldr r1, _022300AC ; =0x00000418 ldr r0, [r4, r1] cmp r0, #0 ble _0222FEB6 b _0222FEBA _0222FEB6: add r0, r1, #4 ldr r0, [r4, r0] _0222FEBA: sub r0, r0, #1 str r0, [r4, r1] add r0, r4, #0 bl MOD62_0222E0C8 ldr r1, _022300AC ; =0x00000418 add r0, r4, #0 ldr r1, [r4, r1] bl MOD62_0222DEF8 add r0, r4, #0 bl MOD62_0222DF5C add r0, r4, #0 bl MOD62_0222E004 add r0, r4, #0 bl MOD62_0222F0D4 ldr r0, _022300B0 ; =0x000006C5 bl FUN_020054C8 _0222FEE6: ldr r0, _022300B4 ; =0x00000404 add r1, r6, #0 ldr r0, [r4, r0] bl MOD62_0222FD70 pop {r4, r5, r6, pc} _0222FEF2: cmp r6, #0 bne _0222FF34 ldr r1, _022300AC ; =0x00000418 ldr r0, [r4, r1] add r0, r0, #1 str r0, [r4, r1] ldr r0, [r4, r1] add r1, r1, #4 ldr r1, [r4, r1] bl _s32_div_f ldr r0, _022300AC ; =0x00000418 str r1, [r4, r0] add r0, r4, #0 bl MOD62_0222E0C8 ldr r1, _022300AC ; =0x00000418 add r0, r4, #0 ldr r1, [r4, r1] bl MOD62_0222DEF8 add r0, r4, #0 bl MOD62_0222DF5C add r0, r4, #0 bl MOD62_0222E004 add r0, r4, #0 bl MOD62_0222F0D4 ldr r0, _022300B0 ; =0x000006C5 bl FUN_020054C8 _0222FF34: ldr r0, _022300B8 ; =0x00000408 add r1, r6, #0 ldr r0, [r4, r0] bl MOD62_0222FD70 pop {r4, r5, r6, pc} _0222FF40: cmp r6, #0 bne _0222FF62 mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] cmp r1, #5 beq _0222FF58 mov r1, #5 str r1, [r4, r0] ldr r0, _022300BC ; =0x000005DD bl FUN_020054C8 _0222FF58: ldr r0, _022300C0 ; =0x0000040C mov r1, #0 ldr r0, [r4, r0] bl MOD62_0222FE24 _0222FF62: ldr r0, _022300C0 ; =0x0000040C add r1, r6, #0 ldr r0, [r4, r0] bl MOD62_0222FD70 pop {r4, r5, r6, pc} _0222FF6E: cmp r6, #0 bne _0222FF9E mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] cmp r1, #6 beq _0222FF8E mov r1, #6 str r1, [r4, r0] add r0, r4, #0 mov r1, #0 bl MOD62_022300DC ldr r0, _022300C4 ; =0x000005E2 bl FUN_020054C8 _0222FF8E: mov r0, #0x41 mov r1, #0x8e lsl r0, r0, #4 lsl r1, r1, #2 ldr r0, [r4, r0] ldr r1, [r4, r1] bl MOD62_0222FE24 _0222FF9E: mov r0, #0x41 lsl r0, r0, #4 ldr r0, [r4, r0] add r1, r6, #0 bl MOD62_0222FD70 pop {r4, r5, r6, pc} _0222FFAC: cmp r6, #0 bne _0222FFDA mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] cmp r1, #7 beq _0222FFCC mov r1, #7 str r1, [r4, r0] add r0, r4, #0 mov r1, #0 bl MOD62_022300DC ldr r0, _022300BC ; =0x000005DD bl FUN_020054C8 _0222FFCC: ldr r0, _022300C8 ; =0x00000414 mov r1, #0x8f lsl r1, r1, #2 ldr r0, [r4, r0] ldr r1, [r4, r1] bl MOD62_0222FE24 _0222FFDA: ldr r0, _022300C8 ; =0x00000414 add r1, r6, #0 ldr r0, [r4, r0] bl MOD62_0222FD70 pop {r4, r5, r6, pc} _0222FFE6: cmp r6, #0 bne _022300A8 add r0, r4, #0 bl MOD62_0222D76C cmp r0, #0 bne _02230006 ldr r0, _022300CC ; =0x000005F2 bl FUN_020054C8 add r4, #0xec add r0, r4, #0 mov r1, #0xf bl MOD62_0222EE78 pop {r4, r5, r6, pc} _02230006: mov r0, #0x42 lsl r0, r0, #4 add r6, r4, r0 ldrb r1, [r6, r5] cmp r1, #0 beq _0223005C ldr r0, [r4, #0x64] sub r1, r1, #1 bl FUN_02029CF4 cmp r0, #0 beq _0223005C lsl r1, r5, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 bl MOD62_0222D6EC add r1, r4, #0 add r1, #0xd4 str r0, [r1] ldrb r0, [r6, r5] bl FUN_02085FD0 add r1, r0, #0 add r0, r4, #0 add r0, #0xec bl MOD62_0222F208 ldr r0, [r4] mov r2, #0 ldrb r1, [r6, r5] ldr r0, [r0, #0x20] mvn r2, r2 bl FUN_02029D44 add r0, r4, #0 add r1, r5, #0 bl MOD62_0222F168 ldr r0, _022300D0 ; =0x000005EB bl FUN_020054C8 pop {r4, r5, r6, pc} _0223005C: ldrb r0, [r6, r5] cmp r0, #0 beq _022300A8 ldr r0, _022300CC ; =0x000005F2 bl FUN_020054C8 add r4, #0xec add r0, r4, #0 mov r1, #0x10 bl MOD62_0222EE78 pop {r4, r5, r6, pc} _02230074: cmp r6, #0 bne _022300A8 sub r5, #0xd lsl r2, r5, #0x18 add r0, r4, #0 lsr r2, r2, #0x18 bl MOD62_0222DA38 lsl r0, r5, #4 add r1, r4, r0 mov r0, #0xca lsl r0, r0, #2 ldrb r0, [r1, r0] bl FUN_02085FD0 add r4, #0xec add r1, r0, #0 add r0, r4, #0 bl MOD62_0222F208 ldr r0, _022300D0 ; =0x000005EB bl FUN_020054C8 pop {r4, r5, r6, pc} _022300A4: bl ErrorHandling _022300A8: pop {r4, r5, r6, pc} nop _022300AC: .word 0x00000418 _022300B0: .word 0x000006C5 _022300B4: .word 0x00000404 _022300B8: .word 0x00000408 _022300BC: .word 0x000005DD _022300C0: .word 0x0000040C _022300C4: .word 0x000005E2 _022300C8: .word 0x00000414 _022300CC: .word 0x000005F2 _022300D0: .word 0x000005EB thumb_func_end MOD62_0222FE58 thumb_func_start MOD62_022300D4 MOD62_022300D4: ; 0x022300D4 mov r1, #0x96 lsl r1, r1, #2 ldr r0, [r0, r1] bx lr thumb_func_end MOD62_022300D4 thumb_func_start MOD62_022300DC MOD62_022300DC: ; 0x022300DC add r0, #0xd8 str r1, [r0] bx lr .align 2, 0 thumb_func_end MOD62_022300DC thumb_func_start MOD62_022300E4 MOD62_022300E4: ; 0x022300E4 push {r4, r5, r6, r7, lr} sub sp, #0x14 str r0, [sp, #4] add r1, sp, #0x10 mov r0, #0 strb r0, [r1] strb r0, [r1, #1] strb r0, [r1, #2] mov r7, #0x1d lsl r7, r7, #4 strb r0, [r1, #3] ldr r1, _022301A0 ; =0x02231260 ldr r2, [sp, #4] add r3, r7, #1 add r4, r7, #2 add r5, r7, #3 _02230104: ldrb r6, [r1] add r0, r0, #1 strb r6, [r2, r7] ldrb r6, [r1, #1] strb r6, [r2, r3] ldrb r6, [r1, #2] strb r6, [r2, r4] ldrb r6, [r1, #3] add r1, r1, #4 strb r6, [r2, r5] add r2, r2, #4 cmp r0, #0xd blt _02230104 cmp r0, #0x15 bge _0223017E mov r3, #0x1d ldr r2, [sp, #4] lsl r3, r3, #4 add r2, r2, r3 lsl r4, r0, #2 ldr r1, [sp, #4] ldr r3, [sp, #4] add r1, r1, r4 add r2, r2, r4 lsl r4, r0, #4 add r5, sp, #0xc add r3, r3, r4 ldrb r4, [r5, #4] strb r4, [r5] ldrb r4, [r5, #5] strb r4, [r5, #1] ldrb r4, [r5, #6] strb r4, [r5, #2] ldrb r4, [r5, #7] strb r4, [r5, #3] ldrb r4, [r5, #2] ldrb r6, [r5] ldrb r7, [r5, #1] str r4, [sp, #8] ldrb r4, [r5, #3] mov ip, r4 _02230156: mov r4, #0x1d lsl r4, r4, #4 strb r6, [r1, r4] add r4, r4, #1 strb r7, [r1, r4] ldr r5, _022301A4 ; =0x000001D2 ldr r4, [sp, #8] add r0, r0, #1 strb r4, [r1, r5] add r5, r5, #1 mov r4, ip strb r4, [r1, r5] mov r4, #0x26 lsl r4, r4, #4 str r2, [r3, r4] add r1, r1, #4 add r2, r2, #4 add r3, #0x10 cmp r0, #0x15 blt _02230156 _0223017E: mov r0, #0x35 str r0, [sp] mov r1, #0x1d ldr r0, [sp, #4] lsl r1, r1, #4 add r0, r0, r1 ldr r2, _022301A8 ; =MOD62_0222FE58 ldr r3, [sp, #4] mov r1, #0x15 bl FUN_020220C4 mov r2, #0x73 ldr r1, [sp, #4] lsl r2, r2, #2 str r0, [r1, r2] add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _022301A0: .word 0x02231260 _022301A4: .word 0x000001D2 _022301A8: .word MOD62_0222FE58 thumb_func_end MOD62_022300E4 thumb_func_start MOD62_022301AC MOD62_022301AC: ; 0x022301AC push {r3, r4, r5, r6, lr} sub sp, #0x34 ldr r1, _02230214 ; =0x00000428 add r5, r0, #0 ldr r1, [r5, r1] add r0, sp, #0x24 mov r2, #2 bl FUN_02068B68 ldr r0, _02230214 ; =0x00000428 mov r1, #5 ldr r0, [r5, r0] mov r2, #0 bl FUN_020671BC add r4, r0, #0 ldr r0, _02230214 ; =0x00000428 mov r1, #2 ldr r0, [r5, r0] bl FUN_02068E14 add r6, r0, #0 mov r0, #0x6b lsl r0, r0, #2 lsl r1, r4, #0x10 str r6, [r5, r0] add r0, sp, #0x10 lsr r1, r1, #0x10 bl FUN_02069010 ldr r0, _02230218 ; =0xFFFFFD80 add r6, #0x30 str r0, [sp] mov r1, #0 str r1, [sp, #4] add r0, sp, #0x10 str r0, [sp, #8] mov r0, #0x69 str r1, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r5, r0] add r1, sp, #0x24 mov r2, #0xc0 add r3, r6, #0 bl FUN_020073A0 mov r1, #0x6a lsl r1, r1, #2 str r0, [r5, r1] add sp, #0x34 pop {r3, r4, r5, r6, pc} nop _02230214: .word 0x00000428 _02230218: .word 0xFFFFFD80 thumb_func_end MOD62_022301AC thumb_func_start MOD62_0223021C MOD62_0223021C: ; 0x0223021C push {r3, r4, r5, r6, lr} sub sp, #0xc add r5, r0, #0 ldr r0, _02230268 ; =0x00000428 mov r1, #5 ldr r0, [r5, r0] mov r2, #0 bl FUN_020671BC add r4, r0, #0 ldr r0, _02230268 ; =0x00000428 ldr r0, [r5, r0] bl FUN_02068854 add r6, r0, #0 mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #1 bl FUN_02007314 mov r1, #0x97 lsl r2, r4, #0x10 str r6, [sp] mov r0, #0 str r0, [sp, #4] lsl r1, r1, #2 str r0, [sp, #8] ldr r0, [r5, r1] sub r1, #0xb4 ldr r1, [r5, r1] lsr r2, r2, #0x10 mov r3, #2 bl FUN_02069038 add sp, #0xc pop {r3, r4, r5, r6, pc} nop _02230268: .word 0x00000428 thumb_func_end MOD62_0223021C thumb_func_start MOD62_0223026C MOD62_0223026C: ; 0x0223026C push {r4, lr} add r4, r0, #0 mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0xc mov r2, #0 bl FUN_02007558 mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0xd mov r2, #0 bl FUN_02007558 pop {r4, pc} .align 2, 0 thumb_func_end MOD62_0223026C thumb_func_start MOD62_02230290 MOD62_02230290: ; 0x02230290 push {r4, lr} add r4, r0, #0 mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0xc bl FUN_0200782C mov r1, #1 lsl r1, r1, #8 cmp r0, r1 bne _022302AC mov r0, #0 pop {r4, pc} _022302AC: add r1, #0xa8 ldr r0, [r4, r1] mov r1, #0xc bl FUN_0200782C mov r2, #1 lsl r2, r2, #8 cmp r0, r2 blt _022302DE add r0, r2, #0 add r0, #0xa8 ldr r0, [r4, r0] mov r1, #0xc bl FUN_02007558 mov r0, #0x6a lsl r0, r0, #2 mov r1, #0xd add r2, r1, #0 ldr r0, [r4, r0] add r2, #0xf3 bl FUN_02007558 mov r0, #0 pop {r4, pc} _022302DE: add r2, #0xa8 ldr r0, [r4, r2] mov r1, #0xc mov r2, #0x20 bl FUN_020079E0 mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0xd mov r2, #0x20 bl FUN_020079E0 mov r1, #0x6a lsl r1, r1, #2 ldr r0, [r4, r1] add r1, r1, #4 ldr r1, [r4, r1] bl FUN_02007F34 mov r0, #1 pop {r4, pc} .align 2, 0 thumb_func_end MOD62_02230290 thumb_func_start MOD62_0223030C MOD62_0223030C: ; 0x0223030C push {r4, lr} add r4, r0, #0 mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0xc bl FUN_0200782C cmp r0, #0 bne _02230324 mov r0, #0 pop {r4, pc} _02230324: mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0xc bl FUN_0200782C cmp r0, #0 bgt _02230354 mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0xc mov r2, #0 bl FUN_02007558 mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0xd mov r2, #0 bl FUN_02007558 mov r0, #0 pop {r4, pc} _02230354: mov r0, #0x6a lsl r0, r0, #2 mov r1, #0xc add r2, r1, #0 ldr r0, [r4, r0] sub r2, #0x2c bl FUN_020079E0 mov r0, #0x6a lsl r0, r0, #2 mov r1, #0xd add r2, r1, #0 ldr r0, [r4, r0] sub r2, #0x2d bl FUN_020079E0 mov r1, #0x6a lsl r1, r1, #2 ldr r0, [r4, r1] add r1, r1, #4 ldr r1, [r4, r1] bl FUN_02007F34 mov r0, #1 pop {r4, pc} .align 2, 0 thumb_func_end MOD62_0223030C thumb_func_start MOD62_02230388 MOD62_02230388: ; 0x02230388 add r2, r1, #0 mov r1, #0x6a lsl r1, r1, #2 ldr r0, [r0, r1] ldr r3, _02230398 ; =FUN_02007558 mov r1, #6 bx r3 nop _02230398: .word FUN_02007558 thumb_func_end MOD62_02230388 thumb_func_start MOD62_0223039C MOD62_0223039C: ; 0x0223039C mov r1, #0x6a lsl r1, r1, #2 ldr r3, _022303A8 ; =FUN_02007534 ldr r0, [r0, r1] bx r3 nop _022303A8: .word FUN_02007534 thumb_func_end MOD62_0223039C thumb_func_start MOD62_022303AC MOD62_022303AC: ; 0x022303AC push {r4, r5, r6, r7, lr} sub sp, #0xa4 mov r1, #0xf5 add r4, r0, #0 lsl r1, r1, #2 ldr r2, [r4, r1] cmp r2, #0xa bhi _0223042C add r2, r2, r2 add r2, pc ldrh r2, [r2, #6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _022303C8: ; jump table .short _022303DE - _022303C8 - 2 ; case 0 .short _02230424 - _022303C8 - 2 ; case 1 .short _0223049A - _022303C8 - 2 ; case 2 .short _022304D2 - _022303C8 - 2 ; case 3 .short _02230BDA - _022303C8 - 2 ; case 4 .short _022304F2 - _022303C8 - 2 ; case 5 .short _02230846 - _022303C8 - 2 ; case 6 .short _022308B2 - _022303C8 - 2 ; case 7 .short _02230AD4 - _022303C8 - 2 ; case 8 .short _02230B00 - _022303C8 - 2 ; case 9 .short _02230B96 - _022303C8 - 2 ; case 10 _022303DE: mov r1, #0 bl MOD62_022300DC add r0, r4, #0 ldr r1, _0223071C ; =0x0000FFFF add r0, #0xec bl MOD62_0222EE78 add r0, r4, #0 bl MOD62_0222EFA0 add r0, r4, #0 bl MOD62_0222F0D4 add r0, r4, #0 mov r1, #1 mov r2, #4 bl MOD62_0222E180 add r0, r4, #0 bl MOD62_0222F778 add r0, r4, #0 bl MOD62_0222F7A8 mov r0, #0x26 mov r1, #0 lsl r0, r0, #4 str r1, [r4, r0] mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230BDA _02230424: bl MOD62_022300D4 cmp r0, #1 bne _0223042E _0223042C: b _02230BDA _0223042E: mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] add r0, r4, #0 str r3, [sp, #8] add r0, #0xe8 ldr r0, [r0] mov r1, #1 mov r2, #3 bl FUN_02003210 mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] add r0, r4, #0 str r3, [sp, #8] add r0, #0xe8 ldr r0, [r0] ldr r2, _0223071C ; =0x0000FFFF mov r1, #4 bl FUN_02003210 mov r0, #0x10 mov r1, #0 bl FUN_0201E6E4 mov r0, #4 mov r1, #1 bl FUN_0201E74C mov r0, #7 mov r1, #1 bl FUN_020178BC add r0, r4, #0 mov r1, #1 bl MOD62_0222F738 add r0, r4, #0 mov r1, #1 bl MOD62_0222E9B4 add r0, r4, #0 mov r1, #1 bl MOD62_0222DDE0 mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230BDA _0223049A: add r0, #0xe8 ldr r0, [r0] bl FUN_020038E4 cmp r0, #0 bne _02230598 mov r0, #3 mov r1, #1 bl FUN_020178BC mov r0, #0x10 str r0, [sp] mov r3, #0 str r3, [sp, #4] add r0, r4, #0 str r3, [sp, #8] add r0, #0xe8 ldr r0, [r0] mov r1, #1 mov r2, #2 bl FUN_02003210 mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230BDA _022304D2: add r0, #0xe8 ldr r0, [r0] bl FUN_020038E4 cmp r0, #0 bne _02230598 add r0, r4, #0 mov r1, #1 bl MOD62_022300DC mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230BDA _022304F2: add r2, r1, #0 add r2, #8 ldr r2, [r4, r2] cmp r2, #7 bls _022304FE b _0223080C _022304FE: add r2, r2, r2 add r2, pc ldrh r2, [r2, #6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _0223050A: ; jump table .short _0223051A - _0223050A - 2 ; case 0 .short _0223058C - _0223050A - 2 ; case 1 .short _022305E2 - _0223050A - 2 ; case 2 .short _02230646 - _0223050A - 2 ; case 3 .short _02230692 - _0223050A - 2 ; case 4 .short _022306D6 - _0223050A - 2 ; case 5 .short _0223072C - _0223050A - 2 ; case 6 .short _022307A0 - _0223050A - 2 ; case 7 _0223051A: mov r0, #0x10 mov r1, #1 bl FUN_0201E6E4 mov r3, #0 str r3, [sp] mov r0, #0xa str r0, [sp, #4] add r0, r4, #0 str r3, [sp, #8] add r0, #0xe8 ldr r0, [r0] ldr r2, _02230720 ; =0x0000080B mov r1, #2 bl FUN_02003210 mov r3, #0 str r3, [sp] mov r0, #0xa str r0, [sp, #4] add r0, r4, #0 str r3, [sp, #8] add r0, #0xe8 ldr r0, [r0] ldr r2, _0223071C ; =0x0000FFFF mov r1, #8 bl FUN_02003210 add r0, r4, #0 mov r1, #0 bl MOD62_022300DC mov r0, #0x3e mov r1, #0 lsl r0, r0, #4 str r1, [r4, r0] add r0, r4, #0 bl MOD62_0222F80C add r0, r4, #0 bl MOD62_022301AC add r0, r4, #0 mov r1, #1 bl MOD62_02230388 add r0, r4, #0 add r0, #0xec mov r1, #0xd bl MOD62_0222EE78 mov r0, #0xf7 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230BDA _0223058C: add r0, #0xe8 ldr r0, [r0] bl FUN_020038E4 cmp r0, #0 beq _0223059A _02230598: b _02230BDA _0223059A: mov r0, #0x35 str r0, [sp, #0x80] mov r1, #1 mov r2, #0 mov r0, #0xff str r0, [sp, #0x88] add r0, r4, #0 str r1, [sp, #0x7c] str r1, [sp, #0x94] str r2, [sp, #0x84] str r2, [sp, #0x90] add r0, #0xdc ldr r0, [r0] mov r1, #0x9a str r0, [sp, #0x98] add r0, r4, #0 add r0, #0xe8 ldr r0, [r0] str r0, [sp, #0x9c] ldr r0, _02230724 ; =0x00000428 ldr r0, [r4, r0] bl FUN_020671BC str r0, [sp, #0x8c] add r0, sp, #0x7c bl MOD08_02229918 mov r1, #0x8b lsl r1, r1, #2 str r0, [r4, r1] mov r0, #0xf7 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230BDA _022305E2: add r2, sp, #0x58 mov r0, #0 str r0, [r2] str r0, [r2, #4] str r0, [r2, #8] mov r0, #1 str r0, [sp, #0x58] add r0, r1, #0 add r0, #0x54 ldr r0, [r4, r0] sub r1, #0x10 str r0, [sp, #0x60] ldr r0, [r4, r1] add r1, r4, #0 add r0, r0, #1 str r0, [sp, #0x18] add r0, sp, #0x64 bl MOD62_0222DCBC ldr r0, _02230724 ; =0x00000428 mov r1, #0xa1 ldr r0, [r4, r0] add r2, sp, #0x18 bl FUN_02067830 ldr r0, _02230724 ; =0x00000428 mov r1, #0xaa ldr r0, [r4, r0] add r2, sp, #0x64 bl FUN_02067830 mov r0, #0x35 add r1, sp, #0x58 bl MOD08_02228218 mov r1, #0x8a lsl r1, r1, #2 str r0, [r4, r1] ldr r0, [r4, r1] bl MOD08_02228524 mov r0, #0xf7 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] mov r1, #0 add r0, r0, #4 str r1, [r4, r0] b _02230BDA _02230646: mov r0, #0x8a lsl r0, r0, #2 ldr r0, [r4, r0] bl MOD08_02228570 cmp r0, #1 bne _02230702 mov r0, #0x8b lsl r0, r0, #2 ldr r0, [r4, r0] bl MOD08_02229A00 cmp r0, #1 bne _02230702 add r0, r4, #0 bl MOD62_02230290 mov r0, #0x8a lsl r0, r0, #2 ldr r0, [r4, r0] bl MOD08_022285A4 add r0, r4, #0 mov r1, #0 bl MOD62_02230388 add r0, r4, #0 bl MOD62_0223026C ldr r0, _02230728 ; =0x000006C6 bl FUN_020054C8 mov r0, #0xf7 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230BDA _02230692: bl MOD62_02230290 add r5, r0, #0 mov r0, #0x8b lsl r0, r0, #2 ldr r0, [r4, r0] bl MOD08_022299E8 cmp r0, #0 bne _02230702 cmp r5, #0 bne _02230702 mov r0, #0x8b lsl r0, r0, #2 ldr r0, [r4, r0] bl MOD08_02229A2C mov r0, #0x10 mov r1, #0 bl FUN_0201E6E4 add r0, r4, #0 bl MOD62_0223021C mov r0, #0x3e mov r1, #0 lsl r0, r0, #4 str r1, [r4, r0] sub r1, r0, #4 ldr r1, [r4, r1] sub r0, r0, #4 add r1, r1, #1 str r1, [r4, r0] b _02230BDA _022306D6: mov r0, #0x8a lsl r0, r0, #2 ldr r0, [r4, r0] bl MOD08_022285B4 cmp r0, #0 bne _02230702 mov r0, #0x97 lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0 bl FUN_02014D7C cmp r0, #1 bne _02230702 mov r0, #0x6a lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_02007390 cmp r0, #0 beq _02230704 _02230702: b _02230BDA _02230704: mov r0, #0x8a lsl r0, r0, #2 ldr r0, [r4, r0] bl MOD08_02228618 mov r0, #0xf7 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230BDA nop _0223071C: .word 0x0000FFFF _02230720: .word 0x0000080B _02230724: .word 0x00000428 _02230728: .word 0x000006C6 _0223072C: add r0, r1, #0 add r0, #0xc ldr r0, [r4, r0] add r2, r0, #1 add r0, r1, #0 add r0, #0xc str r2, [r4, r0] add r0, r1, #0 add r0, #0xc ldr r0, [r4, r0] cmp r0, #0x1e blt _0223081A add r0, r1, #0 mov r2, #0 add r0, #0xc str r2, [r4, r0] mov r0, #0x35 mov r3, #1 str r0, [sp, #0x34] mov r0, #5 str r0, [sp, #0x38] mov r0, #0xff str r0, [sp, #0x3c] add r0, r4, #0 str r3, [sp, #0x30] str r2, [sp, #0x44] str r3, [sp, #0x48] add r0, #0xdc ldr r0, [r0] add r1, #0x54 str r0, [sp, #0x4c] add r0, r4, #0 add r0, #0xe8 ldr r0, [r0] str r0, [sp, #0x50] ldr r0, [r4, r1] mov r1, #0x9a bl FUN_020671BC str r0, [sp, #0x40] add r0, sp, #0x30 bl MOD08_02229918 mov r1, #0x8b lsl r1, r1, #2 str r0, [r4, r1] bl MOD62_0222F7E0 mov r0, #0x10 mov r1, #1 bl FUN_0201E6E4 mov r0, #0xf7 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230BDA _022307A0: bl MOD62_0223030C add r5, r0, #0 mov r0, #0x8b lsl r0, r0, #2 ldr r0, [r4, r0] bl MOD08_022299E8 cmp r0, #0 bne _0223081A cmp r5, #0 bne _0223081A mov r0, #0xa str r0, [sp] mov r3, #0 str r3, [sp, #4] add r0, r4, #0 str r3, [sp, #8] add r0, #0xe8 ldr r0, [r0] ldr r2, _02230B38 ; =0x0000080B mov r1, #2 bl FUN_02003210 mov r0, #0xa str r0, [sp] mov r3, #0 str r3, [sp, #4] add r0, r4, #0 str r3, [sp, #8] add r0, #0xe8 ldr r0, [r0] ldr r2, _02230B3C ; =0x0000FFFF mov r1, #8 bl FUN_02003210 add r0, r4, #0 mov r1, #1 bl MOD62_02230388 add r0, r4, #0 bl MOD62_0223039C mov r0, #0x8b lsl r0, r0, #2 ldr r0, [r4, r0] bl MOD08_02229A2C mov r0, #0xf7 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230BDA _0223080C: add r0, r4, #0 add r0, #0xe8 ldr r0, [r0] bl FUN_020038E4 cmp r0, #0 beq _0223081C _0223081A: b _02230BDA _0223081C: mov r0, #0x10 mov r1, #0 bl FUN_0201E6E4 add r0, r4, #0 mov r1, #1 bl MOD62_022300DC mov r0, #0xf7 mov r1, #0 lsl r0, r0, #2 str r1, [r4, r0] mov r1, #4 sub r0, #8 str r1, [r4, r0] add r0, r4, #0 ldr r1, _02230B3C ; =0x0000FFFF add r0, #0xec bl MOD62_0222EE78 b _02230BDA _02230846: add r0, #0xec mov r1, #0xc bl MOD62_0222EE78 add r0, r4, #0 bl MOD62_0222DC00 cmp r0, #1 bne _02230860 mov r0, #0x26 mov r1, #1 lsl r0, r0, #4 str r1, [r4, r0] _02230860: add r0, r4, #0 bl MOD62_0222DC7C add r0, r4, #0 bl MOD62_0222EC28 ldr r0, [r4] ldr r0, [r0, #0x28] bl FUN_02029FC8 mov r1, #6 bl FUN_0202A170 mov r0, #0xf1 lsl r0, r0, #2 ldr r1, [r4, r0] mov r0, #0xc mul r0, r1 add r2, r4, r0 mov r0, #0x99 lsl r0, r0, #2 ldr r0, [r2, r0] cmp r0, #0xff beq _022308A8 ldr r2, [r4] lsl r0, r0, #2 add r0, r2, r0 ldr r5, [r0, #4] ldr r0, [r2, #0x20] bl FUN_02029C8C add r2, r0, #0 add r0, r5, #0 mov r1, #0xaa bl FUN_02067830 _022308A8: mov r0, #0xf5 mov r1, #8 lsl r0, r0, #2 str r1, [r4, r0] b _02230BDA _022308B2: add r1, #8 ldr r1, [r4, r1] cmp r1, #5 bhi _0223093C add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _022308C6: ; jump table .short _022308D2 - _022308C6 - 2 ; case 0 .short _02230930 - _022308C6 - 2 ; case 1 .short _022309B4 - _022308C6 - 2 ; case 2 .short _022309C6 - _022308C6 - 2 ; case 3 .short _02230A2E - _022308C6 - 2 ; case 4 .short _02230A6A - _022308C6 - 2 ; case 5 _022308D2: bl MOD62_0222DC00 cmp r0, #0 bne _022308E4 mov r0, #0xf5 mov r1, #8 lsl r0, r0, #2 str r1, [r4, r0] b _02230BDA _022308E4: mov r3, #0 str r3, [sp] mov r0, #0xa str r0, [sp, #4] add r0, r4, #0 str r3, [sp, #8] add r0, #0xe8 ldr r0, [r0] ldr r2, _02230B38 ; =0x0000080B mov r1, #2 bl FUN_02003210 mov r3, #0 str r3, [sp] mov r0, #0xa str r0, [sp, #4] add r0, r4, #0 str r3, [sp, #8] add r0, #0xe8 ldr r0, [r0] ldr r2, _02230B3C ; =0x0000FFFF mov r1, #8 bl FUN_02003210 add r0, r4, #0 mov r1, #0 bl MOD62_022300DC mov r0, #1 mov r1, #0 bl FUN_0201E74C mov r0, #0xf7 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230BDA _02230930: add r0, #0xe8 ldr r0, [r0] bl FUN_020038E4 cmp r0, #0 beq _0223093E _0223093C: b _02230BDA _0223093E: add r0, r4, #0 add r0, #0xe8 ldr r0, [r0] mov r1, #0 bl FUN_020038F0 mov r0, #1 str r0, [sp] mov r0, #0x1b str r0, [sp, #4] mov r2, #4 add r0, r4, #0 str r2, [sp, #8] mov r1, #0x28 str r1, [sp, #0xc] add r0, #0xe4 add r1, #0xe4 ldr r0, [r0] add r1, r4, r1 mov r3, #2 bl MOD62_0222EEE0 add r0, r4, #0 add r0, #0xe4 ldr r0, [r0] mov r1, #0x19 str r0, [sp, #0x1c] mov r0, #4 str r0, [sp, #0x20] mov r0, #0xd4 str r0, [sp, #0x24] mov r0, #5 str r0, [sp, #0x28] add r0, sp, #0x10 strb r1, [r0, #0x1c] mov r1, #6 strb r1, [r0, #0x1d] mov r0, #0x35 bl FUN_02014590 mov r1, #0x89 lsl r1, r1, #2 str r0, [r4, r1] ldr r0, [r4, r1] add r1, sp, #0x1c bl FUN_020145C8 mov r0, #0x43 lsl r0, r0, #2 add r0, r4, r0 mov r1, #0xe bl MOD62_0222EE78 mov r0, #0xf7 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230BDA _022309B4: mov r0, #1 add r1, r0, #0 bl FUN_0201E74C mov r0, #0xf7 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] _022309C6: mov r0, #0x89 lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_0201466C cmp r0, #0 beq _02230A76 cmp r0, #1 beq _022309DC cmp r0, #2 bne _02230A76 _022309DC: mov r1, #0x3e lsl r1, r1, #4 str r0, [r4, r1] add r0, r4, #0 add r0, #0xe8 ldr r0, [r0] mov r1, #1 bl FUN_020038F0 mov r0, #0x89 lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_020146C4 mov r0, #0x89 lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_020145A8 mov r0, #0x43 lsl r0, r0, #2 add r0, r4, r0 mov r1, #1 bl FUN_0200D0E0 mov r0, #0x43 lsl r0, r0, #2 add r0, r4, r0 bl FUN_02019570 mov r0, #0x43 lsl r0, r0, #2 add r0, r4, r0 bl FUN_02019178 mov r0, #0xf7 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230BDA _02230A2E: mov r0, #0xa str r0, [sp] mov r3, #0 str r3, [sp, #4] add r0, r4, #0 str r3, [sp, #8] add r0, #0xe8 ldr r0, [r0] ldr r2, _02230B38 ; =0x0000080B mov r1, #2 bl FUN_02003210 mov r0, #0xa str r0, [sp] mov r3, #0 str r3, [sp, #4] add r0, r4, #0 str r3, [sp, #8] add r0, #0xe8 ldr r0, [r0] ldr r2, _02230B3C ; =0x0000FFFF mov r1, #8 bl FUN_02003210 mov r0, #0xf7 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230BDA _02230A6A: add r0, #0xe8 ldr r0, [r0] bl FUN_020038E4 cmp r0, #0 beq _02230A78 _02230A76: b _02230BDA _02230A78: mov r0, #0x3e lsl r0, r0, #4 ldr r1, [r4, r0] cmp r1, #0 beq _02230AC2 cmp r1, #1 beq _02230A8C cmp r1, #2 beq _02230ABC b _02230AC2 _02230A8C: add r0, r4, #0 bl MOD62_0222F790 add r0, r4, #0 bl MOD62_0222F7C4 add r0, r4, #0 bl MOD62_0222F0D4 add r0, r4, #0 bl MOD62_0222DAEC add r0, r4, #0 bl MOD62_0222D67C add r0, r4, #0 mov r1, #1 bl MOD62_0222DB10 mov r0, #0xf5 mov r1, #6 lsl r0, r0, #2 str r1, [r4, r0] b _02230AC2 _02230ABC: mov r1, #4 sub r0, #0xc str r1, [r4, r0] _02230AC2: add r0, r4, #0 mov r1, #1 bl MOD62_022300DC mov r0, #0xf7 mov r1, #0 lsl r0, r0, #2 str r1, [r4, r0] b _02230BDA _02230AD4: mov r0, #0x10 mov r1, #1 bl FUN_0201E6E4 mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] add r0, r4, #0 str r3, [sp, #8] add r0, #0xe8 ldr r0, [r0] mov r1, #1 mov r2, #2 bl FUN_02003210 mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230BDA _02230B00: add r0, #0xe8 ldr r0, [r0] bl FUN_020038E4 cmp r0, #0 bne _02230BDA mov r0, #0x10 str r0, [sp] mov r3, #0 str r3, [sp, #4] add r0, r4, #0 mov r1, #1 str r3, [sp, #8] add r0, #0xe8 ldr r0, [r0] add r2, r1, #0 bl FUN_02003210 mov r0, #0x10 str r0, [sp] mov r3, #0 str r3, [sp, #4] add r0, r4, #0 str r3, [sp, #8] add r0, #0xe8 ldr r0, [r0] ldr r2, _02230B3C ; =0x0000FFFF b _02230B40 .align 2, 0 _02230B38: .word 0x0000080B _02230B3C: .word 0x0000FFFF _02230B40: mov r1, #4 bl FUN_02003210 mov r0, #3 add r1, r0, #0 bl FUN_020178BC mov r0, #7 mov r1, #3 bl FUN_020178BC mov r0, #4 mov r1, #0 bl FUN_0201E74C add r0, r4, #0 mov r1, #0 bl MOD62_0222F738 add r0, r4, #0 mov r1, #0 bl MOD62_0222E9B4 add r0, r4, #0 mov r1, #0 bl MOD62_0222DDE0 mov r1, #0 add r0, r4, #0 mvn r1, r1 mov r2, #4 bl MOD62_0222E180 add r0, r4, #0 mov r1, #0 bl MOD62_022300DC mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230BDA _02230B96: add r0, #0xe8 ldr r0, [r0] bl FUN_020038E4 cmp r0, #0 bne _02230BDA add r0, r4, #0 bl MOD62_022300D4 cmp r0, #1 beq _02230BDA mov r0, #0xbe lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0 bl FUN_0200C644 mov r1, #0 add r0, r4, #0 mov r2, #0xff add r3, r1, #0 bl MOD62_0222F8D4 add r0, r4, #0 add r0, #0xec mov r1, #7 bl MOD62_0222EE78 add r0, r4, #0 bl MOD62_0222F1E8 add sp, #0xa4 mov r0, #1 pop {r4, r5, r6, r7, pc} _02230BDA: add r0, r4, #0 add r0, #0xd4 ldr r5, [r0] cmp r5, #0xff bne _02230BF0 mov r0, #0x73 lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_02022144 b _02230C98 _02230BF0: add r0, sp, #0x14 add r1, sp, #0x10 bl FUN_02020AB0 cmp r0, #0 beq _02230C3E lsl r6, r5, #4 mov r0, #0xca add r1, r4, r6 lsl r0, r0, #2 ldrb r0, [r1, r0] bl FUN_02085FD0 add r1, r0, #0 add r0, r4, #0 add r0, #0xec bl MOD62_0222F208 mov r0, #0xcb ldr r2, [sp, #0x10] add r1, r4, r6 lsl r0, r0, #2 ldr r0, [r1, r0] ldr r1, [sp, #0x14] lsl r2, r2, #0x10 lsl r1, r1, #0x10 asr r1, r1, #0x10 asr r2, r2, #0x10 bl FUN_0200C714 add r0, r4, #0 add r1, r5, #0 bl MOD62_0222DBCC add r0, r4, #0 add r1, r5, #0 bl MOD62_0222DC48 b _02230C98 _02230C3E: add r0, r4, #0 add r1, r5, #0 bl MOD62_0222DB38 lsl r6, r5, #4 mov r2, #0x33 add r1, r4, r6 lsl r2, r2, #4 add r7, r0, #0 ldr r0, [r1, r2] sub r2, r2, #4 ldr r1, [r1, r2] mov r2, #0 bl MOD62_0222D5F8 cmp r7, #0 bne _02230C80 mov r1, #0xca ldr r0, [r4] add r2, r4, r6 lsl r1, r1, #2 ldrb r1, [r2, r1] ldr r0, [r0, #0x20] mov r2, #1 bl FUN_02029D84 add r0, r4, #0 bl MOD62_0222F0D4 add r0, r4, #0 add r1, r5, #0 bl MOD62_0222DB78 _02230C80: ldr r0, _02230CB8 ; =0x000005EA bl FUN_020054C8 add r0, r4, #0 mov r1, #0xff add r0, #0xd4 str r1, [r0] add r0, r4, #0 ldr r1, _02230CBC ; =0x0000FFFF add r0, #0xec bl MOD62_0222F208 _02230C98: add r0, r4, #0 bl MOD62_0222F758 add r0, r4, #0 bl MOD62_0222E990 add r0, r4, #0 bl MOD62_0222E754 add r0, r4, #0 bl MOD62_0222ECD4 mov r0, #1 add sp, #0xa4 pop {r4, r5, r6, r7, pc} nop _02230CB8: .word 0x000005EA _02230CBC: .word 0x0000FFFF thumb_func_end MOD62_022303AC thumb_func_start MOD62_02230CC0 MOD62_02230CC0: ; 0x02230CC0 push {r4, lr} add r4, r0, #0 mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] cmp r1, #0 beq _02230CD8 cmp r1, #1 beq _02230CDC cmp r1, #2 beq _02230CEC b _02230D26 _02230CD8: add r1, r1, #1 str r1, [r4, r0] _02230CDC: bl MOD62_0222F2A8 mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230D26 _02230CEC: bl FUN_0200E308 cmp r0, #1 bne _02230D26 add r0, r4, #0 add r0, #0xec bl FUN_02019178 add r0, r4, #0 bl MOD62_0222ED04 add r0, r4, #0 bl MOD62_0222E77C add r0, r4, #0 bl MOD62_0222F75C add r0, r4, #0 bl MOD62_0222E9D4 add r0, r4, #0 bl MOD62_0222E0C8 ldr r0, [r4] mov r1, #1 bl FUN_02085D9C mov r0, #0 pop {r4, pc} _02230D26: add r0, r4, #0 bl MOD62_0222E754 add r0, r4, #0 bl MOD62_0222ECD4 mov r0, #1 pop {r4, pc} .align 2, 0 thumb_func_end MOD62_02230CC0 thumb_func_start MOD62_02230D38 MOD62_02230D38: ; 0x02230D38 push {r3, r4, r5, r6, lr} sub sp, #4 add r5, r0, #0 mov r0, #0 add r4, r5, #4 lsl r6, r1, #3 str r0, [sp] ldr r0, [r4, r6] cmp r0, #0xff beq _02230D5C ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 ldr r0, [r0, #4] mov r1, #0xa1 add r2, sp, #0 bl FUN_02067830 _02230D5C: mov r0, #0xff str r0, [r4, r6] add r0, r5, #0 bl MOD62_0222EC28 add sp, #4 pop {r3, r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD62_02230D38 thumb_func_start MOD62_02230D6C MOD62_02230D6C: ; 0x02230D6C push {r4, lr} mov r2, #0xf5 add r4, r0, #0 lsl r2, r2, #2 ldr r1, [r4, r2] cmp r1, #0 beq _02230D84 cmp r1, #1 beq _02230DA2 cmp r1, #2 beq _02230DB2 b _02230DC6 _02230D84: sub r2, #0x10 ldr r1, [r4, r2] bl MOD62_02230D38 add r0, r4, #0 add r0, #0xec mov r1, #9 bl MOD62_0222EE78 mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _02230DC6 _02230DA2: ldr r0, _02230DD8 ; =0x021C48B8 ldr r3, [r0, #0x48] ldr r0, _02230DDC ; =0x00000CF3 tst r0, r3 beq _02230DC6 add r0, r1, #1 str r0, [r4, r2] b _02230DC6 _02230DB2: mov r1, #0 mov r2, #0xff add r3, r1, #0 bl MOD62_0222F8D4 add r0, r4, #0 add r0, #0xec mov r1, #7 bl MOD62_0222EE78 _02230DC6: add r0, r4, #0 bl MOD62_0222E754 add r0, r4, #0 bl MOD62_0222ECD4 mov r0, #1 pop {r4, pc} nop _02230DD8: .word 0x021C48B8 _02230DDC: .word 0x00000CF3 thumb_func_end MOD62_02230D6C thumb_func_start MOD62_02230DE0 MOD62_02230DE0: ; 0x02230DE0 push {r4, lr} add r4, r0, #0 mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] cmp r1, #3 bls _02230DF0 b _02230F18 _02230DF0: add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _02230DFC: ; jump table .short _02230E04 - _02230DFC - 2 ; case 0 .short _02230E46 - _02230DFC - 2 ; case 1 .short _02230ED0 - _02230DFC - 2 ; case 2 .short _02230EE0 - _02230DFC - 2 ; case 3 _02230E04: sub r0, #0xe0 ldr r0, [r4, r0] mov r1, #0x19 bl FUN_0200C6C4 mov r0, #0xbe lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0x14 bl FUN_0200C6C4 mov r0, #0xbd lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #1 bl FUN_0200C5C0 add r0, r4, #0 add r0, #0xec mov r1, #0xa bl MOD62_0222EE78 mov r0, #0xbe lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #1 bl FUN_0200C644 mov r0, #0xf5 lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] _02230E46: mov r0, #0xf2 lsl r0, r0, #2 add r0, r4, r0 bl MOD62_0222F9B4 cmp r0, #1 bne _02230E66 add r0, r4, #0 mov r1, #1 mov r2, #0 bl MOD62_0222FA40 ldr r0, _02230F28 ; =0x000005DC bl FUN_020054C8 b _02230F18 _02230E66: ldr r0, _02230F2C ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #1 tst r0, r1 beq _02230EA4 mov r2, #0xf1 lsl r2, r2, #2 ldr r1, [r4, r2] add r2, r2, #4 ldr r2, [r4, r2] add r0, r4, #0 bl MOD62_0222EC54 mov r1, #1 add r0, r4, #0 add r2, r1, #0 bl MOD62_0222FA40 add r0, r4, #0 add r0, #0xec mov r1, #0xb bl MOD62_0222EE78 mov r0, #0xf5 mov r1, #2 lsl r0, r0, #2 str r1, [r4, r0] ldr r0, _02230F28 ; =0x000005DC bl FUN_020054C8 b _02230F18 _02230EA4: mov r0, #2 tst r0, r1 beq _02230F18 mov r0, #0xbe lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0 bl FUN_0200C644 add r0, r4, #0 mov r1, #0 mov r2, #1 bl MOD62_0222FA40 mov r0, #0xf5 mov r1, #3 lsl r0, r0, #2 str r1, [r4, r0] ldr r0, _02230F30 ; =0x000005DD bl FUN_020054C8 b _02230F18 _02230ED0: ldr r1, _02230F2C ; =0x021C48B8 ldr r2, [r1, #0x48] ldr r1, _02230F34 ; =0x00000CF3 tst r1, r2 beq _02230F18 mov r1, #3 str r1, [r4, r0] b _02230F18 _02230EE0: sub r0, #0xe0 ldr r0, [r4, r0] mov r1, #0x14 bl FUN_0200C6C4 mov r0, #0xbe lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0x19 bl FUN_0200C6C4 mov r1, #0 add r0, r4, #0 mov r2, #0xff add r3, r1, #0 bl MOD62_0222F8D4 mov r0, #0xbd lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0 bl FUN_0200C5C0 add r0, r4, #0 add r0, #0xec mov r1, #7 bl MOD62_0222EE78 _02230F18: add r0, r4, #0 bl MOD62_0222E754 add r0, r4, #0 bl MOD62_0222ECD4 mov r0, #1 pop {r4, pc} .align 2, 0 _02230F28: .word 0x000005DC _02230F2C: .word 0x021C48B8 _02230F30: .word 0x000005DD _02230F34: .word 0x00000CF3 thumb_func_end MOD62_02230DE0 thumb_func_start MOD62_02230F38 MOD62_02230F38: ; 0x02230F38 mov r0, #0 bx lr thumb_func_end MOD62_02230F38 thumb_func_start MOD62_02230F3C MOD62_02230F3C: ; 0x02230F3C push {r3, lr} mov r0, #0 add r1, r0, #0 bl FUN_02015F10 bl FUN_02015F1C bl FUN_0201E6D8 bl FUN_0201E740 mov r2, #1 lsl r2, r2, #0x1a ldr r1, [r2] ldr r0, _02230F68 ; =0xFFFFE0FF and r1, r0 str r1, [r2] ldr r2, _02230F6C ; =0x04001000 ldr r1, [r2] and r0, r1 str r0, [r2] pop {r3, pc} .align 2, 0 _02230F68: .word 0xFFFFE0FF _02230F6C: .word 0x04001000 thumb_func_end MOD62_02230F3C thumb_func_start MOD62_02230F70 MOD62_02230F70: ; 0x02230F70 push {r3, lr} mov r0, #0 add r1, r0, #0 bl FUN_02015F10 bl FUN_02015F1C pop {r3, pc} thumb_func_end MOD62_02230F70 thumb_func_start MOD62_02230F80 MOD62_02230F80: ; 0x02230F80 push {r4, r5, lr} sub sp, #0xfc add r4, r0, #0 bl FUN_0201E6D8 ldr r5, _022310B8 ; =0x02231238 add r3, sp, #0x10 mov r2, #5 _02230F90: ldmia r5!, {r0, r1} stmia r3!, {r0, r1} sub r2, r2, #1 bne _02230F90 add r0, sp, #0x10 bl FUN_0201E66C mov r1, #6 mov r2, #2 mov r0, #0 lsl r1, r1, #0x18 lsl r2, r2, #0x12 bl MIi_CpuClear32 mov r1, #0x62 mov r2, #2 mov r0, #0 lsl r1, r1, #0x14 lsl r2, r2, #0x10 bl MIi_CpuClear32 mov r1, #0x19 mov r2, #1 mov r0, #0 lsl r1, r1, #0x16 lsl r2, r2, #0x12 bl MIi_CpuClear32 mov r1, #0x66 mov r2, #2 mov r0, #0 lsl r1, r1, #0x14 lsl r2, r2, #0x10 bl MIi_CpuClear32 ldr r5, _022310BC ; =0x02231210 add r3, sp, #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, _022310C0 ; =0x02231294 add r3, sp, #0xa8 mov r2, #0xa _02230FF0: ldmia r5!, {r0, r1} stmia r3!, {r0, r1} sub r2, r2, #1 bne _02230FF0 ldr r0, [r5] mov r1, #1 str r0, [r3] add r0, r4, #0 add r2, sp, #0xa8 mov r3, #0 bl FUN_02016C18 add r0, r4, #0 mov r1, #2 add r2, sp, #0xc4 mov r3, #0 bl FUN_02016C18 add r0, r4, #0 mov r1, #3 add r2, sp, #0xe0 mov r3, #0 bl FUN_02016C18 add r0, r4, #0 mov r1, #1 bl FUN_02018744 add r0, r4, #0 mov r1, #2 bl FUN_02018744 add r0, r4, #0 mov r1, #3 bl FUN_02018744 ldr r1, _022310C4 ; =0x04000008 mov r0, #3 ldrh r2, [r1] bic r2, r0 mov r0, #1 orr r2, r0 strh r2, [r1] add r1, r0, #0 bl FUN_0201E6E4 ldr r5, _022310C8 ; =0x022312E8 add r3, sp, #0x38 mov r2, #0xe _02231052: ldmia r5!, {r0, r1} stmia r3!, {r0, r1} sub r2, r2, #1 bne _02231052 add r0, r4, #0 mov r1, #4 add r2, sp, #0x38 mov r3, #0 bl FUN_02016C18 add r0, r4, #0 mov r1, #5 add r2, sp, #0x54 mov r3, #0 bl FUN_02016C18 add r0, r4, #0 mov r1, #6 add r2, sp, #0x70 mov r3, #0 bl FUN_02016C18 add r0, r4, #0 mov r1, #7 add r2, sp, #0x8c mov r3, #0 bl FUN_02016C18 add r0, r4, #0 mov r1, #4 bl FUN_02018744 add r0, r4, #0 mov r1, #5 bl FUN_02018744 add r0, r4, #0 mov r1, #6 bl FUN_02018744 add r0, r4, #0 mov r1, #7 bl FUN_02018744 mov r0, #4 mov r1, #0 bl FUN_0201E74C add sp, #0xfc pop {r4, r5, pc} nop _022310B8: .word 0x02231238 _022310BC: .word 0x02231210 _022310C0: .word 0x02231294 _022310C4: .word 0x04000008 _022310C8: .word 0x022312E8 thumb_func_end MOD62_02230F80 thumb_func_start MOD62_022310CC MOD62_022310CC: ; 0x022310CC push {r4, lr} add r4, r0, #0 mov r0, #0x69 lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_020081C4 bl FUN_0201C30C bl FUN_0200BC30 add r0, r4, #0 add r0, #0xe8 ldr r0, [r0] bl FUN_0200372C add r4, #0xe4 ldr r0, [r4] bl FUN_0201AB60 ldr r3, _02231104 ; =0x027E0000 ldr r1, _02231108 ; =0x00003FF8 mov r0, #1 ldr r2, [r3, r1] orr r0, r2 str r0, [r3, r1] pop {r4, pc} nop _02231104: .word 0x027E0000 _02231108: .word 0x00003FF8 thumb_func_end MOD62_022310CC .section .rodata ; 0x0223110C .incbin "baserom.nds", 0x2B274C, 0x274 .section .sinit .word MOD62_0222D5C0