Files
pokediamond/arm9/modules/83/asm/module_83.s
2020-05-29 09:40:48 -04:00

26783 lines
493 KiB
ArmAsm

.include "asm/macros.inc"
.include "global.inc"
.section .text
.balign 4, 0
thumb_func_start MOD83_0222D5C0
MOD83_0222D5C0: ; 0x0222D5C0
mov r0, #0
bx lr
thumb_func_end MOD83_0222D5C0
thumb_func_start MOD83_0222D5C4
MOD83_0222D5C4: ; 0x0222D5C4
push {r4, r5, r6, r7, lr}
sub sp, #0x5c
add r5, r0, #0
mov r0, #5
lsl r0, r0, #6
add r0, r5, r0
bl FUN_02019048
cmp r0, #0
bne _0222D63C
mov r1, #0x4f
mov r0, #0
add r3, r5, #0
lsl r1, r1, #2
_0222D5E0:
ldr r2, [r3, r1]
cmp r2, #1
bne _0222D632
lsl r1, r0, #2
add r3, r5, r1
mov r1, #0x4f
add r6, r0, #0
mov r2, #0
lsl r1, r1, #2
str r2, [r3, r1]
mov r3, #0x1c
mov r0, #1
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
add r1, r1, #4
ldr r7, _0222D670 ; =0x0223A794
mul r6, r3
add r4, r7, r6
ldr r3, [r4, #0x10]
add r0, sp, #8
add r1, r5, r1
bl MOD83_022388E4
ldr r1, [r4, #8]
ldr r2, [r4, #0xc]
add r0, sp, #8
mov r3, #0x13
bl MOD83_02238934
ldr r0, [r4, #0x14]
add r1, sp, #8
str r0, [sp]
ldr r0, [r5]
ldr r2, [r7, r6]
ldr r3, [r4, #4]
bl MOD83_02238A38
add sp, #0x5c
mov r0, #1
pop {r4, r5, r6, r7, pc}
_0222D632:
add r0, r0, #1
add r3, r3, #4
cmp r0, #1
blt _0222D5E0
b _0222D668
_0222D63C:
ldr r0, _0222D674 ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #3
tst r0, r1
beq _0222D662
ldr r0, _0222D678 ; =0x000005DC
bl FUN_020054C8
mov r0, #5
lsl r0, r0, #6
add r0, r5, r0
mov r1, #0
bl FUN_0200CCF8
mov r0, #5
lsl r0, r0, #6
add r0, r5, r0
bl FUN_02019178
_0222D662:
add sp, #0x5c
mov r0, #1
pop {r4, r5, r6, r7, pc}
_0222D668:
mov r0, #0
add sp, #0x5c
pop {r4, r5, r6, r7, pc}
nop
_0222D670: .word 0x0223A794
_0222D674: .word 0x021C48B8
_0222D678: .word 0x000005DC
thumb_func_end MOD83_0222D5C4
thumb_func_start MOD83_0222D67C
MOD83_0222D67C: ; 0x0222D67C
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0
bl MOD83_02236E18
mov r4, #0
str r4, [r5, #0x24]
cmp r0, #0
bne _0222D6E6
bl MOD83_02236E9C
cmp r0, #4
bhi _0222D6BE
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0222D6A2: ; jump table
.short _0222D6AC - _0222D6A2 - 2 ; case 0
.short _0222D6B0 - _0222D6A2 - 2 ; case 1
.short _0222D6B4 - _0222D6A2 - 2 ; case 2
.short _0222D6B8 - _0222D6A2 - 2 ; case 3
.short _0222D6BC - _0222D6A2 - 2 ; case 4
_0222D6AC:
mov r4, #2
b _0222D6BE
_0222D6B0:
mov r4, #1
b _0222D6BE
_0222D6B4:
mov r4, #5
b _0222D6BE
_0222D6B8:
mov r4, #4
b _0222D6BE
_0222D6BC:
mov r4, #3
_0222D6BE:
add r0, r4, #0
bl FUN_02016438
ldr r0, [r5, #8]
bl FUN_02024CA4
cmp r0, #0
beq _0222D6E6
bl MOD83_02236EA8
ldr r1, _0222D6E8 ; =0x020ECAC4
ldrb r1, [r1]
cmp r1, r0
bne _0222D6E6
bl MOD83_02236E9C
add r0, r0, #1
str r0, [r5, #0x24]
bl MOD83_02239490
_0222D6E6:
pop {r3, r4, r5, pc}
.align 2, 0
_0222D6E8: .word 0x020ECAC4
thumb_func_end MOD83_0222D67C
thumb_func_start MOD83_0222D6EC
MOD83_0222D6EC: ; 0x0222D6EC
push {r4, lr}
mov r1, #0x43
add r4, r0, #0
lsl r1, r1, #2
ldr r0, [r4, r1]
sub r0, #0xa
cmp r0, #4
bhi _0222D7DC
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0222D708: ; jump table
.short _0222D712 - _0222D708 - 2 ; case 0
.short _0222D718 - _0222D708 - 2 ; case 1
.short _0222D7DC - _0222D708 - 2 ; case 2
.short _0222D74C - _0222D708 - 2 ; case 3
.short _0222D7D0 - _0222D708 - 2 ; case 4
_0222D712:
mov r0, #0xb
str r0, [r4, r1]
pop {r4, pc}
_0222D718:
ldr r0, [r4, #4]
bl FUN_02032D44
mov r1, #0x78
add r0, r1, #0
add r0, #0x98
str r1, [r4, r0]
mov r1, #0xd
add r0, r1, #0
add r0, #0xff
str r1, [r4, r0]
mov r0, #0
str r0, [r4, #0x40]
ldr r0, [r4, #0x14]
bl FUN_0202AF50
cmp r0, #1
bne _0222D7DC
ldr r1, [r4, #0x40]
mov r0, #1
orr r1, r0
str r1, [r4, #0x40]
ldr r1, [r4, #0x44]
orr r0, r1
str r0, [r4, #0x44]
pop {r4, pc}
_0222D74C:
add r1, #0xc
ldr r0, [r4, r1]
cmp r0, #0
bne _0222D7DC
bl FUN_02032D9C
ldr r1, [r4, #0x40]
bic r0, r1
beq _0222D7B2
mov r2, #0x45
lsl r2, r2, #2
ldr r3, [r4, r2]
cmp r3, #0xf
bne _0222D7B2
add r2, r2, #4
ldr r2, [r4, r2]
cmp r2, #0
bne _0222D7B2
cmp r1, r0
beq _0222D7B2
mov r2, #1
add r1, r0, #0
str r2, [r4, #0x48]
tst r1, r2
beq _0222D782
str r2, [r4, #0x34]
add r0, r2, #0
_0222D782:
mov r1, #2
add r2, r0, #0
tst r2, r1
beq _0222D790
mov r0, #1
str r0, [r4, #0x2c]
add r0, r1, #0
_0222D790:
mov r1, #4
add r2, r0, #0
tst r2, r1
beq _0222D79E
mov r0, #1
str r0, [r4, #0x30]
add r0, r1, #0
_0222D79E:
mov r1, #3
tst r1, r0
beq _0222D7AC
mov r1, #0x4e
mov r2, #1
lsl r1, r1, #2
str r2, [r4, r1]
_0222D7AC:
ldr r1, [r4, #0x40]
orr r0, r1
str r0, [r4, #0x40]
_0222D7B2:
mov r0, #0x11
lsl r0, r0, #4
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0
bne _0222D7DC
bl FUN_02032D80
mov r0, #0x43
mov r1, #0xc
lsl r0, r0, #2
str r1, [r4, r0]
pop {r4, pc}
_0222D7D0:
bl FUN_02032D80
mov r0, #0x43
mov r1, #0xc
lsl r0, r0, #2
str r1, [r4, r0]
_0222D7DC:
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_0222D6EC
thumb_func_start MOD83_0222D7E0
MOD83_0222D7E0: ; 0x0222D7E0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x60
mov r1, #0x45
add r4, r0, #0
lsl r1, r1, #2
ldr r0, [r4, r1]
sub r0, #0xf
cmp r0, #4
bls _0222D7F4
b _0222D994
_0222D7F4:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0222D800: ; jump table
.short _0222D80A - _0222D800 - 2 ; case 0
.short _0222D832 - _0222D800 - 2 ; case 1
.short _0222D85E - _0222D800 - 2 ; case 2
.short _0222D932 - _0222D800 - 2 ; case 3
.short _0222D974 - _0222D800 - 2 ; case 4
_0222D80A:
add r0, r1, #4
ldr r0, [r4, r0]
cmp r0, #0
bne _0222D818
add sp, #0x60
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0222D818:
add r0, r1, #4
ldr r0, [r4, r0]
sub r2, r0, #1
add r0, r1, #4
str r2, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0
bne _0222D82C
mov r0, #0x10
str r0, [r4, r1]
_0222D82C:
add sp, #0x60
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0222D832:
mov r0, #0
str r0, [sp]
mov r0, #0x51
str r0, [sp, #4]
mov r1, #1
ldr r0, [r4]
add r2, r1, #0
mov r3, #2
bl FUN_0200CB00
ldr r0, [r4]
mov r1, #1
bl FUN_02018744
ldr r1, _0222D99C ; =0x00006B5A
ldr r0, _0222D9A0 ; =0x05000042
strh r1, [r0]
mov r0, #0x45
mov r1, #0x11
lsl r0, r0, #2
str r1, [r4, r0]
b _0222D994
_0222D85E:
mov r0, #1
str r0, [sp]
mov r0, #2
add r1, #0x10
str r0, [sp, #4]
add r0, sp, #0xc
add r1, r4, r1
mov r2, #0
mov r3, #0xc
bl MOD83_022388E4
ldr r0, [r4, #0x44]
ldr r1, [r4, #0x40]
mvn r0, r0
and r0, r1
mov r1, #1
add r2, r0, #0
tst r2, r1
beq _0222D892
ldr r2, [r4, #0x38]
tst r1, r2
beq _0222D88E
ldr r5, _0222D9A4 ; =0x0223A7F0
b _0222D8B2
_0222D88E:
ldr r5, _0222D9A8 ; =0x0223A804
b _0222D8B2
_0222D892:
mov r1, #2
add r2, r0, #0
tst r2, r1
beq _0222D8A8
ldr r2, [r4, #0x38]
tst r1, r2
beq _0222D8A4
ldr r5, _0222D9AC ; =0x0223A818
b _0222D8B2
_0222D8A4:
ldr r5, _0222D9B0 ; =0x0223A82C
b _0222D8B2
_0222D8A8:
mov r1, #0x80
tst r1, r0
beq _0222D8B2
ldr r5, _0222D9B4 ; =0x0223A840
mov r0, #0
_0222D8B2:
ldr r1, [r4, #0x44]
mov r3, #0x13
orr r0, r1
str r0, [r4, #0x44]
ldr r1, [r5, #8]
ldr r2, [r5, #0xc]
add r0, sp, #0xc
bl MOD83_02238934
mov r0, #1
str r0, [sp, #0x38]
ldr r0, [r5, #0x10]
add r1, sp, #0xc
str r0, [sp]
ldr r0, [r4]
ldr r2, [r5]
ldr r3, [r5, #4]
bl MOD83_02238A38
ldr r0, [sp, #0x1c]
bl FUN_0201AB14
add r6, r0, #0
ldr r0, [sp, #0x1c]
bl FUN_0201AB18
add r7, r0, #0
ldr r0, [sp, #0x1c]
bl FUN_0201AB0C
add r5, r0, #0
ldr r0, [sp, #0x1c]
bl FUN_0201AB10
str r5, [sp]
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
ldr r0, [r4]
mov r1, #1
add r2, r6, #0
add r3, r7, #0
bl FUN_020186B4
mov r0, #1
mov r1, #0
bl FUN_0201E6E4
mov r0, #4
mov r1, #0
bl FUN_0201E6E4
mov r0, #2
mov r1, #1
bl FUN_0201E6E4
mov r1, #0x1e
add r0, r1, #0
add r0, #0xfe
str r1, [r4, r0]
mov r0, #0x12
add r1, #0xf6
str r0, [r4, r1]
b _0222D994
_0222D932:
add r0, r1, #0
add r0, #8
ldr r0, [r4, r0]
cmp r0, #0
beq _0222D94A
add r0, r1, #0
add r0, #8
ldr r0, [r4, r0]
add r1, #8
sub r0, r0, #1
str r0, [r4, r1]
b _0222D994
_0222D94A:
ldr r0, _0222D9B8 ; =0x021C48B8
ldr r2, [r0, #0x48]
mov r0, #3
tst r0, r2
beq _0222D994
add r1, #0x10
add r0, r4, r1
bl FUN_02019178
mov r0, #0x45
mov r1, #0x13
lsl r0, r0, #2
str r1, [r4, r0]
ldr r1, _0222D9B8 ; =0x021C48B8
add r0, #0xc
ldr r1, [r1, #0x48]
str r1, [r4, r0]
ldr r0, _0222D9BC ; =0x000005DC
bl FUN_020054C8
b _0222D994
_0222D974:
mov r0, #1
add r1, r0, #0
bl FUN_0201E6E4
mov r0, #4
mov r1, #1
bl FUN_0201E6E4
mov r0, #2
mov r1, #0
bl FUN_0201E6E4
mov r0, #0x45
mov r1, #0xf
lsl r0, r0, #2
str r1, [r4, r0]
_0222D994:
mov r0, #1
add sp, #0x60
pop {r3, r4, r5, r6, r7, pc}
nop
_0222D99C: .word 0x00006B5A
_0222D9A0: .word 0x05000042
_0222D9A4: .word 0x0223A7F0
_0222D9A8: .word 0x0223A804
_0222D9AC: .word 0x0223A818
_0222D9B0: .word 0x0223A82C
_0222D9B4: .word 0x0223A840
_0222D9B8: .word 0x021C48B8
_0222D9BC: .word 0x000005DC
thumb_func_end MOD83_0222D7E0
thumb_func_start MOD83_0222D9C0
MOD83_0222D9C0: ; 0x0222D9C0
push {r3, r4, r5, lr}
add r4, r0, #0
mov r0, #0x42
lsl r0, r0, #2
ldr r1, [r4, r0]
sub r0, r0, #4
ldr r0, [r4, r0]
cmp r0, r1
beq _0222DA48
sub r1, r1, r0
asr r0, r1, #1
lsr r0, r0, #0x1e
add r0, r1, r0
asr r0, r0, #2
asr r2, r0, #0x1f
add r1, r0, #0
eor r1, r2
sub r2, r1, r2
mov r1, #3
lsl r1, r1, #0xe
cmp r2, r1
ble _0222D9F6
cmp r0, #0
ble _0222D9F4
add r0, r1, #0
b _0222D9F6
_0222D9F4:
ldr r0, _0222DA4C ; =0xFFFF4000
_0222D9F6:
mov r1, #0x41
lsl r1, r1, #2
ldr r2, [r4, r1]
add r0, r2, r0
str r0, [r4, r1]
add r0, r1, #4
ldr r0, [r4, r0]
ldr r2, [r4, r1]
sub r2, r0, r2
asr r3, r2, #0x1f
eor r2, r3
sub r3, r2, r3
add r2, r1, #0
add r2, #0xfc
cmp r3, r2
bge _0222DA18
str r0, [r4, r1]
_0222DA18:
mov r3, #0x41
lsl r3, r3, #2
ldr r5, [r4, r3]
ldr r0, [r4]
asr r3, r5, #0xb
lsr r3, r3, #0x14
add r3, r5, r3
mov r1, #0
mov r2, #3
asr r3, r3, #0xc
bl FUN_0201AEE4
mov r3, #0x41
lsl r3, r3, #2
ldr r0, [r4]
ldr r4, [r4, r3]
mov r1, #2
asr r3, r4, #0xb
lsr r3, r3, #0x14
add r3, r4, r3
mov r2, #3
asr r3, r3, #0xc
bl FUN_0201AEE4
_0222DA48:
pop {r3, r4, r5, pc}
nop
_0222DA4C: .word 0xFFFF4000
thumb_func_end MOD83_0222D9C0
thumb_func_start MOD83_0222DA50
MOD83_0222DA50: ; 0x0222DA50
push {r3, r4, r5, lr}
sub sp, #0x40
ldr r5, _0222DB4C ; =0x0223A380
add r4, r0, #0
add r3, sp, #0x18
mov r2, #5
_0222DA5C:
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _0222DA5C
ldr r3, _0222DB50 ; =0x0223A370
add r2, sp, #8
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
add r0, sp, #0x18
bl FUN_0201E66C
add r0, sp, #8
bl FUN_02016BBC
mov r1, #0
str r1, [sp]
mov r3, #0xf
ldr r0, [r4]
mov r2, #2
lsl r3, r3, #0xc
bl MOD83_022387D8
ldr r1, _0222DB54 ; =0x04000008
mov r0, #3
ldrh r2, [r1]
mov r3, #0x51
bic r2, r0
mov r0, #2
orr r0, r2
strh r0, [r1]
mov r0, #0
mov r1, #0x20
add r2, r0, #0
bl FUN_02017F18
mov r0, #2
lsl r0, r0, #0xe
str r0, [sp]
mov r1, #1
mov r3, #0x36
ldr r0, [r4]
add r2, r1, #0
lsl r3, r3, #0xa
bl MOD83_022387D8
ldr r1, _0222DB58 ; =0x0400000A
mov r0, #3
ldrh r2, [r1]
mov r3, #0x51
bic r2, r0
mov r0, #1
orr r2, r0
strh r2, [r1]
mov r1, #0x20
mov r2, #0
bl FUN_02017F18
mov r0, #0
str r0, [sp]
mov r1, #2
mov r3, #0xe
ldr r0, [r4]
add r2, r1, #0
lsl r3, r3, #0xc
bl MOD83_022387D8
ldr r1, _0222DB5C ; =0x0400000C
mov r0, #3
ldrh r2, [r1]
mov r3, #0x51
bic r2, r0
strh r2, [r1]
mov r0, #2
mov r1, #0x20
mov r2, #0
bl FUN_02017F18
bl FUN_0201BD5C
mov r0, #0
mov r1, #0x20
mov r2, #0x51
bl FUN_02002ED0
mov r0, #0
add r1, r0, #0
mov r2, #0x51
bl FUN_02002ED0
mov r2, #5
mov r1, #0
lsl r2, r2, #0x18
ldr r0, _0222DB60 ; =0x00006B5A
strh r1, [r2]
strh r0, [r2, #0x3e]
str r1, [sp]
mov r0, #0x51
str r0, [sp, #4]
ldr r0, [r4]
mov r2, #1
mov r3, #2
bl FUN_0200CB00
mov r0, #1
str r0, [sp]
mov r0, #0x51
str r0, [sp, #4]
ldr r0, [r4]
mov r1, #0
mov r2, #0xa
mov r3, #3
bl FUN_0200CB00
ldr r1, _0222DB60 ; =0x00006B5A
ldr r0, _0222DB64 ; =0x05000042
strh r1, [r0]
add sp, #0x40
pop {r3, r4, r5, pc}
.align 2, 0
_0222DB4C: .word 0x0223A380
_0222DB50: .word 0x0223A370
_0222DB54: .word 0x04000008
_0222DB58: .word 0x0400000A
_0222DB5C: .word 0x0400000C
_0222DB60: .word 0x00006B5A
_0222DB64: .word 0x05000042
thumb_func_end MOD83_0222DA50
thumb_func_start MOD83_0222DB68
MOD83_0222DB68: ; 0x0222DB68
push {r4, lr}
sub sp, #8
add r4, r0, #0
bl MOD83_02238AFC
bl MOD83_02238B4C
mov r0, #0x25
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
mov r0, #0x74
mov r1, #0x27
mov r2, #0x24
mov r3, #0x26
bl MOD83_02238BC4
mov r0, #0
mov r1, #0x15
str r0, [sp]
lsl r1, r1, #4
ldr r1, [r4, r1]
mov r2, #0x80
mov r3, #8
bl MOD83_02238DBC
mov r1, #0x15
lsl r1, r1, #4
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #0
bl FUN_020200A0
mov r0, #1
mov r1, #0x55
str r0, [sp]
lsl r1, r1, #2
ldr r1, [r4, r1]
mov r0, #0
mov r2, #0x80
mov r3, #0xb8
bl MOD83_02238DBC
mov r1, #0x55
lsl r1, r1, #2
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #0
bl FUN_020200A0
add sp, #8
pop {r4, pc}
thumb_func_end MOD83_0222DB68
thumb_func_start MOD83_0222DBD0
MOD83_0222DBD0: ; 0x0222DBD0
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #0x20
str r0, [sp]
mov r0, #0x51
str r0, [sp, #4]
mov r0, #0x74
mov r1, #0x29
mov r2, #0
mov r3, #0x80
bl FUN_02006930
mov r0, #0xe
lsl r0, r0, #6
str r0, [sp]
mov r0, #2
lsl r0, r0, #0xa
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #0x51
str r0, [sp, #0xc]
ldr r2, [r4]
mov r0, #0x74
mov r1, #0x28
mov r3, #2
bl FUN_0200687C
add sp, #0x10
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_0222DBD0
thumb_func_start MOD83_0222DC10
MOD83_0222DC10: ; 0x0222DC10
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
mov r1, #2
add r6, r2, #0
add r7, r3, #0
bl FUN_0201886C
ldr r1, _0222DC5C ; =0x00004380
cmp r7, #2
bne _0222DC2A
add r1, r1, #2
_0222DC2A:
lsl r2, r6, #5
add r3, r4, r2
lsl r2, r3, #1
add r3, r3, #1
strh r1, [r0, r2]
add r2, r1, #1
lsl r3, r3, #1
strh r2, [r0, r3]
add r3, r1, #0
add r2, r6, #1
lsl r2, r2, #5
add r4, r4, r2
add r3, #8
lsl r2, r4, #1
strh r3, [r0, r2]
add r2, r4, #1
add r1, #9
lsl r2, r2, #1
strh r1, [r0, r2]
ldr r0, [r5]
mov r1, #2
bl FUN_02017CD0
pop {r3, r4, r5, r6, r7, pc}
nop
_0222DC5C: .word 0x00004380
thumb_func_end MOD83_0222DC10
thumb_func_start MOD83_0222DC60
MOD83_0222DC60: ; 0x0222DC60
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
add r6, r2, #0
mov r1, #2
bl FUN_0201886C
lsl r1, r6, #5
add r3, r4, r1
ldr r1, _0222DC9C ; =0x00004384
lsl r2, r3, #1
strh r1, [r0, r2]
add r2, r3, #1
lsl r2, r2, #1
strh r1, [r0, r2]
add r2, r6, #1
lsl r2, r2, #5
add r3, r4, r2
lsl r2, r3, #1
strh r1, [r0, r2]
add r2, r3, #1
lsl r2, r2, #1
strh r1, [r0, r2]
ldr r0, [r5]
mov r1, #2
bl FUN_02017CD0
pop {r4, r5, r6, pc}
nop
_0222DC9C: .word 0x00004384
thumb_func_end MOD83_0222DC60
thumb_func_start MOD83_0222DCA0
MOD83_0222DCA0: ; 0x0222DCA0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r6, r0, #0
add r0, r2, #0
add r7, r3, #0
ldr r2, [sp, #0x28]
mov r3, #0x51
bl FUN_0200A9C4
add r5, r0, #0
mov r0, #0
mov r1, #2
bl FUN_02002E4C
add r2, r0, #0
mov r0, #0
add r1, r5, #0
bl FUN_02002E14
add r4, r0, #0
add r0, r6, #0
bl FUN_0201AB0C
lsl r0, r0, #3
add r4, #0x20
sub r3, r0, r4
ldr r0, [sp, #0x2c]
mov r1, #0
str r0, [sp]
mov r0, #0xff
str r0, [sp, #4]
str r7, [sp, #8]
add r0, r6, #0
add r2, r5, #0
str r1, [sp, #0xc]
bl FUN_0201BDE0
add r0, r5, #0
bl FUN_02021A20
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD83_0222DCA0
thumb_func_start MOD83_0222DCF4
MOD83_0222DCF4: ; 0x0222DCF4
push {r3, lr}
sub sp, #8
add r2, r1, #0
cmp r2, #0x64
blt _0222DD04
mov r3, #3
mov r1, #0
b _0222DD12
_0222DD04:
cmp r2, #0xa
blt _0222DD0E
mov r3, #3
mov r1, #1
b _0222DD12
_0222DD0E:
mov r3, #2
mov r1, #1
_0222DD12:
str r1, [sp]
mov r1, #1
str r1, [sp, #4]
mov r1, #0
bl FUN_0200AD38
add sp, #8
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_0222DCF4
thumb_func_start MOD83_0222DD24
MOD83_0222DD24: ; 0x0222DD24
push {r4, r5, r6, r7, lr}
sub sp, #0x2c
str r2, [sp, #0x18]
str r0, [sp, #0x10]
str r1, [sp, #0x14]
add r4, r3, #0
ldr r2, _0222DEB4 ; =0x000001EE
mov r0, #1
mov r1, #0x1a
mov r3, #0x51
bl FUN_0200A86C
str r0, [sp, #0x24]
mov r0, #0x51
bl FUN_0200AA80
str r0, [sp, #0x28]
ldr r0, [sp, #0x10]
ldr r0, [r0, #0xc]
bl FUN_020239CC
cmp r0, #1
bne _0222DD58
ldr r0, _0222DEB8 ; =0x0003040F
str r0, [sp, #0x1c]
b _0222DD5C
_0222DD58:
ldr r0, _0222DEBC ; =0x0007080F
str r0, [sp, #0x1c]
_0222DD5C:
ldr r0, [sp, #0x14]
ldr r1, _0222DEC0 ; =0x0223A85C
lsl r0, r0, #4
str r0, [sp, #0x20]
ldr r0, [r1, r0]
ldr r1, [sp, #0x18]
str r0, [sp]
ldr r0, [sp, #0x10]
mov r2, #3
ldr r0, [r0]
add r3, r4, #0
bl MOD83_02238A38
ldr r4, _0222DEC4 ; =0x0223A784
mov r6, #1
mov r5, #0x10
_0222DD7C:
cmp r6, #4
bne _0222DD88
ldr r0, [sp, #0x10]
ldr r0, [r0, #0x4c]
cmp r0, #0
beq _0222DDB8
_0222DD88:
ldr r0, [sp, #0x28]
ldr r1, [sp, #0x24]
ldr r2, [r4]
mov r3, #0x51
bl FUN_0200A9C4
add r7, r0, #0
str r5, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, [sp, #0x1c]
mov r1, #0
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r0, [sp, #0x18]
add r2, r7, #0
ldr r0, [r0, #0x10]
mov r3, #0x20
bl FUN_0201BDE0
add r0, r7, #0
bl FUN_02021A20
_0222DDB8:
add r6, r6, #1
add r4, r4, #4
add r5, #0x10
cmp r6, #5
blo _0222DD7C
ldr r2, [sp, #0x10]
ldr r0, [sp, #0x28]
ldr r2, [r2, #0xc]
mov r1, #0
bl FUN_0200ABC0
mov r0, #0x10
str r0, [sp]
str r0, [sp, #4]
ldr r0, [sp, #0x18]
ldr r1, [sp, #0x24]
ldr r0, [r0, #0x10]
ldr r2, [sp, #0x28]
ldr r3, [sp, #0x1c]
bl MOD83_0222DCA0
ldr r0, [sp, #0x10]
ldr r0, [r0, #0x10]
bl FUN_02029EBC
add r1, r0, #0
ldr r0, [sp, #0x28]
bl MOD83_0222DCF4
ldr r0, [sp, #0x10]
ldr r0, [r0, #0x10]
bl FUN_02029EC0
add r2, r0, #0
mov r3, #2
ldr r0, [sp, #0x28]
str r3, [sp]
mov r1, #1
str r1, [sp, #4]
bl FUN_0200AD38
mov r0, #0x11
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
ldr r0, [sp, #0x18]
ldr r1, [sp, #0x24]
ldr r0, [r0, #0x10]
ldr r2, [sp, #0x28]
ldr r3, [sp, #0x1c]
bl MOD83_0222DCA0
mov r1, #0
str r1, [sp]
mov r3, #1
ldr r2, [sp, #0x10]
str r3, [sp, #4]
ldr r0, [sp, #0x28]
ldr r2, [r2, #0x50]
bl FUN_0200AD38
mov r0, #0x13
str r0, [sp]
mov r0, #0x30
str r0, [sp, #4]
ldr r0, [sp, #0x18]
ldr r1, [sp, #0x24]
ldr r0, [r0, #0x10]
ldr r2, [sp, #0x28]
ldr r3, [sp, #0x1c]
bl MOD83_0222DCA0
ldr r0, [sp, #0x10]
ldr r0, [r0, #0x4c]
cmp r0, #0
beq _0222DE76
ldr r0, [sp, #0x10]
ldr r0, [r0, #8]
bl FUN_02024440
add r1, r0, #0
ldr r0, [sp, #0x28]
bl MOD83_0222DCF4
mov r0, #0x12
str r0, [sp]
mov r0, #0x40
str r0, [sp, #4]
ldr r0, [sp, #0x18]
ldr r1, [sp, #0x24]
ldr r0, [r0, #0x10]
ldr r2, [sp, #0x28]
ldr r3, [sp, #0x1c]
bl MOD83_0222DCA0
_0222DE76:
ldr r2, [sp, #0x18]
ldr r3, [sp, #0x18]
ldr r0, [sp, #0x18]
ldr r2, [r2, #0x38]
ldr r3, [r3, #0x3c]
lsl r2, r2, #0x10
lsl r3, r3, #0x18
ldr r0, [r0, #0x10]
mov r1, #0
lsr r2, r2, #0x10
lsr r3, r3, #0x18
bl FUN_0200CCA4
ldr r1, _0222DEC8 ; =0x0223A854
ldr r0, [sp, #0x20]
ldr r2, [r1, r0]
ldr r0, [sp, #0x14]
lsl r1, r0, #2
ldr r0, [sp, #0x10]
add r0, r0, r1
add r0, #0xcc
str r2, [r0]
ldr r0, [sp, #0x28]
bl FUN_0200AB18
ldr r0, [sp, #0x24]
bl FUN_0200A8B8
mov r0, #1
add sp, #0x2c
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0222DEB4: .word 0x000001EE
_0222DEB8: .word 0x0003040F
_0222DEBC: .word 0x0007080F
_0222DEC0: .word 0x0223A85C
_0222DEC4: .word 0x0223A784
_0222DEC8: .word 0x0223A854
thumb_func_end MOD83_0222DD24
thumb_func_start MOD83_0222DECC
MOD83_0222DECC: ; 0x0222DECC
push {r3, r4, r5, r6, lr}
sub sp, #4
add r4, r0, #0
add r5, r1, #0
add r1, r2, #0
ldr r2, [r4, #0x24]
add r6, r3, #0
cmp r2, #0
bne _0222DEE4
add sp, #4
mov r0, #0
pop {r3, r4, r5, r6, pc}
_0222DEE4:
sub r2, r2, #1
cmp r2, #4
bhi _0222DF12
add r2, r2, r2
add r2, pc
ldrh r2, [r2, #6]
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
_0222DEF6: ; jump table
.short _0222DF00 - _0222DEF6 - 2 ; case 0
.short _0222DF04 - _0222DEF6 - 2 ; case 1
.short _0222DF08 - _0222DEF6 - 2 ; case 2
.short _0222DF0C - _0222DEF6 - 2 ; case 3
.short _0222DF10 - _0222DEF6 - 2 ; case 4
_0222DF00:
mov r0, #4
b _0222DF12
_0222DF04:
mov r0, #5
b _0222DF12
_0222DF08:
mov r0, #6
b _0222DF12
_0222DF0C:
mov r0, #7
b _0222DF12
_0222DF10:
mov r0, #8
_0222DF12:
str r0, [sp]
ldr r0, [r4]
mov r2, #3
add r3, r6, #0
bl MOD83_02238A38
add r0, r4, #0
mov r1, #0x1a
add r2, r6, #0
bl MOD83_0222DC60
ldr r0, _0222DF3C ; =0x0223A854
lsl r1, r5, #4
ldr r1, [r0, r1]
lsl r0, r5, #2
add r0, r4, r0
add r0, #0xcc
str r1, [r0]
mov r0, #1
add sp, #4
pop {r3, r4, r5, r6, pc}
.align 2, 0
_0222DF3C: .word 0x0223A854
thumb_func_end MOD83_0222DECC
thumb_func_start MOD83_0222DF40
MOD83_0222DF40: ; 0x0222DF40
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
ldr r0, [r5, #0x34]
add r4, r1, #0
add r7, r3, #0
str r2, [sp, #4]
cmp r0, #0
bne _0222DF88
ldr r0, [r5, #0x14]
bl FUN_0202AF50
cmp r0, #1
bne _0222DF60
mov r0, #1
str r0, [r5, #0x34]
_0222DF60:
ldr r0, [r5, #4]
bl FUN_02023788
bl FUN_02023820
cmp r0, #1
bne _0222DF72
mov r0, #1
str r0, [r5, #0x34]
_0222DF72:
mov r0, #0x51
bl MOD83_022385FC
bl MOD83_02238700
cmp r0, #0
beq _0222DF88
mov r0, #1
str r0, [r5, #0x34]
bl MOD83_02239450
_0222DF88:
ldr r0, [r5, #0x34]
cmp r0, #1
bne _0222DF98
ldr r0, [r5, #0x4c]
cmp r0, #0
bne _0222DF98
mov r0, #0
str r0, [r5, #0x34]
_0222DF98:
ldr r0, [r5, #0x34]
cmp r0, #1
bne _0222DFDC
ldr r0, _0222DFE4 ; =0x0223A85C
lsl r6, r4, #4
ldr r0, [r0, r6]
ldr r1, [sp, #4]
str r0, [sp]
ldr r0, [r5]
mov r2, #3
add r3, r7, #0
bl MOD83_02238A38
add r0, r5, #0
mov r1, #0x1a
add r2, r7, #0
bl MOD83_0222DC60
ldr r0, _0222DFE8 ; =0x0223A854
ldr r1, [r0, r6]
lsl r0, r4, #2
add r0, r5, r0
add r0, #0xcc
str r1, [r0]
ldr r1, [r5, #0x38]
mov r0, #1
orr r0, r1
str r0, [r5, #0x38]
ldr r0, [r5, #0x14]
bl FUN_0202AF60
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0222DFDC:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_0222DFE4: .word 0x0223A85C
_0222DFE8: .word 0x0223A854
thumb_func_end MOD83_0222DF40
thumb_func_start MOD83_0222DFEC
MOD83_0222DFEC: ; 0x0222DFEC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #0x2c]
add r4, r1, #0
add r7, r3, #0
cmp r0, #1
bne _0222E03C
ldr r0, [r5, #0x4c]
cmp r0, #1
bne _0222E03C
ldr r0, _0222E040 ; =0x0223A85C
lsl r6, r4, #4
ldr r0, [r0, r6]
add r1, r2, #0
str r0, [sp]
ldr r0, [r5]
mov r2, #3
bl MOD83_02238A38
add r0, r5, #0
mov r1, #0x1a
add r2, r7, #0
mov r3, #1
bl MOD83_0222DC10
lsl r3, r4, #2
add r1, r5, r3
mov r0, #1
add r1, #0xe8
str r0, [r1]
ldr r1, _0222E044 ; =0x0223A854
ldr r2, [r1, r6]
add r1, r5, r3
add r1, #0xcc
str r2, [r1]
ldr r2, [r5, #0x38]
mov r1, #2
orr r1, r2
str r1, [r5, #0x38]
pop {r3, r4, r5, r6, r7, pc}
_0222E03C:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_0222E040: .word 0x0223A85C
_0222E044: .word 0x0223A854
thumb_func_end MOD83_0222DFEC
thumb_func_start MOD83_0222E048
MOD83_0222E048: ; 0x0222E048
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
ldr r0, [r4, #0x30]
add r5, r1, #0
add r7, r3, #0
cmp r0, #1
bne _0222E08A
ldr r0, _0222E090 ; =0x0223A85C
lsl r6, r5, #4
ldr r0, [r0, r6]
add r1, r2, #0
str r0, [sp]
ldr r0, [r4]
mov r2, #3
bl MOD83_02238A38
lsl r5, r5, #2
add r0, r4, r5
mov r3, #1
add r0, #0xe8
str r3, [r0]
add r0, r4, #0
mov r1, #0x1a
add r2, r7, #0
bl MOD83_0222DC10
ldr r0, _0222E094 ; =0x0223A854
ldr r1, [r0, r6]
add r0, r4, r5
add r0, #0xcc
str r1, [r0]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0222E08A:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_0222E090: .word 0x0223A85C
_0222E094: .word 0x0223A854
thumb_func_end MOD83_0222E048
thumb_func_start MOD83_0222E098
MOD83_0222E098: ; 0x0222E098
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, _0222E0D4 ; =0x0223A85C
lsl r6, r4, #4
ldr r0, [r0, r6]
add r1, r2, #0
str r0, [sp]
ldr r0, [r5]
mov r2, #3
add r7, r3, #0
bl MOD83_02238A38
lsl r4, r4, #2
add r0, r5, r4
mov r3, #2
add r0, #0xe8
str r3, [r0]
add r0, r5, #0
mov r1, #0x1a
add r2, r7, #0
bl MOD83_0222DC10
ldr r0, _0222E0D8 ; =0x0223A854
ldr r1, [r0, r6]
add r0, r5, r4
add r0, #0xcc
str r1, [r0]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_0222E0D4: .word 0x0223A85C
_0222E0D8: .word 0x0223A854
thumb_func_end MOD83_0222E098
thumb_func_start MOD83_0222E0DC
MOD83_0222E0DC: ; 0x0222E0DC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x70
add r7, r0, #0
mov r0, #0
str r0, [sp, #0xc]
mov r0, #0x13
str r0, [r7, #0x20]
ldr r0, [sp, #0xc]
ldr r4, _0222E1F0 ; =0x0223A854
str r0, [sp, #0x10]
add r0, r7, #0
str r0, [sp, #8]
add r0, #0x5c
str r0, [sp, #8]
add r0, r7, #0
str r0, [sp, #0x14]
add r0, #0x20
mov r5, #1
str r7, [sp, #0x18]
str r0, [sp, #0x14]
_0222E104:
mov r0, #1
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r1, [sp, #8]
ldr r3, _0222E1F4 ; =0x000001EE
add r0, sp, #0x1c
mov r2, #1
bl MOD83_022388E4
ldr r2, [r4, #4]
ldr r3, [r7, #0x20]
add r0, sp, #0x1c
mov r1, #0x1a
bl MOD83_02238934
ldr r0, [r4, #0xc]
mov ip, r0
cmp r0, #0
beq _0222E1A4
ldr r0, [sp, #0x18]
add r0, #0xcc
ldr r0, [r0]
cmp r0, #0
beq _0222E188
ldr r0, [sp, #0x2c]
mov r1, #3
bl FUN_0201AB1C
lsl r1, r5, #0x18
ldr r0, [sp, #0x2c]
lsr r1, r1, #0x18
bl FUN_0201AB20
ldr r2, [sp, #0x54]
ldr r3, [sp, #0x58]
lsl r2, r2, #0x10
lsl r3, r3, #0x18
ldr r0, [sp, #0x2c]
mov r1, #0
lsr r2, r2, #0x10
lsr r3, r3, #0x18
bl FUN_0200CCA4
ldr r0, [sp, #0x18]
add r0, #0xe8
ldr r3, [r0]
cmp r3, #0
beq _0222E172
add r0, r7, #0
mov r1, #0x1a
add r2, r5, #0
bl MOD83_0222DC10
b _0222E17C
_0222E172:
add r0, r7, #0
mov r1, #0x1a
add r2, r5, #0
bl MOD83_0222DC60
_0222E17C:
ldr r0, [r4, #4]
add r0, r0, #2
add r5, r5, r0
mov r0, #1
str r0, [sp, #0xc]
b _0222E1C2
_0222E188:
ldr r1, [sp, #0x10]
add r0, r7, #0
add r2, sp, #0x1c
add r3, r5, #0
mov r6, ip
blx r6
cmp r0, #1
bne _0222E1C2
ldr r0, [r4, #4]
add r0, r0, #2
add r5, r5, r0
mov r0, #1
str r0, [sp, #0xc]
b _0222E1C2
_0222E1A4:
ldr r0, [r4, #8]
add r1, sp, #0x1c
str r0, [sp]
ldr r0, [r7]
mov r2, #3
add r3, r5, #0
bl MOD83_02238A38
ldr r0, [sp, #0x18]
ldr r1, [r4]
add r0, #0xcc
str r1, [r0]
ldr r0, [r4, #4]
add r0, r0, #2
add r5, r5, r0
_0222E1C2:
ldr r0, [sp, #0x14]
ldr r1, [r4, #4]
ldr r2, [r0]
mov r0, #0x1a
mul r0, r1
add r1, r2, r0
ldr r0, [sp, #0x14]
add r4, #0x10
str r1, [r0]
ldr r0, [sp, #8]
add r0, #0x10
str r0, [sp, #8]
ldr r0, [sp, #0x18]
add r0, r0, #4
str r0, [sp, #0x18]
ldr r0, [sp, #0x10]
add r0, r0, #1
str r0, [sp, #0x10]
cmp r0, #7
blo _0222E104
ldr r0, [sp, #0xc]
add sp, #0x70
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_0222E1F0: .word 0x0223A854
_0222E1F4: .word 0x000001EE
thumb_func_end MOD83_0222E0DC
thumb_func_start MOD83_0222E1F8
MOD83_0222E1F8: ; 0x0222E1F8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r6, r0, #0
add r5, r6, #0
str r1, [sp, #0xc]
mov r4, #0
add r5, #0x5c
_0222E206:
add r0, r5, #0
bl FUN_02019048
cmp r0, #0
beq _0222E294
ldr r0, [sp, #0xc]
cmp r4, r0
bne _0222E256
add r0, r5, #0
mov r1, #1
mov r2, #0xa
mov r3, #3
bl FUN_0200CCA4
add r0, r5, #0
bl FUN_0201AB14
str r0, [sp, #0x10]
add r0, r5, #0
bl FUN_0201AB18
str r0, [sp, #0x14]
add r0, r5, #0
bl FUN_0201AB0C
add r7, r0, #0
add r0, r5, #0
bl FUN_0201AB10
str r7, [sp]
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
ldr r0, [r6]
ldr r2, [sp, #0x10]
ldr r3, [sp, #0x14]
mov r1, #0
bl FUN_020186B4
b _0222E294
_0222E256:
mov r1, #1
add r0, r5, #0
add r2, r1, #0
mov r3, #2
bl FUN_0200CCA4
add r0, r5, #0
bl FUN_0201AB14
str r0, [sp, #0x18]
add r0, r5, #0
bl FUN_0201AB18
str r0, [sp, #0x1c]
add r0, r5, #0
bl FUN_0201AB0C
add r7, r0, #0
add r0, r5, #0
bl FUN_0201AB10
str r7, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, [r6]
ldr r2, [sp, #0x18]
ldr r3, [sp, #0x1c]
mov r1, #0
bl FUN_020186B4
_0222E294:
add r4, r4, #1
add r5, #0x10
cmp r4, #7
blo _0222E206
ldr r0, [r6]
mov r1, #0
bl FUN_02017CD0
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD83_0222E1F8
thumb_func_start MOD83_0222E2A8
MOD83_0222E2A8: ; 0x0222E2A8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r2, r1, #0
ldr r1, [r5, #0x54]
mov r7, #6
add r4, r1, #0
mov r0, #0
sub r6, r7, #7
_0222E2B8:
add r4, r4, r2
cmp r4, r6
bne _0222E2C0
add r4, r0, #0
_0222E2C0:
cmp r4, #7
bne _0222E2C6
add r4, r7, #0
_0222E2C6:
cmp r4, r1
beq _0222E2DC
lsl r3, r4, #2
add r3, r5, r3
add r3, #0xcc
ldr r3, [r3]
cmp r3, #0
beq _0222E2B8
ldr r0, _0222E2E0 ; =0x000005DC
bl FUN_020054C8
_0222E2DC:
str r4, [r5, #0x54]
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_0222E2E0: .word 0x000005DC
thumb_func_end MOD83_0222E2A8
thumb_func_start MOD83_0222E2E4
MOD83_0222E2E4: ; 0x0222E2E4
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x54]
add r1, r5, #0
add r1, #0x5c
lsl r0, r0, #4
add r0, r1, r0
bl FUN_0201AB18
sub r0, r0, #1
lsl r4, r0, #3
ldr r0, [r5, #0x54]
add r1, r5, #0
add r1, #0x5c
lsl r0, r0, #4
add r0, r1, r0
bl FUN_0201AB10
add r0, r0, #2
lsl r3, r0, #3
mov r0, #0x42
lsl r0, r0, #2
ldr r2, [r5, r0]
asr r1, r2, #0xb
lsr r1, r1, #0x14
add r1, r2, r1
asr r2, r1, #0xc
cmp r2, r4
ble _0222E322
lsl r1, r4, #0xc
str r1, [r5, r0]
_0222E322:
add r2, #0xc0
cmp r2, r4
bgt _0222E334
add r0, r4, r3
sub r0, #0xc0
lsl r1, r0, #0xc
mov r0, #0x42
lsl r0, r0, #2
str r1, [r5, r0]
_0222E334:
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD83_0222E2E4
thumb_func_start MOD83_0222E338
MOD83_0222E338: ; 0x0222E338
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r0, [sp, #8]
mov r1, #0x42
ldr r0, [sp]
lsl r1, r1, #2
ldr r1, [r0, r1]
ldr r5, [sp]
asr r0, r1, #0xb
lsr r0, r0, #0x14
add r0, r1, r0
asr r7, r0, #0xc
add r0, r7, #0
str r0, [sp, #0xc]
add r0, #0xc0
ldr r6, [sp, #4]
add r5, #0x5c
str r0, [sp, #0xc]
_0222E362:
add r0, r5, #0
bl FUN_02019048
cmp r0, #0
beq _0222E38E
add r0, r5, #0
bl FUN_0201AB18
sub r0, r0, #1
lsl r4, r0, #3
add r0, r5, #0
bl FUN_0201AB10
cmp r7, r4
ble _0222E384
mov r0, #1
str r0, [sp, #8]
_0222E384:
ldr r0, [sp, #0xc]
cmp r0, r4
bgt _0222E38E
mov r0, #1
str r0, [sp, #4]
_0222E38E:
add r6, r6, #1
add r5, #0x10
cmp r6, #7
blo _0222E362
mov r1, #0x15
ldr r0, [sp]
lsl r1, r1, #4
ldr r0, [r0, r1]
ldr r1, [sp, #8]
bl FUN_020200A0
mov r1, #0x55
ldr r0, [sp]
lsl r1, r1, #2
ldr r0, [r0, r1]
ldr r1, [sp, #4]
bl FUN_020200A0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD83_0222E338
thumb_func_start MOD83_0222E3B8
MOD83_0222E3B8: ; 0x0222E3B8
push {r3, r4, r5, r6, r7, lr}
bl FUN_02006278
mov r1, #0x15
add r7, r0, #0
lsl r1, r1, #4
ldr r0, [r7, r1]
cmp r0, #0
bne _0222E3D2
add r1, r1, #4
ldr r1, [r7, r1]
cmp r1, #0
beq _0222E3E4
_0222E3D2:
bl FUN_0201FFC8
mov r0, #0x55
lsl r0, r0, #2
ldr r0, [r7, r0]
bl FUN_0201FFC8
bl MOD83_02238E48
_0222E3E4:
add r5, r7, #0
mov r6, #0
add r4, r7, #0
add r5, #0x5c
_0222E3EC:
ldr r0, [r4, #0x5c]
cmp r0, #0
beq _0222E3FE
add r0, r5, #0
bl FUN_02019570
add r0, r5, #0
bl FUN_02019178
_0222E3FE:
add r6, r6, #1
add r4, #0x10
add r5, #0x10
cmp r6, #7
blo _0222E3EC
ldr r0, [r7]
mov r1, #0
bl FUN_020178A0
ldr r0, [r7]
mov r1, #1
bl FUN_020178A0
ldr r0, [r7]
mov r1, #2
bl FUN_020178A0
ldr r0, [r7]
bl FreeToHeap
mov r0, #0
add r1, r0, #0
bl FUN_02015F10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD83_0222E3B8
thumb_func_start MOD83_0222E430
MOD83_0222E430: ; 0x0222E430
mov r1, #0x56
lsl r1, r1, #2
ldr r2, [r0, r1]
lsl r3, r2, #1
ldr r2, _0222E45C ; =0x0223A7B0
ldrh r2, [r2, r3]
cmp r2, #0
bne _0222E444
mov r2, #0
str r2, [r0, r1]
_0222E444:
mov r1, #0x56
lsl r1, r1, #2
ldr r3, [r0, r1]
add r2, r3, #1
str r2, [r0, r1]
ldr r0, _0222E45C ; =0x0223A7B0
lsl r1, r3, #1
ldrh r1, [r0, r1]
ldr r0, _0222E460 ; =0x0500006C
strh r1, [r0]
bx lr
nop
_0222E45C: .word 0x0223A7B0
_0222E460: .word 0x0500006C
thumb_func_end MOD83_0222E430
thumb_func_start MOD83_0222E464
MOD83_0222E464: ; 0x0222E464
push {r4, lr}
add r4, r0, #0
bl FUN_0201C30C
bl FUN_02009F80
add r0, r4, #0
bl FUN_0201AB60
ldr r3, _0222E484 ; =0x027E0000
ldr r1, _0222E488 ; =0x00003FF8
mov r0, #1
ldr r2, [r3, r1]
orr r0, r2
str r0, [r3, r1]
pop {r4, pc}
.align 2, 0
_0222E484: .word 0x027E0000
_0222E488: .word 0x00003FF8
thumb_func_end MOD83_0222E464
thumb_func_start MOD83_0222E48C
MOD83_0222E48C: ; 0x0222E48C
push {r3, r4, r5, lr}
mov r2, #1
add r5, r0, #0
mov r0, #3
mov r1, #0x51
lsl r2, r2, #0x12
bl FUN_0201681C
mov r1, #0x57
add r0, r5, #0
lsl r1, r1, #2
mov r2, #0x51
bl FUN_02006268
mov r2, #0x57
mov r1, #0
lsl r2, r2, #2
add r4, r0, #0
bl memset
mov r0, #0x51
bl FUN_02016B94
str r0, [r4]
mov r0, #0
add r1, r0, #0
bl FUN_0200E3A0
mov r0, #1
mov r1, #0
bl FUN_0200E3A0
add r0, r5, #0
bl FUN_0200628C
ldr r0, [r0, #8]
str r0, [r4, #4]
bl FUN_0202251C
str r0, [r4, #0x14]
mov r0, #0x41
mov r1, #0
lsl r0, r0, #2
str r1, [r4, r0]
add r0, r0, #4
str r1, [r4, r0]
ldr r0, [r4, #4]
bl FUN_020238F4
str r0, [r4, #0xc]
ldr r0, [r4, #4]
bl FUN_02024DA0
str r0, [r4, #8]
ldr r0, [r4, #4]
bl FUN_02023918
str r0, [r4, #0x10]
ldr r0, [r4, #8]
bl FUN_02024D64
str r0, [r4, #0x4c]
ldr r0, [r4, #0xc]
bl FUN_020239F4
str r0, [r4, #0x50]
mov r0, #0x45
mov r1, #0xf
lsl r0, r0, #2
str r1, [r4, r0]
mov r0, #0x51
bl MOD83_02238770
ldr r0, [r4, #4]
bl FUN_02022804
cmp r0, #0
bne _0222E530
mov r0, #0x4d
mov r1, #1
lsl r0, r0, #2
str r1, [r4, r0]
_0222E530:
mov r0, #0
bl FUN_0200516C
mov r0, #0
bl FUN_0200415C
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end MOD83_0222E48C
thumb_func_start MOD83_0222E540
MOD83_0222E540: ; 0x0222E540
push {r4, r5, r6, lr}
add r6, r0, #0
add r5, r1, #0
bl FUN_02006278
add r4, r0, #0
ldr r0, [r4, #0x18]
add r0, r0, #1
str r0, [r4, #0x18]
bl CTRDG_IsExisting
add r0, r4, #0
bl MOD83_0222D7E0
cmp r0, #1
bne _0222E570
add r0, r4, #0
bl MOD83_0222D6EC
add r0, r4, #0
bl MOD83_0222D9C0
mov r0, #0
pop {r4, r5, r6, pc}
_0222E570:
add r0, r4, #0
bl MOD83_0222E430
ldr r0, [r5]
cmp r0, #9
bhi _0222E5D8
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0222E588: ; jump table
.short _0222E59C - _0222E588 - 2 ; case 0
.short _0222E5A8 - _0222E588 - 2 ; case 1
.short _0222E5CE - _0222E588 - 2 ; case 2
.short _0222E5E8 - _0222E588 - 2 ; case 3
.short _0222E616 - _0222E588 - 2 ; case 4
.short _0222E656 - _0222E588 - 2 ; case 5
.short _0222E74A - _0222E588 - 2 ; case 6
.short _0222E772 - _0222E588 - 2 ; case 7
.short _0222E77C - _0222E588 - 2 ; case 8
.short _0222E784 - _0222E588 - 2 ; case 9
_0222E59C:
add r0, r4, #0
bl MOD83_0222DA50
mov r0, #1
str r0, [r5]
b _0222E788
_0222E5A8:
add r0, r4, #0
bl MOD83_0222D5C0
cmp r0, #0
bne _0222E5B8
mov r0, #3
str r0, [r5]
b _0222E788
_0222E5B8:
mov r0, #1
mov r1, #2
add r2, r5, #0
mov r3, #8
bl MOD83_0223886C
mov r0, #5
ldr r1, _0222E79C ; =0x00007D8C
lsl r0, r0, #0x18
strh r1, [r0]
b _0222E788
_0222E5CE:
add r0, r4, #0
bl MOD83_0222D5C4
cmp r0, #0
beq _0222E5DA
_0222E5D8:
b _0222E788
_0222E5DA:
mov r0, #0
mov r1, #3
add r2, r5, #0
mov r3, #8
bl MOD83_0223886C
b _0222E788
_0222E5E8:
mov r0, #0x43
mov r1, #0xc
lsl r0, r0, #2
str r1, [r4, r0]
add r0, #0x28
ldr r0, [r4, r0]
cmp r0, #1
bne _0222E60A
mov r0, #2
str r0, [r4, #0x58]
mov r0, #0
mov r1, #7
add r2, r5, #0
mov r3, #8
bl MOD83_0223886C
b _0222E788
_0222E60A:
add r0, r4, #0
bl MOD83_0222D67C
mov r0, #4
str r0, [r5]
b _0222E788
_0222E616:
add r0, r4, #0
bl MOD83_0222DB68
add r0, r4, #0
bl MOD83_0222DBD0
ldr r0, _0222E7A0 ; =MOD83_0222E464
ldr r1, [r4]
bl FUN_02015F10
add r0, r4, #0
bl MOD83_0222E0DC
ldr r1, [r4, #0x54]
add r0, r4, #0
bl MOD83_0222E1F8
mov r0, #1
mov r1, #5
add r2, r5, #0
mov r3, #8
bl MOD83_0223886C
mov r0, #5
ldr r1, _0222E79C ; =0x00007D8C
lsl r0, r0, #0x18
strh r1, [r0]
mov r0, #0x43
mov r1, #0xa
lsl r0, r0, #2
str r1, [r4, r0]
b _0222E788
_0222E656:
ldr r0, _0222E7A4 ; =0x021C48B8
mov r1, #3
ldr r0, [r0, #0x48]
tst r1, r0
beq _0222E6E8
mov r1, #1
tst r0, r1
ldr r0, _0222E7A8 ; =0x000005DC
beq _0222E69A
bl FUN_020054C8
ldr r0, [r4, #0x54]
lsl r0, r0, #2
add r0, r4, r0
add r0, #0xcc
ldr r0, [r0]
str r0, [r4, #0x58]
cmp r0, #5
bne _0222E6A8
bl CTRDG_IsPulledOut
cmp r0, #1
bne _0222E6A8
mov r0, #0x43
lsl r0, r0, #2
ldr r0, [r4, r0]
cmp r0, #0xc
beq _0222E692
bl FUN_02032D80
_0222E692:
mov r0, #0x51
bl FUN_02089F24
b _0222E6A8
_0222E69A:
bl FUN_020054C8
mov r0, #0
str r0, [r4, #0x58]
mov r0, #1
bl MOD83_02238860
_0222E6A8:
ldr r0, [r4, #0x58]
cmp r0, #2
bne _0222E6C2
ldr r1, [r4, #0x40]
mov r0, #0x80
orr r1, r0
str r1, [r4, #0x40]
mov r1, #1
add r0, #0x98
str r1, [r4, r0]
mov r0, #6
str r0, [r5]
b _0222E6D8
_0222E6C2:
cmp r0, #6
bne _0222E6CC
mov r0, #1
bl MOD83_02238860
_0222E6CC:
mov r0, #0
mov r1, #7
add r2, r5, #0
mov r3, #8
bl MOD83_0223886C
_0222E6D8:
mov r0, #0x43
lsl r0, r0, #2
ldr r1, [r4, r0]
cmp r1, #0xd
bne _0222E788
mov r1, #0xe
str r1, [r4, r0]
b _0222E788
_0222E6E8:
ldr r1, [r4, #0x48]
cmp r1, #1
bne _0222E6FA
add r0, r4, #0
bl MOD83_0222E0DC
mov r0, #0
str r0, [r4, #0x48]
b _0222E788
_0222E6FA:
mov r1, #0x40
tst r0, r1
beq _0222E708
add r0, r4, #0
sub r1, #0x41
bl MOD83_0222E2A8
_0222E708:
ldr r0, _0222E7A4 ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #0x80
tst r0, r1
beq _0222E71A
add r0, r4, #0
mov r1, #1
bl MOD83_0222E2A8
_0222E71A:
ldr r1, [r4, #0x54]
add r0, r4, #0
bl MOD83_0222E1F8
add r0, r4, #0
bl MOD83_0222E2E4
add r0, r4, #0
bl MOD83_0222E338
ldr r0, [r5]
cmp r0, #5
bne _0222E788
mov r0, #0x4e
lsl r0, r0, #2
ldr r1, [r4, r0]
cmp r1, #1
bne _0222E788
mov r1, #0
str r1, [r4, r0]
mov r1, #1
sub r0, #0x20
str r1, [r4, r0]
b _0222E788
_0222E74A:
mov r0, #0x45
lsl r0, r0, #2
ldr r1, [r4, r0]
cmp r1, #0xf
bne _0222E788
add r0, #0xc
ldr r1, [r4, r0]
mov r0, #2
tst r0, r1
beq _0222E764
mov r0, #5
str r0, [r5]
b _0222E788
_0222E764:
mov r0, #0
mov r1, #7
add r2, r5, #0
mov r3, #8
bl MOD83_0223886C
b _0222E788
_0222E772:
add r0, r6, #0
bl MOD83_0222E3B8
mov r0, #1
pop {r4, r5, r6, pc}
_0222E77C:
add r0, r5, #0
bl MOD83_022388CC
b _0222E788
_0222E784:
mov r0, #1
pop {r4, r5, r6, pc}
_0222E788:
add r0, r4, #0
bl MOD83_0222D6EC
add r0, r4, #0
bl MOD83_0222D9C0
bl MOD83_02238D58
mov r0, #0
pop {r4, r5, r6, pc}
.align 2, 0
_0222E79C: .word 0x00007D8C
_0222E7A0: .word MOD83_0222E464
_0222E7A4: .word 0x021C48B8
_0222E7A8: .word 0x000005DC
thumb_func_end MOD83_0222E540
thumb_func_start MOD83_0222E7AC
MOD83_0222E7AC: ; 0x0222E7AC
push {r3, lr}
ldr r0, [r0, #0x58]
cmp r0, #7
bhi _0222E822
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0222E7C0: ; jump table
.short _0222E81A - _0222E7C0 - 2 ; case 0
.short _0222E7D0 - _0222E7C0 - 2 ; case 1
.short _0222E7DA - _0222E7C0 - 2 ; case 2
.short _0222E7E4 - _0222E7C0 - 2 ; case 3
.short _0222E7F8 - _0222E7C0 - 2 ; case 4
.short _0222E7EE - _0222E7C0 - 2 ; case 5
.short _0222E802 - _0222E7C0 - 2 ; case 6
.short _0222E80A - _0222E7C0 - 2 ; case 7
_0222E7D0:
ldr r0, _0222E824 ; =SDK_OVERLAY_MODULE_52_ID
ldr r1, _0222E828 ; =0x021D76C8
bl FUN_02000E7C
pop {r3, pc}
_0222E7DA:
ldr r0, _0222E824 ; =SDK_OVERLAY_MODULE_52_ID
ldr r1, _0222E82C ; =0x021D76E8
bl FUN_02000E7C
pop {r3, pc}
_0222E7E4:
ldr r0, _0222E830 ; =SDK_OVERLAY_MODULE_83_ID
ldr r1, _0222E834 ; =0x0223A434
bl FUN_02000E7C
pop {r3, pc}
_0222E7EE:
ldr r0, _0222E830 ; =SDK_OVERLAY_MODULE_83_ID
ldr r1, _0222E838 ; =0x0223A4FC
bl FUN_02000E7C
pop {r3, pc}
_0222E7F8:
ldr r0, _0222E830 ; =SDK_OVERLAY_MODULE_83_ID
ldr r1, _0222E83C ; =0x0223A3A8
bl FUN_02000E7C
pop {r3, pc}
_0222E802:
ldr r0, _0222E840 ; =0x0223A8C4
bl FUN_020224D8
pop {r3, pc}
_0222E80A:
bl FUN_0200541C
mov r0, #0
ldr r1, _0222E844 ; =0x020FD6D4
mvn r0, r0
bl FUN_02000E7C
pop {r3, pc}
_0222E81A:
ldr r0, _0222E848 ; =SDK_OVERLAY_MODULE_63_ID
ldr r1, _0222E84C ; =0x021DBAB8
bl FUN_02000E7C
_0222E822:
pop {r3, pc}
.align 2, 0
_0222E824: .word SDK_OVERLAY_MODULE_52_ID
_0222E828: .word 0x021D76C8
_0222E82C: .word 0x021D76E8
_0222E830: .word SDK_OVERLAY_MODULE_83_ID
_0222E834: .word 0x0223A434
_0222E838: .word 0x0223A4FC
_0222E83C: .word 0x0223A3A8
_0222E840: .word 0x0223A8C4
_0222E844: .word 0x020FD6D4
_0222E848: .word SDK_OVERLAY_MODULE_63_ID
_0222E84C: .word 0x021DBAB8
thumb_func_end MOD83_0222E7AC
thumb_func_start MOD83_0222E850
MOD83_0222E850: ; 0x0222E850
push {r4, lr}
add r4, r0, #0
bl FUN_02006278
bl MOD83_0222E7AC
add r0, r4, #0
bl FUN_0200627C
mov r0, #0x51
bl FUN_020168D0
mov r0, #0
bl MOD83_02239450
mov r0, #1
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_0222E850
thumb_func_start MOD83_0222E874
MOD83_0222E874: ; 0x0222E874
push {r3, r4}
ldr r4, _0222E89C ; =0x0223A8E0
ldr r1, _0222E8A0 ; =0x00000123
mov r3, #0
_0222E87C:
ldrh r2, [r4, #2]
cmp r0, r2
bne _0222E88C
ldr r0, _0222E89C ; =0x0223A8E0
lsl r1, r3, #2
ldrh r0, [r0, r1]
pop {r3, r4}
bx lr
_0222E88C:
add r3, r3, #1
add r4, r4, #4
cmp r3, r1
blo _0222E87C
mov r0, #0x3f
pop {r3, r4}
bx lr
nop
_0222E89C: .word 0x0223A8E0
_0222E8A0: .word 0x00000123
thumb_func_end MOD83_0222E874
thumb_func_start MOD83_0222E8A4
MOD83_0222E8A4: ; 0x0222E8A4
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
ldr r1, _0222E90C ; =0x00002710
add r0, r4, #0
bl _s32_div_f
add r0, #0x30
strh r0, [r5]
ldr r1, _0222E90C ; =0x00002710
add r0, r4, #0
bl _s32_div_f
add r4, r1, #0
mov r1, #0xfa
add r0, r4, #0
lsl r1, r1, #2
bl _s32_div_f
add r0, #0x30
mov r1, #0xfa
strh r0, [r5, #2]
add r0, r4, #0
lsl r1, r1, #2
bl _s32_div_f
add r4, r1, #0
add r0, r4, #0
mov r1, #0x64
bl _s32_div_f
add r0, #0x30
strh r0, [r5, #4]
add r0, r4, #0
mov r1, #0x64
bl _s32_div_f
add r4, r1, #0
add r0, r4, #0
mov r1, #0xa
bl _s32_div_f
add r0, #0x30
strh r0, [r5, #6]
add r0, r4, #0
mov r1, #0xa
bl _s32_div_f
add r4, r1, #0
add r4, #0x30
strh r4, [r5, #8]
pop {r3, r4, r5, pc}
.align 2, 0
_0222E90C: .word 0x00002710
thumb_func_end MOD83_0222E8A4
thumb_func_start MOD83_0222E910
MOD83_0222E910: ; 0x0222E910
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
ldr r0, [r7, #0x10]
bl FUN_0202398C
ldr r5, _0222E948 ; =0x0223B860
add r4, r0, #0
mov r6, #0
_0222E920:
ldrh r0, [r4]
bl MOD83_0222E874
strh r0, [r5]
add r6, r6, #1
add r4, r4, #2
add r5, r5, #2
cmp r6, #8
blt _0222E920
ldr r0, [r7, #0x10]
bl FUN_020239C0
add r1, r0, #0
ldr r0, _0222E94C ; =0x0223B870
bl MOD83_0222E8A4
ldr r0, _0222E950 ; =0x0223B860
mov r1, #0
strh r1, [r0, #0x1a]
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_0222E948: .word 0x0223B860
_0222E94C: .word 0x0223B870
_0222E950: .word 0x0223B860
thumb_func_end MOD83_0222E910
thumb_func_start MOD83_0222E954
MOD83_0222E954: ; 0x0222E954
push {r3, r4, r5, lr}
sub sp, #0x48
ldr r5, _0222EA80 ; =0x0223A3C8
add r4, r0, #0
add r3, sp, #0x20
mov r2, #5
_0222E960:
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _0222E960
ldr r3, _0222EA84 ; =0x0223A3B8
add r2, sp, #0x10
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
add r0, sp, #0x20
bl FUN_0201E66C
add r0, sp, #0x10
bl FUN_02016BBC
mov r1, #0
str r1, [sp]
mov r3, #0xf
ldr r0, [r4, #4]
mov r2, #1
lsl r3, r3, #0xc
bl MOD83_022387D8
mov r0, #1
lsl r0, r0, #0xe
str r0, [sp]
mov r1, #1
mov r3, #0x3e
ldr r0, [r4, #4]
add r2, r1, #0
lsl r3, r3, #0xa
bl MOD83_022387D8
mov r0, #0
str r0, [sp]
mov r3, #0x1e
ldr r0, [r4, #4]
mov r1, #4
mov r2, #1
lsl r3, r3, #0xa
bl MOD83_022387D8
mov r0, #1
lsl r0, r0, #0xe
str r0, [sp]
mov r3, #7
ldr r0, [r4, #4]
mov r1, #5
mov r2, #1
lsl r3, r3, #0xc
bl MOD83_022387D8
bl FUN_0201BD5C
mov r0, #0
ldr r2, [r4]
add r1, r0, #0
bl FUN_02002ED0
mov r1, #0
str r1, [sp]
ldr r0, [r4]
mov r2, #1
str r0, [sp, #4]
ldr r0, [r4, #4]
add r3, r2, #0
bl FUN_0200CB00
ldr r0, [r4, #0x14]
bl FUN_02025084
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldr r0, [r4]
mov r1, #0
str r0, [sp, #4]
ldr r0, [r4, #4]
mov r2, #0xa
mov r3, #2
bl FUN_0200CD68
mov r0, #0x20
str r0, [sp]
ldr r0, [r4]
mov r1, #0
str r0, [sp, #4]
mov r0, #0x74
add r3, r0, #0
add r2, r1, #0
add r3, #0x8c
bl FUN_02006930
mov r0, #0
str r0, [sp]
mov r0, #5
lsl r0, r0, #0xa
mov r1, #1
str r0, [sp, #4]
str r1, [sp, #8]
ldr r0, [r4]
add r3, r1, #0
str r0, [sp, #0xc]
ldr r2, [r4, #4]
mov r0, #0x74
bl FUN_0200687C
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
ldr r0, [r4]
mov r1, #2
str r0, [sp, #0xc]
ldr r2, [r4, #4]
mov r0, #0x74
bl FUN_020068C8
mov r0, #0x20
str r0, [sp]
mov r0, #0x18
str r0, [sp, #4]
mov r0, #8
str r0, [sp, #8]
mov r2, #0
ldr r0, [r4, #4]
mov r1, #1
add r3, r2, #0
bl FUN_020186B4
ldr r0, [r4, #4]
mov r1, #1
bl FUN_02017CD0
add r0, r4, #0
bl MOD83_0222EA88
add sp, #0x48
pop {r3, r4, r5, pc}
nop
_0222EA80: .word 0x0223A3C8
_0222EA84: .word 0x0223A3B8
thumb_func_end MOD83_0222E954
thumb_func_start MOD83_0222EA88
MOD83_0222EA88: ; 0x0222EA88
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #0x20
str r0, [sp]
ldr r0, [r4]
mov r2, #4
add r3, r2, #0
str r0, [sp, #4]
mov r0, #0x74
mov r1, #0
add r3, #0xfc
bl FUN_02006930
mov r0, #0
str r0, [sp]
mov r0, #5
lsl r0, r0, #0xa
str r0, [sp, #4]
mov r1, #1
str r1, [sp, #8]
ldr r0, [r4]
mov r3, #4
str r0, [sp, #0xc]
ldr r2, [r4, #4]
mov r0, #0x74
bl FUN_0200687C
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, [r4]
mov r1, #2
str r0, [sp, #0xc]
ldr r2, [r4, #4]
mov r0, #0x74
mov r3, #4
bl FUN_020068C8
mov r0, #0x20
str r0, [sp]
mov r0, #0x18
str r0, [sp, #4]
mov r0, #8
str r0, [sp, #8]
mov r2, #0
ldr r0, [r4, #4]
mov r1, #4
add r3, r2, #0
bl FUN_020186B4
ldr r0, [r4, #4]
mov r1, #4
bl FUN_02017CD0
add sp, #0x10
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_0222EA88
thumb_func_start MOD83_0222EB04
MOD83_0222EB04: ; 0x0222EB04
push {r3, r4, lr}
sub sp, #0x5c
add r4, r0, #0
add r0, #0x18
bl FUN_02019048
cmp r0, #0
bne _0222EB4E
mov r0, #1
str r0, [sp]
add r1, r4, #0
str r0, [sp, #4]
add r0, sp, #8
add r1, #0x18
mov r2, #0
mov r3, #0xc
bl MOD83_022388E4
mov r3, #0x51
lsl r3, r3, #2
ldr r3, [r4, r3]
add r0, sp, #8
mov r1, #0x16
mov r2, #0x10
bl MOD83_02238934
mov r0, #2
str r0, [sp]
ldr r0, [r4, #4]
add r1, sp, #8
mov r2, #5
mov r3, #4
bl MOD83_02238A38
add sp, #0x5c
mov r0, #1
pop {r3, r4, pc}
_0222EB4E:
ldr r0, _0222EB78 ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #3
tst r0, r1
beq _0222EB70
add r0, r4, #0
add r0, #0x18
mov r1, #0
bl FUN_0200CCF8
add r4, #0x18
add r0, r4, #0
bl FUN_02019178
add sp, #0x5c
mov r0, #0
pop {r3, r4, pc}
_0222EB70:
mov r0, #1
add sp, #0x5c
pop {r3, r4, pc}
nop
_0222EB78: .word 0x021C48B8
thumb_func_end MOD83_0222EB04
thumb_func_start MOD83_0222EB7C
MOD83_0222EB7C: ; 0x0222EB7C
push {r4, lr}
sub sp, #8
add r4, r0, #0
mov r0, #0xa
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
add r0, r4, #0
add r1, r4, #0
ldr r3, _0222EC70 ; =0x00000172
add r0, #0x48
add r1, #0x28
mov r2, #0
bl MOD83_022388E4
mov r3, #0x51
lsl r3, r3, #2
add r0, r4, #0
ldr r3, [r4, r3]
add r0, #0x48
mov r1, #0x1b
mov r2, #4
bl MOD83_02238934
add r0, r4, #0
mov r1, #1
add r0, #0x48
add r2, r1, #0
bl MOD83_0223893C
mov r0, #0x46
str r0, [sp]
add r1, r4, #0
ldr r0, [r4, #4]
add r1, #0x48
mov r2, #2
mov r3, #0x13
bl MOD83_02238A38
add r0, r4, #0
add r0, #0x48
bl MOD83_02238AF4
mov r3, #0x51
lsl r3, r3, #2
ldr r1, [r4, r3]
mov r2, #0
add r0, r1, r0
str r0, [r4, r3]
mov r0, #1
str r0, [sp]
str r0, [sp, #4]
add r0, r4, #0
add r1, r4, #0
add r0, #0x9c
add r1, #0x18
add r3, #0x2e
bl MOD83_022388E4
mov r3, #0x51
lsl r3, r3, #2
add r0, r4, #0
ldr r3, [r4, r3]
add r0, #0x9c
mov r1, #0x1e
mov r2, #4
bl MOD83_02238934
add r0, r4, #0
add r0, #0x9c
mov r1, #0
mov r2, #1
bl MOD83_0223893C
mov r0, #0xb
str r0, [sp]
add r1, r4, #0
mov r2, #1
ldr r0, [r4, #4]
add r1, #0x9c
add r3, r2, #0
bl MOD83_02238A38
add r0, r4, #0
add r0, #0x9c
bl MOD83_02238AF4
mov r1, #0x51
lsl r1, r1, #2
ldr r2, [r4, r1]
add r0, r2, r0
str r0, [r4, r1]
bl MOD83_02238AFC
bl MOD83_02238B4C
mov r0, #8
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
mov r0, #0x74
mov r1, #0xa
mov r2, #7
mov r3, #9
bl MOD83_02238BC4
mov r0, #1
str r0, [sp]
ldr r1, _0222EC74 ; =0x00003170
mov r0, #0
ldr r1, [r4, r1]
mov r2, #0x80
mov r3, #0x4c
bl MOD83_02238DBC
ldr r1, _0222EC74 ; =0x00003170
str r0, [r4, r1]
add r0, r4, #0
bl MOD83_0222EC78
add sp, #8
pop {r4, pc}
.align 2, 0
_0222EC70: .word 0x00000172
_0222EC74: .word 0x00003170
thumb_func_end MOD83_0222EB7C
thumb_func_start MOD83_0222EC78
MOD83_0222EC78: ; 0x0222EC78
push {r3, r4, r5, lr}
sub sp, #0x20
add r5, r0, #0
ldr r0, [r5]
bl FUN_0200AA80
add r4, r0, #0
mov r0, #1
str r0, [sp]
str r0, [sp, #4]
add r0, r5, #0
add r1, r5, #0
ldr r3, _0222ED84 ; =0x00000172
add r0, #0xf0
add r1, #0x38
mov r2, #0
bl MOD83_022388E4
mov r3, #0x51
lsl r3, r3, #2
add r0, r5, #0
ldr r3, [r5, r3]
add r0, #0xf0
mov r1, #0x1a
mov r2, #4
bl MOD83_02238934
add r0, r5, #0
add r0, #0xf0
mov r1, #0
mov r2, #1
bl MOD83_0223893C
mov r0, #0x41
lsl r0, r0, #2
str r4, [r5, r0]
ldr r2, [r5, #0x10]
add r0, r4, #0
mov r1, #0
bl FUN_0200ABC0
ldr r0, [r5, #0x10]
bl FUN_020239C0
add r2, r0, #0
mov r0, #2
str r0, [sp]
mov r1, #1
add r0, r4, #0
mov r3, #5
str r1, [sp, #4]
bl FUN_0200AD38
mov r0, #0x42
str r0, [sp]
add r1, r5, #0
ldr r0, [r5, #4]
add r1, #0xf0
mov r2, #3
mov r3, #0xd
bl MOD83_02238A38
add r1, r5, #0
mov r0, #0
add r1, #0xf8
str r0, [r1]
mov r1, #1
bl FUN_02002E4C
add r2, r0, #0
add r0, r5, #0
add r0, #0xf0
mov r1, #0
bl MOD83_02238944
mov r2, #0x44
str r2, [sp]
add r1, r5, #0
sub r2, #0x45
ldr r0, [r5, #4]
add r1, #0xf0
add r3, r2, #0
bl MOD83_02238A38
add r0, sp, #0x10
bl OS_GetMacAddress
add r0, sp, #0x10
bl MOD83_02234704
add r1, sp, #0x1c
add r2, sp, #0x18
str r0, [sp, #8]
str r0, [sp, #0xc]
bl MOD83_02234748
mov r0, #2
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r2, [sp, #0x1c]
add r0, r4, #0
mov r1, #0
mov r3, #4
bl FUN_0200AD38
mov r0, #2
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
ldr r2, [sp, #0x18]
add r0, r4, #0
mov r3, #4
bl FUN_0200AD38
add r0, r5, #0
mov r1, #1
add r0, #0xfc
str r1, [r0]
mov r2, #0x45
str r2, [sp]
ldr r0, [r5, #4]
add r5, #0xf0
sub r2, #0x46
add r1, r5, #0
add r3, r2, #0
bl MOD83_02238A38
add r0, r4, #0
bl FUN_0200AB18
add sp, #0x20
pop {r3, r4, r5, pc}
nop
_0222ED84: .word 0x00000172
thumb_func_end MOD83_0222EC78
thumb_func_start MOD83_0222ED88
MOD83_0222ED88: ; 0x0222ED88
push {r4, lr}
bl FUN_02006278
add r4, r0, #0
bl MOD83_02238E48
add r0, r4, #0
add r0, #0x18
bl FUN_02019048
cmp r0, #1
bne _0222EDD0
add r0, r4, #0
add r0, #0x18
bl FUN_02019570
add r0, r4, #0
add r0, #0x18
bl FUN_02019178
add r0, r4, #0
add r0, #0x28
bl FUN_02019570
add r0, r4, #0
add r0, #0x28
bl FUN_02019178
add r0, r4, #0
add r0, #0x38
bl FUN_02019570
add r0, r4, #0
add r0, #0x38
bl FUN_02019178
_0222EDD0:
ldr r0, [r4, #4]
mov r1, #0
bl FUN_020178A0
ldr r0, [r4, #4]
mov r1, #1
bl FUN_020178A0
ldr r0, [r4, #4]
mov r1, #4
bl FUN_020178A0
ldr r0, [r4, #4]
mov r1, #5
bl FUN_020178A0
ldr r0, [r4, #4]
bl FreeToHeap
pop {r4, pc}
thumb_func_end MOD83_0222ED88
thumb_func_start MOD83_0222EDF8
MOD83_0222EDF8: ; 0x0222EDF8
push {r3, r4, r5, lr}
mov r3, #2
ldr r2, _0222EE80 ; =0x000034DC
mov r1, #0x55
lsl r3, r3, #0x10
add r5, r0, #0
bl MOD83_022387A0
add r4, r0, #0
mov r0, #0x55
str r0, [r4]
bl FUN_02016B94
str r0, [r4, #4]
add r0, r5, #0
bl FUN_0200628C
ldr r0, [r0, #8]
str r0, [r4, #8]
bl FUN_020238F4
str r0, [r4, #0x10]
ldr r0, [r4, #8]
bl FUN_02024DA0
str r0, [r4, #0xc]
ldr r0, [r4, #8]
bl LoadPlayerDataAddress
str r0, [r4, #0x14]
ldr r0, [r4]
bl MOD83_02238770
ldr r0, [r4, #8]
bl FUN_0202251C
ldr r1, _0222EE84 ; =0x00003174
mov r2, #0x53
str r0, [r4, r1]
mov r0, #9
lsl r2, r2, #2
str r0, [r4, r2]
add r0, r2, #0
mov r1, #0x28
sub r0, #8
str r1, [r4, r0]
add r1, r2, #0
mov r0, #0
add r1, #8
str r0, [r4, r1]
add r1, r2, #0
add r1, #0x10
str r0, [r4, r1]
add r2, #0xc
str r0, [r4, r2]
mov r2, #3
mov r1, #0x5b
lsl r2, r2, #8
bl FUN_0201681C
ldr r1, _0222EE88 ; =0x00000496
mov r0, #9
mov r2, #1
bl FUN_0200433C
mov r0, #1
pop {r3, r4, r5, pc}
nop
_0222EE80: .word 0x000034DC
_0222EE84: .word 0x00003174
_0222EE88: .word 0x00000496
thumb_func_end MOD83_0222EDF8
thumb_func_start MOD83_0222EE8C
MOD83_0222EE8C: ; 0x0222EE8C
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r1, #0
add r6, r0, #0
bl FUN_02006278
ldr r1, [r5]
add r4, r0, #0
cmp r1, #0xd
bhi _0222EEF2
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0222EEAC: ; jump table
.short _0222EEC8 - _0222EEAC - 2 ; case 0
.short _0222EEEA - _0222EEAC - 2 ; case 1
.short _0222EF08 - _0222EEAC - 2 ; case 2
.short _0222EF5A - _0222EEAC - 2 ; case 3
.short _0222EF86 - _0222EEAC - 2 ; case 4
.short _0222EFC2 - _0222EEAC - 2 ; case 5
.short _0222EFFC - _0222EEAC - 2 ; case 6
.short _0222F02C - _0222EEAC - 2 ; case 7
.short _0222F02C - _0222EEAC - 2 ; case 8
.short _0222F02C - _0222EEAC - 2 ; case 9
.short _0222F02C - _0222EEAC - 2 ; case 10
.short _0222F012 - _0222EEAC - 2 ; case 11
.short _0222F01A - _0222EEAC - 2 ; case 12
.short _0222F026 - _0222EEAC - 2 ; case 13
_0222EEC8:
bl MOD83_0222E954
ldr r0, [r4, #0xc]
bl FUN_02024D64
cmp r0, #0
bne _0222EEE4
mov r0, #1
add r1, r0, #0
add r2, r5, #0
mov r3, #0xd
bl MOD83_0223886C
b _0222F02C
_0222EEE4:
mov r0, #2
str r0, [r5]
b _0222F02C
_0222EEEA:
bl MOD83_0222EB04
cmp r0, #0
beq _0222EEF4
_0222EEF2:
b _0222F02C
_0222EEF4:
mov r0, #1
bl MOD83_02238860
mov r0, #0
mov r1, #0xc
add r2, r5, #0
mov r3, #0xd
bl MOD83_0223886C
b _0222F02C
_0222EF08:
bl MOD83_0222EB7C
ldr r0, _0222F038 ; =0x00003174
ldr r0, [r4, r0]
bl FUN_0202ADF0
cmp r0, #0
bne _0222EF44
add r0, r4, #0
mov r1, #1
add r0, #0x98
str r1, [r0]
mov r0, #0x15
str r0, [sp]
add r1, r4, #0
ldr r0, [r4, #4]
add r1, #0x48
mov r2, #2
mov r3, #0x13
bl MOD83_02238A38
ldr r1, _0222F03C ; =0x0000317C
add r2, r5, #0
str r0, [r4, r1]
mov r0, #1
mov r1, #3
mov r3, #0xd
bl MOD83_0223886C
b _0222F02C
_0222EF44:
mov r0, #0x53
mov r1, #7
lsl r0, r0, #2
str r1, [r4, r0]
mov r0, #1
mov r1, #4
add r2, r5, #0
mov r3, #0xd
bl MOD83_0223886C
b _0222F02C
_0222EF5A:
ldr r0, _0222F03C ; =0x0000317C
ldr r0, [r4, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl FUN_0201BD70
cmp r0, #0
bne _0222F02C
ldr r0, _0222F040 ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #1
tst r1, r0
beq _0222F02C
bl MOD83_02238860
mov r0, #0
mov r1, #0xc
add r2, r5, #0
mov r3, #0xd
bl MOD83_0223886C
b _0222F02C
_0222EF86:
bl MOD83_0222F210
mov r1, #0x15
lsl r1, r1, #4
str r0, [r4, r1]
ldr r0, [r4, r1]
cmp r0, #5
bne _0222EFAA
mov r0, #1
bl MOD83_02238860
mov r0, #0
mov r1, #0xc
add r2, r5, #0
mov r3, #0xd
bl MOD83_0223886C
b _0222F02C
_0222EFAA:
cmp r0, #4
bne _0222F02C
mov r0, #1
bl MOD83_02238860
mov r0, #0
mov r1, #0xc
add r2, r5, #0
mov r3, #0xd
bl MOD83_0223886C
b _0222F02C
_0222EFC2:
bl MOD83_0222EA88
mov r0, #1
add r1, r0, #0
bl FUN_0201E74C
mov r0, #2
mov r1, #0
bl FUN_0201E74C
mov r1, #0xc6
lsl r1, r1, #6
ldr r0, [r4, #4]
add r1, r4, r1
mov r2, #0x55
bl MOD83_02233168
mov r0, #1
mov r1, #6
add r2, r5, #0
mov r3, #0xd
bl MOD83_0223886C
ldr r1, _0222F044 ; =0x000032D2
mov r0, #4
ldrb r2, [r4, r1]
bic r2, r0
strb r2, [r4, r1]
b _0222F02C
_0222EFFC:
ldr r0, _0222F040 ; =0x021C48B8
ldr r0, [r0, #0x48]
cmp r0, #0
beq _0222F02C
mov r0, #0
mov r1, #0xb
add r2, r5, #0
mov r3, #0xd
bl MOD83_0223886C
b _0222F02C
_0222F012:
mov r0, #0
bl OS_ResetSystem
b _0222F02C
_0222F01A:
add r0, r6, #0
bl MOD83_0222ED88
add sp, #4
mov r0, #1
pop {r3, r4, r5, r6, pc}
_0222F026:
add r0, r5, #0
bl MOD83_022388CC
_0222F02C:
bl MOD83_02238D58
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
nop
_0222F038: .word 0x00003174
_0222F03C: .word 0x0000317C
_0222F040: .word 0x021C48B8
_0222F044: .word 0x000032D2
thumb_func_end MOD83_0222EE8C
thumb_func_start MOD83_0222F048
MOD83_0222F048: ; 0x0222F048
push {r4, lr}
add r4, r0, #0
mov r0, #0x5b
bl FUN_020168D0
ldr r0, _0222F06C ; =SDK_OVERLAY_MODULE_63_ID
ldr r1, _0222F070 ; =0x021DBAB8
bl FUN_02000E7C
add r0, r4, #0
bl FUN_0200627C
mov r0, #0x55
bl FUN_020168D0
mov r0, #1
pop {r4, pc}
nop
_0222F06C: .word SDK_OVERLAY_MODULE_63_ID
_0222F070: .word 0x021DBAB8
thumb_func_end MOD83_0222F048
thumb_func_start MOD83_0222F074
MOD83_0222F074: ; 0x0222F074
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
mov r0, #0xc6
lsl r0, r0, #6
add r4, r5, r0
mov r2, #0xd6
add r0, r4, #0
mov r1, #0
lsl r2, r2, #2
bl MI_CpuFill8
ldr r2, _0222F1A0 ; =0x00000172
ldr r3, [r5]
mov r0, #1
mov r1, #0x1a
bl FUN_0200A86C
add r6, r0, #0
ldr r0, [r5]
bl FUN_0200AA80
mov r1, #0xc6
mov r2, #7
lsl r1, r1, #6
strh r2, [r5, r1]
ldr r3, [r5]
add r1, r6, #0
mov r2, #0x4c
str r0, [sp]
bl FUN_0200A9C4
mov r1, #0x41
lsl r1, r1, #2
add r7, r0, #0
add r1, r4, r1
mov r2, #0x24
bl FUN_02021EF0
add r0, r7, #0
bl FUN_02021A20
mov r0, #0xc
bl MOD83_02238EF4
add r7, r0, #0
mov r0, #0xa
bl MOD83_02238EF4
str r0, [sp, #4]
mov r0, #0xb
bl MOD83_02238EF4
ldr r1, [sp, #4]
mov r2, #1
orr r0, r1
add r1, r7, #0
orr r1, r0
mov r0, #0x53
lsl r0, r0, #2
str r1, [r4, r0]
add r1, r0, #4
strh r2, [r4, r1]
add r1, r0, #6
ldrb r2, [r4, r1]
mov r1, #1
bic r2, r1
add r1, r0, #6
strb r2, [r4, r1]
ldrb r2, [r4, r1]
mov r1, #2
bic r2, r1
add r1, r0, #6
strb r2, [r4, r1]
ldrb r2, [r4, r1]
mov r1, #4
orr r2, r1
add r1, r0, #6
strb r2, [r4, r1]
ldrb r2, [r4, r1]
mov r1, #8
orr r2, r1
add r1, r0, #6
strb r2, [r4, r1]
ldrb r2, [r4, r1]
mov r1, #0x20
add r0, r0, #6
bic r2, r1
strb r2, [r4, r0]
ldr r0, [sp]
ldr r3, [r5]
add r1, r6, #0
mov r2, #0x4b
bl FUN_0200A9C4
add r7, r0, #0
mov r1, #0x55
lsl r1, r1, #2
add r1, r4, r1
mov r2, #0xfa
bl FUN_02021EF0
add r0, r7, #0
bl FUN_02021A20
mov r0, #0xd2
lsl r0, r0, #2
mov r1, #0
ldr r3, _0222F1A4 ; =0x000001EA
strb r1, [r4, r0]
add r2, r0, #2
strh r3, [r4, r2]
add r2, r0, #4
strh r1, [r4, r2]
add r2, r0, #6
strh r1, [r4, r2]
add r0, #8
strb r1, [r4, r0]
add r0, sp, #8
bl FUN_020126B4
add r0, sp, #8
bl RTC_ConvertDateToDay
mov r1, #0xd5
lsl r1, r1, #2
str r0, [r4, r1]
ldr r0, [sp]
bl FUN_0200AB18
add r0, r6, #0
bl FUN_0200A8B8
ldr r0, _0222F1A8 ; =0x00003174
add r1, r4, #0
ldr r0, [r5, r0]
mov r2, #0
bl FUN_0202AC98
mov r0, #1
mov r1, #0
bl FUN_0201E74C
ldr r0, [r5, #4]
add r1, r4, #0
bl MOD83_022391EC
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_0222F1A0: .word 0x00000172
_0222F1A4: .word 0x000001EA
_0222F1A8: .word 0x00003174
thumb_func_end MOD83_0222F074
thumb_func_start MOD83_0222F1AC
MOD83_0222F1AC: ; 0x0222F1AC
mov r2, #0x16
lsl r2, r2, #4
str r1, [r0, r2]
bx lr
thumb_func_end MOD83_0222F1AC
thumb_func_start MOD83_0222F1B4
MOD83_0222F1B4: ; 0x0222F1B4
push {r3, r4, r5, lr}
add r5, r1, #0
mov r1, #0x16
lsl r1, r1, #4
add r4, r3, #0
ldr r3, [r0, r1]
sub r3, r3, #1
str r3, [r0, r1]
ldr r0, [r0, r1]
cmp r0, #0
bne _0222F1D6
bl MOD83_02234518
mov r0, #0x17
str r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
_0222F1D6:
cmp r2, #0
beq _0222F1EE
bl MOD83_022344E4
cmp r0, #0
bne _0222F1EE
bl MOD83_02234518
mov r0, #0x16
str r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
_0222F1EE:
cmp r4, #0
beq _0222F206
ldr r0, _0222F20C ; =0x021C48B8
ldr r0, [r0, #0x48]
tst r0, r4
beq _0222F206
bl MOD83_02234518
mov r0, #0x1a
str r0, [r5]
mov r0, #1
pop {r3, r4, r5, pc}
_0222F206:
mov r0, #0
pop {r3, r4, r5, pc}
nop
_0222F20C: .word 0x021C48B8
thumb_func_end MOD83_0222F1B4
thumb_func_start MOD83_0222F210
MOD83_0222F210: ; 0x0222F210
push {r3, r4, r5, lr}
mov r5, #0x57
lsl r5, r5, #2
add r4, r0, #0
sub r0, r5, #4
ldr r0, [r4, r0]
cmp r0, #1
bne _0222F236
bl MOD83_0223438C
mov r1, #3
sub r0, r1, r0
bl FUN_02033EEC
bl MOD83_02234238
mov r0, #1
bl MOD83_022345C8
_0222F236:
ldr r0, [r4, r5]
cmp r0, #0x1e
bls _0222F23E
b _0222F736
_0222F23E:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0222F24A: ; jump table
.short _0222F288 - _0222F24A - 2 ; case 0
.short _0222F29E - _0222F24A - 2 ; case 1
.short _0222F2C4 - _0222F24A - 2 ; case 2
.short _0222F2E6 - _0222F24A - 2 ; case 3
.short _0222F310 - _0222F24A - 2 ; case 4
.short _0222F736 - _0222F24A - 2 ; case 5
.short _0222F736 - _0222F24A - 2 ; case 6
.short _0222F342 - _0222F24A - 2 ; case 7
.short _0222F3B8 - _0222F24A - 2 ; case 8
.short _0222F3D6 - _0222F24A - 2 ; case 9
.short _0222F420 - _0222F24A - 2 ; case 10
.short _0222F45C - _0222F24A - 2 ; case 11
.short _0222F476 - _0222F24A - 2 ; case 12
.short _0222F4AA - _0222F24A - 2 ; case 13
.short _0222F4EC - _0222F24A - 2 ; case 14
.short _0222F50C - _0222F24A - 2 ; case 15
.short _0222F524 - _0222F24A - 2 ; case 16
.short _0222F53E - _0222F24A - 2 ; case 17
.short _0222F594 - _0222F24A - 2 ; case 18
.short _0222F61C - _0222F24A - 2 ; case 19
.short _0222F664 - _0222F24A - 2 ; case 20
.short _0222F736 - _0222F24A - 2 ; case 21
.short _0222F698 - _0222F24A - 2 ; case 22
.short _0222F69C - _0222F24A - 2 ; case 23
.short _0222F736 - _0222F24A - 2 ; case 24
.short _0222F736 - _0222F24A - 2 ; case 25
.short _0222F704 - _0222F24A - 2 ; case 26
.short _0222F736 - _0222F24A - 2 ; case 27
.short _0222F6D0 - _0222F24A - 2 ; case 28
.short _0222F35E - _0222F24A - 2 ; case 29
.short _0222F39C - _0222F24A - 2 ; case 30
_0222F288:
add r0, r4, #0
bl MOD83_0222E910
bl FUN_0202E49C
mov r0, #0x52
mov r1, #1
lsl r0, r0, #2
str r1, [r4, r0]
str r1, [r4, r5]
b _0222F736
_0222F29E:
bl FUN_0202E4C8
cmp r0, #0
beq _0222F356
mov r1, #0x5b
lsl r1, r1, #2
ldr r0, _0222F5E0 ; =0x0223A8D4
add r1, r4, r1
bl MOD83_02233F94
mov r0, #0x56
mov r1, #1
lsl r0, r0, #2
str r1, [r4, r0]
bl FUN_02033E74
mov r0, #2
str r0, [r4, r5]
b _0222F736
_0222F2C4:
bl MOD83_0223427C
mov r1, #0x19
add r0, r4, #0
lsl r1, r1, #6
bl MOD83_0222F1AC
add r0, r4, #0
add r0, #0x28
mov r1, #0xa
bl FUN_0200D858
ldr r1, _0222F5E4 ; =0x000034D8
str r0, [r4, r1]
mov r0, #3
str r0, [r4, r5]
b _0222F736
_0222F2E6:
bl MOD83_022343A4
cmp r0, #0
beq _0222F302
sub r1, r0, #1
mov r0, #0x59
lsl r0, r0, #2
str r1, [r4, r0]
ldr r1, _0222F5E8 ; =0x00000708
add r0, r4, #0
bl MOD83_0222F1AC
mov r0, #4
str r0, [r4, r5]
_0222F302:
add r0, r4, #0
add r1, r4, r5
mov r2, #0
mov r3, #2
bl MOD83_0222F1B4
b _0222F736
_0222F310:
mov r0, #0x59
lsl r0, r0, #2
ldr r0, [r4, r0]
bl MOD83_022342C8
cmp r0, #0
beq _0222F334
mov r0, #0x59
lsl r0, r0, #2
ldr r0, [r4, r0]
bl MOD83_02234304
mov r0, #7
str r0, [r4, r5]
mov r0, #0x16
ldr r1, _0222F5E8 ; =0x00000708
lsl r0, r0, #4
str r1, [r4, r0]
_0222F334:
add r0, r4, #0
add r1, r4, r5
mov r2, #0
mov r3, #2
bl MOD83_0222F1B4
b _0222F736
_0222F342:
add r0, r4, #0
add r1, r4, r5
mov r2, #0
mov r3, #2
bl MOD83_0222F1B4
bl MOD83_022344E4
cmp r0, #0
bne _0222F358
_0222F356:
b _0222F736
_0222F358:
mov r0, #0x1d
str r0, [r4, r5]
b _0222F736
_0222F35E:
mov r0, #0x1e
str r0, [sp]
add r1, r4, #0
ldr r0, [r4, #4]
add r1, #0x48
mov r2, #2
mov r3, #0x13
bl MOD83_02238A38
ldr r0, _0222F5EC ; =0x00003170
mov r1, #0
ldr r0, [r4, r0]
bl FUN_020200A0
ldr r0, _0222F5E4 ; =0x000034D8
ldr r0, [r4, r0]
bl FUN_0200DBFC
ldr r0, _0222F5E4 ; =0x000034D8
mov r1, #0
str r1, [r4, r0]
ldr r0, _0222F5F0 ; =0x000005DC
bl FUN_020054C8
mov r0, #0x16
ldr r1, _0222F5E8 ; =0x00000708
lsl r0, r0, #4
str r1, [r4, r0]
mov r0, #0x1e
str r0, [r4, r5]
b _0222F736
_0222F39C:
ldr r0, _0222F5F4 ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #1
tst r0, r1
beq _0222F3AA
mov r0, #8
str r0, [r4, r5]
_0222F3AA:
add r0, r4, #0
add r1, r4, r5
mov r2, #1
mov r3, #2
bl MOD83_0222F1B4
b _0222F736
_0222F3B8:
bl MOD83_022343C4
mov r0, #9
str r0, [r4, r5]
mov r0, #0x16
ldr r1, _0222F5E8 ; =0x00000708
lsl r0, r0, #4
str r1, [r4, r0]
add r0, r4, #0
add r1, r4, r5
mov r2, #1
mov r3, #2
bl MOD83_0222F1B4
b _0222F736
_0222F3D6:
bl MOD83_02234450
cmp r0, #0
beq _0222F412
bl MOD83_022343F8
mov r0, #0xa
str r0, [r4, r5]
mov r1, #0x32
mov r0, #0x16
lsl r1, r1, #6
lsl r0, r0, #4
str r1, [r4, r0]
mov r0, #0x22
str r0, [sp]
add r1, r4, #0
ldr r0, [r4, #4]
add r1, #0x48
mov r2, #2
mov r3, #0x13
bl MOD83_02238A38
ldr r0, _0222F5F0 ; =0x000005DC
bl FUN_020054C8
ldr r0, _0222F5E4 ; =0x000034D8
mov r1, #0
str r1, [r4, r0]
mov r0, #1
pop {r3, r4, r5, pc}
_0222F412:
add r0, r4, #0
add r1, r4, r5
mov r2, #1
mov r3, #2
bl MOD83_0222F1B4
b _0222F736
_0222F420:
bl MOD83_02234450
cmp r0, #0
beq _0222F44E
mov r0, #0x47
str r0, [sp]
add r1, r4, #0
ldr r0, [r4, #4]
add r1, #0x48
mov r2, #2
mov r3, #0x13
bl MOD83_02238A38
ldr r0, _0222F5EC ; =0x00003170
mov r1, #1
ldr r0, [r4, r0]
bl FUN_020200A0
add r0, r4, #0
bl MOD83_0222EC78
mov r0, #0xb
str r0, [r4, r5]
_0222F44E:
add r0, r4, #0
add r1, r4, r5
mov r2, #1
mov r3, #2
bl MOD83_0222F1B4
b _0222F736
_0222F45C:
ldr r0, _0222F5F8 ; =0x0223AD6C
mov r1, #0x2a
mov r2, #1
bl MOD83_02234424
mov r0, #0xc
str r0, [r4, r5]
mov r1, #0x32
mov r0, #0x16
lsl r1, r1, #6
lsl r0, r0, #4
str r1, [r4, r0]
b _0222F736
_0222F476:
bl MOD83_0223447C
cmp r0, #0
beq _0222F49C
mov r0, #0xd
str r0, [r4, r5]
mov r0, #0x16
mov r1, #0x3c
lsl r0, r0, #4
str r1, [r4, r0]
mov r0, #0x47
str r0, [sp]
add r1, r4, #0
ldr r0, [r4, #4]
add r1, #0x48
mov r2, #2
mov r3, #0x13
bl MOD83_02238A38
_0222F49C:
add r0, r4, #0
add r1, r4, r5
mov r2, #1
mov r3, #2
bl MOD83_0222F1B4
b _0222F736
_0222F4AA:
mov r0, #0x16
lsl r0, r0, #4
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0
bne _0222F51C
mov r0, #0x48
str r0, [sp]
add r1, r4, #0
ldr r0, [r4, #4]
add r1, #0x48
mov r2, #2
mov r3, #0x13
bl MOD83_02238A38
add r0, r4, #0
add r0, #0x28
mov r1, #0xa
bl FUN_0200D858
ldr r1, _0222F5E4 ; =0x000034D8
str r0, [r4, r1]
add r0, r4, #0
bl MOD83_0222F074
ldr r0, [r4, #8]
bl MOD83_022394BC
mov r0, #0xe
str r0, [r4, r5]
b _0222F736
_0222F4EC:
bl MOD83_022394CC
cmp r0, #1
bne _0222F51C
mov r0, #0xf
str r0, [r4, r5]
bl OS_GetTickLo
mov r1, #0x36
bl _s32_div_f
mov r0, #0x16
add r1, r1, #6
lsl r0, r0, #4
str r1, [r4, r0]
b _0222F736
_0222F50C:
mov r0, #0x16
lsl r0, r0, #4
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0
beq _0222F51E
_0222F51C:
b _0222F736
_0222F51E:
mov r0, #0x10
str r0, [r4, r5]
b _0222F736
_0222F524:
ldr r0, _0222F5F8 ; =0x0223AD6C
mov r1, #0x2a
mov r2, #2
bl MOD83_02234424
mov r0, #0x11
str r0, [r4, r5]
mov r1, #0x4b
mov r0, #0x16
lsl r1, r1, #4
lsl r0, r0, #4
str r1, [r4, r0]
b _0222F736
_0222F53E:
bl MOD83_022344A8
cmp r0, #0
beq _0222F55A
bl MOD83_02239544
mov r0, #0x12
str r0, [r4, r5]
mov r1, #0x32
mov r0, #0x16
lsl r1, r1, #4
lsl r0, r0, #4
str r1, [r4, r0]
b _0222F736
_0222F55A:
mov r0, #0x16
lsl r0, r0, #4
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0
bne _0222F57A
bl MOD83_02234518
mov r0, #0x17
mov r1, #0x78
str r0, [r4, r5]
add r0, r1, #0
add r0, #0xe8
str r1, [r4, r0]
_0222F57A:
bl MOD83_022344E4
cmp r0, #0
bne _0222F62C
bl MOD83_02234518
mov r0, #0x16
mov r1, #0x78
str r0, [r4, r5]
add r0, r1, #0
add r0, #0xe8
str r1, [r4, r0]
b _0222F736
_0222F594:
bl MOD83_02239574
cmp r0, #3
bne _0222F5AE
bl MOD83_02234518
mov r0, #0x16
mov r1, #0x78
str r0, [r4, r5]
add r0, r1, #0
add r0, #0xe8
str r1, [r4, r0]
b _0222F5FC
_0222F5AE:
bl MOD83_02239574
cmp r0, #2
beq _0222F5BC
bl MOD83_022394CC
b _0222F5FC
_0222F5BC:
bl MOD83_0223447C
cmp r0, #0
bne _0222F5CC
bl MOD83_022344E4
cmp r0, #0
bne _0222F5FC
_0222F5CC:
mov r0, #0x13
str r0, [r4, r5]
mov r0, #0x16
mov r1, #1
lsl r0, r0, #4
str r1, [r4, r0]
bl MOD83_02234518
b _0222F736
nop
_0222F5E0: .word 0x0223A8D4
_0222F5E4: .word 0x000034D8
_0222F5E8: .word 0x00000708
_0222F5EC: .word 0x00003170
_0222F5F0: .word 0x000005DC
_0222F5F4: .word 0x021C48B8
_0222F5F8: .word 0x0223AD6C
_0222F5FC:
mov r0, #0x16
lsl r0, r0, #4
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0
bne _0222F61C
bl MOD83_02234518
mov r0, #0x17
str r0, [r4, r5]
mov r0, #0x16
mov r1, #0xa
lsl r0, r0, #4
str r1, [r4, r0]
_0222F61C:
mov r0, #0x16
lsl r0, r0, #4
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0
beq _0222F62E
_0222F62C:
b _0222F736
_0222F62E:
mov r0, #0x14
str r0, [r4, r5]
mov r0, #0x49
str r0, [sp]
add r1, r4, #0
ldr r0, [r4, #4]
add r1, #0x48
mov r2, #2
mov r3, #0x13
bl MOD83_02238A38
ldr r0, _0222F73C ; =0x00003170
mov r1, #0
ldr r0, [r4, r0]
bl FUN_020200A0
ldr r0, _0222F740 ; =0x000034D8
ldr r0, [r4, r0]
bl FUN_0200DBFC
ldr r0, _0222F744 ; =0x000005DC
bl FUN_020054C8
ldr r0, _0222F740 ; =0x000034D8
mov r1, #0
str r1, [r4, r0]
b _0222F736
_0222F664:
bl MOD83_02234558
cmp r0, #0
beq _0222F736
mov r0, #0x52
lsl r0, r0, #2
ldr r0, [r4, r0]
cmp r0, #1
bne _0222F686
bl FUN_0202E4F0
bl FUN_02033ED0
mov r0, #0x52
mov r1, #0
lsl r0, r0, #2
str r1, [r4, r0]
_0222F686:
ldr r0, _0222F748 ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #1
tst r0, r1
beq _0222F736
mov r0, #0x1b
str r0, [r4, r5]
mov r0, #4
pop {r3, r4, r5, pc}
_0222F698:
mov r0, #0x17
str r0, [r4, r5]
_0222F69C:
mov r0, #0x4a
str r0, [sp]
add r1, r4, #0
ldr r0, [r4, #4]
add r1, #0x48
mov r2, #2
mov r3, #0x13
bl MOD83_02238A38
ldr r0, _0222F73C ; =0x00003170
mov r1, #0
ldr r0, [r4, r0]
bl FUN_020200A0
ldr r0, _0222F740 ; =0x000034D8
ldr r0, [r4, r0]
cmp r0, #0
beq _0222F6C4
bl FUN_0200DBFC
_0222F6C4:
ldr r0, _0222F740 ; =0x000034D8
mov r1, #0
str r1, [r4, r0]
mov r0, #0x1c
str r0, [r4, r5]
b _0222F736
_0222F6D0:
bl MOD83_02234558
cmp r0, #0
beq _0222F736
mov r0, #0x52
lsl r0, r0, #2
ldr r0, [r4, r0]
cmp r0, #1
bne _0222F6F2
bl FUN_0202E4F0
bl FUN_02033ED0
mov r0, #0x52
mov r1, #0
lsl r0, r0, #2
str r1, [r4, r0]
_0222F6F2:
ldr r0, _0222F748 ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #1
tst r0, r1
beq _0222F736
mov r0, #0
bl OS_ResetSystem
b _0222F736
_0222F704:
bl MOD83_02234558
cmp r0, #0
beq _0222F736
mov r0, #0x52
lsl r0, r0, #2
ldr r0, [r4, r0]
cmp r0, #1
bne _0222F736
bl FUN_0202E4F0
bl FUN_02033ED0
mov r0, #0x52
mov r1, #0
lsl r0, r0, #2
str r1, [r4, r0]
ldr r0, _0222F740 ; =0x000034D8
ldr r0, [r4, r0]
cmp r0, #0
beq _0222F732
bl FUN_0200DBFC
_0222F732:
mov r0, #5
pop {r3, r4, r5, pc}
_0222F736:
mov r0, #0
pop {r3, r4, r5, pc}
nop
_0222F73C: .word 0x00003170
_0222F740: .word 0x000034D8
_0222F744: .word 0x000005DC
_0222F748: .word 0x021C48B8
thumb_func_end MOD83_0222F210
thumb_func_start MOD83_0222F74C
MOD83_0222F74C: ; 0x0222F74C
push {r4, lr}
ldr r1, _0222F79C ; =0x0223B884
add r4, r0, #0
ldr r1, [r1]
cmp r1, #0
bne _0222F798
bl MOD83_0222F9F8
mov r1, #0xf5
mov r0, #0xf
lsl r1, r1, #2
bl AllocFromHeap
ldr r1, _0222F79C ; =0x0223B884
mov r2, #0xf5
str r0, [r1]
mov r1, #0
lsl r2, r2, #2
bl MI_CpuFill8
ldr r0, _0222F79C ; =0x0223B884
mov r1, #0x32
ldr r0, [r0]
mov r2, #0xa
strh r1, [r0, #0x24]
ldr r0, _0222F7A0 ; =MOD83_0222F89C
mov r1, #0
bl FUN_0200CA44
ldr r1, _0222F79C ; =0x0223B884
ldr r2, [r1]
str r0, [r2, #0x1c]
ldr r0, [r1]
str r4, [r0]
ldr r0, [r1]
add r0, r0, #4
bl FUN_020312BC
_0222F798:
pop {r4, pc}
nop
_0222F79C: .word 0x0223B884
_0222F7A0: .word MOD83_0222F89C
thumb_func_end MOD83_0222F74C
thumb_func_start MOD83_0222F7A4
MOD83_0222F7A4: ; 0x0222F7A4
ldr r2, _0222F7B0 ; =0x0223B884
ldr r3, [r2]
str r0, [r3, #0x20]
ldr r0, [r2]
strh r1, [r0, #0x24]
bx lr
.align 2, 0
_0222F7B0: .word 0x0223B884
thumb_func_end MOD83_0222F7A4
thumb_func_start MOD83_0222F7B4
MOD83_0222F7B4: ; 0x0222F7B4
push {r4, lr}
bl FUN_02031190
bl FUN_02030E7C
cmp r0, #0
beq _0222F7E2
mov r4, #0
ldr r1, _0222F7E4 ; =0x0223B884
ldr r0, _0222F7E8 ; =0x000003C1
add r3, r4, #0
_0222F7CA:
ldr r2, [r1]
add r2, r2, r4
add r4, r4, #1
strb r3, [r2, r0]
cmp r4, #0x10
blt _0222F7CA
bl FUN_0202DBE0
ldr r0, _0222F7EC ; =MOD83_0222F7F0
mov r1, #0
bl MOD83_0222F7A4
_0222F7E2:
pop {r4, pc}
.align 2, 0
_0222F7E4: .word 0x0223B884
_0222F7E8: .word 0x000003C1
_0222F7EC: .word MOD83_0222F7F0
thumb_func_end MOD83_0222F7B4
thumb_func_start MOD83_0222F7F0
MOD83_0222F7F0: ; 0x0222F7F0
push {r4, r5, r6, lr}
mov r4, #0
ldr r6, _0222F824 ; =0x0223B884
add r5, r4, #0
_0222F7F8:
ldr r0, [r6]
add r0, r0, r5
ldr r0, [r0, #0x28]
cmp r0, #0
bne _0222F81A
lsl r0, r4, #0x10
lsr r0, r0, #0x10
bl FUN_02030E7C
cmp r0, #1
bne _0222F81A
add r0, r4, #0
bl FUN_0202DFA4
ldr r1, [r6]
add r1, r1, r5
str r0, [r1, #0x28]
_0222F81A:
add r4, r4, #1
add r5, r5, #4
cmp r4, #0x10
blt _0222F7F8
pop {r4, r5, r6, pc}
.align 2, 0
_0222F824: .word 0x0223B884
thumb_func_end MOD83_0222F7F0
thumb_func_start MOD83_0222F828
MOD83_0222F828: ; 0x0222F828
push {r3, lr}
bl FUN_0202E4C8
cmp r0, #0
beq _0222F83A
ldr r0, _0222F83C ; =MOD83_0222F840
mov r1, #0
bl MOD83_0222F7A4
_0222F83A:
pop {r3, pc}
.align 2, 0
_0222F83C: .word MOD83_0222F840
thumb_func_end MOD83_0222F828
thumb_func_start MOD83_0222F840
MOD83_0222F840: ; 0x0222F840
bx lr
.align 2, 0
thumb_func_end MOD83_0222F840
thumb_func_start MOD83_0222F844
MOD83_0222F844: ; 0x0222F844
push {r3, lr}
ldr r0, _0222F85C ; =0x0223B884
ldr r0, [r0]
add r0, #0x27
ldrb r0, [r0]
bl FUN_020319D8
ldr r0, _0222F860 ; =MOD83_0222F864
mov r1, #0
bl MOD83_0222F7A4
pop {r3, pc}
.align 2, 0
_0222F85C: .word 0x0223B884
_0222F860: .word MOD83_0222F864
thumb_func_end MOD83_0222F844
thumb_func_start MOD83_0222F864
MOD83_0222F864: ; 0x0222F864
push {r3, lr}
bl FUN_02031A2C
cmp r0, #0
beq _0222F88C
ldr r0, _0222F890 ; =0x0223B884
mov r2, #0
ldr r1, [r0]
mov r0, #0xf
lsl r0, r0, #6
strb r2, [r1, r0]
bl FUN_0202DBE0
mov r0, #0xab
bl FUN_02031588
ldr r0, _0222F894 ; =MOD83_0222F898
mov r1, #0
bl MOD83_0222F7A4
_0222F88C:
pop {r3, pc}
nop
_0222F890: .word 0x0223B884
_0222F894: .word MOD83_0222F898
thumb_func_end MOD83_0222F864
thumb_func_start MOD83_0222F898
MOD83_0222F898: ; 0x0222F898
bx lr
.align 2, 0
thumb_func_end MOD83_0222F898
thumb_func_start MOD83_0222F89C
MOD83_0222F89C: ; 0x0222F89C
push {r3, lr}
ldr r1, _0222F8C0 ; =0x0223B884
ldr r2, [r1]
cmp r2, #0
bne _0222F8AC
bl FUN_0200CAB4
pop {r3, pc}
_0222F8AC:
ldr r1, [r2, #0x20]
cmp r1, #0
beq _0222F8BC
add r2, #0x26
ldrb r0, [r2]
cmp r0, #0
bne _0222F8BC
blx r1
_0222F8BC:
pop {r3, pc}
nop
_0222F8C0: .word 0x0223B884
thumb_func_end MOD83_0222F89C
thumb_func_start MOD83_0222F8C4
MOD83_0222F8C4: ; 0x0222F8C4
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
bl FUN_02030F40
cmp r0, #0
bne _0222F8EA
add r0, r4, #0
add r1, r6, #0
bl FUN_02031C74
add r0, r5, #0
bl MOD83_0222F74C
ldr r0, _0222F8EC ; =MOD83_0222F7B4
mov r1, #0
bl MOD83_0222F7A4
_0222F8EA:
pop {r4, r5, r6, pc}
.align 2, 0
_0222F8EC: .word MOD83_0222F7B4
thumb_func_end MOD83_0222F8C4
thumb_func_start MOD83_0222F8F0
MOD83_0222F8F0: ; 0x0222F8F0
add r3, r0, #0
add r2, r1, #0
add r1, r3, #0
ldr r3, _0222F8FC ; =FUN_02030B3C
mov r0, #0x16
bx r3
.align 2, 0
_0222F8FC: .word FUN_02030B3C
thumb_func_end MOD83_0222F8F0
thumb_func_start MOD83_0222F900
MOD83_0222F900: ; 0x0222F900
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl FUN_02030F40
cmp r0, #0
bne _0222F92C
bl MOD83_02231364
bl FUN_0200628C
ldr r0, [r0, #8]
add r1, r4, #0
bl FUN_02031CA8
add r0, r5, #0
bl MOD83_0222F74C
ldr r0, _0222F930 ; =MOD83_0222F828
mov r1, #0
bl MOD83_0222F7A4
_0222F92C:
pop {r3, r4, r5, pc}
nop
_0222F930: .word MOD83_0222F828
thumb_func_end MOD83_0222F900
thumb_func_start MOD83_0222F934
MOD83_0222F934: ; 0x0222F934
ldr r1, _0222F944 ; =0x0223B884
ldr r3, _0222F948 ; =MOD83_0222F7A4
ldr r1, [r1]
add r1, #0x27
strb r0, [r1]
ldr r0, _0222F94C ; =MOD83_0222F844
mov r1, #0
bx r3
.align 2, 0
_0222F944: .word 0x0223B884
_0222F948: .word MOD83_0222F7A4
_0222F94C: .word MOD83_0222F844
thumb_func_end MOD83_0222F934
thumb_func_start MOD83_0222F950
MOD83_0222F950: ; 0x0222F950
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_0222F956:
add r0, r4, #0
bl FUN_0202F124
add r1, r0, #0
beq _0222F976
add r0, #0x4c
ldrh r0, [r0]
cmp r0, #0
beq _0222F976
add r5, #0x8c
add r0, r5, #0
mov r2, #0x50
bl memcpy
add r0, r4, #0
pop {r3, r4, r5, pc}
_0222F976:
add r4, r4, #1
cmp r4, #0x10
blt _0222F956
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD83_0222F950
thumb_func_start MOD83_0222F984
MOD83_0222F984: ; 0x0222F984
ldr r1, _0222F99C ; =0x0223B884
ldr r2, [r1]
add r1, r2, #0
add r1, #0x27
ldrb r1, [r1]
cmp r1, r0
bne _0222F99A
mov r0, #0xf
mov r1, #1
lsl r0, r0, #6
strb r1, [r2, r0]
_0222F99A:
bx lr
.align 2, 0
_0222F99C: .word 0x0223B884
thumb_func_end MOD83_0222F984
thumb_func_start MOD83_0222F9A0
MOD83_0222F9A0: ; 0x0222F9A0
ldr r0, _0222F9AC ; =0x0223B884
ldr r1, [r0]
mov r0, #0xf
lsl r0, r0, #6
ldrb r0, [r1, r0]
bx lr
.align 2, 0
_0222F9AC: .word 0x0223B884
thumb_func_end MOD83_0222F9A0
thumb_func_start MOD83_0222F9B0
MOD83_0222F9B0: ; 0x0222F9B0
mov r0, #0xd6
lsl r0, r0, #2
bx lr
.align 2, 0
thumb_func_end MOD83_0222F9B0
thumb_func_start MOD83_0222F9B8
MOD83_0222F9B8: ; 0x0222F9B8
ldr r0, _0222F9C0 ; =0x0223B884
ldr r0, [r0]
add r0, #0x68
bx lr
.align 2, 0
_0222F9C0: .word 0x0223B884
thumb_func_end MOD83_0222F9B8
thumb_func_start MOD83_0222F9C4
MOD83_0222F9C4: ; 0x0222F9C4
ldr r1, _0222F9D4 ; =0x0223B884
mov r2, #1
ldr r1, [r1]
add r1, r1, r0
ldr r0, _0222F9D8 ; =0x000003C1
strb r2, [r1, r0]
bx lr
nop
_0222F9D4: .word 0x0223B884
_0222F9D8: .word 0x000003C1
thumb_func_end MOD83_0222F9C4
thumb_func_start MOD83_0222F9DC
MOD83_0222F9DC: ; 0x0222F9DC
push {r3, lr}
ldr r1, _0222F9F4 ; =0x0223B884
mov r0, #0xf
ldr r1, [r1]
bl FUN_02016A8C
ldr r0, _0222F9F4 ; =0x0223B884
mov r1, #0
str r1, [r0]
bl FUN_02031A08
pop {r3, pc}
.align 2, 0
_0222F9F4: .word 0x0223B884
thumb_func_end MOD83_0222F9DC
thumb_func_start MOD83_0222F9F8
MOD83_0222F9F8: ; 0x0222F9F8
ldr r3, _0222FA04 ; =FUN_0202D8D0
add r2, r0, #0
ldr r0, _0222FA08 ; =0x0223A3F0
mov r1, #2
bx r3
nop
_0222FA04: .word FUN_0202D8D0
_0222FA08: .word 0x0223A3F0
thumb_func_end MOD83_0222F9F8
thumb_func_start MOD83_0222FA0C
MOD83_0222FA0C: ; 0x0222FA0C
push {r4, lr}
add r4, r0, #0
cmp r1, #1
ldr r0, _0222FA40 ; =0x00002994
bne _0222FA2C
ldr r0, [r4, r0]
cmp r0, #0
bne _0222FA3C
add r0, r4, #0
add r0, #0x18
mov r1, #1
bl FUN_0200D858
ldr r1, _0222FA40 ; =0x00002994
str r0, [r4, r1]
pop {r4, pc}
_0222FA2C:
ldr r0, [r4, r0]
cmp r0, #0
beq _0222FA36
bl FUN_0200DBFC
_0222FA36:
ldr r0, _0222FA40 ; =0x00002994
mov r1, #0
str r1, [r4, r0]
_0222FA3C:
pop {r4, pc}
nop
_0222FA40: .word 0x00002994
thumb_func_end MOD83_0222FA0C
thumb_func_start MOD83_0222FA44
MOD83_0222FA44: ; 0x0222FA44
ldr r3, _0222FA48 ; =MOD83_0222FA0C
bx r3
.align 2, 0
_0222FA48: .word MOD83_0222FA0C
thumb_func_end MOD83_0222FA44
thumb_func_start MOD83_0222FA4C
MOD83_0222FA4C: ; 0x0222FA4C
push {r3, r4, r5, r6, r7, lr}
bl FUN_02006278
add r7, r0, #0
bl MOD83_02238E48
ldr r0, [r7, #0x7c]
cmp r0, #0
beq _0222FA62
bl FUN_02012870
_0222FA62:
ldr r0, [r7, #0x78]
cmp r0, #0
beq _0222FA70
mov r1, #0
add r2, r1, #0
bl FUN_02001300
_0222FA70:
add r0, r7, #0
add r0, #0x18
bl FUN_02019570
add r0, r7, #0
add r0, #0x18
bl FUN_02019178
add r0, r7, #0
add r0, #0x58
bl FUN_02019048
cmp r0, #0
beq _0222FA9C
add r0, r7, #0
add r0, #0x58
bl FUN_02019570
add r0, r7, #0
add r0, #0x58
bl FUN_02019178
_0222FA9C:
add r5, r7, #0
mov r6, #0
add r4, r7, #0
add r5, #0x28
_0222FAA4:
ldr r0, [r4, #0x28]
cmp r0, #0
beq _0222FAB6
add r0, r5, #0
bl FUN_02019570
add r0, r5, #0
bl FUN_02019178
_0222FAB6:
add r6, r6, #1
add r4, #0x10
add r5, #0x10
cmp r6, #3
blt _0222FAA4
ldr r0, [r7]
mov r1, #0
bl FUN_020178A0
ldr r0, [r7]
mov r1, #1
bl FUN_020178A0
ldr r0, [r7]
mov r1, #4
bl FUN_020178A0
ldr r0, [r7]
mov r1, #5
bl FUN_020178A0
ldr r0, [r7]
bl FreeToHeap
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD83_0222FA4C
thumb_func_start MOD83_0222FAE8
MOD83_0222FAE8: ; 0x0222FAE8
push {r3, lr}
sub sp, #8
bl MOD83_02238AFC
bl MOD83_02238B4C
mov r0, #8
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
mov r0, #0x74
mov r1, #0xa
mov r2, #7
mov r3, #9
bl MOD83_02238BC4
add sp, #8
pop {r3, pc}
thumb_func_end MOD83_0222FAE8
thumb_func_start MOD83_0222FB0C
MOD83_0222FB0C: ; 0x0222FB0C
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
mov r0, #0
mvn r0, r0
cmp r1, r0
beq _0222FB32
str r1, [sp]
ldr r1, _0222FB40 ; =0x000005C4
mov r0, #0
ldr r1, [r4, r1]
mov r2, #0x80
mov r3, #0x64
bl MOD83_02238DBC
ldr r1, _0222FB40 ; =0x000005C4
add sp, #4
str r0, [r4, r1]
pop {r3, r4, pc}
_0222FB32:
ldr r0, _0222FB40 ; =0x000005C4
mov r1, #0
ldr r0, [r4, r0]
bl FUN_020200A0
add sp, #4
pop {r3, r4, pc}
.align 2, 0
_0222FB40: .word 0x000005C4
thumb_func_end MOD83_0222FB0C
thumb_func_start MOD83_0222FB44
MOD83_0222FB44: ; 0x0222FB44
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl FUN_02019048
cmp r0, #1
bne _0222FB5A
add r0, r5, #0
add r1, r4, #0
bl FUN_0200CCF8
_0222FB5A:
pop {r3, r4, r5, pc}
thumb_func_end MOD83_0222FB44
thumb_func_start MOD83_0222FB5C
MOD83_0222FB5C: ; 0x0222FB5C
push {r3, r4, r5, lr}
add r5, r0, #0
bl FUN_02006278
add r4, r0, #0
ldr r0, _0222FBB0 ; =0x000015D4
ldr r0, [r4, r0]
cmp r0, #2
beq _0222FB7A
add r1, r4, #0
add r0, r5, #0
add r1, #0x18
mov r2, #3
bl MOD83_0223050C
_0222FB7A:
add r0, r4, #0
add r0, #0x48
mov r1, #0
bl MOD83_0222FB44
ldr r0, _0222FBB0 ; =0x000015D4
ldr r0, [r4, r0]
cmp r0, #2
beq _0222FBAA
add r0, r4, #0
mov r1, #0xf
bl MOD83_0222F900
ldr r1, _0222FBB4 ; =0x00001C20
ldr r0, _0222FBB8 ; =0x00000434
str r1, [r4, r0]
bl FUN_02033E74
add r0, r4, #0
mov r1, #1
bl MOD83_0222FA0C
mov r0, #7
pop {r3, r4, r5, pc}
_0222FBAA:
mov r0, #0x13
pop {r3, r4, r5, pc}
nop
_0222FBB0: .word 0x000015D4
_0222FBB4: .word 0x00001C20
_0222FBB8: .word 0x00000434
thumb_func_end MOD83_0222FB5C
thumb_func_start MOD83_0222FBBC
MOD83_0222FBBC: ; 0x0222FBBC
push {r3, r4, r5, lr}
add r5, r0, #0
bl FUN_02006278
add r4, r0, #0
add r0, #0x80
ldr r1, [r0]
cmp r1, #1
bne _0222FBD2
mov r0, #0x30
pop {r3, r4, r5, pc}
_0222FBD2:
sub r0, r1, #2
cmp r0, #2
bhi _0222FBDC
mov r0, #0x30
pop {r3, r4, r5, pc}
_0222FBDC:
cmp r1, #5
bne _0222FBE4
mov r0, #0x30
pop {r3, r4, r5, pc}
_0222FBE4:
ldr r0, _0222FC38 ; =0x000015D4
ldr r0, [r4, r0]
cmp r0, #1
bne _0222FBF4
ldr r0, _0222FC3C ; =0x00000438
ldr r0, [r4, r0]
bl MOD83_0222F934
_0222FBF4:
add r1, r4, #0
add r0, r5, #0
add r1, #0x18
mov r2, #6
bl MOD83_0223050C
add r0, r4, #0
add r0, #0x48
mov r1, #0
bl MOD83_0222FB44
ldr r0, _0222FC38 ; =0x000015D4
ldr r0, [r4, r0]
cmp r0, #1
bne _0222FC22
add r0, r4, #0
mov r1, #0
bl MOD83_0222FB0C
add r0, r4, #0
mov r1, #1
bl MOD83_0222FA0C
_0222FC22:
ldr r0, _0222FC38 ; =0x000015D4
ldr r0, [r4, r0]
cmp r0, #1
bne _0222FC34
mov r0, #0xab
bl FUN_02031588
mov r0, #9
pop {r3, r4, r5, pc}
_0222FC34:
mov r0, #0x15
pop {r3, r4, r5, pc}
.align 2, 0
_0222FC38: .word 0x000015D4
_0222FC3C: .word 0x00000438
thumb_func_end MOD83_0222FBBC
thumb_func_start MOD83_0222FC40
MOD83_0222FC40: ; 0x0222FC40
push {r3, r4, r5, r6, r7, lr}
bl FUN_02006278
add r4, r0, #0
ldr r0, _0222FCA4 ; =0x000015D4
add r5, r4, #0
add r6, r4, #0
ldr r0, [r4, r0]
add r5, #0xdc
add r6, #0x8c
cmp r0, #1
beq _0222FC5E
cmp r0, #3
beq _0222FC84
b _0222FC9E
_0222FC5E:
mov r0, #0
add r1, r0, #0
add r2, r0, #0
bl MOD83_0222F9B8
mov r2, #0xd6
add r1, r0, #0
add r0, r5, #0
lsl r2, r2, #2
bl memcpy
add r0, r4, #0
add r4, #0xdc
add r0, #0x8c
add r1, r4, #0
mov r2, #0x56
bl MOD83_02239374
b _0222FC9E
_0222FC84:
ldr r7, _0222FCA8 ; =0x000005D4
mov r2, #0xd6
add r1, r4, r7
add r0, r5, #0
add r1, #0x50
lsl r2, r2, #2
bl memcpy
add r0, r6, #0
add r1, r4, r7
mov r2, #0x50
bl memcpy
_0222FC9E:
add r0, r5, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_0222FCA4: .word 0x000015D4
_0222FCA8: .word 0x000005D4
thumb_func_end MOD83_0222FC40
thumb_func_start MOD83_0222FCAC
MOD83_0222FCAC: ; 0x0222FCAC
push {r4, lr}
add r4, r0, #0
ldr r0, _0222FCD8 ; =0x00002990
ldr r1, [r4, r0]
cmp r1, #1
bne _0222FCBE
mov r1, #0
sub r0, r0, #4
str r1, [r4, r0]
_0222FCBE:
bl MOD83_022394CC
sub r0, r0, #2
cmp r0, #1
bhi _0222FCD4
ldr r0, _0222FCDC ; =0x0000061B
bl FUN_020054C8
ldr r0, _0222FCE0 ; =0x0000298C
mov r1, #0
str r1, [r4, r0]
_0222FCD4:
pop {r4, pc}
nop
_0222FCD8: .word 0x00002990
_0222FCDC: .word 0x0000061B
_0222FCE0: .word 0x0000298C
thumb_func_end MOD83_0222FCAC
thumb_func_start MOD83_0222FCE4
MOD83_0222FCE4: ; 0x0222FCE4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r7, r0, #0
bl FUN_02006278
add r6, r0, #0
add r4, r6, #0
add r5, r6, #0
add r0, r7, #0
add r4, #0x8c
add r5, #0xdc
bl FUN_0200628C
ldr r0, [r0, #8]
str r0, [sp]
add r0, r4, #0
add r0, #0x4e
ldrb r0, [r0]
lsl r0, r0, #0x1d
lsr r0, r0, #0x1f
bne _0222FD12
mov r7, #0
b _0222FD3E
_0222FD12:
mov r1, #0x35
add r2, r4, #0
mov r0, #0
lsl r1, r1, #4
strb r0, [r5, r1]
add r2, #0x4e
ldrb r2, [r2]
mov r7, #1
lsl r2, r2, #0x1b
lsr r2, r2, #0x1f
bne _0222FD2C
sub r1, #8
strb r0, [r5, r1]
_0222FD2C:
add r0, sp, #8
bl FUN_020126B4
add r0, sp, #8
bl RTC_ConvertDateToDay
mov r1, #0xd5
lsl r1, r1, #2
str r0, [r5, r1]
_0222FD3E:
ldr r0, [sp]
bl FUN_0202251C
add r4, #0x4c
ldrh r1, [r4]
str r0, [sp, #4]
bl FUN_0202AF24
cmp r7, #0
bne _0222FD5E
ldr r0, [sp, #4]
add r1, r5, #0
mov r2, #0
bl FUN_0202AC98
b _0222FD66
_0222FD5E:
ldr r0, [sp, #4]
add r1, r5, #0
bl FUN_0202AD08
_0222FD66:
ldr r0, [sp]
bl MOD83_022394BC
ldr r0, _0222FD7C ; =0x00002990
mov r1, #0
str r1, [r6, r0]
ldr r1, _0222FD80 ; =MOD83_0222FCAC
sub r0, r0, #4
str r1, [r6, r0]
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_0222FD7C: .word 0x00002990
_0222FD80: .word MOD83_0222FCAC
thumb_func_end MOD83_0222FCE4
thumb_func_start MOD83_0222FD84
MOD83_0222FD84: ; 0x0222FD84
push {r3, r4, r5, r6, lr}
sub sp, #0x14
add r6, r0, #0
add r4, r1, #0
bl FUN_02006278
cmp r4, #0
bne _0222FD98
mov r5, #4
b _0222FD9C
_0222FD98:
mov r5, #0
mvn r5, r5
_0222FD9C:
ldr r1, [r0, #0x48]
add r4, r0, #0
add r4, #0x48
cmp r1, #0
bne _0222FDC6
mov r1, #0xa
str r1, [sp]
mov r1, #6
str r1, [sp, #4]
mov r1, #4
str r1, [sp, #8]
mov r2, #0
mov r1, #0x6b
str r2, [sp, #0xc]
lsl r1, r1, #2
str r1, [sp, #0x10]
ldr r0, [r0]
add r1, r4, #0
mov r3, #0x17
bl FUN_02019064
_0222FDC6:
add r0, r4, #0
mov r1, #1
mov r2, #0x1f
mov r3, #3
bl FUN_0200CCA4
ldr r1, _0222FDE4 ; =0x0223ADD8
add r0, r6, #0
mov r2, #2
add r3, r4, #0
str r5, [sp]
bl MOD83_022303B0
add sp, #0x14
pop {r3, r4, r5, r6, pc}
.align 2, 0
_0222FDE4: .word 0x0223ADD8
thumb_func_end MOD83_0222FD84
thumb_func_start MOD83_0222FDE8
MOD83_0222FDE8: ; 0x0222FDE8
push {r3, r4, r5, lr}
add r5, r0, #0
bl FUN_02006278
add r4, r0, #0
add r0, #0x48
mov r1, #0
bl MOD83_0222FB44
add r0, r4, #0
add r0, #0x58
mov r1, #0
bl MOD83_0222FB44
ldr r0, _0222FE20 ; =0x000015D4
ldr r0, [r4, r0]
cmp r0, #1
bne _0222FE14
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
_0222FE14:
bl FUN_02033ED0
add r0, r5, #0
bl MOD83_02230118
pop {r3, r4, r5, pc}
.align 2, 0
_0222FE20: .word 0x000015D4
thumb_func_end MOD83_0222FDE8
thumb_func_start MOD83_0222FE24
MOD83_0222FE24: ; 0x0222FE24
push {r3, r4, r5, r6, lr}
sub sp, #0x14
add r6, r0, #0
bl FUN_02006278
add r5, r0, #0
bl MOD83_02238700
cmp r0, #0
beq _0222FE3C
mov r1, #2
b _0222FE3E
_0222FE3C:
mov r1, #1
_0222FE3E:
ldr r0, _0222FE98 ; =0x000015D4
str r1, [r5, r0]
add r0, r5, #0
add r0, #0x38
mov r1, #0
bl MOD83_0222FB44
add r4, r5, #0
ldr r0, [r5, #0x48]
add r4, #0x48
cmp r0, #0
bne _0222FE76
mov r0, #0xa
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r2, #0
mov r0, #0x6b
str r2, [sp, #0xc]
lsl r0, r0, #2
str r0, [sp, #0x10]
ldr r0, [r5]
add r1, r4, #0
mov r3, #0x17
bl FUN_02019064
_0222FE76:
add r0, r4, #0
mov r1, #1
mov r2, #0x1f
mov r3, #3
bl FUN_0200CCA4
mov r2, #2
ldr r1, _0222FE9C ; =0x0223ADC8
add r0, r6, #0
add r3, r4, #0
str r2, [sp]
bl MOD83_022303B0
mov r0, #5
add sp, #0x14
pop {r3, r4, r5, r6, pc}
nop
_0222FE98: .word 0x000015D4
_0222FE9C: .word 0x0223ADC8
thumb_func_end MOD83_0222FE24
thumb_func_start MOD83_0222FEA0
MOD83_0222FEA0: ; 0x0222FEA0
push {r3, r4, r5, r6, lr}
sub sp, #0x14
add r6, r0, #0
bl FUN_02006278
add r4, r0, #0
ldr r0, _0222FF08 ; =0x000015D4
mov r1, #4
str r1, [r4, r0]
add r0, r4, #0
add r0, #0x38
mov r1, #0
bl MOD83_0222FB44
add r5, r4, #0
ldr r0, [r4, #0x48]
add r5, #0x48
cmp r0, #0
bne _0222FEE6
mov r0, #0xa
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r2, #0
mov r0, #0x6b
str r2, [sp, #0xc]
lsl r0, r0, #2
str r0, [sp, #0x10]
ldr r0, [r4]
add r1, r5, #0
mov r3, #0x17
bl FUN_02019064
_0222FEE6:
add r0, r5, #0
mov r1, #1
mov r2, #0x1f
mov r3, #3
bl FUN_0200CCA4
mov r0, #0x4e
str r0, [sp]
ldr r1, _0222FF0C ; =0x0223AD98
add r0, r6, #0
mov r2, #2
add r3, r5, #0
bl MOD83_022303B0
mov r0, #5
add sp, #0x14
pop {r3, r4, r5, r6, pc}
.align 2, 0
_0222FF08: .word 0x000015D4
_0222FF0C: .word 0x0223AD98
thumb_func_end MOD83_0222FEA0
thumb_func_start MOD83_0222FF10
MOD83_0222FF10: ; 0x0222FF10
push {r3, r4, r5, r6, lr}
sub sp, #0x14
add r6, r0, #0
bl FUN_02006278
add r4, r0, #0
ldr r0, _0222FF78 ; =0x000015D4
mov r1, #3
str r1, [r4, r0]
add r0, r4, #0
add r0, #0x38
mov r1, #0
bl MOD83_0222FB44
add r5, r4, #0
ldr r0, [r4, #0x48]
add r5, #0x48
cmp r0, #0
bne _0222FF56
mov r0, #0xa
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r2, #0
mov r0, #0x6b
str r2, [sp, #0xc]
lsl r0, r0, #2
str r0, [sp, #0x10]
ldr r0, [r4]
add r1, r5, #0
mov r3, #0x17
bl FUN_02019064
_0222FF56:
add r0, r5, #0
mov r1, #1
mov r2, #0x1f
mov r3, #3
bl FUN_0200CCA4
mov r0, #0x4d
str r0, [sp]
ldr r1, _0222FF7C ; =0x0223ADA8
add r0, r6, #0
mov r2, #2
add r3, r5, #0
bl MOD83_022303B0
mov r0, #5
add sp, #0x14
pop {r3, r4, r5, r6, pc}
.align 2, 0
_0222FF78: .word 0x000015D4
_0222FF7C: .word 0x0223ADA8
thumb_func_end MOD83_0222FF10
thumb_func_start MOD83_0222FF80
MOD83_0222FF80: ; 0x0222FF80
push {r4, r5, lr}
sub sp, #0x14
add r5, r0, #0
bl FUN_02006278
add r4, r0, #0
ldr r1, [r0, #0x48]
add r4, #0x48
cmp r1, #0
bne _0222FFB4
mov r1, #0xa
str r1, [sp]
mov r1, #6
str r1, [sp, #4]
mov r1, #4
str r1, [sp, #8]
mov r2, #0
mov r1, #0x6b
str r2, [sp, #0xc]
lsl r1, r1, #2
str r1, [sp, #0x10]
ldr r0, [r0]
add r1, r4, #0
mov r3, #0x17
bl FUN_02019064
_0222FFB4:
add r0, r4, #0
mov r1, #1
mov r2, #0x1f
mov r3, #3
bl FUN_0200CCA4
mov r0, #4
str r0, [sp]
ldr r1, _0222FFD4 ; =0x0223ADB8
add r0, r5, #0
mov r2, #2
add r3, r4, #0
bl MOD83_022303B0
add sp, #0x14
pop {r4, r5, pc}
.align 2, 0
_0222FFD4: .word 0x0223ADB8
thumb_func_end MOD83_0222FF80
thumb_func_start MOD83_0222FFD8
MOD83_0222FFD8: ; 0x0222FFD8
push {r3, r4, r5, lr}
add r5, r0, #0
bl FUN_02006278
add r4, r0, #0
add r0, #0x48
mov r1, #0
bl MOD83_0222FB44
add r0, r4, #0
add r0, #0x58
mov r1, #0
bl MOD83_0222FB44
bl FUN_02033ED0
ldr r0, _0223000C ; =0x000015D4
ldr r0, [r4, r0]
cmp r0, #1
bne _02230004
bl MOD83_0222F9DC
_02230004:
add r0, r5, #0
bl MOD83_02230118
pop {r3, r4, r5, pc}
.align 2, 0
_0223000C: .word 0x000015D4
thumb_func_end MOD83_0222FFD8
thumb_func_start MOD83_02230010
MOD83_02230010: ; 0x02230010
push {r3, r4, r5, lr}
add r5, r0, #0
bl FUN_02006278
add r4, r0, #0
add r1, r4, #0
add r0, r5, #0
add r1, #0x18
mov r2, #3
bl MOD83_0223050C
add r0, r4, #0
add r0, #0x48
mov r1, #0
bl MOD83_0222FB44
add r0, r4, #0
mov r1, #1
bl MOD83_0222FA0C
ldr r0, _02230044 ; =0x0223B888
mov r1, #0x24
str r1, [r0, #0x10]
mov r0, #0x20
pop {r3, r4, r5, pc}
nop
_02230044: .word 0x0223B888
thumb_func_end MOD83_02230010
thumb_func_start MOD83_02230048
MOD83_02230048: ; 0x02230048
push {r3, r4, r5, lr}
add r5, r0, #0
bl FUN_02006278
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
sub r0, r0, #2
cmp r0, #2
bhi _02230060
mov r0, #0x30
pop {r3, r4, r5, pc}
_02230060:
add r0, r4, #0
add r0, #0x48
mov r1, #0
bl MOD83_0222FB44
add r0, r4, #0
mov r1, #1
bl MOD83_0222FB0C
add r4, #0x18
add r0, r5, #0
add r1, r4, #0
mov r2, #7
bl MOD83_0223050C
mov r0, #0x21
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD83_02230048
thumb_func_start MOD83_02230084
MOD83_02230084: ; 0x02230084
push {r3, lr}
ldr r0, _022300A8 ; =0x0223B888
ldr r0, [r0, #0x10]
cmp r0, #0x27
beq _02230096
cmp r0, #0x28
beq _02230096
cmp r0, #0x2f
bne _022300A4
_02230096:
bl MOD83_02239A14
cmp r0, #0
beq _022300A4
ldr r0, _022300A8 ; =0x0223B888
mov r1, #0x2a
str r1, [r0, #0x10]
_022300A4:
mov r0, #0x23
pop {r3, pc}
.align 2, 0
_022300A8: .word 0x0223B888
thumb_func_end MOD83_02230084
thumb_func_start MOD83_022300AC
MOD83_022300AC: ; 0x022300AC
push {r3, r4, r5, lr}
add r5, r0, #0
bl FUN_02006278
add r4, r0, #0
add r1, r4, #0
add r0, r5, #0
add r1, #0x18
mov r2, #3
bl MOD83_0223050C
add r0, r4, #0
mov r1, #1
bl MOD83_0222FA0C
add r0, r4, #0
add r0, #0x48
mov r1, #0
bl MOD83_0222FB44
add r0, r4, #0
mov r1, #1
bl MOD83_0222FA0C
mov r1, #1
ldr r0, _022300F0 ; =0x000015DC
lsl r1, r1, #0xc
str r1, [r4, r0]
ldr r0, _022300F4 ; =0x00002620
mov r1, #0
str r1, [r4, r0]
mov r0, #0x1b
pop {r3, r4, r5, pc}
nop
_022300F0: .word 0x000015DC
_022300F4: .word 0x00002620
thumb_func_end MOD83_022300AC
thumb_func_start MOD83_022300F8
MOD83_022300F8: ; 0x022300F8
push {r4, lr}
add r4, r0, #0
bl FUN_02006278
add r0, #0x38
mov r1, #0
bl MOD83_0222FB44
add r0, r4, #0
mov r1, #0xc4
mov r2, #0
bl MOD83_02230464
mov r0, #3
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_022300F8
thumb_func_start MOD83_02230118
MOD83_02230118: ; 0x02230118
push {r3, r4, r5, r6, lr}
sub sp, #0x14
add r6, r0, #0
bl FUN_02006278
add r5, r0, #0
ldr r0, [r5, #4]
bl FUN_0202251C
ldr r0, _02230194 ; =0x000005C8
ldr r1, [r5, r0]
cmp r1, #0x1e
bne _0223013E
mov r1, #1
add r0, r0, #4
str r1, [r5, r0]
add r0, r5, #0
bl MOD83_022313E4
_0223013E:
add r0, r5, #0
add r0, #0x28
mov r1, #0
bl MOD83_0222FB44
add r4, r5, #0
ldr r0, [r5, #0x38]
add r4, #0x38
cmp r0, #0
bne _02230172
mov r0, #9
str r0, [sp]
mov r0, #0x10
str r0, [sp, #4]
mov r0, #8
str r0, [sp, #8]
mov r2, #0
mov r0, #0x49
str r2, [sp, #0xc]
lsl r0, r0, #2
str r0, [sp, #0x10]
ldr r0, [r5]
add r1, r4, #0
mov r3, #0xf
bl FUN_02019064
_02230172:
add r0, r4, #0
mov r1, #1
mov r2, #0x1f
mov r3, #3
bl FUN_0200CCA4
mov r0, #1
str r0, [sp]
ldr r1, _02230198 ; =0x0223AE20
add r0, r6, #0
mov r2, #4
add r3, r4, #0
bl MOD83_022303B0
mov r0, #4
add sp, #0x14
pop {r3, r4, r5, r6, pc}
.align 2, 0
_02230194: .word 0x000005C8
_02230198: .word 0x0223AE20
thumb_func_end MOD83_02230118
thumb_func_start MOD83_0223019C
MOD83_0223019C: ; 0x0223019C
push {r4, lr}
bl FUN_02006278
ldr r1, _022301CC ; =0x000005C8
add r4, r0, #0
ldr r2, [r4, r1]
cmp r2, #0x1e
bne _022301B6
mov r2, #1
add r1, r1, #4
str r2, [r4, r1]
bl MOD83_022313E4
_022301B6:
ldr r2, _022301D0 ; =0x000015D8
mov r0, #0
ldr r2, [r4, r2]
mov r1, #0x35
mov r3, #2
bl MOD83_0223886C
mov r0, #0
mvn r0, r0
pop {r4, pc}
nop
_022301CC: .word 0x000005C8
_022301D0: .word 0x000015D8
thumb_func_end MOD83_0223019C
thumb_func_start MOD83_022301D4
MOD83_022301D4: ; 0x022301D4
push {r4, lr}
bl FUN_02006278
add r4, r0, #0
ldr r0, _02230204 ; =0x000005C8
ldr r1, [r4, r0]
cmp r1, #0x1e
bne _022301EA
mov r1, #1
add r0, r0, #4
str r1, [r4, r0]
_022301EA:
mov r0, #1
bl MOD83_02238860
ldr r2, _02230208 ; =0x000015D8
mov r0, #0
ldr r2, [r4, r2]
mov r1, #0x34
mov r3, #2
bl MOD83_0223886C
mov r0, #0
mvn r0, r0
pop {r4, pc}
.align 2, 0
_02230204: .word 0x000005C8
_02230208: .word 0x000015D8
thumb_func_end MOD83_022301D4
thumb_func_start MOD83_0223020C
MOD83_0223020C: ; 0x0223020C
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r5, r3, #0
ldr r3, _02230254 ; =0x0223A418
add r7, r0, #0
add r4, r1, #0
add r6, r2, #0
add r2, sp, #0
ldmia r3!, {r0, r1}
mov ip, r2
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3]
lsr r1, r6, #0xb
str r0, [r2]
add r0, sp, #0
strb r1, [r0, #0x12]
lsr r1, r5, #0xe
strb r1, [r0, #0x13]
lsl r1, r4, #0x18
add r0, r7, #0
lsr r1, r1, #0x18
mov r2, ip
mov r3, #0
bl FUN_02016C18
lsl r1, r4, #0x18
add r0, r7, #0
lsr r1, r1, #0x18
bl FUN_02018744
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
.align 2, 0
_02230254: .word 0x0223A418
thumb_func_end MOD83_0223020C
thumb_func_start MOD83_02230258
MOD83_02230258: ; 0x02230258
push {r3, r4, r5, lr}
sub sp, #0x10
ldr r5, _022302B0 ; =0x0223A408
add r3, sp, #0
add r4, r0, #0
add r2, r3, #0
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
add r0, r2, #0
bl FUN_02016BBC
mov r1, #0
mov r2, #0xf
add r0, r4, #0
lsl r2, r2, #0xc
add r3, r1, #0
bl MOD83_0223020C
mov r1, #1
mov r2, #0x3e
add r0, r4, #0
lsl r2, r2, #0xa
lsl r3, r1, #0xf
bl MOD83_0223020C
mov r2, #0xe
add r0, r4, #0
mov r1, #4
lsl r2, r2, #0xa
mov r3, #0
bl MOD83_0223020C
mov r2, #0x1e
mov r3, #1
add r0, r4, #0
mov r1, #5
lsl r2, r2, #0xa
lsl r3, r3, #0xe
bl MOD83_0223020C
add sp, #0x10
pop {r3, r4, r5, pc}
.align 2, 0
_022302B0: .word 0x0223A408
thumb_func_end MOD83_02230258
thumb_func_start MOD83_022302B4
MOD83_022302B4: ; 0x022302B4
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #0x20
mov r2, #4
str r0, [sp]
mov r0, #0x56
add r3, r2, #0
str r0, [sp, #4]
mov r0, #0x74
mov r1, #0
add r3, #0xfc
bl FUN_02006930
mov r0, #0
str r0, [sp]
mov r0, #5
lsl r0, r0, #0xa
str r0, [sp, #4]
mov r1, #1
str r1, [sp, #8]
mov r0, #0x56
str r0, [sp, #0xc]
mov r0, #0x74
add r2, r4, #0
mov r3, #5
bl FUN_0200687C
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x56
str r0, [sp, #0xc]
mov r0, #0x74
mov r1, #2
add r2, r4, #0
mov r3, #5
bl FUN_020068C8
mov r0, #0x20
str r0, [sp]
mov r0, #0x18
str r0, [sp, #4]
mov r0, #8
mov r2, #0
str r0, [sp, #8]
add r0, r4, #0
mov r1, #5
add r3, r2, #0
bl FUN_020186B4
add r0, r4, #0
mov r1, #5
bl FUN_02017CD0
add sp, #0x10
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_022302B4
thumb_func_start MOD83_02230330
MOD83_02230330: ; 0x02230330
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #0x20
str r0, [sp]
mov r0, #0x56
str r0, [sp, #4]
mov r0, #0x74
mov r1, #0
add r3, r0, #0
add r2, r1, #0
add r3, #0x8c
bl FUN_02006930
mov r0, #0
str r0, [sp]
mov r0, #5
lsl r0, r0, #0xa
str r0, [sp, #4]
mov r1, #1
str r1, [sp, #8]
mov r0, #0x56
str r0, [sp, #0xc]
mov r0, #0x74
add r2, r4, #0
add r3, r1, #0
bl FUN_0200687C
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0x56
str r0, [sp, #0xc]
mov r0, #0x74
mov r1, #2
add r2, r4, #0
bl FUN_020068C8
mov r0, #0x20
str r0, [sp]
mov r0, #0x18
str r0, [sp, #4]
mov r0, #8
mov r2, #0
str r0, [sp, #8]
add r0, r4, #0
mov r1, #1
add r3, r2, #0
bl FUN_020186B4
add r0, r4, #0
mov r1, #1
bl FUN_02017CD0
add r0, r4, #0
bl MOD83_022302B4
add sp, #0x10
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_02230330
thumb_func_start MOD83_022303B0
MOD83_022303B0: ; 0x022303B0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
str r0, [sp]
add r5, r1, #0
add r7, r2, #0
str r3, [sp, #4]
bl FUN_02006278
add r4, r0, #0
ldr r0, [r4, #0x7c]
cmp r0, #0
beq _022303CC
bl FUN_02012870
_022303CC:
add r0, r7, #0
mov r1, #0x56
bl FUN_02012838
str r0, [r4, #0x7c]
ldr r2, _0223045C ; =0x00000172
mov r0, #0
mov r1, #0x1a
mov r3, #0x56
bl FUN_0200A86C
mov r6, #0
str r0, [r4, #0x10]
cmp r7, #0
ble _022303FE
_022303EA:
ldr r0, [r4, #0x7c]
ldr r1, [r4, #0x10]
ldr r2, [r5]
ldr r3, [r5, #4]
bl FUN_02012880
add r6, r6, #1
add r5, #8
cmp r6, r7
blt _022303EA
_022303FE:
ldr r0, [r4, #0x10]
bl FUN_0200A8B8
ldr r3, _02230460 ; =0x0223AE00
add r2, sp, #8
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r4, #0x7c]
str r0, [sp, #8]
add r0, sp, #8
strh r7, [r0, #0x12]
ldrh r1, [r0, #0x12]
strh r1, [r0, #0x10]
ldr r0, [sp, #4]
str r0, [sp, #0x14]
ldr r0, [r4, #0x78]
cmp r0, #0
beq _02230436
mov r1, #0
add r2, r1, #0
bl FUN_02001300
_02230436:
mov r1, #0
add r0, sp, #8
add r2, r1, #0
mov r3, #0x56
bl FUN_020010A8
str r0, [r4, #0x78]
mov r0, #0
ldr r2, [sp, #0x40]
mvn r0, r0
cmp r2, r0
beq _02230458
add r4, #0x18
ldr r0, [sp]
add r1, r4, #0
bl MOD83_0223050C
_02230458:
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_0223045C: .word 0x00000172
_02230460: .word 0x0223AE00
thumb_func_end MOD83_022303B0
thumb_func_start MOD83_02230464
MOD83_02230464: ; 0x02230464
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x40
str r0, [sp, #0x14]
str r1, [sp, #0x1c]
str r2, [sp, #0x18]
bl FUN_02006278
add r7, r0, #0
ldr r0, [r7, #4]
mov r5, #0
bl FUN_0202251C
ldr r1, _02230508 ; =0x0223AD98
add r4, r7, #0
ldr r2, [r1, #0x50]
ldr r1, [r1, #0x54]
add r4, #0x28
add r5, r5, #1
str r2, [sp, #0x20]
str r1, [sp, #0x24]
bl FUN_0202AE70
cmp r0, #0
beq _022304A8
lsl r6, r5, #3
add r0, sp, #0x20
add r1, r0, r6
ldr r0, _02230508 ; =0x0223AD98
add r5, r5, #1
ldr r3, [r0, #0x58]
ldr r2, [r0, #0x5c]
add r0, sp, #0x20
str r3, [r0, r6]
str r2, [r1, #4]
_022304A8:
lsl r6, r5, #3
add r0, sp, #0x20
add r1, r0, r6
ldr r0, _02230508 ; =0x0223AD98
ldr r3, [r0, #0x60]
ldr r2, [r0, #0x64]
add r0, sp, #0x20
str r3, [r0, r6]
str r2, [r1, #4]
ldr r0, [r4]
cmp r0, #0
bne _022304E6
mov r0, #7
str r0, [sp]
mov r0, #0x10
str r0, [sp, #4]
add r0, r5, #1
lsl r0, r0, #0x19
lsr r0, r0, #0x18
str r0, [sp, #8]
ldr r0, [sp, #0x1c]
mov r2, #0
lsl r0, r0, #0x10
str r2, [sp, #0xc]
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r0, [r7]
add r1, r4, #0
mov r3, #8
bl FUN_02019064
_022304E6:
add r0, r4, #0
mov r1, #1
mov r2, #0x1f
mov r3, #3
bl FUN_0200CCA4
ldr r0, [sp, #0x18]
add r1, sp, #0x20
str r0, [sp]
ldr r0, [sp, #0x14]
add r2, r5, #1
add r3, r4, #0
bl MOD83_022303B0
add sp, #0x40
pop {r3, r4, r5, r6, r7, pc}
nop
_02230508: .word 0x0223AD98
thumb_func_end MOD83_02230464
thumb_func_start MOD83_0223050C
MOD83_0223050C: ; 0x0223050C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r1, #0
add r7, r2, #0
bl FUN_02006278
add r4, r0, #0
ldr r2, _0223059C ; =0x00000172
mov r0, #1
mov r1, #0x1a
mov r3, #0x56
bl FUN_0200A86C
str r0, [r4, #0x10]
mov r0, #0x56
bl FUN_0200AA80
str r0, [r4, #0xc]
mov r0, #1
mov r1, #6
bl FUN_02002E4C
add r1, r0, #0
add r0, r5, #0
bl FUN_02019620
ldr r6, [r4, #0x14]
cmp r6, #0
bne _02230554
ldr r0, [r4, #0xc]
ldr r1, [r4, #0x10]
add r2, r7, #0
mov r3, #0x56
bl FUN_0200A9C4
add r6, r0, #0
_02230554:
mov r3, #0
str r3, [sp]
ldr r0, [r4, #0x68]
mov r1, #1
str r0, [sp, #4]
ldr r0, _022305A0 ; =0x0001020F
add r2, r6, #0
str r0, [sp, #8]
str r3, [sp, #0xc]
add r0, r5, #0
bl FUN_0201BDE0
str r0, [r4, #0x6c]
ldr r0, [r4, #0x14]
cmp r0, #0
bne _0223057A
add r0, r6, #0
bl FUN_02021A20
_0223057A:
add r0, r5, #0
mov r1, #0
mov r2, #1
mov r3, #2
bl FUN_0200D0BC
ldr r0, [r4, #0x10]
bl FUN_0200A8B8
ldr r0, [r4, #0xc]
bl FUN_0200AB18
mov r0, #0xff
str r0, [r4, #0x68]
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_0223059C: .word 0x00000172
_022305A0: .word 0x0001020F
thumb_func_end MOD83_0223050C
thumb_func_start MOD83_022305A4
MOD83_022305A4: ; 0x022305A4
push {r4, r5, r6, lr}
sub sp, #0x10
add r5, r1, #0
add r6, r2, #0
bl FUN_02006278
mov r0, #0x25
mov r1, #0x56
bl FUN_020219F4
add r1, r6, #0
mov r2, #0x24
add r4, r0, #0
bl FUN_02021E8C
mov r0, #0
mov r1, #6
bl FUN_02002E4C
add r1, r0, #0
add r0, r5, #0
bl FUN_02019620
mov r1, #0
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _02230600 ; =0x0001020F
add r2, r4, #0
str r0, [sp, #8]
add r0, r5, #0
add r3, r1, #0
str r1, [sp, #0xc]
bl FUN_0201BDE0
add r0, r5, #0
mov r1, #0
mov r2, #0x1f
mov r3, #3
bl FUN_0200CCA4
add r0, r4, #0
bl FUN_02021A20
add sp, #0x10
pop {r4, r5, r6, pc}
.align 2, 0
_02230600: .word 0x0001020F
thumb_func_end MOD83_022305A4
thumb_func_start MOD83_02230604
MOD83_02230604: ; 0x02230604
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r1, #0
add r6, r2, #0
bl FUN_02006278
ldr r0, [r0, #0x78]
bl FUN_02001204
add r4, r0, #0
mov r0, #1
mvn r0, r0
cmp r4, r0
beq _02230628
add r0, r0, #1
cmp r4, r0
beq _0223065E
b _02230642
_02230628:
ldr r0, _02230660 ; =0x000005DC
bl FUN_020054C8
cmp r6, #0
beq _0223065E
add r0, r7, #0
blx r6
mov r1, #0
mvn r1, r1
cmp r0, r1
beq _0223065E
str r0, [r5]
pop {r3, r4, r5, r6, r7, pc}
_02230642:
ldr r0, _02230660 ; =0x000005DC
bl FUN_020054C8
cmp r4, #0
beq _0223065E
ldr r0, _02230664 ; =0x0223B888
str r4, [r0, #0xc]
add r0, r7, #0
blx r4
mov r1, #0
mvn r1, r1
cmp r0, r1
beq _0223065E
str r0, [r5]
_0223065E:
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_02230660: .word 0x000005DC
_02230664: .word 0x0223B888
thumb_func_end MOD83_02230604
thumb_func_start MOD83_02230668
MOD83_02230668: ; 0x02230668
push {r4, r5, lr}
sub sp, #0x14
add r5, r0, #0
add r4, r1, #0
bl FUN_0201BD5C
mov r0, #0
add r1, r0, #0
mov r2, #0x56
bl FUN_02002ED0
mov r0, #0
mov r1, #0x20
mov r2, #0x56
bl FUN_02002ED0
ldr r0, [r4, #8]
bl FUN_02025084
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x56
str r0, [sp, #4]
ldr r0, [r4]
mov r1, #0
mov r2, #1
mov r3, #2
bl FUN_0200CD68
mov r0, #1
str r0, [sp]
mov r0, #0x56
str r0, [sp, #4]
ldr r0, [r4]
mov r1, #0
mov r2, #0x1f
mov r3, #3
bl FUN_0200CB00
mov r0, #5
ldr r1, _02230710 ; =0x00007D8C
lsl r0, r0, #0x18
strh r1, [r0]
add r0, r4, #0
add r0, #0x18
bl FUN_02019048
cmp r0, #0
bne _022306EC
mov r0, #0x13
str r0, [sp]
mov r0, #0x1b
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r2, #0
add r1, r4, #0
str r2, [sp, #0xc]
mov r0, #0x28
str r0, [sp, #0x10]
ldr r0, [r4]
add r1, #0x18
mov r3, #2
bl FUN_02019064
_022306EC:
add r1, r4, #0
add r0, r5, #0
add r1, #0x18
mov r2, #0
bl MOD83_0223050C
add r0, r5, #0
mov r1, #0xc4
mov r2, #0
bl MOD83_02230464
ldr r0, [r4]
bl MOD83_02230330
mov r0, #1
add sp, #0x14
pop {r4, r5, pc}
nop
_02230710: .word 0x00007D8C
thumb_func_end MOD83_02230668
thumb_func_start MOD83_02230714
MOD83_02230714: ; 0x02230714
push {r4, r5, r6, lr}
add r6, r0, #0
add r5, r1, #0
bl FUN_02006278
add r4, r0, #0
ldr r1, _022307A4 ; =0x000015DC
add r0, r6, #0
add r1, r4, r1
bl MOD83_02239F34
cmp r0, #4
bhi _022307A2
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0223073A: ; jump table
.short _022307A2 - _0223073A - 2 ; case 0
.short _02230744 - _0223073A - 2 ; case 1
.short _02230768 - _0223073A - 2 ; case 2
.short _02230768 - _0223073A - 2 ; case 3
.short _02230776 - _0223073A - 2 ; case 4
_02230744:
ldr r1, _022307A8 ; =0x000015FC
add r0, r4, #0
mov r2, #0xea
add r0, #0x8c
add r1, r4, r1
lsl r2, r2, #2
bl memcpy
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
mov r0, #0x1b
add r4, #0x84
str r0, [r4]
mov r0, #0x13
str r0, [r5]
pop {r4, r5, r6, pc}
_02230768:
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
mov r0, #0x11
str r0, [r5]
pop {r4, r5, r6, pc}
_02230776:
ldr r0, _022307AC ; =0x00002624
add r0, r4, r0
bl FUN_02019570
ldr r0, _022307AC ; =0x00002624
add r0, r4, r0
bl FUN_02019178
ldr r0, [r4]
mov r1, #0
bl FUN_02018744
ldr r0, _022307B0 ; =0x000005DC
bl FUN_020054C8
add r0, r6, #0
mov r1, #0xc4
mov r2, #0
bl MOD83_02230464
mov r0, #3
str r0, [r5]
_022307A2:
pop {r4, r5, r6, pc}
.align 2, 0
_022307A4: .word 0x000015DC
_022307A8: .word 0x000015FC
_022307AC: .word 0x00002624
_022307B0: .word 0x000005DC
thumb_func_end MOD83_02230714
thumb_func_start MOD83_022307B4
MOD83_022307B4: ; 0x022307B4
push {r3, r4, r5, r6, lr}
sub sp, #0x5c
add r5, r0, #0
ldr r0, _0223083C ; =0x00002610
ldr r4, [r5, r0]
mov r0, #0
mvn r0, r0
cmp r4, r0
bne _022307C8
mov r4, #0xb
_022307C8:
mov r0, #0x10
mov r1, #0
bl FUN_0201E6E4
ldr r0, [r5]
mov r1, #0
bl FUN_02018744
mov r0, #0x56
bl FUN_0200AA80
mov r1, #2
str r1, [sp]
mov r1, #1
str r1, [sp, #4]
ldr r2, _02230840 ; =0x00002614
mov r1, #0
ldr r2, [r5, r2]
mov r3, #5
add r6, r0, #0
bl FUN_0200AD38
mov r0, #0x1f
ldr r1, _02230844 ; =0x00002624
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
ldr r3, _02230848 ; =0x00000265
add r0, sp, #8
add r1, r5, r1
mov r2, #1
bl MOD83_022388E4
add r0, sp, #8
mov r1, #0x18
mov r2, #0x10
mov r3, #0x64
bl MOD83_02238934
add r0, sp, #8
mov r1, #0
mov r2, #1
bl MOD83_0223893C
str r6, [sp, #0x1c]
str r4, [sp]
mov r2, #4
ldr r0, [r5]
add r1, sp, #8
add r3, r2, #0
bl MOD83_02238A38
add r0, r6, #0
bl FUN_0200AB18
add sp, #0x5c
pop {r3, r4, r5, r6, pc}
nop
_0223083C: .word 0x00002610
_02230840: .word 0x00002614
_02230844: .word 0x00002624
_02230848: .word 0x00000265
thumb_func_end MOD83_022307B4
thumb_func_start MOD83_0223084C
MOD83_0223084C: ; 0x0223084C
push {r3, r4, r5, lr}
add r5, r0, #0
bl FUN_02006278
add r1, r0, #0
add r0, #0x80
ldr r0, [r0]
cmp r0, #3
bne _02230862
mov r4, #0x15
b _0223088C
_02230862:
cmp r0, #4
bne _0223086A
mov r4, #0x19
b _0223088C
_0223086A:
cmp r0, #2
bne _02230872
mov r4, #0x16
b _0223088C
_02230872:
cmp r0, #1
bne _0223087A
mov r4, #0x1b
b _0223088C
_0223087A:
cmp r0, #5
bne _0223088C
add r0, r5, #0
add r1, #0x18
mov r2, #9
mov r3, #0x33
bl MOD83_0223089C
pop {r3, r4, r5, pc}
_0223088C:
add r0, r5, #0
add r1, #0x18
add r2, r4, #0
mov r3, #0x32
bl MOD83_0223089C
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end MOD83_0223084C
thumb_func_start MOD83_0223089C
MOD83_0223089C: ; 0x0223089C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
str r0, [sp]
add r6, r1, #0
add r5, r2, #0
str r3, [sp, #4]
bl FUN_02006278
add r4, r0, #0
cmp r6, #0
beq _022308F8
cmp r5, #0
beq _022308F8
ldr r2, _02230920 ; =0x00000172
mov r0, #1
mov r1, #0x1a
mov r3, #0x56
bl FUN_0200A86C
add r7, r0, #0
mov r0, #0x56
bl FUN_0200AA80
add r1, r7, #0
add r2, r5, #0
mov r3, #0x56
str r0, [sp, #8]
bl FUN_0200A9C4
str r0, [r4, #0x14]
mov r0, #1
str r0, [r4, #0x68]
ldr r0, [sp]
add r1, r6, #0
add r2, r5, #0
bl MOD83_0223050C
ldr r0, [sp, #4]
str r0, [r4, #0x74]
ldr r0, [sp, #8]
bl FUN_0200AB18
add r0, r7, #0
bl FUN_0200A8B8
b _02230918
_022308F8:
ldr r0, [r4, #0x6c]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl FUN_0201BD70
cmp r0, #0
bne _02230918
ldr r0, [r4, #0x14]
bl FUN_02021A20
mov r0, #0
str r0, [r4, #0x14]
str r0, [r4, #0x68]
add sp, #0xc
ldr r0, [r4, #0x74]
pop {r4, r5, r6, r7, pc}
_02230918:
mov r0, #0x31
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
_02230920: .word 0x00000172
thumb_func_end MOD83_0223089C
thumb_func_start MOD83_02230924
MOD83_02230924: ; 0x02230924
push {r3, lr}
ldr r1, _02230950 ; =0x000015D4
ldr r0, [r0, r1]
cmp r0, #4
bhi _0223094C
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0223093A: ; jump table
.short _0223094C - _0223093A - 2 ; case 0
.short _02230944 - _0223093A - 2 ; case 1
.short _0223094C - _0223093A - 2 ; case 2
.short _0223094C - _0223093A - 2 ; case 3
.short _0223094C - _0223093A - 2 ; case 4
_02230944:
bl MOD83_0222F9DC
bl FUN_02033ED0
_0223094C:
pop {r3, pc}
nop
_02230950: .word 0x000015D4
thumb_func_end MOD83_02230924
thumb_func_start MOD83_02230954
MOD83_02230954: ; 0x02230954
push {r3, r4, r5, lr}
add r5, r0, #0
bl MOD83_02231370
mov r0, #3
mov r1, #0x56
lsl r2, r0, #0x10
bl FUN_0201681C
ldr r1, _022309FC ; =0x00002998
add r0, r5, #0
mov r2, #0x56
bl FUN_02006268
ldr r2, _022309FC ; =0x00002998
mov r1, #0
add r4, r0, #0
bl memset
mov r0, #0x56
bl FUN_02016B94
str r0, [r4]
bl FUN_0201E6D8
bl FUN_0201E740
bl MOD83_022331C0
ldr r0, [r4]
bl MOD83_02230258
mov r0, #0
add r1, r0, #0
bl FUN_0200E3A0
mov r0, #1
mov r1, #0
bl FUN_0200E3A0
ldr r1, _02230A00 ; =0x00000496
mov r0, #0xa
mov r2, #1
bl FUN_0200433C
mov r0, #0x56
bl MOD83_022385FC
bl MOD83_02238700
cmp r0, #0
beq _022309D0
ldr r0, _02230A04 ; =0x000015D4
mov r1, #2
str r1, [r4, r0]
ldr r0, _02230A08 ; =gGameVersion
ldrb r0, [r0]
bl FUN_02016438
mov r0, #1
bl MOD83_02239450
_022309D0:
ldr r0, _02230A0C ; =0x000005C8
mov r1, #0x1d
str r1, [r4, r0]
add r0, r5, #0
bl FUN_0200628C
ldr r0, [r0, #8]
str r0, [r4, #4]
bl LoadPlayerDataAddress
str r0, [r4, #8]
mov r0, #0xff
mov r2, #3
str r0, [r4, #0x68]
mov r0, #0
mov r1, #0x5b
lsl r2, r2, #8
bl FUN_0201681C
mov r0, #1
pop {r3, r4, r5, pc}
nop
_022309FC: .word 0x00002998
_02230A00: .word 0x00000496
_02230A04: .word 0x000015D4
_02230A08: .word gGameVersion
_02230A0C: .word 0x000005C8
thumb_func_end MOD83_02230954
thumb_func_start MOD83_02230A10
MOD83_02230A10: ; 0x02230A10
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r6, r0, #0
add r5, r1, #0
bl FUN_02006278
add r4, r0, #0
bl CTRDG_IsExisting
ldr r0, _02230D5C ; =0x000005C8
ldr r0, [r4, r0]
cmp r0, #0x1d
beq _02230A30
add r0, r4, #0
bl MOD83_022313E4
_02230A30:
ldr r3, [r5]
cmp r3, #0x38
bls _02230A3A
bl _02231334
_02230A3A:
add r0, r3, r3
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02230A46: ; jump table
.short _02230AB8 - _02230A46 - 2 ; case 0
.short _02230ACA - _02230A46 - 2 ; case 1
.short _02230AE8 - _02230A46 - 2 ; case 2
.short _02230AF2 - _02230A46 - 2 ; case 3
.short _02230B00 - _02230A46 - 2 ; case 4
.short _02230B0E - _02230A46 - 2 ; case 5
.short _02231334 - _02230A46 - 2 ; case 6
.short _02230CA0 - _02230A46 - 2 ; case 7
.short _02230D50 - _02230A46 - 2 ; case 8
.short _02230D8C - _02230A46 - 2 ; case 9
.short _02230E4C - _02230A46 - 2 ; case 10
.short _02230E9A - _02230A46 - 2 ; case 11
.short _02230EBC - _02230A46 - 2 ; case 12
.short _02230F4C - _02230A46 - 2 ; case 13
.short _02230FA2 - _02230A46 - 2 ; case 14
.short _02230FCE - _02230A46 - 2 ; case 15
.short _0223100E - _02230A46 - 2 ; case 16
.short _02231030 - _02230A46 - 2 ; case 17
.short _0223105A - _02230A46 - 2 ; case 18
.short _0223107A - _02230A46 - 2 ; case 19
.short _0223110E - _02230A46 - 2 ; case 20
.short _0223111A - _02230A46 - 2 ; case 21
.short _0223113C - _02230A46 - 2 ; case 22
.short _02231172 - _02230A46 - 2 ; case 23
.short _0223118C - _02230A46 - 2 ; case 24
.short _02231204 - _02230A46 - 2 ; case 25
.short _02231334 - _02230A46 - 2 ; case 26
.short _02230B1C - _02230A46 - 2 ; case 27
.short _02231334 - _02230A46 - 2 ; case 28
.short _02231334 - _02230A46 - 2 ; case 29
.short _02231334 - _02230A46 - 2 ; case 30
.short _02230BD6 - _02230A46 - 2 ; case 31
.short _02230B28 - _02230A46 - 2 ; case 32
.short _02230BE8 - _02230A46 - 2 ; case 33
.short _02230C0A - _02230A46 - 2 ; case 34
.short _02230C7C - _02230A46 - 2 ; case 35
.short _02231334 - _02230A46 - 2 ; case 36
.short _02231334 - _02230A46 - 2 ; case 37
.short _02231334 - _02230A46 - 2 ; case 38
.short _02231334 - _02230A46 - 2 ; case 39
.short _02231334 - _02230A46 - 2 ; case 40
.short _02231334 - _02230A46 - 2 ; case 41
.short _02231334 - _02230A46 - 2 ; case 42
.short _02231334 - _02230A46 - 2 ; case 43
.short _02231334 - _02230A46 - 2 ; case 44
.short _02231334 - _02230A46 - 2 ; case 45
.short _02231334 - _02230A46 - 2 ; case 46
.short _02231334 - _02230A46 - 2 ; case 47
.short _02231220 - _02230A46 - 2 ; case 48
.short _02231244 - _02230A46 - 2 ; case 49
.short _02231252 - _02230A46 - 2 ; case 50
.short _0223126E - _02230A46 - 2 ; case 51
.short _02231284 - _02230A46 - 2 ; case 52
.short _02231298 - _02230A46 - 2 ; case 53
.short _022312AA - _02230A46 - 2 ; case 54
.short _022312EC - _02230A46 - 2 ; case 55
.short _0223132E - _02230A46 - 2 ; case 56
_02230AB8:
mov r0, #0x56
bl MOD83_02238770
ldr r0, _02230D60 ; =0x000015D8
str r5, [r4, r0]
mov r0, #1
str r0, [r5]
bl _02231334
_02230ACA:
add r0, r6, #0
add r1, r4, #0
bl MOD83_02230668
add r0, r4, #0
bl MOD83_0222FAE8
mov r0, #1
mov r1, #3
add r2, r5, #0
mov r3, #2
bl MOD83_0223886C
bl _02231334
_02230AE8:
add r0, r5, #0
bl MOD83_022388CC
bl _02231334
_02230AF2:
ldr r2, _02230D64 ; =MOD83_022301D4
add r0, r6, #0
add r1, r5, #0
bl MOD83_02230604
bl _02231334
_02230B00:
ldr r2, _02230D68 ; =MOD83_022300F8
add r0, r6, #0
add r1, r5, #0
bl MOD83_02230604
bl _02231334
_02230B0E:
ldr r2, _02230D6C ; =MOD83_0222FDE8
add r0, r6, #0
add r1, r5, #0
bl MOD83_02230604
bl _02231334
_02230B1C:
add r0, r6, #0
add r1, r5, #0
bl MOD83_02230714
bl _02231334
_02230B28:
add r0, r4, #0
bl MOD83_022314B4
ldr r0, _02230D70 ; =0x0223B888
ldr r0, [r0, #0x10]
cmp r0, #0x2c
bne _02230BC0
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
add r0, r6, #0
bl MOD83_0222FC40
add r1, r4, #0
ldr r0, [r4, #4]
add r1, #0x8c
bl MOD83_022332B4
add r1, r4, #0
add r1, #0x80
str r0, [r1]
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
cmp r0, #1
bne _02230B6C
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
mov r0, #0x30
str r0, [r5]
b _02230BC0
_02230B6C:
add r0, r4, #0
add r0, #0x58
bl FUN_02019048
cmp r0, #0
bne _02230B9A
mov r0, #2
str r0, [sp]
mov r0, #0x1a
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r2, #0
mov r0, #0x71
add r1, r4, #0
str r2, [sp, #0xc]
lsl r0, r0, #2
str r0, [sp, #0x10]
ldr r0, [r4]
add r1, #0x58
mov r3, #3
bl FUN_02019064
_02230B9A:
bl MOD83_02239DA0
add r1, r4, #0
add r2, r0, #0
add r0, r6, #0
add r1, #0x58
bl MOD83_022305A4
add r1, r4, #0
add r0, r6, #0
add r1, #0x18
mov r2, #4
bl MOD83_0223050C
add r0, r6, #0
bl MOD83_0222FF80
mov r0, #0x1f
str r0, [r5]
_02230BC0:
ldr r0, _02230D70 ; =0x0223B888
ldr r0, [r0, #0x10]
sub r0, #0x2d
cmp r0, #1
bls _02230BCC
b _02231334
_02230BCC:
bl MOD83_02231494
mov r0, #0x11
str r0, [r5]
b _02231334
_02230BD6:
ldr r2, _02230D74 ; =MOD83_02230084
add r0, r6, #0
add r1, r5, #0
bl MOD83_02230604
add r0, r4, #0
bl MOD83_022314B4
b _02231334
_02230BE8:
add r0, r6, #0
bl MOD83_0222FC40
add r1, r0, #0
ldr r0, [r4]
bl MOD83_022391EC
add r0, r4, #0
mov r1, #1
bl MOD83_0222FA0C
add r0, r6, #0
bl MOD83_0222FCE4
mov r0, #0x22
str r0, [r5]
b _02231334
_02230C0A:
bl MOD83_02239574
cmp r0, #4
bne _02230C16
bl MOD83_02239544
_02230C16:
bl MOD83_02239574
cmp r0, #2
bne _02230C48
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl MOD83_0222FB0C
ldr r0, _02230D78 ; =0x00000624
bl FUN_020054C8
add r1, r4, #0
add r0, r6, #0
add r1, #0x18
mov r2, #8
mov r3, #0x36
bl MOD83_0223089C
str r0, [r5]
b _02231334
_02230C48:
bl MOD83_02239574
cmp r0, #3
bne _02230D38
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl MOD83_0222FB0C
add r0, r4, #0
add r0, #0xda
ldrb r1, [r0]
mov r0, #4
mov r2, #0x1a
bic r1, r0
add r0, r4, #0
add r0, #0xda
strb r1, [r0]
add r1, r4, #0
add r0, r6, #0
add r1, #0x18
mov r3, #0x36
bl MOD83_0223089C
str r0, [r5]
b _02231334
_02230C7C:
add r0, r4, #0
bl MOD83_022314B4
ldr r0, _02230D70 ; =0x0223B888
ldr r1, [r0, #0x10]
add r0, r1, #0
sub r0, #0x2c
cmp r0, #2
bhi _02230D38
cmp r1, #0x2e
bne _02230C96
bl MOD83_02231494
_02230C96:
add r0, r6, #0
bl MOD83_0222FFD8
str r0, [r5]
b _02231334
_02230CA0:
add r0, r4, #0
bl MOD83_0222F950
ldr r1, _02230D7C ; =0x00000438
str r0, [r4, r1]
mov r0, #0
ldr r1, [r4, r1]
mvn r0, r0
cmp r1, r0
beq _02230D20
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
add r1, r4, #0
ldr r0, [r4, #4]
add r1, #0x8c
bl MOD83_022332B4
add r1, r4, #0
add r1, #0x80
str r0, [r1]
add r0, r4, #0
add r0, #0x58
bl FUN_02019048
cmp r0, #0
bne _02230CFA
mov r0, #2
str r0, [sp]
mov r0, #0x1a
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r2, #0
mov r0, #0x71
add r1, r4, #0
str r2, [sp, #0xc]
lsl r0, r0, #2
str r0, [sp, #0x10]
ldr r0, [r4]
add r1, #0x58
mov r3, #3
bl FUN_02019064
_02230CFA:
add r1, r4, #0
add r2, r4, #0
add r0, r6, #0
add r1, #0x58
add r2, #0x8c
bl MOD83_022305A4
add r1, r4, #0
add r0, r6, #0
add r1, #0x18
mov r2, #4
bl MOD83_0223050C
add r0, r6, #0
mov r1, #0
bl MOD83_0222FD84
mov r0, #8
str r0, [r5]
_02230D20:
ldr r0, _02230D80 ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #2
tst r0, r1
bne _02230D3A
ldr r0, _02230D84 ; =0x00000434
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0
beq _02230D3A
_02230D38:
b _02231334
_02230D3A:
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
bl MOD83_0222F9DC
bl FUN_02033ED0
mov r0, #0x11
str r0, [r5]
b _02231334
_02230D50:
ldr r2, _02230D88 ; =MOD83_0222FFD8
add r0, r6, #0
add r1, r5, #0
bl MOD83_02230604
b _02231334
.align 2, 0
_02230D5C: .word 0x000005C8
_02230D60: .word 0x000015D8
_02230D64: .word MOD83_022301D4
_02230D68: .word MOD83_022300F8
_02230D6C: .word MOD83_0222FDE8
_02230D70: .word 0x0223B888
_02230D74: .word MOD83_02230084
_02230D78: .word 0x00000624
_02230D7C: .word 0x00000438
_02230D80: .word 0x021C48B8
_02230D84: .word 0x00000434
_02230D88: .word MOD83_0222FFD8
_02230D8C:
bl FUN_02031190
add r7, r0, #0
beq _02230DE4
lsl r0, r7, #0x10
lsr r0, r0, #0x10
bl FUN_02030E7C
cmp r0, #0
beq _02230DE4
mov r0, #0xab
bl FUN_020315D8
cmp r0, #1
bne _02230E14
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
mov r0, #1
add r1, r0, #0
bl FUN_020334E8
add r1, r4, #0
add r0, r6, #0
add r1, #0x18
mov r2, #7
bl MOD83_0223050C
add r0, r4, #0
mov r1, #1
bl MOD83_0222FB0C
add r0, r4, #0
mov r1, #1
bl MOD83_0222FA0C
mov r1, #0x96
ldr r0, _02231120 ; =0x00000434
lsl r1, r1, #2
str r1, [r4, r0]
mov r0, #0xa
str r0, [r5]
b _02230E14
_02230DE4:
cmp r7, #0
beq _02230E14
lsl r0, r7, #0x10
lsr r0, r0, #0x10
bl FUN_02030E7C
cmp r0, #0
bne _02230E14
bl MOD83_0222F9DC
bl FUN_02033ED0
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl MOD83_0222FB0C
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
mov r0, #0x10
str r0, [r5]
b _02231334
_02230E14:
ldr r0, _02231124 ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #2
tst r0, r1
bne _02230E2C
ldr r0, _02231120 ; =0x00000434
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0
bne _02230F1C
_02230E2C:
bl MOD83_0222F9DC
bl FUN_02033ED0
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl MOD83_0222FB0C
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
mov r0, #0x11
str r0, [r5]
b _02231334
_02230E4C:
bl MOD83_0222F9A0
cmp r0, #0
beq _02230E58
mov r0, #0xb
str r0, [r5]
_02230E58:
bl FUN_02031190
ldr r1, _02231124 ; =0x021C48B8
ldr r2, [r1, #0x48]
mov r1, #2
tst r1, r2
bne _02230E84
ldr r1, _02231120 ; =0x00000434
ldr r2, [r4, r1]
sub r2, r2, #1
str r2, [r4, r1]
ldr r1, [r4, r1]
cmp r1, #0
beq _02230E84
cmp r0, #0
beq _02230F1C
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl FUN_02030E7C
cmp r0, #0
bne _02230F1C
_02230E84:
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
bl MOD83_0222F9DC
bl FUN_02033ED0
mov r0, #0x11
str r0, [r5]
b _02231334
_02230E9A:
add r0, r6, #0
bl MOD83_0222FC40
add r1, r0, #0
ldr r0, [r4]
bl MOD83_022391EC
mov r0, #0
add r1, r0, #0
bl FUN_020334E8
add r0, r6, #0
bl MOD83_0222FCE4
mov r0, #0xc
str r0, [r5]
b _02231334
_02230EBC:
bl FUN_02031190
cmp r0, #0
beq _02230EFA
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl FUN_02030E7C
cmp r0, #0
bne _02230EFA
bl MOD83_0222F9DC
ldr r0, _02231128 ; =0x00002990
mov r1, #1
str r1, [r4, r0]
bl MOD83_0223955C
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
bl FUN_02033ED0
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl MOD83_0222FB0C
mov r0, #0xe
str r0, [r5]
b _02231334
_02230EFA:
bl MOD83_02239574
cmp r0, #4
bne _02230F14
mov r0, #0x93
bl FUN_02031588
mov r0, #0xd
str r0, [r5]
ldr r0, _0223112C ; =0x0000043C
mov r1, #0x78
str r1, [r4, r0]
b _02231334
_02230F14:
bl MOD83_02239574
cmp r0, #3
beq _02230F1E
_02230F1C:
b _02231334
_02230F1E:
bl MOD83_0223955C
add r0, r4, #0
add r0, #0xda
ldrb r1, [r0]
mov r0, #4
bic r1, r0
add r0, r4, #0
add r0, #0xda
strb r1, [r0]
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
add r1, r4, #0
add r0, r6, #0
add r1, #0x18
mov r2, #0x1a
mov r3, #0x36
bl MOD83_0223089C
str r0, [r5]
b _02231334
_02230F4C:
mov r0, #0x93
bl FUN_020315D8
cmp r0, #1
bne _02230F66
bl MOD83_02239544
ldr r0, _0223112C ; =0x0000043C
mov r1, #0xa
str r1, [r4, r0]
mov r0, #0xf
str r0, [r5]
b _02231334
_02230F66:
ldr r0, _0223112C ; =0x0000043C
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0
bne _02231062
bl MOD83_0223955C
add r0, r4, #0
add r0, #0xda
ldrb r1, [r0]
mov r0, #4
bic r1, r0
add r0, r4, #0
add r0, #0xda
strb r1, [r0]
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
add r1, r4, #0
add r0, r6, #0
add r1, #0x18
mov r2, #0x1a
mov r3, #0x36
bl MOD83_0223089C
str r0, [r5]
b _02231334
_02230FA2:
add r0, r4, #0
add r0, #0x58
mov r1, #0
bl MOD83_0222FB44
add r0, r4, #0
add r0, #0xda
ldrb r1, [r0]
mov r0, #4
mov r2, #0x1c
bic r1, r0
add r0, r4, #0
add r0, #0xda
strb r1, [r0]
add r1, r4, #0
add r0, r6, #0
add r1, #0x18
mov r3, #0x36
bl MOD83_0223089C
str r0, [r5]
b _02231334
_02230FCE:
ldr r0, _0223112C ; =0x0000043C
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0
bne _02231062
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
bl MOD83_0222F9DC
bl FUN_02033ED0
ldr r0, _02231130 ; =0x00000624
bl FUN_020054C8
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl MOD83_0222FB0C
add r1, r4, #0
add r0, r6, #0
add r1, #0x18
mov r2, #8
mov r3, #0x36
bl MOD83_0223089C
str r0, [r5]
b _02231334
_0223100E:
ldr r0, _02231134 ; =0x000005DC
bl FUN_020054C8
add r1, r4, #0
add r0, r6, #0
add r1, #0x18
mov r2, #0x18
bl MOD83_0223050C
add r0, r4, #0
add r0, #0x58
mov r1, #0
bl MOD83_0222FB44
mov r0, #0x12
str r0, [r5]
b _02231334
_02231030:
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
ldr r0, _02231134 ; =0x000005DC
bl FUN_020054C8
add r1, r4, #0
add r0, r6, #0
add r1, #0x18
mov r2, #0x17
bl MOD83_0223050C
add r0, r4, #0
add r0, #0x58
mov r1, #0
bl MOD83_0222FB44
mov r0, #0x12
str r0, [r5]
b _02231334
_0223105A:
ldr r0, _02231124 ; =0x021C48B8
ldr r0, [r0, #0x48]
cmp r0, #0
bne _02231064
_02231062:
b _02231334
_02231064:
ldr r0, _02231134 ; =0x000005DC
bl FUN_020054C8
add r0, r6, #0
mov r1, #0xc4
mov r2, #0
bl MOD83_02230464
mov r0, #3
str r0, [r5]
b _02231334
_0223107A:
add r0, r4, #0
add r0, #0x84
ldr r0, [r0]
cmp r0, #0x1b
beq _02231090
add r0, r4, #0
mov r1, #0xea
add r0, #0x8c
lsl r1, r1, #2
bl MOD83_02238728
_02231090:
add r1, r4, #0
ldr r0, [r4, #4]
add r1, #0x8c
bl MOD83_022332B4
add r1, r4, #0
add r1, #0x80
str r0, [r1]
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
cmp r0, #1
bne _022310B8
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
mov r0, #0x30
str r0, [r5]
b _02231334
_022310B8:
add r0, r4, #0
add r0, #0x58
bl FUN_02019048
cmp r0, #0
bne _022310E6
mov r0, #2
str r0, [sp]
mov r0, #0x1a
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r2, #0
mov r0, #0x71
add r1, r4, #0
str r2, [sp, #0xc]
lsl r0, r0, #2
str r0, [sp, #0x10]
ldr r0, [r4]
add r1, #0x58
mov r3, #3
bl FUN_02019064
_022310E6:
add r1, r4, #0
add r2, r4, #0
add r0, r6, #0
add r1, #0x58
add r2, #0x8c
bl MOD83_022305A4
add r1, r4, #0
add r0, r6, #0
add r1, #0x18
mov r2, #4
bl MOD83_0223050C
add r0, r6, #0
mov r1, #0
bl MOD83_0222FD84
mov r0, #0x14
str r0, [r5]
b _02231334
_0223110E:
ldr r2, _02231138 ; =MOD83_0222FFD8
add r0, r6, #0
add r1, r5, #0
bl MOD83_02230604
b _02231334
_0223111A:
mov r0, #0x16
str r0, [r5]
b _02231334
.align 2, 0
_02231120: .word 0x00000434
_02231124: .word 0x021C48B8
_02231128: .word 0x00002990
_0223112C: .word 0x0000043C
_02231130: .word 0x00000624
_02231134: .word 0x000005DC
_02231138: .word MOD83_0222FFD8
_0223113C:
add r0, r6, #0
bl MOD83_0222FC40
add r1, r0, #0
ldr r0, [r4]
bl MOD83_022391EC
add r1, r4, #0
add r0, r6, #0
add r1, #0x18
mov r2, #7
bl MOD83_0223050C
add r0, r4, #0
mov r1, #1
bl MOD83_0222FB0C
add r0, r4, #0
mov r1, #1
bl MOD83_0222FA0C
ldr r0, _0223134C ; =0x0000043C
mov r1, #0x3c
str r1, [r4, r0]
mov r0, #0x17
str r0, [r5]
b _02231334
_02231172:
ldr r0, _0223134C ; =0x0000043C
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0
bne _02231212
add r0, r6, #0
bl MOD83_0222FCE4
mov r0, #0x18
str r0, [r5]
b _02231334
_0223118C:
bl MOD83_02239574
cmp r0, #4
bne _02231198
bl MOD83_02239544
_02231198:
bl MOD83_02239574
cmp r0, #2
bne _022311D0
ldr r0, _0223134C ; =0x0000043C
mov r1, #1
str r1, [r4, r0]
add r0, r4, #0
mov r1, #0
bl MOD83_0222FA0C
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl MOD83_0222FB0C
ldr r0, _02231350 ; =0x00000624
bl FUN_020054C8
add r1, r4, #0
add r0, r6, #0
add r1, #0x18
mov r2, #8
mov r3, #0x19
bl MOD83_0223089C
str r0, [r5]
b _02231334
_022311D0:
bl MOD83_02239574
cmp r0, #3
bne _02231212
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl MOD83_0222FB0C
add r0, r4, #0
add r0, #0xda
ldrb r1, [r0]
mov r0, #4
mov r2, #0x1a
bic r1, r0
add r0, r4, #0
add r0, #0xda
strb r1, [r0]
add r1, r4, #0
add r0, r6, #0
add r1, #0x18
mov r3, #0x36
bl MOD83_0223089C
str r0, [r5]
b _02231334
_02231204:
ldr r0, _0223134C ; =0x0000043C
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
cmp r1, #0
beq _02231214
_02231212:
b _02231334
_02231214:
mov r1, #1
lsl r1, r1, #0x10
str r1, [r4, r0]
mov r0, #0x36
str r0, [r5]
b _02231334
_02231220:
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
cmp r0, #5
beq _02231230
add r0, r4, #0
bl MOD83_02230924
_02231230:
add r0, r6, #0
bl MOD83_0223084C
str r0, [r5]
add r0, r4, #0
add r0, #0x48
mov r1, #0
bl MOD83_0222FB44
b _02231334
_02231244:
mov r1, #0
add r0, r6, #0
add r2, r1, #0
bl MOD83_0223089C
str r0, [r5]
b _02231334
_02231252:
ldr r0, _02231354 ; =0x021C48B8
ldr r0, [r0, #0x48]
cmp r0, #0
beq _02231334
add r0, r4, #0
add r0, #0x58
mov r1, #0
bl MOD83_0222FB44
add r0, r6, #0
bl MOD83_022300F8
str r0, [r5]
b _02231334
_0223126E:
add r0, r6, #0
mov r1, #1
bl MOD83_0222FD84
mov r0, #8
str r0, [r5]
add r0, r4, #0
mov r1, #0
add r0, #0x80
str r1, [r0]
b _02231334
_02231284:
add r0, r6, #0
bl MOD83_0222FA4C
mov r0, #0x11
mov r1, #0
lsl r0, r0, #6
str r1, [r4, r0]
add sp, #0x14
mov r0, #1
pop {r4, r5, r6, r7, pc}
_02231298:
add r0, r6, #0
bl MOD83_0222FA4C
mov r1, #0x11
mov r0, #1
lsl r1, r1, #6
add sp, #0x14
str r0, [r4, r1]
pop {r4, r5, r6, r7, pc}
_022312AA:
ldr r0, _02231354 ; =0x021C48B8
ldr r0, [r0, #0x48]
cmp r0, #0
beq _02231334
ldr r0, _02231358 ; =0x000005DC
bl FUN_020054C8
add r0, r4, #0
add r0, #0xda
ldrb r0, [r0]
lsl r0, r0, #0x1d
lsr r0, r0, #0x1f
cmp r0, #1
bne _022312D6
ldr r2, _0223135C ; =0x000015D8
mov r0, #0
ldr r2, [r4, r2]
mov r1, #0x37
mov r3, #2
bl MOD83_0223886C
b _02231334
_022312D6:
mov r0, #1
bl MOD83_02238860
ldr r2, _0223135C ; =0x000015D8
mov r0, #0
ldr r2, [r4, r2]
mov r1, #0x38
mov r3, #2
bl MOD83_0223886C
b _02231334
_022312EC:
ldr r0, [r4]
bl MOD83_022302B4
mov r0, #1
mov r1, #0
bl FUN_0201E74C
mov r0, #2
mov r1, #1
bl FUN_0201E74C
add r1, r4, #0
ldr r0, [r4]
add r1, #0xdc
mov r2, #0x56
bl MOD83_02233168
ldr r2, _0223135C ; =0x000015D8
mov r0, #1
ldr r2, [r4, r2]
mov r1, #0x36
mov r3, #2
bl MOD83_0223886C
add r0, r4, #0
add r0, #0xda
ldrb r1, [r0]
mov r0, #4
bic r1, r0
add r0, r4, #0
add r0, #0xda
strb r1, [r0]
b _02231334
_0223132E:
mov r0, #0
bl OS_ResetSystem
_02231334:
ldr r0, _02231360 ; =0x0000298C
ldr r1, [r4, r0]
cmp r1, #0
beq _02231340
add r0, r4, #0
blx r1
_02231340:
bl MOD83_02238D58
mov r0, #0
add sp, #0x14
pop {r4, r5, r6, r7, pc}
nop
_0223134C: .word 0x0000043C
_02231350: .word 0x00000624
_02231354: .word 0x021C48B8
_02231358: .word 0x000005DC
_0223135C: .word 0x000015D8
_02231360: .word 0x0000298C
thumb_func_end MOD83_02230A10
thumb_func_start MOD83_02231364
MOD83_02231364: ; 0x02231364
ldr r0, _0223136C ; =0x0223B888
ldr r0, [r0, #4]
bx lr
nop
_0223136C: .word 0x0223B888
thumb_func_end MOD83_02231364
thumb_func_start MOD83_02231370
MOD83_02231370: ; 0x02231370
ldr r1, _02231378 ; =0x0223B888
str r0, [r1, #4]
bx lr
nop
_02231378: .word 0x0223B888
thumb_func_end MOD83_02231370
thumb_func_start MOD83_0223137C
MOD83_0223137C: ; 0x0223137C
push {r3, r4, r5, lr}
add r5, r0, #0
bl FUN_02006278
add r4, r0, #0
mov r0, #0x11
lsl r0, r0, #6
ldr r0, [r4, r0]
cmp r0, #0
bne _0223139A
ldr r0, _022313D0 ; =SDK_OVERLAY_MODULE_63_ID
ldr r1, _022313D4 ; =0x021DBAB8
bl FUN_02000E7C
b _022313A6
_0223139A:
cmp r0, #1
bne _022313A6
ldr r0, _022313D8 ; =SDK_OVERLAY_MODULE_83_ID
ldr r1, _022313DC ; =0x0223A444
bl FUN_02000E7C
_022313A6:
mov r0, #0x5b
bl FUN_020168D0
add r0, r5, #0
bl FUN_0200627C
mov r0, #0x56
bl FUN_020168D0
ldr r0, _022313E0 ; =0x000015D4
ldr r0, [r4, r0]
cmp r0, #2
bne _022313C6
mov r0, #0
bl FUN_02016438
_022313C6:
mov r0, #0
bl MOD83_02239450
mov r0, #1
pop {r3, r4, r5, pc}
.align 2, 0
_022313D0: .word SDK_OVERLAY_MODULE_63_ID
_022313D4: .word 0x021DBAB8
_022313D8: .word SDK_OVERLAY_MODULE_83_ID
_022313DC: .word 0x0223A444
_022313E0: .word 0x000015D4
thumb_func_end MOD83_0223137C
thumb_func_start MOD83_022313E4
MOD83_022313E4: ; 0x022313E4
push {r4, lr}
add r4, r0, #0
ldr r0, _02231438 ; =0x000005C8
ldr r0, [r4, r0]
cmp r0, #0x1c
beq _022313FA
cmp r0, #0x1d
beq _02231436
cmp r0, #0x1e
beq _0223140E
pop {r4, pc}
_022313FA:
ldr r0, [r4, #4]
bl FUN_02032D44
ldr r0, _0223143C ; =0x000005CC
mov r1, #0x78
str r1, [r4, r0]
mov r1, #0x1e
sub r0, r0, #4
str r1, [r4, r0]
pop {r4, pc}
_0223140E:
bl FUN_02032D9C
mov r1, #1
tst r0, r1
beq _0223141E
mov r0, #0x5d
lsl r0, r0, #4
str r1, [r4, r0]
_0223141E:
ldr r0, _0223143C ; =0x000005CC
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0
bne _02231436
bl FUN_02032D80
ldr r0, _02231438 ; =0x000005C8
mov r1, #0x1d
str r1, [r4, r0]
_02231436:
pop {r4, pc}
.align 2, 0
_02231438: .word 0x000005C8
_0223143C: .word 0x000005CC
thumb_func_end MOD83_022313E4
thumb_func_start MOD83_02231440
MOD83_02231440: ; 0x02231440
cmp r0, #4
bhi _0223148C
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02231450: ; jump table
.short _0223145A - _02231450 - 2 ; case 0
.short _02231462 - _02231450 - 2 ; case 1
.short _0223146A - _02231450 - 2 ; case 2
.short _02231472 - _02231450 - 2 ; case 3
.short _02231486 - _02231450 - 2 ; case 4
_0223145A:
ldr r0, _02231490 ; =0x0223B888
mov r1, #0x27
str r1, [r0, #0x10]
bx lr
_02231462:
ldr r0, _02231490 ; =0x0223B888
mov r1, #0x28
str r1, [r0, #0x10]
bx lr
_0223146A:
ldr r0, _02231490 ; =0x0223B888
mov r1, #0x29
str r1, [r0, #0x10]
bx lr
_02231472:
ldr r0, _02231490 ; =0x0223B888
ldr r1, [r0, #0x10]
cmp r1, #0x29
bne _02231480
mov r1, #0x2b
str r1, [r0, #0x10]
bx lr
_02231480:
mov r1, #0x2e
str r1, [r0, #0x10]
bx lr
_02231486:
ldr r0, _02231490 ; =0x0223B888
mov r1, #0x2f
str r1, [r0, #0x10]
_0223148C:
bx lr
nop
_02231490: .word 0x0223B888
thumb_func_end MOD83_02231440
thumb_func_start MOD83_02231494
MOD83_02231494: ; 0x02231494
push {r3, lr}
bl FUN_0202E4F0
ldr r0, _022314B0 ; =0x0223B888
ldr r0, [r0, #8]
bl FreeToHeap
bl FUN_02033ED0
ldr r0, _022314B0 ; =0x0223B888
mov r1, #0
str r1, [r0, #8]
pop {r3, pc}
nop
_022314B0: .word 0x0223B888
thumb_func_end MOD83_02231494
thumb_func_start MOD83_022314B4
MOD83_022314B4: ; 0x022314B4
push {r4, lr}
add r4, r0, #0
ldr r0, _022315C0 ; =0x0223B888
ldr r0, [r0, #0x10]
cmp r0, #0x2b
bne _022314DA
bl MOD83_02231494
bl MOD83_02239CEC
cmp r0, #0
beq _022314D4
ldr r0, _022315C0 ; =0x0223B888
mov r1, #0x2c
str r1, [r0, #0x10]
b _022314DA
_022314D4:
ldr r0, _022315C0 ; =0x0223B888
mov r1, #0x2d
str r1, [r0, #0x10]
_022314DA:
ldr r0, _022315C0 ; =0x0223B888
ldr r0, [r0, #0x10]
cmp r0, #0x24
beq _022314F6
cmp r0, #0x25
beq _022314F6
cmp r0, #0x26
beq _022314F6
cmp r0, #0x27
beq _022314F6
cmp r0, #0x28
beq _022314F6
cmp r0, #0x2a
bne _02231502
_022314F6:
bl WM_GetLinkLevel
mov r1, #3
sub r0, r1, r0
bl FUN_02033EEC
_02231502:
ldr r1, _022315C0 ; =0x0223B888
ldr r0, [r1, #0x10]
sub r0, #0x24
cmp r0, #0xb
bhi _0223157C
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02231518: ; jump table
.short _02231530 - _02231518 - 2 ; case 0
.short _0223153C - _02231518 - 2 ; case 1
.short _0223157C - _02231518 - 2 ; case 2
.short _0223157C - _02231518 - 2 ; case 3
.short _02231572 - _02231518 - 2 ; case 4
.short _0223157C - _02231518 - 2 ; case 5
.short _0223157C - _02231518 - 2 ; case 6
.short _0223157C - _02231518 - 2 ; case 7
.short _0223157C - _02231518 - 2 ; case 8
.short _0223157C - _02231518 - 2 ; case 9
.short _0223157A - _02231518 - 2 ; case 10
.short _0223157C - _02231518 - 2 ; case 11
_02231530:
bl FUN_0202E49C
ldr r0, _022315C0 ; =0x0223B888
mov r1, #0x25
str r1, [r0, #0x10]
b _0223157C
_0223153C:
bl FUN_0202E4C8
cmp r0, #1
bne _0223157C
ldr r0, _022315C0 ; =0x0223B888
mov r1, #0
str r1, [r0]
bl MOD83_02239D98
add r1, r0, #0
mov r0, #0x56
bl AllocFromHeap
add r2, r0, #0
ldr r0, _022315C0 ; =0x0223B888
ldr r1, _022315C4 ; =MOD83_02231440
str r2, [r0, #8]
ldr r0, _022315C8 ; =0x000005D4
add r0, r4, r0
bl MOD83_02239A98
ldr r0, _022315C0 ; =0x0223B888
mov r1, #0x26
str r1, [r0, #0x10]
bl FUN_02033E74
b _0223157C
_02231572:
ldr r0, [r1]
add r0, r0, #1
str r0, [r1]
b _0223157C
_0223157A:
pop {r4, pc}
_0223157C:
ldr r0, _022315CC ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #2
tst r0, r1
beq _022315BC
ldr r0, _022315C0 ; =0x0223B888
ldr r0, [r0, #0x10]
sub r0, #0x27
cmp r0, #8
bhi _022315BC
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0223159C: ; jump table
.short _022315AE - _0223159C - 2 ; case 0
.short _022315AE - _0223159C - 2 ; case 1
.short _022315BC - _0223159C - 2 ; case 2
.short _022315BC - _0223159C - 2 ; case 3
.short _022315BC - _0223159C - 2 ; case 4
.short _022315BC - _0223159C - 2 ; case 5
.short _022315BC - _0223159C - 2 ; case 6
.short _022315BC - _0223159C - 2 ; case 7
.short _022315AE - _0223159C - 2 ; case 8
_022315AE:
bl MOD83_02239A14
cmp r0, #0
beq _022315BC
ldr r0, _022315C0 ; =0x0223B888
mov r1, #0x2a
str r1, [r0, #0x10]
_022315BC:
pop {r4, pc}
nop
_022315C0: .word 0x0223B888
_022315C4: .word MOD83_02231440
_022315C8: .word 0x000005D4
_022315CC: .word 0x021C48B8
thumb_func_end MOD83_022314B4
thumb_func_start MOD83_022315D0
MOD83_022315D0: ; 0x022315D0
push {r3, lr}
sub sp, #8
bl MOD83_022315F8
bl MOD83_02238AFC
bl MOD83_02238B4C
mov r0, #0xd
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
mov r0, #0x74
mov r1, #0xf
mov r2, #0xc
mov r3, #0xe
bl MOD83_02238BC4
add sp, #8
pop {r3, pc}
thumb_func_end MOD83_022315D0
thumb_func_start MOD83_022315F8
MOD83_022315F8: ; 0x022315F8
push {r4, lr}
add r4, r0, #0
ldr r0, _0223165C ; =0x00002D64
ldr r0, [r4, r0]
cmp r0, #0
beq _02231608
bl FUN_0201FFC8
_02231608:
ldr r0, _02231660 ; =0x00002D68
ldr r0, [r4, r0]
cmp r0, #0
beq _02231614
bl FUN_0201FFC8
_02231614:
ldr r0, _02231660 ; =0x00002D68
mov r1, #0
str r1, [r4, r0]
ldr r2, [r4, r0]
sub r1, r0, #4
str r2, [r4, r1]
add r0, r0, #4
ldr r0, [r4, r0]
cmp r0, #0
beq _0223162C
bl FUN_0201FFC8
_0223162C:
ldr r0, _02231664 ; =0x00002D70
ldr r0, [r4, r0]
cmp r0, #0
beq _02231638
bl FUN_0201FFC8
_02231638:
ldr r0, _02231668 ; =0x00002D74
ldr r0, [r4, r0]
cmp r0, #0
beq _02231644
bl FUN_0201FFC8
_02231644:
ldr r1, _02231668 ; =0x00002D74
mov r0, #0
str r0, [r4, r1]
ldr r2, [r4, r1]
sub r0, r1, #4
str r2, [r4, r0]
ldr r0, [r4, r0]
sub r1, #8
str r0, [r4, r1]
bl MOD83_02238E48
pop {r4, pc}
.align 2, 0
_0223165C: .word 0x00002D64
_02231660: .word 0x00002D68
_02231664: .word 0x00002D70
_02231668: .word 0x00002D74
thumb_func_end MOD83_022315F8
thumb_func_start MOD83_0223166C
MOD83_0223166C: ; 0x0223166C
push {r3, r4, lr}
sub sp, #4
ldr r1, _022316B4 ; =0x00003CEC
add r4, r0, #0
mov r0, #0
str r0, [r4, r1]
mov r1, #1
str r1, [sp]
ldr r1, _022316B8 ; =0x00002D64
mov r2, #0x48
ldr r1, [r4, r1]
mov r3, #0xa8
bl MOD83_02238DBC
ldr r1, _022316B8 ; =0x00002D64
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #2
bl FUN_02020238
mov r0, #0
ldr r1, _022316BC ; =0x00002D68
str r0, [sp]
ldr r1, [r4, r1]
mov r2, #0xb8
mov r3, #0xa8
bl MOD83_02238DBC
ldr r1, _022316BC ; =0x00002D68
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #2
bl FUN_02020238
add sp, #4
pop {r3, r4, pc}
.align 2, 0
_022316B4: .word 0x00003CEC
_022316B8: .word 0x00002D64
_022316BC: .word 0x00002D68
thumb_func_end MOD83_0223166C
thumb_func_start MOD83_022316C0
MOD83_022316C0: ; 0x022316C0
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl FUN_02019048
cmp r0, #1
bne _022316D6
add r0, r5, #0
add r1, r4, #0
bl FUN_0200CCF8
_022316D6:
pop {r3, r4, r5, pc}
thumb_func_end MOD83_022316C0
thumb_func_start MOD83_022316D8
MOD83_022316D8: ; 0x022316D8
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl FUN_02019048
cmp r0, #1
bne _022316EE
add r0, r5, #0
add r1, r4, #0
bl FUN_0200D0E0
_022316EE:
pop {r3, r4, r5, pc}
thumb_func_end MOD83_022316D8
thumb_func_start MOD83_022316F0
MOD83_022316F0: ; 0x022316F0
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r5, r0, #0
ldr r0, _02231794 ; =0x00002B6C
add r4, r1, #0
ldr r0, [r5, r0]
add r7, r2, #0
str r3, [sp]
cmp r0, #0
beq _02231708
bl FUN_02012870
_02231708:
ldr r0, _02231798 ; =0x00002B68
ldr r0, [r5, r0]
cmp r0, #0
beq _02231718
mov r1, #0
add r2, r1, #0
bl FUN_02001300
_02231718:
add r0, r7, #0
mov r1, #0x57
bl FUN_02012838
ldr r1, _02231794 ; =0x00002B6C
ldr r2, _0223179C ; =0x00000172
str r0, [r5, r1]
mov r0, #0
mov r1, #0x1a
mov r3, #0x57
bl FUN_0200A86C
ldr r1, _022317A0 ; =0x000029A4
mov r6, #0
str r0, [r5, r1]
cmp r7, #0
ble _02231752
_0223173A:
ldr r0, _02231794 ; =0x00002B6C
ldr r1, _022317A0 ; =0x000029A4
ldr r0, [r5, r0]
ldr r1, [r5, r1]
ldr r2, [r4]
ldr r3, [r4, #4]
bl FUN_02012880
add r6, r6, #1
add r4, #8
cmp r6, r7
blt _0223173A
_02231752:
ldr r0, _022317A0 ; =0x000029A4
ldr r0, [r5, r0]
bl FUN_0200A8B8
ldr r4, _022317A4 ; =0x0223AE90
add r3, sp, #4
add r2, r3, #0
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, _02231794 ; =0x00002B6C
mov r1, #0
ldr r0, [r5, r0]
mov r3, #0x57
str r0, [sp, #4]
add r0, sp, #4
strh r7, [r0, #0x10]
ldr r0, [sp]
str r0, [sp, #0x10]
add r0, r2, #0
add r2, r1, #0
bl FUN_020010A8
ldr r1, _02231798 ; =0x00002B68
str r0, [r5, r1]
add sp, #0x24
pop {r4, r5, r6, r7, pc}
nop
_02231794: .word 0x00002B6C
_02231798: .word 0x00002B68
_0223179C: .word 0x00000172
_022317A0: .word 0x000029A4
_022317A4: .word 0x0223AE90
thumb_func_end MOD83_022316F0
thumb_func_start MOD83_022317A8
MOD83_022317A8: ; 0x022317A8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
ldr r2, _02231818 ; =0x00000172
add r5, r0, #0
add r7, r1, #0
mov r0, #1
mov r1, #0x1a
mov r3, #0x57
bl FUN_0200A86C
add r4, r0, #0
mov r0, #0x57
bl FUN_0200AA80
add r6, r0, #0
mov r0, #1
mov r1, #6
bl FUN_02002E4C
add r1, r0, #0
add r0, r5, #0
bl FUN_02019620
add r0, r6, #0
add r1, r4, #0
add r2, r7, #0
mov r3, #0x57
bl FUN_0200A9C4
add r7, r0, #0
mov r3, #0
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _0223181C ; =0x00010200
mov r1, #1
str r0, [sp, #8]
add r0, r5, #0
add r2, r7, #0
str r3, [sp, #0xc]
bl FUN_0201BDE0
add r0, r5, #0
bl FUN_020191D0
add r0, r7, #0
bl FUN_02021A20
add r0, r4, #0
bl FUN_0200A8B8
add r0, r6, #0
bl FUN_0200AB18
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_02231818: .word 0x00000172
_0223181C: .word 0x00010200
thumb_func_end MOD83_022317A8
thumb_func_start MOD83_02231820
MOD83_02231820: ; 0x02231820
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #0x20
str r0, [sp]
mov r0, #0x57
mov r3, #0x1e
str r0, [sp, #4]
mov r0, #0x74
mov r1, #0xb
mov r2, #0
lsl r3, r3, #4
bl FUN_02006930
mov r0, #0x20
str r0, [sp]
mov r0, #0x57
mov r3, #6
str r0, [sp, #4]
mov r0, #0x74
mov r1, #0x10
mov r2, #0
lsl r3, r3, #6
bl FUN_02006930
mov r0, #0
str r0, [sp]
mov r0, #3
lsl r0, r0, #0xa
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0x57
str r0, [sp, #0xc]
mov r0, #0x74
mov r1, #0x11
add r2, r4, #0
bl FUN_0200687C
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0x57
str r0, [sp, #0xc]
mov r0, #0x74
mov r1, #0x12
add r2, r4, #0
bl FUN_020068C8
mov r0, #0x20
str r0, [sp]
mov r0, #0x18
str r0, [sp, #4]
mov r0, #0xc
mov r2, #0
str r0, [sp, #8]
add r0, r4, #0
mov r1, #1
add r3, r2, #0
bl FUN_020186B4
add r0, r4, #0
mov r1, #1
bl FUN_02017CD0
add sp, #0x10
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_02231820
thumb_func_start MOD83_022318B0
MOD83_022318B0: ; 0x022318B0
push {r4, lr}
bl FUN_02006278
add r4, r0, #0
bl MOD83_02231A00
ldr r0, _022318DC ; =0x00002B70
mov r1, #0x2e
add r0, r4, r0
bl MOD83_022317A8
mov r3, #0xae
lsl r3, r3, #6
add r1, r4, r3
add r3, #0x10
ldr r3, [r4, r3]
add r0, r4, #0
mov r2, #0xa
bl MOD83_02231F88
mov r0, #0xd
pop {r4, pc}
.align 2, 0
_022318DC: .word 0x00002B70
thumb_func_end MOD83_022318B0
thumb_func_start MOD83_022318E0
MOD83_022318E0: ; 0x022318E0
push {r4, lr}
bl FUN_02006278
add r4, r0, #0
bl MOD83_02231A00
mov r1, #0xad
lsl r1, r1, #6
ldr r0, [r4, r1]
add r1, #0x20
ldr r1, [r4, r1]
add r1, r1, #1
bl FUN_0202AE90
cmp r0, #1
ldr r0, _0223192C ; =0x00002B70
bne _0223190C
add r0, r4, r0
mov r1, #0x3e
bl MOD83_022317A8
b _02231914
_0223190C:
add r0, r4, r0
mov r1, #0x3d
bl MOD83_022317A8
_02231914:
mov r3, #0xae
lsl r3, r3, #6
add r1, r4, r3
add r3, #0x10
ldr r3, [r4, r3]
add r0, r4, #0
mov r2, #9
bl MOD83_02231F88
mov r0, #0xc
pop {r4, pc}
nop
_0223192C: .word 0x00002B70
thumb_func_end MOD83_022318E0
thumb_func_start MOD83_02231930
MOD83_02231930: ; 0x02231930
push {r4, lr}
bl FUN_02006278
add r4, r0, #0
bl MOD83_02231A00
ldr r0, _022319C0 ; =0x00002B70
mov r1, #0x3f
add r0, r4, r0
bl MOD83_022317A8
ldr r0, _022319C0 ; =0x00002B70
mov r1, #0x13
add r0, r4, r0
bl FUN_0200D858
ldr r1, _022319C4 ; =0x00003CF0
str r0, [r4, r1]
mov r1, #0xad
lsl r1, r1, #6
ldr r0, [r4, r1]
add r1, #0x20
ldr r1, [r4, r1]
bl FUN_0202ADC8
ldr r0, _022319C8 ; =0x00002B44
ldr r0, [r4, r0]
bl FUN_02022720
ldr r0, _022319C4 ; =0x00003CF0
ldr r0, [r4, r0]
bl FUN_0200DBFC
mov r0, #0xad
lsl r0, r0, #6
ldr r0, [r4, r0]
bl FUN_0202AE70
cmp r0, #0
bne _02231984
mov r0, #0x1a
pop {r4, pc}
_02231984:
ldr r1, _022319CC ; =0x00002B60
add r0, r4, #0
ldr r1, [r4, r1]
mov r2, #1
bl MOD83_022320A4
ldr r1, _022319CC ; =0x00002B60
str r0, [r4, r1]
add r1, #0x10
add r0, r4, r1
mov r1, #0x24
bl MOD83_022317A8
mov r3, #0xae
lsl r3, r3, #6
add r1, r4, r3
add r3, #0x10
ldr r3, [r4, r3]
add r0, r4, #0
mov r2, #8
bl MOD83_02231F88
add r0, r4, #0
mov r1, #1
mov r2, #0
bl MOD83_02231DF0
mov r0, #5
pop {r4, pc}
nop
_022319C0: .word 0x00002B70
_022319C4: .word 0x00003CF0
_022319C8: .word 0x00002B44
_022319CC: .word 0x00002B60
thumb_func_end MOD83_02231930
thumb_func_start MOD83_022319D0
MOD83_022319D0: ; 0x022319D0
push {r4, lr}
bl FUN_02006278
add r4, r0, #0
bl MOD83_02231A00
ldr r0, _022319FC ; =0x00002B70
mov r1, #0x24
add r0, r4, r0
bl MOD83_022317A8
mov r3, #0xae
lsl r3, r3, #6
add r1, r4, r3
add r3, #0x10
ldr r3, [r4, r3]
add r0, r4, #0
mov r2, #8
bl MOD83_02231F88
mov r0, #5
pop {r4, pc}
.align 2, 0
_022319FC: .word 0x00002B70
thumb_func_end MOD83_022319D0
thumb_func_start MOD83_02231A00
MOD83_02231A00: ; 0x02231A00
push {r4, lr}
add r4, r0, #0
ldr r0, _02231A40 ; =0x00002B6C
ldr r0, [r4, r0]
bl FUN_02012870
mov r1, #0
ldr r0, _02231A40 ; =0x00002B6C
add r2, r1, #0
str r1, [r4, r0]
sub r0, r0, #4
ldr r0, [r4, r0]
bl FUN_02001300
ldr r0, _02231A44 ; =0x00002B68
mov r1, #0
str r1, [r4, r0]
add r0, #0x18
add r0, r4, r0
bl MOD83_022316C0
mov r0, #0xae
lsl r0, r0, #6
add r0, r4, r0
bl FUN_02019570
mov r0, #0xae
lsl r0, r0, #6
add r0, r4, r0
bl FUN_02019178
pop {r4, pc}
.align 2, 0
_02231A40: .word 0x00002B6C
_02231A44: .word 0x00002B68
thumb_func_end MOD83_02231A00
thumb_func_start MOD83_02231A48
MOD83_02231A48: ; 0x02231A48
mov r0, #1
bx lr
thumb_func_end MOD83_02231A48
thumb_func_start MOD83_02231A4C
MOD83_02231A4C: ; 0x02231A4C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
add r7, r1, #0
ldr r1, [r5]
mov r0, #0x25
add r4, r2, #0
bl FUN_020219F4
ldr r1, _02231A9C ; =0x00002B60
add r6, r0, #0
ldr r2, [r5, r1]
sub r1, #0xc
lsl r2, r2, #2
add r2, r5, r2
ldr r2, [r2, r1]
mov r1, #0x41
lsl r1, r1, #2
add r1, r2, r1
mov r2, #0x24
bl FUN_02021E8C
mov r3, #0
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
str r4, [sp, #8]
add r0, r7, #0
mov r1, #1
add r2, r6, #0
str r3, [sp, #0xc]
bl FUN_0201BDE0
add r0, r6, #0
bl FUN_02021A20
mov r0, #1
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_02231A9C: .word 0x00002B60
thumb_func_end MOD83_02231A4C
thumb_func_start MOD83_02231AA0
MOD83_02231AA0: ; 0x02231AA0
push {r4, r5, r6, lr}
sub sp, #0x10
add r4, r0, #0
ldr r0, _02231B10 ; =0x00002B60
add r6, r1, #0
ldr r1, [r4, r0]
add r5, r2, #0
lsl r2, r1, #2
add r3, r4, r2
add r2, r0, #0
sub r2, #0xc
ldr r3, [r3, r2]
ldr r2, _02231B14 ; =0x00000152
ldrb r2, [r3, r2]
lsl r2, r2, #0x1c
lsr r2, r2, #0x1f
bne _02231AC6
mov r2, #0x27
b _02231ADE
_02231AC6:
sub r0, #0x20
ldr r0, [r4, r0]
cmp r0, #0
beq _02231AD8
add r1, r1, #1
bl FUN_0202AE90
cmp r0, #1
bne _02231ADC
_02231AD8:
mov r2, #0x25
b _02231ADE
_02231ADC:
mov r2, #0x26
_02231ADE:
ldr r1, _02231B18 ; =0x000029A0
ldr r3, [r4]
ldr r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
bl FUN_0200A9C4
add r4, r0, #0
mov r3, #0
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
str r5, [sp, #8]
add r0, r6, #0
mov r1, #1
add r2, r4, #0
str r3, [sp, #0xc]
bl FUN_0201BDE0
add r0, r4, #0
bl FUN_02021A20
mov r0, #1
add sp, #0x10
pop {r4, r5, r6, pc}
.align 2, 0
_02231B10: .word 0x00002B60
_02231B14: .word 0x00000152
_02231B18: .word 0x000029A0
thumb_func_end MOD83_02231AA0
thumb_func_start MOD83_02231B1C
MOD83_02231B1C: ; 0x02231B1C
push {r4, lr}
sub sp, #0x18
ldr r1, _02231B7C ; =0x00002B60
add r4, r0, #0
ldr r2, [r4, r1]
sub r1, #0xc
lsl r2, r2, #2
add r2, r4, r2
ldr r2, [r2, r1]
mov r1, #0xd5
lsl r1, r1, #2
ldr r1, [r2, r1]
add r0, sp, #8
bl RTC_ConvertDayToDate
mov r0, #2
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, _02231B80 ; =0x000029A0
mov r2, #0x7d
ldr r3, [sp, #8]
lsl r2, r2, #4
add r2, r3, r2
ldr r0, [r4, r0]
mov r1, #0
mov r3, #4
bl FUN_0200AD38
ldr r0, _02231B80 ; =0x000029A0
ldr r2, [sp, #0xc]
ldr r0, [r4, r0]
mov r1, #1
bl FUN_0200B764
mov r1, #2
str r1, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, _02231B80 ; =0x000029A0
ldr r2, [sp, #0x10]
ldr r0, [r4, r0]
add r3, r1, #0
bl FUN_0200AD38
mov r0, #1
add sp, #0x18
pop {r4, pc}
.align 2, 0
_02231B7C: .word 0x00002B60
_02231B80: .word 0x000029A0
thumb_func_end MOD83_02231B1C
thumb_func_start MOD83_02231B84
MOD83_02231B84: ; 0x02231B84
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
add r7, r1, #0
mov r0, #0xfb
mov r1, #0x57
add r4, r2, #0
bl FUN_020219F4
ldr r1, _02231BD4 ; =0x00002B60
add r6, r0, #0
ldr r2, [r5, r1]
sub r1, #0xc
lsl r2, r2, #2
add r2, r5, r2
ldr r2, [r2, r1]
mov r1, #0x55
lsl r1, r1, #2
add r1, r2, r1
mov r2, #0xfa
bl FUN_02021E8C
mov r3, #0
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
str r4, [sp, #8]
add r0, r7, #0
mov r1, #1
add r2, r6, #0
str r3, [sp, #0xc]
bl FUN_0201BDE0
add r0, r6, #0
bl FUN_02021A20
mov r0, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_02231BD4: .word 0x00002B60
thumb_func_end MOD83_02231B84
thumb_func_start MOD83_02231BD8
MOD83_02231BD8: ; 0x02231BD8
push {r4, r5, r6, lr}
sub sp, #0x10
add r3, r0, #0
ldr r0, _02231C50 ; =0x00002B60
add r6, r1, #0
ldr r1, [r3, r0]
sub r0, #0xc
lsl r1, r1, #2
add r1, r3, r1
ldr r1, [r1, r0]
mov r0, #0xd2
lsl r0, r0, #2
add r5, r2, #0
ldrb r2, [r1, r0]
cmp r2, #0xff
bne _02231C2C
ldr r1, _02231C54 ; =0x000029A0
mov r2, #0x33
ldr r0, [r3, r1]
add r1, r1, #4
ldr r1, [r3, r1]
mov r3, #0x57
bl FUN_0200A9C4
add r4, r0, #0
mov r3, #0
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
str r5, [sp, #8]
add r0, r6, #0
mov r1, #1
add r2, r4, #0
str r3, [sp, #0xc]
bl FUN_0201BDE0
add r0, r4, #0
bl FUN_02021A20
add sp, #0x10
mov r0, #0
pop {r4, r5, r6, pc}
_02231C2C:
cmp r2, #0
beq _02231C48
mov r1, #0
str r1, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, _02231C54 ; =0x000029A0
ldr r0, [r3, r0]
mov r3, #3
bl FUN_0200AD38
add sp, #0x10
mov r0, #1
pop {r4, r5, r6, pc}
_02231C48:
mov r0, #0
add sp, #0x10
pop {r4, r5, r6, pc}
nop
_02231C50: .word 0x00002B60
_02231C54: .word 0x000029A0
thumb_func_end MOD83_02231BD8
thumb_func_start MOD83_02231C58
MOD83_02231C58: ; 0x02231C58
push {r4, r5, r6, r7, lr}
sub sp, #0x34
add r5, r0, #0
mov r0, #0
add r7, r1, #0
add r1, r0, #1
ldr r0, _02231D38 ; =0x0223AE40
ldr r2, _02231D38 ; =0x0223AE40
ldr r0, [r0, #0x30]
ldr r2, [r2, #0x34]
str r0, [sp, #0x14]
ldr r0, _02231D3C ; =0x00002B60
str r2, [sp, #0x18]
ldr r2, [r5, r0]
sub r0, #0xc
lsl r2, r2, #2
add r2, r5, r2
ldr r2, [r2, r0]
mov r0, #0xd2
lsl r0, r0, #2
ldrb r0, [r2, r0]
add r4, r1, #0
add r6, sp, #0x14
cmp r0, #0
beq _02231C9C
ldr r0, _02231D38 ; =0x0223AE40
ldr r2, _02231D38 ; =0x0223AE40
ldr r0, [r0, #0x38]
add r4, r1, #1
lsl r1, r1, #3
ldr r2, [r2, #0x3c]
add r3, r6, r1
str r0, [r6, r1]
str r2, [r3, #4]
_02231C9C:
mov r1, #0xad
lsl r1, r1, #6
ldr r0, [r5, r1]
add r1, #0x20
ldr r1, [r5, r1]
add r1, r1, #1
bl FUN_0202AE90
cmp r0, #0
bne _02231CC2
ldr r2, _02231D38 ; =0x0223AE40
lsl r1, r4, #3
ldr r0, [r2, #0x40]
add r6, sp, #0x14
ldr r2, [r2, #0x44]
add r3, r6, r1
str r0, [r6, r1]
add r4, r4, #1
str r2, [r3, #4]
_02231CC2:
ldr r2, _02231D38 ; =0x0223AE40
lsl r1, r4, #3
ldr r0, [r2, #0x48]
add r6, sp, #0x14
str r0, [r6, r1]
ldr r2, [r2, #0x4c]
add r3, r6, r1
ldr r0, _02231D40 ; =0x00002B3C
str r2, [r3, #4]
ldr r6, [r5, r0]
add r0, r7, #0
bl FUN_02019570
add r0, r7, #0
bl FUN_02019178
add r1, r4, #1
mov r0, #4
sub r0, r0, r1
ldr r1, [r6, #8]
lsl r0, r0, #1
add r1, r1, r0
lsl r1, r1, #0x18
lsr r1, r1, #0x18
str r1, [sp]
ldr r1, [r6, #0xc]
mov r2, #2
lsl r1, r1, #0x18
lsr r1, r1, #0x18
str r1, [sp, #4]
ldr r1, [r6, #0x10]
sub r0, r1, r0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
mov r0, #0xf
str r0, [sp, #0xc]
ldr r0, _02231D44 ; =0x00002B38
add r1, r7, #0
ldr r0, [r5, r0]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r0, _02231D48 ; =0x0000299C
ldr r3, [r6, #4]
ldr r0, [r5, r0]
lsl r3, r3, #0x18
lsr r3, r3, #0x18
bl FUN_02019064
add r0, r5, #0
add r1, sp, #0x14
add r2, r4, #1
add r3, r7, #0
bl MOD83_022316F0
mov r0, #1
add sp, #0x34
pop {r4, r5, r6, r7, pc}
.align 2, 0
_02231D38: .word 0x0223AE40
_02231D3C: .word 0x00002B60
_02231D40: .word 0x00002B3C
_02231D44: .word 0x00002B38
_02231D48: .word 0x0000299C
thumb_func_end MOD83_02231C58
thumb_func_start MOD83_02231D4C
MOD83_02231D4C: ; 0x02231D4C
push {r3, lr}
add r3, r1, #0
ldr r1, _02231D5C ; =0x0223AE40
mov r2, #2
bl MOD83_022316F0
mov r0, #1
pop {r3, pc}
.align 2, 0
_02231D5C: .word 0x0223AE40
thumb_func_end MOD83_02231D4C
thumb_func_start MOD83_02231D60
MOD83_02231D60: ; 0x02231D60
push {r3, lr}
add r3, r1, #0
ldr r1, _02231D70 ; =0x0223AE60
mov r2, #2
bl MOD83_022316F0
mov r0, #1
pop {r3, pc}
.align 2, 0
_02231D70: .word 0x0223AE60
thumb_func_end MOD83_02231D60
thumb_func_start MOD83_02231D74
MOD83_02231D74: ; 0x02231D74
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _02231D94 ; =0x00002B70
add r4, r1, #0
add r0, r5, r0
mov r1, #2
bl MOD83_022317A8
ldr r1, _02231D98 ; =0x0223AE50
add r0, r5, #0
mov r2, #2
add r3, r4, #0
bl MOD83_022316F0
mov r0, #1
pop {r3, r4, r5, pc}
.align 2, 0
_02231D94: .word 0x00002B70
_02231D98: .word 0x0223AE50
thumb_func_end MOD83_02231D74
thumb_func_start MOD83_02231D9C
MOD83_02231D9C: ; 0x02231D9C
push {r3, lr}
sub sp, #8
mov r3, #1
str r3, [sp]
ldr r1, _02231DB8 ; =0x000029A0
str r3, [sp, #4]
ldr r0, [r0, r1]
mov r1, #0
add r2, r1, #0
bl FUN_0200AD38
mov r0, #1
add sp, #8
pop {r3, pc}
.align 2, 0
_02231DB8: .word 0x000029A0
thumb_func_end MOD83_02231D9C
thumb_func_start MOD83_02231DBC
MOD83_02231DBC: ; 0x02231DBC
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r0, #0
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x57
str r0, [sp, #8]
add r6, r2, #0
mov r0, #0
add r4, r3, #0
add r2, r1, #0
add r3, r0, #0
bl FUN_0200E1D0
cmp r4, #0
beq _02231DE4
mov r0, #0x1b
str r0, [r4]
_02231DE4:
ldr r0, _02231DEC ; =0x00002BE0
str r6, [r5, r0]
add sp, #0xc
pop {r3, r4, r5, r6, pc}
.align 2, 0
_02231DEC: .word 0x00002BE0
thumb_func_end MOD83_02231DBC
thumb_func_start MOD83_02231DF0
MOD83_02231DF0: ; 0x02231DF0
push {r4, r5, r6, r7, lr}
sub sp, #0x34
add r5, r0, #0
str r2, [sp, #0x14]
ldr r2, _02231F68 ; =0x00000172
ldr r3, [r5]
mov r0, #1
mov r1, #0x1a
ldr r4, _02231F6C ; =0x0223AEB0
bl FUN_0200A86C
ldr r1, _02231F70 ; =0x000029A4
str r0, [r5, r1]
ldr r0, [r5]
bl FUN_0200AA80
ldr r1, _02231F74 ; =0x000029A0
str r0, [r5, r1]
ldr r1, _02231F78 ; =0x00002B64
ldr r0, [sp, #0x14]
str r0, [r5, r1]
ldr r1, [sp, #0x14]
add r0, r5, #0
bl MOD83_02232118
mov r0, #0
str r0, [sp, #0x2c]
ldr r0, _02231F7C ; =0x000029A8
add r7, r4, #0
str r5, [sp, #0x1c]
add r6, r5, r0
_02231E2E:
ldr r1, [r7]
ldr r0, [sp, #0x14]
cmp r0, r1
beq _02231E50
cmp r1, #2
beq _02231E50
ldr r1, [sp, #0x1c]
ldr r0, _02231F7C ; =0x000029A8
ldr r0, [r1, r0]
cmp r0, #0
beq _02231E50
add r0, r6, #0
bl FUN_02019570
add r0, r6, #0
bl FUN_02019178
_02231E50:
ldr r0, [sp, #0x1c]
add r7, #0x30
add r0, #0x10
str r0, [sp, #0x1c]
ldr r0, [sp, #0x2c]
add r6, #0x10
add r0, r0, #1
str r0, [sp, #0x2c]
cmp r0, #0x13
blo _02231E2E
mov r0, #0
str r0, [sp, #0x18]
ldr r0, _02231F7C ; =0x000029A8
mov r7, #0x31
str r5, [sp, #0x24]
str r5, [sp, #0x20]
add r6, r5, r0
_02231E72:
ldr r1, [r4]
ldr r0, [sp, #0x14]
cmp r0, r1
bne _02231F2E
ldr r1, [sp, #0x24]
ldr r0, _02231F7C ; =0x000029A8
ldr r0, [r1, r0]
cmp r0, #0
bne _02231EBE
ldr r1, [sp, #0x20]
ldr r0, _02231F80 ; =0x00002AE8
mov r2, #0
str r7, [r1, r0]
ldr r0, [r4, #8]
add r1, r6, #0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldr r0, [r4, #0xc]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
ldr r0, [r4, #0x10]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
mov r0, #0xf
str r0, [sp, #0xc]
lsl r0, r7, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r0, _02231F84 ; =0x0000299C
ldr r3, [r4, #4]
ldr r0, [r5, r0]
lsl r3, r3, #0x18
lsr r3, r3, #0x18
bl FUN_02019064
_02231EBE:
ldr r0, [r4, #0x14]
ldr r1, [r4, #0x1c]
lsl r0, r0, #0x18
lsl r1, r1, #0x18
lsr r0, r0, #0x18
lsr r1, r1, #0x18
bl FUN_02002E4C
add r1, r0, #0
add r0, r6, #0
bl FUN_02019620
ldr r0, [r4, #0x18]
ldr r3, [r4, #0x24]
str r0, [sp, #0x28]
ldr r2, [sp, #0x28]
add r0, r5, #0
add r1, r6, #0
blx r3
cmp r0, #1
bne _02231F20
ldr r2, [r4, #0x20]
cmp r2, #0
beq _02231F20
ldr r0, _02231F74 ; =0x000029A0
ldr r1, _02231F70 ; =0x000029A4
ldr r0, [r5, r0]
ldr r1, [r5, r1]
ldr r3, [r5]
bl FUN_0200A9C4
str r0, [sp, #0x30]
ldr r0, [r4, #0x2c]
ldr r2, [sp, #0x30]
str r0, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, [sp, #0x28]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r1, [r4, #0x14]
ldr r3, [r4, #0x28]
add r0, r6, #0
bl FUN_0201BDE0
ldr r0, [sp, #0x30]
bl FUN_02021A20
_02231F20:
add r0, r6, #0
bl FUN_020191D0
ldr r1, [r4, #0xc]
ldr r0, [r4, #0x10]
mul r0, r1
add r7, r7, r0
_02231F2E:
ldr r0, [sp, #0x24]
add r4, #0x30
add r0, #0x10
str r0, [sp, #0x24]
ldr r0, [sp, #0x20]
add r6, #0x10
add r0, r0, #4
str r0, [sp, #0x20]
ldr r0, [sp, #0x18]
add r0, r0, #1
str r0, [sp, #0x18]
cmp r0, #0x13
blo _02231E72
ldr r0, _02231F70 ; =0x000029A4
ldr r0, [r5, r0]
bl FUN_0200A8B8
ldr r0, _02231F74 ; =0x000029A0
ldr r0, [r5, r0]
bl FUN_0200AB18
ldr r0, [sp, #0x14]
cmp r0, #0
bne _02231F64
add r0, r5, #0
bl MOD83_0223227C
_02231F64:
add sp, #0x34
pop {r4, r5, r6, r7, pc}
.align 2, 0
_02231F68: .word 0x00000172
_02231F6C: .word 0x0223AEB0
_02231F70: .word 0x000029A4
_02231F74: .word 0x000029A0
_02231F78: .word 0x00002B64
_02231F7C: .word 0x000029A8
_02231F80: .word 0x00002AE8
_02231F84: .word 0x0000299C
thumb_func_end MOD83_02231DF0
thumb_func_start MOD83_02231F88
MOD83_02231F88: ; 0x02231F88
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
add r7, r3, #0
mov r3, #0x30
ldr r0, _02232084 ; =0x0223AEB0
mul r3, r2
add r6, r1, #0
add r4, r0, r3
ldr r0, [r6]
cmp r0, #0
bne _02231FD2
ldr r0, [r4, #8]
mov r2, #2
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldr r0, [r4, #0xc]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
ldr r0, [r4, #0x10]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
mov r0, #0xf
str r0, [sp, #0xc]
lsl r0, r7, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r0, _02232088 ; =0x0000299C
ldr r3, [r4, #4]
ldr r0, [r5, r0]
lsl r3, r3, #0x18
lsr r3, r3, #0x18
bl FUN_02019064
_02231FD2:
ldr r1, [r4, #0x1c]
add r0, r6, #0
lsl r1, r1, #0x18
lsr r1, r1, #0x18
bl FUN_02019620
ldr r0, [r4, #0x20]
cmp r0, #0
beq _02231FFE
ldr r2, _0223208C ; =0x00000172
mov r0, #1
mov r1, #0x1a
mov r3, #0x57
bl FUN_0200A86C
ldr r1, _02232090 ; =0x000029A4
str r0, [r5, r1]
mov r0, #0x57
bl FUN_0200AA80
ldr r1, _02232094 ; =0x000029A0
str r0, [r5, r1]
_02231FFE:
ldr r0, _02232098 ; =0x00002B38
ldr r2, _0223209C ; =0x00010200
str r7, [r5, r0]
add r0, r0, #4
str r4, [r5, r0]
ldr r3, [r4, #0x24]
add r0, r5, #0
add r1, r6, #0
blx r3
ldr r2, [r4, #0x20]
cmp r2, #0
beq _02232054
ldr r1, _02232094 ; =0x000029A0
mov r3, #0x57
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
bl FUN_0200A9C4
str r0, [sp, #0x14]
mov r3, #0
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, [r4, #0x18]
ldr r2, [sp, #0x14]
str r0, [sp, #8]
str r3, [sp, #0xc]
ldr r1, [r4, #0x14]
add r0, r6, #0
bl FUN_0201BDE0
ldr r0, [sp, #0x14]
bl FUN_02021A20
ldr r0, _02232090 ; =0x000029A4
ldr r0, [r5, r0]
bl FUN_0200A8B8
ldr r0, _02232094 ; =0x000029A0
ldr r0, [r5, r0]
bl FUN_0200AB18
_02232054:
ldr r0, _022320A0 ; =0x00002B70
add r0, r5, r0
cmp r6, r0
bne _0223206A
add r0, r6, #0
mov r1, #0
mov r2, #0x13
mov r3, #0xa
bl FUN_0200D0BC
b _02232076
_0223206A:
add r0, r6, #0
mov r1, #0
mov r2, #0xa
mov r3, #0xe
bl FUN_0200CCA4
_02232076:
ldr r1, [r4, #0xc]
ldr r0, [r4, #0x10]
mul r0, r1
add r0, r7, r0
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_02232084: .word 0x0223AEB0
_02232088: .word 0x0000299C
_0223208C: .word 0x00000172
_02232090: .word 0x000029A4
_02232094: .word 0x000029A0
_02232098: .word 0x00002B38
_0223209C: .word 0x00010200
_022320A0: .word 0x00002B70
thumb_func_end MOD83_02231F88
thumb_func_start MOD83_022320A4
MOD83_022320A4: ; 0x022320A4
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r5, r0, #0
add r6, r2, #0
add r7, r4, #0
_022320AE:
add r4, r4, r6
cmp r4, #3
bne _022320B6
mov r4, #0
_022320B6:
mov r0, #0
mvn r0, r0
cmp r4, r0
bne _022320C0
mov r4, #2
_022320C0:
cmp r7, r4
beq _022320D4
mov r0, #0xad
lsl r0, r0, #6
ldr r0, [r5, r0]
add r1, r4, #0
bl FUN_0202AE4C
cmp r0, #0
beq _022320AE
_022320D4:
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD83_022320A4
thumb_func_start MOD83_022320D8
MOD83_022320D8: ; 0x022320D8
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r2, #0
mov r2, #1
add r5, r0, #0
str r2, [sp]
add r6, r3, #0
ldr r3, [r5]
mov r0, #0x74
bl FUN_02006C98
add r1, sp, #4
add r7, r0, #0
bl FUN_020B0180
ldr r0, _02232114 ; =0x0000299C
ldr r2, [sp, #4]
lsl r1, r4, #0x18
ldr r0, [r5, r0]
lsr r1, r1, #0x18
add r2, #0xc
add r3, r6, #0
bl FUN_02017DFC
add r0, r7, #0
bl FreeToHeap
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_02232114: .word 0x0000299C
thumb_func_end MOD83_022320D8
thumb_func_start MOD83_02232118
MOD83_02232118: ; 0x02232118
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
mov r0, #1
lsl r0, r0, #8
str r0, [sp]
ldr r0, [r5]
mov r2, #0
add r4, r1, #0
str r0, [sp, #4]
mov r0, #0x74
mov r1, #3
add r3, r2, #0
bl FUN_02006930
mov r0, #0
str r0, [sp]
mov r0, #3
lsl r0, r0, #0xc
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
ldr r0, [r5]
ldr r2, _02232204 ; =0x0000299C
str r0, [sp, #0xc]
ldr r2, [r5, r2]
mov r0, #0x74
mov r1, #6
bl FUN_0200687C
cmp r4, #0
beq _0223215E
cmp r4, #1
beq _0223217E
b _0223219C
_0223215E:
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
ldr r0, [r5]
ldr r2, _02232204 ; =0x0000299C
str r0, [sp, #0xc]
ldr r2, [r5, r2]
mov r0, #0x74
mov r1, #4
bl FUN_020068C8
b _0223219C
_0223217E:
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
ldr r0, [r5]
ldr r2, _02232204 ; =0x0000299C
str r0, [sp, #0xc]
ldr r2, [r5, r2]
mov r0, #0x74
mov r1, #5
bl FUN_020068C8
_0223219C:
mov r0, #0x20
str r0, [sp]
ldr r0, [r5]
mov r1, #0
str r0, [sp, #4]
mov r0, #0x74
add r3, r0, #0
add r2, r1, #0
add r3, #0xec
bl FUN_02006930
mov r0, #0
str r0, [sp]
mov r0, #2
lsl r0, r0, #8
str r0, [sp, #4]
mov r1, #1
str r1, [sp, #8]
ldr r0, [r5]
ldr r2, _02232204 ; =0x0000299C
str r0, [sp, #0xc]
ldr r2, [r5, r2]
mov r0, #0x74
mov r3, #3
bl FUN_0200687C
mov r2, #3
add r0, r5, #0
mov r1, #2
lsl r3, r2, #9
bl MOD83_022320D8
mov r0, #0x20
str r0, [sp]
mov r0, #0x18
str r0, [sp, #4]
mov r0, #0xb
str r0, [sp, #8]
ldr r0, _02232204 ; =0x0000299C
mov r2, #0
ldr r0, [r5, r0]
mov r1, #3
add r3, r2, #0
bl FUN_020186B4
ldr r0, _02232204 ; =0x0000299C
mov r1, #3
ldr r0, [r5, r0]
bl FUN_02017CD0
add sp, #0x10
pop {r3, r4, r5, pc}
.align 2, 0
_02232204: .word 0x0000299C
thumb_func_end MOD83_02232118
thumb_func_start MOD83_02232208
MOD83_02232208: ; 0x02232208
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r1, #0
add r6, r2, #0
bl FUN_02006278
ldr r1, _02232270 ; =0x00002B68
ldr r0, [r0, r1]
bl FUN_02001204
add r4, r0, #0
mov r0, #1
mvn r0, r0
cmp r4, r0
beq _0223222E
add r0, r0, #1
cmp r4, r0
beq _0223226C
b _02232248
_0223222E:
ldr r0, _02232274 ; =0x000005DC
bl FUN_020054C8
cmp r6, #0
beq _0223226C
add r0, r7, #0
blx r6
mov r1, #0
mvn r1, r1
cmp r0, r1
beq _0223226C
str r0, [r5]
pop {r3, r4, r5, r6, r7, pc}
_02232248:
ldr r0, _02232274 ; =0x000005DC
bl FUN_020054C8
cmp r4, #0
beq _0223226C
cmp r4, #0x1e
bhs _0223225A
str r4, [r5]
pop {r3, r4, r5, r6, r7, pc}
_0223225A:
ldr r0, _02232278 ; =0x0223B89C
str r4, [r0]
add r0, r7, #0
blx r4
mov r1, #0
mvn r1, r1
cmp r0, r1
beq _0223226C
str r0, [r5]
_0223226C:
pop {r3, r4, r5, r6, r7, pc}
nop
_02232270: .word 0x00002B68
_02232274: .word 0x000005DC
_02232278: .word 0x0223B89C
thumb_func_end MOD83_02232208
thumb_func_start MOD83_0223227C
MOD83_0223227C: ; 0x0223227C
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
ldr r1, _02232398 ; =0x00002D6C
add r5, r0, #0
ldr r0, [r5, r1]
cmp r0, #0
bne _022322DC
add r0, r1, #4
ldr r0, [r5, r0]
cmp r0, #0
bne _022322DC
add r1, #8
ldr r0, [r5, r1]
cmp r0, #0
bne _022322DC
bl MOD83_02238B38
cmp r0, #1
bne _022322A8
add r0, r5, #0
bl MOD83_022315F8
_022322A8:
bl MOD83_02238AFC
bl MOD83_02238B4C
mov r0, #0x18
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
mov r0, #0x74
mov r1, #0x1a
mov r2, #0x17
mov r3, #0x19
bl MOD83_02238BC4
bl FUN_0206B888
add r1, r0, #0
mov r0, #0
str r0, [sp]
ldr r0, [r5]
mov r2, #1
str r0, [sp, #4]
mov r0, #0x13
mov r3, #0x60
bl FUN_02006930
_022322DC:
mov r0, #0xb2
mov r6, #0
str r0, [sp, #0x10]
str r6, [sp, #8]
add r4, r5, #0
mov r7, #0x64
_022322E8:
ldr r0, _0223239C ; =0x00002B60
ldr r0, [r5, r0]
lsl r0, r0, #2
add r1, r5, r0
ldr r0, _022323A0 ; =0x00002B54
ldr r1, [r1, r0]
ldr r0, [sp, #8]
add r1, r1, r0
ldr r0, _022323A4 ; =0x0000034A
ldrh r0, [r1, r0]
str r0, [sp, #0xc]
cmp r0, #0
bne _02232312
ldr r0, _02232398 ; =0x00002D6C
ldr r0, [r4, r0]
cmp r0, #0
beq _0223237C
mov r1, #0
bl FUN_020200A0
b _0223237C
_02232312:
add r0, r6, #0
add r0, #0xa
str r0, [sp]
ldr r1, _02232398 ; =0x00002D6C
ldr r2, [sp, #0x10]
ldr r1, [r4, r1]
mov r0, #0
mov r3, #0x10
bl MOD83_02238DBC
ldr r1, _02232398 ; =0x00002D6C
str r0, [r4, r1]
mov r1, #0
ldr r0, [sp, #0xc]
add r2, r1, #0
bl FUN_0206B6D4
add r1, r0, #0
ldr r0, [r5]
mov r2, #0
str r0, [sp]
mov r0, #0x13
add r3, sp, #0x18
bl FUN_02006BB0
str r0, [sp, #0x14]
ldr r0, [sp, #0x18]
mov r1, #2
ldr r0, [r0, #0x14]
lsl r1, r1, #8
bl DC_FlushRange
ldr r0, [sp, #0x18]
mov r2, #2
ldr r0, [r0, #0x14]
lsl r1, r7, #5
lsl r2, r2, #8
bl GX_LoadOBJ
mov r1, #0
ldr r0, [sp, #0xc]
add r2, r1, #0
bl FUN_0206B7BC
add r1, r0, #0
ldr r0, _02232398 ; =0x00002D6C
add r1, r1, #3
ldr r0, [r4, r0]
bl FUN_02020248
ldr r0, [sp, #0x14]
bl FreeToHeap
_0223237C:
ldr r0, [sp, #8]
add r6, r6, #1
add r0, r0, #2
str r0, [sp, #8]
ldr r0, [sp, #0x10]
add r4, r4, #4
add r0, #0x19
add r7, #0x10
str r0, [sp, #0x10]
cmp r6, #3
blt _022322E8
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
nop
_02232398: .word 0x00002D6C
_0223239C: .word 0x00002B60
_022323A0: .word 0x00002B54
_022323A4: .word 0x0000034A
thumb_func_end MOD83_0223227C
thumb_func_start MOD83_022323A8
MOD83_022323A8: ; 0x022323A8
push {r4, lr}
mov r2, #2
add r4, r0, #0
mov r0, #3
mov r1, #0x57
lsl r2, r2, #0x10
bl FUN_0201681C
ldr r1, _0223240C ; =0x00003CF4
add r0, r4, #0
mov r2, #0x57
bl FUN_02006268
ldr r2, _0223240C ; =0x00003CF4
mov r1, #0
add r4, r0, #0
bl memset
mov r0, #0x57
bl FUN_02016B94
ldr r1, _02232410 ; =0x0000299C
str r0, [r4, r1]
mov r0, #0x57
str r0, [r4]
mov r0, #0
add r1, r0, #0
bl FUN_0200E3A0
mov r0, #1
mov r1, #0
bl FUN_0200E3A0
ldr r0, _02232414 ; =0x00002B60
mov r1, #2
str r1, [r4, r0]
mov r1, #1
add r0, #0x7c
str r1, [r4, r0]
mov r0, #0x57
bl MOD83_02238770
mov r2, #3
mov r0, #0
mov r1, #0x5b
lsl r2, r2, #8
bl FUN_0201681C
mov r0, #1
pop {r4, pc}
.align 2, 0
_0223240C: .word 0x00003CF4
_02232410: .word 0x0000299C
_02232414: .word 0x00002B60
thumb_func_end MOD83_022323A8
thumb_func_start MOD83_02232418
MOD83_02232418: ; 0x02232418
push {r4, lr}
add r4, r1, #0
bl FUN_020129C8
mov r0, #3
lsl r0, r0, #0xa
ldr r0, [r4, r0]
bl FUN_0201299C
ldr r1, _02232438 ; =0x04000010
mov r2, #8
mov r3, #1
bl FUN_020129D8
pop {r4, pc}
nop
_02232438: .word 0x04000010
thumb_func_end MOD83_02232418
thumb_func_start MOD83_0223243C
MOD83_0223243C: ; 0x0223243C
push {r3, r4, r5, lr}
ldr r4, _02232490 ; =0x000030D0
ldr r5, _02232494 ; =0x00000C14
add r4, r0, r4
add r0, r5, #0
str r1, [r4, r5]
sub r0, #0xc
str r2, [r4, r0]
add r0, r5, #0
sub r0, #8
sub r5, #0x14
str r3, [r4, r0]
ldr r0, [r4, r5]
cmp r0, #0
bne _0223246E
mov r2, #6
lsl r2, r2, #8
mov r0, #0x57
add r1, r4, #0
add r2, r4, r2
bl FUN_02012944
mov r1, #3
lsl r1, r1, #0xa
str r0, [r4, r1]
_0223246E:
ldr r0, _02232498 ; =0x00000C04
ldr r0, [r4, r0]
cmp r0, #0
bne _02232486
mov r2, #1
ldr r0, _0223249C ; =MOD83_02232418
add r1, r4, #0
lsl r2, r2, #0xa
bl FUN_0200CA60
ldr r1, _02232498 ; =0x00000C04
str r0, [r4, r1]
_02232486:
mov r0, #0xc1
mov r1, #1
lsl r0, r0, #4
str r1, [r4, r0]
pop {r3, r4, r5, pc}
.align 2, 0
_02232490: .word 0x000030D0
_02232494: .word 0x00000C14
_02232498: .word 0x00000C04
_0223249C: .word MOD83_02232418
thumb_func_end MOD83_0223243C
thumb_func_start MOD83_022324A0
MOD83_022324A0: ; 0x022324A0
push {r4, lr}
ldr r1, _022324D4 ; =0x000030D0
add r4, r0, r1
mov r0, #3
lsl r0, r0, #0xa
ldr r0, [r4, r0]
cmp r0, #0
beq _022324B4
bl FUN_02012974
_022324B4:
ldr r0, _022324D8 ; =0x00000C04
ldr r0, [r4, r0]
cmp r0, #0
beq _022324C0
bl FUN_0200CAB4
_022324C0:
mov r0, #3
mov r1, #0
lsl r0, r0, #0xa
str r1, [r4, r0]
add r0, r0, #4
str r1, [r4, r0]
bl FUN_020129C8
pop {r4, pc}
nop
_022324D4: .word 0x000030D0
_022324D8: .word 0x00000C04
thumb_func_end MOD83_022324A0
thumb_func_start MOD83_022324DC
MOD83_022324DC: ; 0x022324DC
push {r3, r4, r5, r6, r7, lr}
ldr r1, _022325E4 ; =0x000030D0
mov r5, #0x15
add r4, r0, r1
mov r0, #0xc1
lsl r0, r0, #4
ldr r1, [r4, r0]
lsl r5, r5, #0xe
cmp r1, #0
bne _022324F4
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_022324F4:
add r1, r0, #4
ldr r1, [r4, r1]
cmp r1, #1
bne _02232542
add r1, r0, #0
sub r1, #8
ldr r2, [r4, r1]
sub r1, r0, #4
ldr r1, [r4, r1]
add r2, r2, r1
add r1, r0, #0
sub r1, #8
str r2, [r4, r1]
sub r1, r0, #4
ldr r2, [r4, r1]
add r1, r2, #0
add r2, r2, r1
sub r1, r0, #4
str r2, [r4, r1]
add r1, r0, #0
sub r1, #8
ldr r2, [r4, r1]
asr r1, r2, #0xb
lsr r1, r1, #0x14
add r1, r2, r1
asr r2, r1, #0xc
mov r1, #0xfa
lsl r1, r1, #2
cmp r2, r1
ble _0223257C
mov r2, #0
add r1, r0, #0
str r2, [r4, r0]
sub r1, #8
str r2, [r4, r1]
sub r0, r0, #4
mov r5, #0xa8
str r2, [r4, r0]
b _0223257C
_02232542:
add r1, r0, #0
sub r1, #8
ldr r2, [r4, r1]
sub r1, r0, #4
ldr r1, [r4, r1]
sub r2, r2, r1
add r1, r0, #0
sub r1, #8
str r2, [r4, r1]
sub r1, r0, #4
ldr r2, [r4, r1]
lsr r1, r2, #0x1f
add r1, r2, r1
asr r2, r1, #1
sub r1, r0, #4
str r2, [r4, r1]
mov r2, #1
ldr r1, [r4, r1]
lsl r2, r2, #0xa
cmp r1, r2
bge _0223257C
mov r1, #0
lsl r3, r2, #2
add r2, r0, #0
str r1, [r4, r0]
sub r2, #8
str r3, [r4, r2]
sub r0, r0, #4
str r1, [r4, r0]
_0223257C:
mov r0, #3
lsl r0, r0, #0xa
ldr r0, [r4, r0]
bl FUN_02012988
add r2, r0, #0
mov r0, #0x54
add r3, r0, #0
add r3, #0xfc
_0223258E:
asr r1, r5, #0xb
lsr r1, r1, #0x14
add r1, r5, r1
asr r1, r1, #0xc
bpl _0223259A
mov r1, #0
_0223259A:
cmp r1, #0xa8
ble _022325A0
mov r1, #0xa8
_022325A0:
lsl r6, r3, #1
add r7, r2, r6
sub r6, r1, r0
strh r6, [r7, #6]
ldrh r6, [r7, #6]
sub r1, r0, r1
add r3, r3, #4
strh r6, [r7, #2]
mov r6, #0xa8
sub r6, r6, r0
lsl r6, r6, #3
add r6, r2, r6
strh r1, [r6, #6]
ldrh r1, [r6, #6]
add r0, r0, #1
strh r1, [r6, #2]
ldr r1, _022325E8 ; =0x00000C08
ldr r1, [r4, r1]
add r5, r5, r1
cmp r0, #0xa8
blt _0223258E
mov r1, #6
add r0, r2, #0
lsl r1, r1, #8
bl DC_FlushRange
mov r0, #3
lsl r0, r0, #0xa
ldr r0, [r4, r0]
bl FUN_020129B4
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_022325E4: .word 0x000030D0
_022325E8: .word 0x00000C08
thumb_func_end MOD83_022324DC
thumb_func_start MOD83_022325EC
MOD83_022325EC: ; 0x022325EC
push {r4, lr}
add r4, r0, #0
bl MOD83_022394CC
sub r0, r0, #2
cmp r0, #1
bhi _02232606
ldr r0, _02232608 ; =0x0000061B
bl FUN_020054C8
ldr r0, _0223260C ; =0x00003CE8
mov r1, #0
str r1, [r4, r0]
_02232606:
pop {r4, pc}
.align 2, 0
_02232608: .word 0x0000061B
_0223260C: .word 0x00003CE8
thumb_func_end MOD83_022325EC
thumb_func_start MOD83_02232610
MOD83_02232610: ; 0x02232610
push {r4, lr}
add r4, r0, #0
ldr r0, _02232658 ; =0x00002B60
ldr r1, [r4, r0]
sub r0, #0xc
lsl r1, r1, #2
add r1, r4, r1
ldr r2, [r1, r0]
mov r0, #0x35
lsl r0, r0, #4
ldrb r1, [r2, r0]
cmp r1, #0xff
beq _0223262E
add r1, r1, #1
strb r1, [r2, r0]
_0223262E:
ldr r0, _02232658 ; =0x00002B60
ldr r1, [r4, r0]
sub r0, #0xc
lsl r1, r1, #2
add r1, r4, r1
ldr r2, [r1, r0]
mov r0, #0xd2
lsl r0, r0, #2
ldrb r1, [r2, r0]
cmp r1, #0xff
beq _02232648
sub r1, r1, #1
strb r1, [r2, r0]
_02232648:
ldr r0, _0223265C ; =0x00002B44
ldr r0, [r4, r0]
bl MOD83_022394BC
ldr r1, _02232660 ; =MOD83_022325EC
ldr r0, _02232664 ; =0x00003CE8
str r1, [r4, r0]
pop {r4, pc}
.align 2, 0
_02232658: .word 0x00002B60
_0223265C: .word 0x00002B44
_02232660: .word MOD83_022325EC
_02232664: .word 0x00003CE8
thumb_func_end MOD83_02232610
thumb_func_start MOD83_02232668
MOD83_02232668: ; 0x02232668
push {r3, r4, r5, r6, r7, lr}
add r7, r2, #0
ldr r2, _02232768 ; =0x021C48B8
add r6, r1, #0
ldr r3, [r2, #0x48]
ldr r1, _0223276C ; =0x00003CEC
add r5, r0, #0
mov r2, #0x10
ldr r0, [r5, r1]
tst r2, r3
beq _02232686
cmp r0, #1
beq _02232686
mov r2, #1
str r2, [r5, r1]
_02232686:
ldr r1, _02232768 ; =0x021C48B8
ldr r2, [r1, #0x48]
mov r1, #0x20
tst r1, r2
beq _0223269C
ldr r1, _0223276C ; =0x00003CEC
ldr r2, [r5, r1]
cmp r2, #0
beq _0223269C
mov r2, #0
str r2, [r5, r1]
_0223269C:
ldr r1, _0223276C ; =0x00003CEC
ldr r1, [r5, r1]
cmp r0, r1
beq _022326CC
cmp r1, #0
bne _022326AC
mov r1, #1
b _022326AE
_022326AC:
mov r1, #0
_022326AE:
ldr r0, _02232770 ; =0x00002D64
ldr r0, [r5, r0]
bl FUN_02020130
ldr r0, _0223276C ; =0x00003CEC
ldr r0, [r5, r0]
cmp r0, #0
beq _022326C2
mov r1, #1
b _022326C4
_022326C2:
mov r1, #0
_022326C4:
ldr r0, _02232774 ; =0x00002D68
ldr r0, [r5, r0]
bl FUN_02020130
_022326CC:
ldr r0, _02232768 ; =0x021C48B8
mov r4, #0
ldr r1, [r0, #0x48]
mov r0, #2
add r2, r1, #0
tst r2, r0
beq _022326DE
add r4, r0, #0
b _0223270E
_022326DE:
mov r0, #1
and r1, r0
beq _022326F4
cmp r6, #0
beq _022326F4
ldr r2, _0223276C ; =0x00003CEC
ldr r2, [r5, r2]
cmp r2, #0
bne _022326F4
add r4, r0, #0
b _0223270E
_022326F4:
cmp r1, #0
beq _02232704
ldr r0, _0223276C ; =0x00003CEC
ldr r0, [r5, r0]
cmp r0, #1
bne _02232704
mov r4, #2
b _0223270E
_02232704:
cmp r1, #0
beq _0223270E
cmp r6, #0
bne _0223270E
mov r4, #3
_0223270E:
cmp r4, #1
bne _02232746
ldr r0, _02232778 ; =0x000005DC
bl FUN_020054C8
mov r0, #0xab
bl FUN_02031588
mov r3, #0xa
ldr r1, _0223277C ; =0x00002BD4
mov r0, #1
str r0, [r5, r1]
mov r0, #0x15
sub r1, #0x64
str r0, [r7]
add r0, r5, #0
add r1, r5, r1
mov r2, #0x11
lsl r3, r3, #6
bl MOD83_02231F88
ldr r0, _02232780 ; =0x00002B70
mov r1, #0x13
add r0, r5, r0
bl FUN_0200D858
ldr r1, _02232784 ; =0x00003CF0
str r0, [r5, r1]
_02232746:
cmp r4, #2
bne _0223275A
ldr r0, _02232778 ; =0x000005DC
bl FUN_020054C8
add r0, r5, #0
add r1, r7, #0
mov r2, #0x13
bl MOD83_02233084
_0223275A:
cmp r4, #3
bne _02232764
ldr r0, _02232778 ; =0x000005DC
bl FUN_020054C8
_02232764:
pop {r3, r4, r5, r6, r7, pc}
nop
_02232768: .word 0x021C48B8
_0223276C: .word 0x00003CEC
_02232770: .word 0x00002D64
_02232774: .word 0x00002D68
_02232778: .word 0x000005DC
_0223277C: .word 0x00002BD4
_02232780: .word 0x00002B70
_02232784: .word 0x00003CF0
thumb_func_end MOD83_02232668
thumb_func_start MOD83_02232788
MOD83_02232788: ; 0x02232788
push {r4, r5, r6, lr}
sub sp, #8
add r5, r1, #0
add r6, r0, #0
bl FUN_02006278
ldr r1, [r5]
add r4, r0, #0
cmp r1, #0x1d
bls _0223279E
b _02232CF4
_0223279E:
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_022327AA: ; jump table
.short _022327E6 - _022327AA - 2 ; case 0
.short _02232854 - _022327AA - 2 ; case 1
.short _02232866 - _022327AA - 2 ; case 2
.short _022328DC - _022327AA - 2 ; case 3
.short _02232956 - _022327AA - 2 ; case 4
.short _0223297E - _022327AA - 2 ; case 5
.short _0223299E - _022327AA - 2 ; case 6
.short _022329D6 - _022327AA - 2 ; case 7
.short _022329FA - _022327AA - 2 ; case 8
.short _02232A20 - _022327AA - 2 ; case 9
.short _02232A4C - _022327AA - 2 ; case 10
.short _02232A88 - _022327AA - 2 ; case 11
.short _02232AAC - _022327AA - 2 ; case 12
.short _02232AB8 - _022327AA - 2 ; case 13
.short _02232AC4 - _022327AA - 2 ; case 14
.short _02232AD6 - _022327AA - 2 ; case 15
.short _02232AE2 - _022327AA - 2 ; case 16
.short _02232B24 - _022327AA - 2 ; case 17
.short _02232B3A - _022327AA - 2 ; case 18
.short _02232BDC - _022327AA - 2 ; case 19
.short _02232BE8 - _022327AA - 2 ; case 20
.short _02232C36 - _022327AA - 2 ; case 21
.short _02232C26 - _022327AA - 2 ; case 22
.short _02232C6A - _022327AA - 2 ; case 23
.short _02232C7E - _022327AA - 2 ; case 24
.short _02232CB8 - _022327AA - 2 ; case 25
.short _02232CC8 - _022327AA - 2 ; case 26
.short _02232CD4 - _022327AA - 2 ; case 27
.short _02232CE4 - _022327AA - 2 ; case 28
.short _02232CF4 - _022327AA - 2 ; case 29
_022327E6:
add r0, r6, #0
bl FUN_0200628C
ldr r1, [r0, #8]
ldr r0, _02232B54 ; =0x00002B44
str r1, [r4, r0]
ldr r0, [r4, r0]
bl FUN_0202251C
mov r1, #0xad
lsl r1, r1, #6
str r0, [r4, r1]
add r0, r1, #4
ldr r0, [r4, r0]
bl LoadPlayerDataAddress
ldr r1, _02232B58 ; =0x00002B48
str r0, [r4, r1]
ldr r0, [r4, r1]
bl FUN_02025084
ldr r1, _02232B5C ; =0x00002B4C
str r0, [r4, r1]
sub r1, #0xc
ldr r0, [r4, r1]
mov r1, #0
bl FUN_0202AC64
ldr r1, _02232B60 ; =0x00002B54
str r0, [r4, r1]
sub r1, #0x14
ldr r0, [r4, r1]
mov r1, #1
bl FUN_0202AC64
ldr r1, _02232B64 ; =0x00002B58
str r0, [r4, r1]
sub r1, #0x18
ldr r0, [r4, r1]
mov r1, #2
bl FUN_0202AC64
ldr r1, _02232B68 ; =0x00002B5C
mov r2, #1
str r0, [r4, r1]
add r1, r1, #4
ldr r1, [r4, r1]
add r0, r4, #0
bl MOD83_022320A4
ldr r1, _02232B6C ; =0x00002B60
str r0, [r4, r1]
mov r0, #1
str r0, [r5]
b _02232CF4
_02232854:
bl MOD83_022331C0
ldr r0, _02232B70 ; =0x0000299C
ldr r0, [r4, r0]
bl MOD83_022331E0
mov r0, #2
str r0, [r5]
b _02232CF4
_02232866:
bl FUN_0201BD5C
add r0, r4, #0
mov r1, #0
bl MOD83_02232118
mov r1, #0x1e
mov r0, #0
lsl r1, r1, #4
mov r2, #0x57
bl FUN_02002ED0
mov r1, #0
str r1, [sp]
mov r0, #0x57
str r0, [sp, #4]
ldr r0, _02232B70 ; =0x0000299C
mov r2, #1
ldr r0, [r4, r0]
mov r3, #0xd
bl FUN_0200CB00
mov r0, #1
str r0, [sp]
mov r0, #0x57
str r0, [sp, #4]
ldr r0, _02232B70 ; =0x0000299C
mov r1, #0
ldr r0, [r4, r0]
mov r2, #0xa
mov r3, #0xe
bl FUN_0200CB00
ldr r0, _02232B5C ; =0x00002B4C
mov r1, #0
ldr r0, [r4, r0]
mov r2, #0x13
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x57
str r0, [sp, #4]
ldr r0, _02232B70 ; =0x0000299C
mov r3, #0xa
ldr r0, [r4, r0]
bl FUN_0200CD68
add r0, r4, #0
mov r1, #1
mov r2, #0
bl MOD83_02231DF0
add r0, r4, #0
mov r1, #1
mov r2, #3
add r3, r5, #0
bl MOD83_02231DBC
b _02232CF4
_022328DC:
ldr r1, _02232B6C ; =0x00002B60
mov r2, #0x40
ldr r6, [r4, r1]
ldr r1, _02232B74 ; =0x021C48B8
ldr r1, [r1, #0x48]
add r3, r1, #0
tst r3, r2
beq _022328F8
add r1, r6, #0
sub r2, #0x41
bl MOD83_022320A4
add r6, r0, #0
b _02232934
_022328F8:
mov r2, #0x80
tst r2, r1
beq _0223290A
add r1, r6, #0
mov r2, #1
bl MOD83_022320A4
add r6, r0, #0
b _02232934
_0223290A:
mov r0, #2
tst r0, r1
beq _02232924
ldr r0, _02232B78 ; =0x000005DC
bl FUN_020054C8
add r0, r4, #0
mov r1, #0
mov r2, #0x1c
add r3, r5, #0
bl MOD83_02231DBC
b _02232934
_02232924:
mov r0, #1
tst r0, r1
beq _02232934
ldr r0, _02232B78 ; =0x000005DC
bl FUN_020054C8
mov r0, #4
str r0, [r5]
_02232934:
ldr r0, _02232B6C ; =0x00002B60
ldr r0, [r4, r0]
cmp r0, r6
bne _0223293E
b _02232CF4
_0223293E:
mov r0, #6
lsl r0, r0, #8
bl FUN_020054C8
ldr r0, _02232B6C ; =0x00002B60
mov r1, #1
str r6, [r4, r0]
add r0, r4, #0
mov r2, #0
bl MOD83_02231DF0
b _02232CF4
_02232956:
ldr r1, _02232B7C ; =0x00002B70
mov r3, #0xa
add r1, r4, r1
mov r2, #7
lsl r3, r3, #6
bl MOD83_02231F88
ldr r3, _02232B80 ; =0x00002B90
mov r2, #8
add r1, r3, #0
str r0, [r4, r3]
sub r1, #0x10
ldr r3, [r4, r3]
add r0, r4, #0
add r1, r4, r1
bl MOD83_02231F88
mov r0, #5
str r0, [r5]
b _02232CF4
_0223297E:
add r0, r6, #0
add r1, r5, #0
mov r2, #0
bl MOD83_02232208
ldr r0, _02232B74 ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #2
tst r0, r1
beq _02232A54
ldr r0, _02232B78 ; =0x000005DC
bl FUN_020054C8
mov r0, #0xb
str r0, [r5]
b _02232CF4
_0223299E:
mov r0, #6
lsl r0, r0, #8
bl FUN_020054C8
mov r0, #0x10
mov r1, #0
bl FUN_0201E6E4
ldr r0, _02232B7C ; =0x00002B70
mov r1, #0
add r0, r4, r0
bl MOD83_022316D8
mov r0, #0xae
lsl r0, r0, #6
add r0, r4, r0
mov r1, #0
bl MOD83_022316C0
mov r1, #1
add r0, r4, #0
lsl r2, r1, #0xc
mov r3, #0x66
bl MOD83_0223243C
mov r0, #7
str r0, [r5]
b _02232CF4
_022329D6:
bl MOD83_022324DC
cmp r0, #0
beq _02232A54
mov r1, #1
add r0, r4, #0
add r2, r1, #0
bl MOD83_02231DF0
ldr r2, _02232B84 ; =0x00708000
add r0, r4, #0
mov r1, #0
lsr r3, r2, #1
bl MOD83_0223243C
mov r0, #8
str r0, [r5]
b _02232CF4
_022329FA:
bl MOD83_022324DC
ldr r0, _02232B74 ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #3
tst r1, r0
beq _02232A54
lsl r0, r0, #9
bl FUN_020054C8
mov r1, #1
add r0, r4, #0
lsl r2, r1, #0xc
mov r3, #0x66
bl MOD83_0223243C
mov r0, #9
str r0, [r5]
b _02232CF4
_02232A20:
bl MOD83_022324DC
cmp r0, #0
beq _02232A54
add r0, r4, #0
mov r1, #1
mov r2, #0
bl MOD83_02231DF0
ldr r2, _02232B84 ; =0x00708000
add r0, r4, #0
mov r1, #0
lsr r3, r2, #1
bl MOD83_0223243C
mov r0, #0x10
mov r1, #0
bl FUN_0201E6E4
mov r0, #0xa
str r0, [r5]
b _02232CF4
_02232A4C:
bl MOD83_022324DC
cmp r0, #0
bne _02232A56
_02232A54:
b _02232CF4
_02232A56:
ldr r0, _02232B7C ; =0x00002B70
mov r1, #0
add r0, r4, r0
mov r2, #0x13
mov r3, #0xa
bl FUN_0200D0BC
mov r0, #0xae
lsl r0, r0, #6
add r0, r4, r0
mov r1, #0
mov r2, #0xa
mov r3, #0xe
bl FUN_0200CCA4
mov r0, #0x10
mov r1, #1
bl FUN_0201E6E4
add r0, r4, #0
bl MOD83_022324A0
mov r0, #5
str r0, [r5]
b _02232CF4
_02232A88:
bl MOD83_02231A00
ldr r0, _02232B7C ; =0x00002B70
mov r1, #0
add r0, r4, r0
bl MOD83_022316D8
ldr r0, _02232B7C ; =0x00002B70
add r0, r4, r0
bl FUN_02019570
ldr r0, _02232B7C ; =0x00002B70
add r0, r4, r0
bl FUN_02019178
mov r0, #3
str r0, [r5]
b _02232CF4
_02232AAC:
ldr r2, _02232B88 ; =MOD83_022319D0
add r0, r6, #0
add r1, r5, #0
bl MOD83_02232208
b _02232CF4
_02232AB8:
ldr r2, _02232B88 ; =MOD83_022319D0
add r0, r6, #0
add r1, r5, #0
bl MOD83_02232208
b _02232CF4
_02232AC4:
mov r1, #0xae
lsl r1, r1, #6
ldr r2, _02232B8C ; =0x00010200
add r1, r4, r1
bl MOD83_02231D74
mov r0, #0xd
str r0, [r5]
b _02232CF4
_02232AD6:
mov r1, #0
mov r2, #0x10
add r3, r5, #0
bl MOD83_02231DBC
b _02232CF4
_02232AE2:
bl MOD83_02231A00
ldr r0, _02232B7C ; =0x00002B70
mov r1, #0
add r0, r4, r0
bl MOD83_022316D8
ldr r0, _02232B7C ; =0x00002B70
add r0, r4, r0
bl FUN_02019570
ldr r0, _02232B7C ; =0x00002B70
add r0, r4, r0
bl FUN_02019178
add r0, r4, #0
mov r1, #0
mov r2, #3
bl MOD83_02231DF0
ldr r0, _02232B70 ; =0x0000299C
ldr r0, [r4, r0]
bl MOD83_02231820
add r0, r4, #0
bl MOD83_022315D0
add r0, r4, #0
bl MOD83_0223166C
mov r0, #0x11
str r0, [r5]
b _02232CF4
_02232B24:
bl MOD83_02232D44
bl FUN_02033E74
add r0, r4, #0
mov r1, #1
mov r2, #0x12
add r3, r5, #0
bl MOD83_02231DBC
b _02232CF4
_02232B3A:
mov r6, #0
add r0, r6, #0
bl FUN_02030E7C
cmp r0, #0
beq _02232BD0
add r0, r4, #0
add r0, #0x90
bl FUN_0202F10C
ldr r1, _02232B90 ; =0x00002AA8
b _02232B94
nop
_02232B54: .word 0x00002B44
_02232B58: .word 0x00002B48
_02232B5C: .word 0x00002B4C
_02232B60: .word 0x00002B54
_02232B64: .word 0x00002B58
_02232B68: .word 0x00002B5C
_02232B6C: .word 0x00002B60
_02232B70: .word 0x0000299C
_02232B74: .word 0x021C48B8
_02232B78: .word 0x000005DC
_02232B7C: .word 0x00002B70
_02232B80: .word 0x00002B90
_02232B84: .word 0x00708000
_02232B88: .word MOD83_022319D0
_02232B8C: .word 0x00010200
_02232B90: .word 0x00002AA8
_02232B94:
add r0, r4, #0
add r1, r4, r1
bl MOD83_02232E0C
add r6, r0, #0
bne _02232BC0
ldr r0, _02232D18 ; =0x00002BD0
ldr r0, [r4, r0]
cmp r0, #0
beq _02232BC0
ldr r0, _02232D1C ; =0x00002AA8
mov r1, #0
add r0, r4, r0
bl FUN_02019620
ldr r0, _02232D1C ; =0x00002AA8
add r0, r4, r0
bl FUN_020191D0
ldr r0, _02232D18 ; =0x00002BD0
mov r1, #0
str r1, [r4, r0]
_02232BC0:
ldr r1, _02232D20 ; =0x00002A98
add r0, r4, #0
add r1, r4, r1
add r2, r6, #0
bl MOD83_02232FE4
ldr r0, _02232D18 ; =0x00002BD0
str r6, [r4, r0]
_02232BD0:
add r0, r4, #0
add r1, r6, #0
add r2, r5, #0
bl MOD83_02232668
b _02232CF4
_02232BDC:
mov r1, #0
mov r2, #0x14
add r3, r5, #0
bl MOD83_02231DBC
b _02232CF4
_02232BE8:
bl MOD83_022315F8
ldr r0, _02232D24 ; =0x00002B70
mov r1, #0
add r0, r4, r0
bl MOD83_022316D8
mov r0, #0xae
lsl r0, r0, #6
add r0, r4, r0
mov r1, #0
bl MOD83_022316C0
add r0, r4, #0
mov r1, #1
mov r2, #0
bl MOD83_02231DF0
mov r1, #0x1e
mov r0, #0
lsl r1, r1, #4
mov r2, #0x57
bl FUN_02002ED0
add r0, r4, #0
mov r1, #1
mov r2, #4
add r3, r5, #0
bl MOD83_02231DBC
b _02232CF4
_02232C26:
bl FUN_02031810
cmp r0, #0
bne _02232CF4
ldr r0, _02232D28 ; =0x00002BE0
ldr r0, [r4, r0]
str r0, [r5]
b _02232CF4
_02232C36:
ldr r0, _02232D2C ; =0x00002BD4
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0
bne _02232CF4
ldr r1, _02232D30 ; =0x00002D78
add r0, r4, #0
ldr r2, [r4]
add r0, #0x90
add r1, r4, r1
bl MOD83_022392EC
ldr r0, _02232D30 ; =0x00002D78
mov r1, #0xd6
add r0, r4, r0
lsl r1, r1, #2
bl MOD83_0222F8F0
add r0, r4, #0
bl MOD83_02232610
mov r0, #0x17
str r0, [r5]
b _02232CF4
_02232C6A:
bl MOD83_02239574
cmp r0, #4
bne _02232CF4
mov r0, #0x93
bl FUN_02031588
mov r0, #0x18
str r0, [r5]
b _02232CF4
_02232C7E:
bl MOD83_02232DF0
cmp r0, #0
beq _02232C90
mov r0, #0x93
bl FUN_020315D8
cmp r0, #1
bne _02232CF4
_02232C90:
bl MOD83_02239544
ldr r1, _02232D24 ; =0x00002B70
mov r3, #0xa
add r0, r4, #0
add r1, r4, r1
mov r2, #0x12
lsl r3, r3, #6
bl MOD83_02231F88
ldr r0, _02232D34 ; =0x00003CF0
ldr r0, [r4, r0]
bl FUN_0200DBFC
add r0, r4, #0
add r1, r5, #0
mov r2, #0x19
bl MOD83_02233084
b _02232CF4
_02232CB8:
ldr r0, _02232D38 ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #3
tst r0, r1
beq _02232CF4
mov r0, #0x13
str r0, [r5]
b _02232CF4
_02232CC8:
mov r1, #0
mov r2, #0x1c
add r3, r5, #0
bl MOD83_02231DBC
b _02232CF4
_02232CD4:
bl FUN_0200E308
cmp r0, #0
beq _02232CF4
ldr r0, _02232D28 ; =0x00002BE0
ldr r0, [r4, r0]
str r0, [r5]
b _02232CF4
_02232CE4:
bl MOD83_022315F8
add r0, r4, #0
bl MOD83_022324A0
add sp, #8
mov r0, #1
pop {r4, r5, r6, pc}
_02232CF4:
ldr r0, _02232D3C ; =0x00002BE4
ldr r0, [r4, r0]
cmp r0, #0
beq _02232D00
bl FUN_0201FDEC
_02232D00:
bl MOD83_02238D58
ldr r0, _02232D40 ; =0x00003CE8
ldr r1, [r4, r0]
cmp r1, #0
beq _02232D10
add r0, r4, #0
blx r1
_02232D10:
mov r0, #0
add sp, #8
pop {r4, r5, r6, pc}
nop
_02232D18: .word 0x00002BD0
_02232D1C: .word 0x00002AA8
_02232D20: .word 0x00002A98
_02232D24: .word 0x00002B70
_02232D28: .word 0x00002BE0
_02232D2C: .word 0x00002BD4
_02232D30: .word 0x00002D78
_02232D34: .word 0x00003CF0
_02232D38: .word 0x021C48B8
_02232D3C: .word 0x00002BE4
_02232D40: .word 0x00003CE8
thumb_func_end MOD83_02232788
thumb_func_start MOD83_02232D44
MOD83_02232D44: ; 0x02232D44
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _02232DA8 ; =0x00002B60
mov r2, #0xd6
ldr r1, [r5, r0]
sub r0, #0xc
lsl r1, r1, #2
add r1, r5, r1
ldr r4, [r1, r0]
add r0, r5, #0
add r0, #0xe0
add r1, r4, #0
lsl r2, r2, #2
bl memcpy
mov r1, #0x41
add r0, r5, #0
lsl r1, r1, #2
add r0, #0x90
add r1, r4, r1
mov r2, #0x50
bl memcpy
ldr r0, _02232DAC ; =0x00000428
mov r1, #0
strb r1, [r5, r0]
add r0, r5, #0
add r0, #0xde
ldrb r1, [r0]
mov r0, #0x10
mov r2, #0xf
bic r1, r0
add r0, r5, #0
add r0, #0xde
strb r1, [r0]
add r0, r5, #0
add r0, #0xde
ldrb r1, [r0]
mov r0, #0x20
orr r1, r0
add r0, r5, #0
add r0, #0xde
strb r1, [r0]
ldr r1, _02232DB0 ; =0x00002B44
add r0, r5, #4
ldr r1, [r5, r1]
bl MOD83_0222F8C4
mov r0, #0
pop {r3, r4, r5, pc}
.align 2, 0
_02232DA8: .word 0x00002B60
_02232DAC: .word 0x00000428
_02232DB0: .word 0x00002B44
thumb_func_end MOD83_02232D44
thumb_func_start MOD83_02232DB4
MOD83_02232DB4: ; 0x02232DB4
push {r3, r4}
ldr r3, [r0]
ldr r1, [r0, #4]
add r2, r0, #0
mov r4, #0
cmp r1, r3
bge _02232DC8
add r3, r1, #0
mov r4, #1
add r2, r0, #4
_02232DC8:
ldr r1, [r0, #8]
cmp r1, r3
bge _02232DD6
add r2, r0, #0
add r3, r1, #0
mov r4, #2
add r2, #8
_02232DD6:
ldr r1, [r0, #0xc]
cmp r1, r3
bge _02232DE2
add r2, r0, #0
mov r4, #3
add r2, #0xc
_02232DE2:
ldr r0, _02232DEC ; =0x3FFF0001
str r0, [r2]
add r0, r4, #1
pop {r3, r4}
bx lr
.align 2, 0
_02232DEC: .word 0x3FFF0001
thumb_func_end MOD83_02232DB4
thumb_func_start MOD83_02232DF0
MOD83_02232DF0: ; 0x02232DF0
push {r3, r4, r5, lr}
mov r5, #0
mov r4, #1
_02232DF6:
add r0, r4, #0
bl FUN_0202DFA4
cmp r0, #0
beq _02232E02
add r5, r5, #1
_02232E02:
add r4, r4, #1
cmp r4, #5
blt _02232DF6
add r0, r5, #0
pop {r3, r4, r5, pc}
thumb_func_end MOD83_02232DF0
thumb_func_start MOD83_02232E0C
MOD83_02232E0C: ; 0x02232E0C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x48
add r5, r0, #0
mov r6, #0
mov r0, #1
str r1, [sp, #0x10]
add r7, r6, #0
str r0, [sp, #0x24]
add r4, r5, #4
_02232E1E:
ldr r0, [sp, #0x24]
bl FUN_0202DFA4
cmp r0, #0
bne _02232E40
ldr r0, _02232FCC ; =0x00002BA8
ldr r0, [r4, r0]
cmp r0, #0
beq _02232E32
add r7, r7, #1
_02232E32:
ldr r0, _02232FCC ; =0x00002BA8
mov r1, #0
str r1, [r4, r0]
ldr r1, _02232FD0 ; =0x3FFF0001
add r0, #0x14
str r1, [r4, r0]
b _02232E68
_02232E40:
ldr r1, _02232FCC ; =0x00002BA8
ldr r1, [r4, r1]
cmp r1, r0
beq _02232E66
ldr r1, _02232FCC ; =0x00002BA8
add r7, r7, #1
str r0, [r4, r1]
add r0, r1, #0
add r1, #0x34
ldr r1, [r5, r1]
add r0, #0x34
add r2, r1, #1
ldr r0, [r5, r0]
ldr r1, _02232FD4 ; =0x00002BDC
add r6, r6, #1
str r2, [r5, r1]
sub r1, #0x20
str r0, [r4, r1]
b _02232E68
_02232E66:
add r6, r6, #1
_02232E68:
ldr r0, [sp, #0x24]
add r4, r4, #4
add r0, r0, #1
str r0, [sp, #0x24]
cmp r0, #5
blt _02232E1E
cmp r7, #0
bne _02232E7E
add sp, #0x48
add r0, r6, #0
pop {r3, r4, r5, r6, r7, pc}
_02232E7E:
mov r1, #0xaf
lsl r1, r1, #6
ldr r0, [r5, r1]
str r0, [sp, #0x38]
add r0, r1, #4
ldr r0, [r5, r0]
str r0, [sp, #0x3c]
add r0, r1, #0
add r0, #8
ldr r0, [r5, r0]
add r1, #0xc
str r0, [sp, #0x40]
ldr r0, [r5, r1]
str r0, [sp, #0x44]
add r0, sp, #0x38
bl MOD83_02232DB4
str r0, [sp, #0x28]
add r0, sp, #0x38
bl MOD83_02232DB4
str r0, [sp, #0x2c]
add r0, sp, #0x38
bl MOD83_02232DB4
str r0, [sp, #0x30]
add r0, sp, #0x38
bl MOD83_02232DB4
str r0, [sp, #0x34]
mov r0, #0x57
bl FUN_0200AA80
add r4, r0, #0
ldr r2, _02232FD8 ; =0x00000172
mov r0, #1
mov r1, #0x1a
mov r3, #0x57
bl FUN_0200A86C
str r0, [sp, #0x1c]
mov r5, #0
ldr r0, [sp, #0x10]
add r1, r5, #0
bl FUN_02019620
add r0, r5, #0
str r0, [sp, #0x14]
cmp r6, #0
ble _02232FAE
add r0, sp, #0x28
str r0, [sp, #0x18]
_02232EE6:
ldr r0, [sp, #0x18]
ldr r0, [r0]
bl FUN_0202DFA4
add r7, r0, #0
beq _02232F9E
add r0, r4, #0
mov r1, #0
add r2, r7, #0
bl FUN_0200ABC0
ldr r1, [sp, #0x1c]
add r0, r4, #0
mov r2, #0x35
mov r3, #0x57
bl FUN_0200A9C4
str r0, [sp, #0x20]
add r0, r7, #0
bl FUN_020239CC
cmp r0, #0
str r5, [sp]
bne _02232F30
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _02232FDC ; =0x00050600
mov r1, #0
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r0, [sp, #0x10]
ldr r2, [sp, #0x20]
add r3, r1, #0
bl FUN_0201BDE0
b _02232F4A
_02232F30:
mov r0, #0xff
str r0, [sp, #4]
mov r0, #0xc1
lsl r0, r0, #0xa
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
mov r1, #0
ldr r0, [sp, #0x10]
ldr r2, [sp, #0x20]
add r3, r1, #0
bl FUN_0201BDE0
_02232F4A:
ldr r0, [sp, #0x20]
bl FUN_02021A20
add r0, r7, #0
bl FUN_020239BC
add r2, r0, #0
mov r0, #2
str r0, [sp]
mov r0, #1
lsl r2, r2, #0x10
str r0, [sp, #4]
add r0, r4, #0
mov r1, #0
lsr r2, r2, #0x10
mov r3, #5
bl FUN_0200AD38
ldr r1, [sp, #0x1c]
add r0, r4, #0
mov r2, #0x36
mov r3, #0x57
bl FUN_0200A9C4
add r7, r0, #0
str r5, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _02232FE0 ; =0x000E0F00
mov r1, #0
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r0, [sp, #0x10]
add r2, r7, #0
mov r3, #0x50
bl FUN_0201BDE0
add r0, r7, #0
bl FUN_02021A20
add r5, #0x18
_02232F9E:
ldr r0, [sp, #0x18]
add r0, r0, #4
str r0, [sp, #0x18]
ldr r0, [sp, #0x14]
add r0, r0, #1
str r0, [sp, #0x14]
cmp r0, r6
blt _02232EE6
_02232FAE:
cmp r6, #0
beq _02232FB8
ldr r0, [sp, #0x10]
bl FUN_020191D0
_02232FB8:
ldr r0, [sp, #0x1c]
bl FUN_0200A8B8
add r0, r4, #0
bl FUN_0200AB18
add r0, r6, #0
add sp, #0x48
pop {r3, r4, r5, r6, r7, pc}
nop
_02232FCC: .word 0x00002BA8
_02232FD0: .word 0x3FFF0001
_02232FD4: .word 0x00002BDC
_02232FD8: .word 0x00000172
_02232FDC: .word 0x00050600
_02232FE0: .word 0x000E0F00
thumb_func_end MOD83_02232E0C
thumb_func_start MOD83_02232FE4
MOD83_02232FE4: ; 0x02232FE4
push {r4, r5, r6, lr}
sub sp, #0x10
add r5, r0, #0
ldr r0, _02233070 ; =0x00002B94
add r4, r1, #0
str r2, [r5, r0]
ldr r2, _02233074 ; =0x00000172
mov r0, #1
mov r1, #0x1a
mov r3, #0x57
bl FUN_0200A86C
ldr r1, _02233078 ; =0x000029A4
str r0, [r5, r1]
mov r0, #0x57
bl FUN_0200AA80
ldr r1, _0223307C ; =0x000029A0
str r0, [r5, r1]
add r0, r4, #0
mov r1, #0
bl FUN_02019620
mov r3, #1
str r3, [sp]
ldr r0, _0223307C ; =0x000029A0
str r3, [sp, #4]
ldr r2, _02233070 ; =0x00002B94
ldr r0, [r5, r0]
ldr r2, [r5, r2]
mov r1, #0
bl FUN_0200AD38
ldr r1, _0223307C ; =0x000029A0
mov r2, #0x38
ldr r0, [r5, r1]
add r1, r1, #4
ldr r1, [r5, r1]
mov r3, #0x57
bl FUN_0200A9C4
add r6, r0, #0
mov r3, #0
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _02233080 ; =0x00010200
mov r1, #1
str r0, [sp, #8]
add r0, r4, #0
add r2, r6, #0
str r3, [sp, #0xc]
bl FUN_0201BDE0
add r0, r4, #0
bl FUN_020191D0
add r0, r6, #0
bl FUN_02021A20
ldr r0, _02233078 ; =0x000029A4
ldr r0, [r5, r0]
bl FUN_0200A8B8
ldr r0, _0223307C ; =0x000029A0
ldr r0, [r5, r0]
bl FUN_0200AB18
add sp, #0x10
pop {r4, r5, r6, pc}
.align 2, 0
_02233070: .word 0x00002B94
_02233074: .word 0x00000172
_02233078: .word 0x000029A4
_0223307C: .word 0x000029A0
_02233080: .word 0x00010200
thumb_func_end MOD83_02232FE4
thumb_func_start MOD83_02233084
MOD83_02233084: ; 0x02233084
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
bl MOD83_0222F9DC
bl FUN_02033ED0
ldr r0, _022330A0 ; =0x00002BE0
str r6, [r5, r0]
mov r0, #0x16
str r0, [r4]
pop {r4, r5, r6, pc}
nop
_022330A0: .word 0x00002BE0
thumb_func_end MOD83_02233084
thumb_func_start MOD83_022330A4
MOD83_022330A4: ; 0x022330A4
push {r3, r4, r5, r6, r7, lr}
str r0, [sp]
bl FUN_02006278
add r7, r0, #0
ldr r0, _02233154 ; =0x000029A8
mov r6, #0
add r4, r7, #0
add r5, r7, r0
_022330B6:
ldr r0, _02233154 ; =0x000029A8
ldr r0, [r4, r0]
cmp r0, #0
beq _022330CA
add r0, r5, #0
bl FUN_02019570
add r0, r5, #0
bl FUN_02019178
_022330CA:
add r6, r6, #1
add r4, #0x10
add r5, #0x10
cmp r6, #0x13
blo _022330B6
ldr r0, _02233158 ; =0x00002B70
ldr r1, [r7, r0]
cmp r1, #0
beq _022330EA
add r0, r7, r0
bl FUN_02019570
ldr r0, _02233158 ; =0x00002B70
add r0, r7, r0
bl FUN_02019178
_022330EA:
mov r0, #0xae
lsl r0, r0, #6
ldr r1, [r7, r0]
cmp r1, #0
beq _02233104
add r0, r7, r0
bl FUN_02019570
mov r0, #0xae
lsl r0, r0, #6
add r0, r7, r0
bl FUN_02019178
_02233104:
ldr r0, _0223315C ; =0x0000299C
mov r1, #0
ldr r0, [r7, r0]
bl FUN_020178A0
ldr r0, _0223315C ; =0x0000299C
mov r1, #1
ldr r0, [r7, r0]
bl FUN_020178A0
ldr r0, _0223315C ; =0x0000299C
mov r1, #2
ldr r0, [r7, r0]
bl FUN_020178A0
ldr r0, _0223315C ; =0x0000299C
mov r1, #3
ldr r0, [r7, r0]
bl FUN_020178A0
ldr r0, _0223315C ; =0x0000299C
ldr r0, [r7, r0]
bl FreeToHeap
ldr r0, _02233160 ; =SDK_OVERLAY_MODULE_83_ID
ldr r1, _02233164 ; =0x0223A434
bl FUN_02000E7C
mov r0, #0x5b
bl FUN_020168D0
ldr r0, [sp]
bl FUN_0200627C
mov r0, #0x57
bl FUN_020168D0
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
nop
_02233154: .word 0x000029A8
_02233158: .word 0x00002B70
_0223315C: .word 0x0000299C
_02233160: .word SDK_OVERLAY_MODULE_83_ID
_02233164: .word 0x0223A434
thumb_func_end MOD83_022330A4
thumb_func_start MOD83_02233168
MOD83_02233168: ; 0x02233168
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
add r7, r1, #0
add r5, r2, #0
bl MOD83_022331E0
ldr r1, _022331B4 ; =0x00003CF4
add r0, r5, #0
bl AllocFromHeapAtEnd
ldr r2, _022331B4 ; =0x00003CF4
mov r1, #0
add r4, r0, #0
bl memset
ldr r0, _022331B8 ; =0x0000299C
mov r1, #0x1e
str r6, [r4, r0]
mov r0, #0
lsl r1, r1, #4
add r2, r5, #0
str r5, [r4]
bl FUN_02002ED0
ldr r0, _022331BC ; =0x00002B54
mov r2, #0
str r7, [r4, r0]
add r0, #0xc
str r2, [r4, r0]
add r0, r4, #0
mov r1, #1
bl MOD83_02231DF0
add r0, r4, #0
bl FreeToHeap
pop {r3, r4, r5, r6, r7, pc}
nop
_022331B4: .word 0x00003CF4
_022331B8: .word 0x0000299C
_022331BC: .word 0x00002B54
thumb_func_end MOD83_02233168
thumb_func_start MOD83_022331C0
MOD83_022331C0: ; 0x022331C0
push {r4, lr}
sub sp, #0x28
ldr r4, _022331DC ; =0x0223A4D4
add r3, sp, #0
mov r2, #5
_022331CA:
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _022331CA
add r0, sp, #0
bl FUN_0201E66C
add sp, #0x28
pop {r4, pc}
.align 2, 0
_022331DC: .word 0x0223A4D4
thumb_func_end MOD83_022331C0
thumb_func_start MOD83_022331E0
MOD83_022331E0: ; 0x022331E0
push {r3, r4, r5, lr}
sub sp, #0x80
ldr r5, _022332A0 ; =0x0223A454
add r3, sp, #0x70
add r4, r0, #0
add r2, r3, #0
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
add r0, r2, #0
bl FUN_02016BBC
ldr r5, _022332A4 ; =0x0223A480
add r3, sp, #0x54
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #0
str r0, [r3]
add r0, r4, #0
add r3, r1, #0
bl FUN_02016C18
add r0, r4, #0
mov r1, #0
bl FUN_02018744
ldr r5, _022332A8 ; =0x0223A4B8
add r3, sp, #0x38
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #1
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl FUN_02016C18
add r0, r4, #0
mov r1, #1
bl FUN_02018744
ldr r5, _022332AC ; =0x0223A49C
add r3, sp, #0x1c
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #2
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl FUN_02016C18
add r0, r4, #0
mov r1, #2
bl FUN_02018744
ldr r5, _022332B0 ; =0x0223A464
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #3
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl FUN_02016C18
add r0, r4, #0
mov r1, #3
bl FUN_02018744
add sp, #0x80
pop {r3, r4, r5, pc}
nop
_022332A0: .word 0x0223A454
_022332A4: .word 0x0223A480
_022332A8: .word 0x0223A4B8
_022332AC: .word 0x0223A49C
_022332B0: .word 0x0223A464
thumb_func_end MOD83_022331E0
thumb_func_start MOD83_022332B4
MOD83_022332B4: ; 0x022332B4
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r7, r0, #0
bl FUN_0202251C
mov r1, #0
ldr r4, [r5, #0x48]
mvn r1, r1
add r6, r0, #0
cmp r4, r1
bne _022332E8
add r2, r5, #0
add r2, #0x4c
ldrh r2, [r2]
lsr r1, r1, #0x10
cmp r2, r1
bne _022332E8
bl FUN_0202AC28
add r0, r7, #0
mov r1, #0
bl FUN_020227A0
mov r0, #0
bl OS_ResetSystem
_022332E8:
cmp r4, #0
bne _022332F0
mov r4, #0
mvn r4, r4
_022332F0:
mov r0, #1
lsl r0, r0, #0xa
tst r0, r4
bne _022332FC
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_022332FC:
add r0, r5, #0
add r0, #0x4e
ldrb r0, [r0]
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
cmp r0, #1
bne _0223331E
add r1, r5, #0
add r1, #0x4c
ldrh r1, [r1]
add r0, r6, #0
bl FUN_0202AEF4
cmp r0, #1
bne _0223331E
mov r0, #2
pop {r3, r4, r5, r6, r7, pc}
_0223331E:
add r0, r5, #0
add r0, #0x4e
ldrb r0, [r0]
lsl r0, r0, #0x1d
lsr r0, r0, #0x1f
cmp r0, #1
bne _0223333A
add r0, r6, #0
bl FUN_0202AE0C
cmp r0, #0
bne _0223333A
mov r0, #4
pop {r3, r4, r5, r6, r7, pc}
_0223333A:
add r0, r6, #0
bl FUN_0202ADF0
cmp r0, #0
bne _02233348
mov r0, #3
pop {r3, r4, r5, r6, r7, pc}
_02233348:
add r5, #0x4e
ldrb r0, [r5]
lsl r0, r0, #0x1a
lsr r0, r0, #0x1f
cmp r0, #1
bne _02233358
mov r0, #5
pop {r3, r4, r5, r6, r7, pc}
_02233358:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD83_022332B4
thumb_func_start MOD83_0223335C
MOD83_0223335C: ; 0x0223335C
push {r3, lr}
mov r0, #4
bl MOD83_02234580
bl MOD83_02234C34
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_0223335C
thumb_func_start MOD83_0223336C
MOD83_0223336C: ; 0x0223336C
push {r3, lr}
bl MOD83_02234704
str r0, [sp]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_0223336C
thumb_func_start MOD83_02233378
MOD83_02233378: ; 0x02233378
push {r3, lr}
bl MOD83_02234724
add r1, sp, #0
strh r0, [r1]
mov r0, #0
ldrsh r0, [r1, r0]
pop {r3, pc}
thumb_func_end MOD83_02233378
thumb_func_start MOD83_02233388
MOD83_02233388: ; 0x02233388
push {r4, lr}
bl MOD83_0223458C
cmp r0, #0xc
bne _022333AA
bl MOD83_0223456C
add r4, r0, #0
ldr r0, [r4, #0x1c]
cmp r0, #0
bne _022333A6
bl MOD83_02234C34
mov r0, #1
str r0, [r4, #0x1c]
_022333A6:
mov r0, #1
pop {r4, pc}
_022333AA:
mov r0, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_02233388
thumb_func_start MOD83_022333B0
MOD83_022333B0: ; 0x022333B0
push {r4, lr}
add r4, r0, #0
bl MOD83_0223466C
mov r3, #0
add r1, r3, #0
_022333BC:
ldr r2, [r0]
cmp r2, #0
beq _022333CC
ldrh r2, [r0, #6]
cmp r4, r2
bne _022333CC
strb r1, [r0, #8]
strb r1, [r0, #0xa]
_022333CC:
add r3, r3, #1
add r0, #0xc
cmp r3, #8
blt _022333BC
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_022333B0
thumb_func_start MOD83_022333D8
MOD83_022333D8: ; 0x022333D8
push {r3, lr}
bl MOD83_0223466C
add r1, r0, #0
add r1, #0x62
ldrh r3, [r1]
mov r2, #1
add r1, r3, #0
tst r1, r2
beq _022333FE
add r1, r0, #0
add r1, #0x62
ldrh r3, [r1]
mov r1, #1
add r0, #0x62
bic r3, r1
strh r3, [r0]
add r0, r2, #0
pop {r3, pc}
_022333FE:
mov r1, #0x40
add r2, r3, #0
tst r2, r1
beq _02233418
add r1, r0, #0
add r1, #0x62
ldrh r2, [r1]
mov r1, #0x40
add r0, #0x62
bic r2, r1
strh r2, [r0]
mov r0, #7
pop {r3, pc}
_02233418:
lsl r1, r1, #6
tst r1, r3
beq _02233430
add r1, r0, #0
add r1, #0x62
ldrh r2, [r1]
ldr r1, _02233434 ; =0xFFFFEFFF
add r0, #0x62
and r1, r2
strh r1, [r0]
mov r0, #0xd
pop {r3, pc}
_02233430:
mov r0, #0
pop {r3, pc}
.align 2, 0
_02233434: .word 0xFFFFEFFF
thumb_func_end MOD83_022333D8
thumb_func_start MOD83_02233438
MOD83_02233438: ; 0x02233438
push {r4, lr}
bl MOD83_0223466C
add r4, r0, #0
mov r1, #1
add r0, #0x60
strb r1, [r0]
bl WM_GetAllowedChannel
add r1, r4, #0
add r1, #0x62
strh r0, [r1]
add r0, r4, #0
add r0, #0x62
ldrh r1, [r0]
cmp r1, #0
beq _02233462
mov r0, #2
lsl r0, r0, #0xe
cmp r1, r0
bne _02233466
_02233462:
mov r0, #0
pop {r4, pc}
_02233466:
add r0, r4, #0
mov r1, #0x66
add r0, #0x61
strb r1, [r0]
mov r0, #0
add r4, #0x64
strb r0, [r4]
mov r0, #1
pop {r4, pc}
thumb_func_end MOD83_02233438
thumb_func_start MOD83_02233478
MOD83_02233478: ; 0x02233478
push {r4, lr}
bl MOD83_02234564
add r4, r0, #0
bl WM_GetDispersionBeaconPeriod
strh r0, [r4, #0x18]
bl WM_GetNextTgid
strh r0, [r4, #0xc]
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_02233478
thumb_func_start MOD83_02233490
MOD83_02233490: ; 0x02233490
push {r4, lr}
bl MOD83_022345D4
add r4, r0, #0
bl MOD83_02234610
str r0, [r4]
bl MOD83_02234564
ldrh r0, [r0, #0x32]
strh r0, [r4, #4]
bl WM_GetDispersionScanPeriod
strh r0, [r4, #6]
mov r0, #0xff
strb r0, [r4, #8]
strb r0, [r4, #9]
strb r0, [r4, #0xa]
strb r0, [r4, #0xb]
strb r0, [r4, #0xc]
strb r0, [r4, #0xd]
pop {r4, pc}
thumb_func_end MOD83_02233490
thumb_func_start MOD83_022334BC
MOD83_022334BC: ; 0x022334BC
push {r3, r4, r5, r6, r7, lr}
bl MOD83_022345D4
add r7, r0, #0
bl WM_GetAllowedChannel
add r3, r0, #0
beq _02233508
ldrh r2, [r7, #4]
mov r1, #0
mov r0, #1
mov ip, r2
mov r4, #0x1c
_022334D6:
lsr r6, r2, #0x1f
lsl r5, r2, #0x1c
sub r5, r5, r6
ror r5, r4
add r5, r6, r5
add r6, r0, #0
lsl r6, r5
add r5, r3, #0
tst r5, r6
beq _02233500
mov r0, ip
add r0, r0, r1
lsr r2, r0, #0x1f
lsl r1, r0, #0x1c
sub r1, r1, r2
mov r0, #0x1c
ror r1, r0
add r0, r2, r1
add r0, r0, #1
strh r0, [r7, #4]
pop {r3, r4, r5, r6, r7, pc}
_02233500:
add r1, r1, #1
add r2, r2, #1
cmp r1, #0x10
blt _022334D6
_02233508:
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD83_022334BC
thumb_func_start MOD83_0223350C
MOD83_0223350C: ; 0x0223350C
push {r4, lr}
add r4, r0, #0
ldrh r0, [r4, #4]
bl MOD83_0223495C
ldrh r0, [r4, #2]
cmp r0, #8
bne _02233524
bl MOD83_02234958
bl MOD83_0223335C
_02233524:
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_0223350C
thumb_func_start MOD83_02233528
MOD83_02233528: ; 0x02233528
push {r4, lr}
add r4, r0, #0
ldrh r0, [r4, #8]
bl MOD83_0223495C
ldrh r0, [r4, #2]
cmp r0, #0
beq _0223353C
bl MOD83_02234958
_0223353C:
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_02233528
thumb_func_start MOD83_02233540
MOD83_02233540: ; 0x02233540
push {r3, lr}
ldrh r0, [r0, #2]
cmp r0, #0
bne _02233576
mov r0, #2
bl MOD83_02234580
bl MOD83_0223458C
cmp r0, #0xc
bne _02233562
bl MOD83_022349CC
mov r0, #2
bl MOD83_02234580
pop {r3, pc}
_02233562:
bl MOD83_02234BF8
cmp r0, #0
bne _0223357E
bl MOD83_022349CC
mov r0, #2
bl MOD83_02234580
pop {r3, pc}
_02233576:
bl MOD83_02234958
bl MOD83_022349CC
_0223357E:
pop {r3, pc}
thumb_func_end MOD83_02233540
thumb_func_start MOD83_02233580
MOD83_02233580: ; 0x02233580
push {r3, lr}
ldrh r0, [r0, #2]
cmp r0, #0
bne _022335AA
bl MOD83_0223458C
cmp r0, #0xc
bne _022335A2
bl WM_Finish
mov r0, #0xc
bl MOD83_02234580
mov r0, #1
bl MOD83_0223464C
pop {r3, pc}
_022335A2:
mov r0, #1
bl MOD83_02234580
pop {r3, pc}
_022335AA:
bl MOD83_02234958
mov r0, #4
bl MOD83_02234580
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_02233580
thumb_func_start MOD83_022335B8
MOD83_022335B8: ; 0x022335B8
push {r3, r4, r5, lr}
add r5, r0, #0
ldrh r0, [r5, #2]
cmp r0, #0
bne _02233616
bl MOD83_0223466C
add r4, r0, #0
add r0, #0x61
ldrh r1, [r5, #0xa]
ldrb r0, [r0]
cmp r0, r1
ble _022335E0
add r0, r4, #0
add r0, #0x61
strb r1, [r0]
add r0, r4, #0
ldrh r1, [r5, #8]
add r0, #0x64
strb r1, [r0]
_022335E0:
bl MOD83_022333D8
cmp r0, #0
beq _022335F6
bl MOD83_022349EC
cmp r0, #0
bne _0223361E
bl MOD83_0223335C
pop {r3, r4, r5, pc}
_022335F6:
add r4, #0x61
ldrb r0, [r4]
cmp r0, #0x66
bhs _02233610
bl MOD83_02233478
bl MOD83_02234A18
cmp r0, #0
bne _0223361E
bl MOD83_0223335C
pop {r3, r4, r5, pc}
_02233610:
bl MOD83_0223335C
pop {r3, r4, r5, pc}
_02233616:
bl MOD83_02234958
bl MOD83_0223335C
_0223361E:
pop {r3, r4, r5, pc}
thumb_func_end MOD83_022335B8
thumb_func_start MOD83_02233620
MOD83_02233620: ; 0x02233620
push {r3, lr}
ldrh r0, [r0, #2]
cmp r0, #0
bne _0223363E
bl MOD83_02233388
cmp r0, #0
bne _02233646
bl MOD83_02234A54
cmp r0, #0
bne _02233646
bl MOD83_0223335C
pop {r3, pc}
_0223363E:
bl MOD83_02234958
bl MOD83_0223335C
_02233646:
pop {r3, pc}
thumb_func_end MOD83_02233620
thumb_func_start MOD83_02233648
MOD83_02233648: ; 0x02233648
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
ldrh r0, [r5, #8]
bl MOD83_0223495C
ldrh r0, [r5, #2]
cmp r0, #0
beq _0223365C
b _0223376E
_0223365C:
bl MOD83_0223466C
add r4, r0, #0
mov r0, #8
bl MOD83_02234580
bl MOD83_02233388
cmp r0, #0
beq _02233672
b _02233776
_02233672:
add r0, r4, #0
add r0, #0x60
ldrb r0, [r0]
cmp r0, #1
bne _02233684
add r0, r4, #0
mov r1, #2
add r0, #0x60
strb r1, [r0]
_02233684:
ldrh r0, [r5, #8]
cmp r0, #7
bgt _0223369C
bge _022336BE
cmp r0, #2
bgt _02233776
cmp r0, #0
blt _02233776
beq _022336A4
add sp, #0xc
cmp r0, #2
pop {r4, r5, pc}
_0223369C:
cmp r0, #9
beq _02233764
add sp, #0xc
pop {r4, r5, pc}
_022336A4:
bl MOD83_02234B80
cmp r0, #0
bne _022336B4
bl MOD83_0223335C
add sp, #0xc
pop {r4, r5, pc}
_022336B4:
mov r0, #0
bl MOD83_0223461C
add sp, #0xc
pop {r4, r5, pc}
_022336BE:
bl MOD83_0223466C
bl MOD83_02234968
add r4, #0x60
ldrb r0, [r4]
cmp r0, #2
bne _02233776
add r4, r5, #0
add r4, #0x14
bl MOD83_022346BC
ldr r1, [r5, #0x14]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
cmp r1, r0
bne _02233776
bl MOD83_022346CC
ldr r1, [r4]
lsl r1, r1, #0x14
lsr r1, r1, #0x1c
cmp r1, r0
bhi _02233776
bl MOD83_022346DC
ldr r1, [r4, #4]
lsr r1, r1, #0x10
cmp r1, r0
bne _02233776
bl MOD83_0223466C
add r4, r0, #0
add r0, r5, #0
add r0, #0xa
bl MOD83_0223336C
str r0, [sp, #4]
str r0, [sp, #8]
add r0, r5, #0
add r0, #0xa
bl MOD83_02233378
add r1, sp, #0
strh r0, [r1]
ldrh r0, [r1]
ldr r2, [sp, #8]
add r3, r4, #0
strh r0, [r1, #2]
mov r0, #0
_02233722:
ldr r1, [r3]
cmp r1, r2
bne _0223373A
mov r1, #0xc
mul r1, r0
ldrh r0, [r5, #0x10]
add r1, r4, r1
add sp, #0xc
strh r0, [r1, #6]
mov r0, #1
strb r0, [r1, #0xa]
pop {r4, r5, pc}
_0223373A:
cmp r1, #0
bne _02233758
mov r1, #0xc
mul r1, r0
str r2, [r4, r1]
add r0, sp, #0
ldrh r0, [r0, #2]
add r1, r4, r1
add sp, #0xc
strh r0, [r1, #4]
ldrh r0, [r5, #0x10]
strh r0, [r1, #6]
mov r0, #1
strb r0, [r1, #0xa]
pop {r4, r5, pc}
_02233758:
add r0, r0, #1
add r3, #0xc
cmp r0, #8
blt _02233722
add sp, #0xc
pop {r4, r5, pc}
_02233764:
ldrh r0, [r5, #0x10]
bl MOD83_022333B0
add sp, #0xc
pop {r4, r5, pc}
_0223376E:
bl MOD83_02234958
bl MOD83_0223335C
_02233776:
add sp, #0xc
pop {r4, r5, pc}
.align 2, 0
thumb_func_end MOD83_02233648
thumb_func_start MOD83_0223377C
MOD83_0223377C: ; 0x0223377C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r1, #0
str r0, [sp]
bl MOD83_02234664
add r7, r0, #0
add r0, r4, #4
bl MOD83_0223336C
str r0, [sp, #8]
str r0, [sp, #0xc]
add r0, r4, #4
bl MOD83_02233378
add r2, sp, #4
strh r0, [r2]
ldrh r0, [r2]
ldr r6, [sp, #0xc]
add r1, r7, #0
strh r0, [r2, #2]
ldrh r3, [r2, #2]
mov r0, #0
_022337AA:
ldr r2, [r1]
add r5, r1, #0
add r5, #0x34
cmp r2, r6
bne _022337C0
ldrh r5, [r5]
cmp r5, r3
bne _022337C0
add sp, #0x10
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_022337C0:
cmp r2, #0
bne _0223380C
mov r1, #0x38
mul r1, r0
ldr r0, [sp, #0xc]
add r5, r4, #0
str r0, [r7, r1]
add r0, r7, r1
add r5, #0x58
add r3, r0, #4
mov r2, #0xc
_022337D6:
ldrh r0, [r5]
add r5, r5, #2
strh r0, [r3]
add r3, r3, #2
sub r2, r2, #1
bne _022337D6
add r3, r7, r1
add r4, #0x70
add r3, #0x1c
mov r2, #0xc
_022337EA:
ldrh r0, [r4]
add r4, r4, #2
strh r0, [r3]
add r3, r3, #2
sub r2, r2, #1
bne _022337EA
add r0, sp, #4
ldrh r0, [r0, #2]
add r1, r7, r1
strh r0, [r1, #0x34]
ldr r0, [sp]
add r1, #0x36
ldrh r0, [r0, #0x12]
add sp, #0x10
strb r0, [r1]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0223380C:
add r0, r0, #1
add r1, #0x38
cmp r0, #8
blt _022337AA
mov r0, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD83_0223377C
thumb_func_start MOD83_0223381C
MOD83_0223381C: ; 0x0223381C
push {r3, lr}
bl MOD83_022334BC
bl MOD83_02234A70
cmp r0, #0
bne _0223382E
bl MOD83_0223335C
_0223382E:
pop {r3, pc}
thumb_func_end MOD83_0223381C
thumb_func_start MOD83_02233830
MOD83_02233830: ; 0x02233830
push {r4, r5, r6, lr}
add r6, r0, #0
bl MOD83_02234610
add r4, r0, #0
bl MOD83_02234664
add r5, r0, #0
bl MOD83_02233388
cmp r0, #0
beq _0223384C
mov r0, #1
pop {r4, r5, r6, pc}
_0223384C:
mov r1, #0
add r2, r1, #0
add r3, r5, #0
_02233852:
ldr r0, [r3]
cmp r0, #0
beq _0223385C
mov r1, #1
b _02233864
_0223385C:
add r2, r2, #1
add r3, #0x38
cmp r2, #8
blt _02233852
_02233864:
cmp r1, #0
beq _02233882
mov r0, #7
lsl r0, r0, #6
ldrh r0, [r5, r0]
cmp r0, #0
bne _02233882
bl MOD83_02234B2C
cmp r0, #0
bne _0223387E
bl MOD83_0223335C
_0223387E:
mov r0, #1
pop {r4, r5, r6, pc}
_02233882:
add r0, r4, #0
mov r1, #0xc0
bl DC_InvalidateRange
bl MOD83_02234664
bl MOD83_02234964
ldrh r0, [r6, #0x36]
cmp r0, #8
blo _0223390C
bl MOD83_022346B0
ldr r1, [r4, #0x44]
cmp r1, r0
bne _0223390C
add r5, r4, #0
add r5, #0x50
bl MOD83_022346BC
ldr r1, [r4, #0x50]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
cmp r1, r0
bne _0223390C
bl MOD83_022346CC
ldr r1, [r5]
lsl r1, r1, #0x14
lsr r1, r1, #0x1c
cmp r1, r0
bhi _0223390C
bl MOD83_022346DC
ldr r1, [r5, #4]
lsr r1, r1, #0x10
cmp r1, r0
bne _0223390C
add r0, r6, #0
add r1, r4, #0
bl MOD83_0223377C
cmp r0, #0
beq _022338FC
bl MOD83_02234664
ldr r1, _02233910 ; =0x000001C2
ldrb r2, [r0, r1]
add r2, r2, #1
strb r2, [r0, r1]
ldrb r0, [r0, r1]
cmp r0, #0x1c
bls _0223390C
bl MOD83_02234B2C
cmp r0, #0
bne _0223390C
bl MOD83_0223335C
mov r0, #1
pop {r4, r5, r6, pc}
_022338FC:
bl MOD83_02234B2C
cmp r0, #0
bne _02233908
bl MOD83_0223335C
_02233908:
mov r0, #1
pop {r4, r5, r6, pc}
_0223390C:
mov r0, #0
pop {r4, r5, r6, pc}
.align 2, 0
_02233910: .word 0x000001C2
thumb_func_end MOD83_02233830
thumb_func_start MOD83_02233914
MOD83_02233914: ; 0x02233914
push {r4, lr}
add r4, r0, #0
ldrh r0, [r4, #8]
bl MOD83_0223495C
ldrh r0, [r4, #2]
cmp r0, #0
bne _0223397A
bl MOD83_02234610
bl MOD83_02234960
mov r0, #6
bl MOD83_02234580
bl MOD83_02233388
cmp r0, #0
bne _02233982
bl MOD83_022345A4
cmp r0, #1
bne _02233954
bl MOD83_02234664
ldr r2, _02233984 ; =0x000001C3
mov r1, #0xf0
ldrb r3, [r0, r2]
bic r3, r1
mov r1, #0x10
orr r1, r3
strb r1, [r0, r2]
_02233954:
ldrh r0, [r4, #8]
cmp r0, #4
beq _02233968
cmp r0, #5
bne _0223396E
add r0, r4, #0
bl MOD83_02233830
cmp r0, #0
bne _02233982
_02233968:
bl MOD83_0223381C
pop {r4, pc}
_0223396E:
ldrh r0, [r4, #2]
bl MOD83_02234958
bl MOD83_0223335C
pop {r4, pc}
_0223397A:
bl MOD83_02234958
bl MOD83_0223335C
_02233982:
pop {r4, pc}
.align 2, 0
_02233984: .word 0x000001C3
thumb_func_end MOD83_02233914
thumb_func_start MOD83_02233988
MOD83_02233988: ; 0x02233988
push {r4, r5, r6, lr}
sub sp, #8
bl MOD83_02234610
add r4, r0, #0
bl MOD83_02234664
add r6, r0, #0
bl MOD83_02234564
bl MOD83_02233388
cmp r0, #0
beq _022339AA
add sp, #8
mov r0, #1
pop {r4, r5, r6, pc}
_022339AA:
add r0, r4, #0
mov r1, #0xc0
bl DC_InvalidateRange
bl MOD83_02234664
bl MOD83_02234964
ldrh r0, [r4, #0x3c]
cmp r0, #8
blo _02233A24
bl MOD83_022346B0
ldr r1, [r4, #0x44]
cmp r1, r0
bne _02233A24
add r5, r4, #0
add r5, #0x50
bl MOD83_022346BC
ldr r1, [r4, #0x50]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
cmp r1, r0
bne _02233A24
bl MOD83_022346CC
ldr r1, [r5]
lsl r1, r1, #0x14
lsr r1, r1, #0x1c
cmp r1, r0
bhi _02233A24
bl MOD83_022346DC
ldr r1, [r5, #4]
lsr r1, r1, #0x10
cmp r1, r0
bne _02233A24
add r0, r4, #4
bl MOD83_0223336C
ldr r1, _02233A2C ; =0x000001C3
str r0, [sp]
ldrb r1, [r6, r1]
str r0, [sp, #4]
lsl r1, r1, #0x1c
lsr r2, r1, #0x1c
mov r1, #0x38
mul r1, r2
ldr r1, [r6, r1]
cmp r1, r0
bne _02233A24
bl MOD83_02234B2C
cmp r0, #0
bne _02233A1E
bl MOD83_0223335C
_02233A1E:
add sp, #8
mov r0, #1
pop {r4, r5, r6, pc}
_02233A24:
mov r0, #0
add sp, #8
pop {r4, r5, r6, pc}
nop
_02233A2C: .word 0x000001C3
thumb_func_end MOD83_02233988
thumb_func_start MOD83_02233A30
MOD83_02233A30: ; 0x02233A30
push {r4, lr}
add r4, r0, #0
ldrh r0, [r4, #8]
bl MOD83_0223495C
ldrh r0, [r4, #2]
cmp r0, #0
bne _02233A90
bl MOD83_02234664
ldr r2, _02233A9C ; =0x000001C3
mov r1, #0xf0
ldrb r3, [r0, r2]
bic r3, r1
mov r1, #0x20
orr r1, r3
strb r1, [r0, r2]
mov r0, #6
bl MOD83_02234580
bl MOD83_02233388
cmp r0, #0
bne _02233A98
ldrh r0, [r4, #8]
cmp r0, #4
beq _02233A72
cmp r0, #5
bne _02233A84
bl MOD83_02233988
cmp r0, #0
bne _02233A98
_02233A72:
bl MOD83_022334BC
bl MOD83_02234A94
cmp r0, #0
bne _02233A98
bl MOD83_0223335C
pop {r4, pc}
_02233A84:
ldrh r0, [r4, #2]
bl MOD83_02234958
bl MOD83_0223335C
pop {r4, pc}
_02233A90:
bl MOD83_02234958
bl MOD83_0223335C
_02233A98:
pop {r4, pc}
nop
_02233A9C: .word 0x000001C3
thumb_func_end MOD83_02233A30
thumb_func_start MOD83_02233AA0
MOD83_02233AA0: ; 0x02233AA0
push {r3, lr}
ldrh r0, [r0, #2]
cmp r0, #0
bne _02233AE4
mov r0, #7
bl MOD83_02234580
bl MOD83_02233388
cmp r0, #0
bne _02233AEC
bl MOD83_022345A4
cmp r0, #1
bne _02233AEC
bl MOD83_02234664
ldr r1, _02233AF0 ; =0x000001C3
ldrb r0, [r0, r1]
lsl r0, r0, #0x18
lsr r0, r0, #0x1c
cmp r0, #2
bne _02233AEC
bl MOD83_02234B48
cmp r0, #0
bne _02233ADC
bl MOD83_0223335C
pop {r3, pc}
_02233ADC:
mov r0, #3
bl MOD83_02234580
pop {r3, pc}
_02233AE4:
bl MOD83_02234958
bl MOD83_0223335C
_02233AEC:
pop {r3, pc}
nop
_02233AF0: .word 0x000001C3
thumb_func_end MOD83_02233AA0
thumb_func_start MOD83_02233AF4
MOD83_02233AF4: ; 0x02233AF4
push {r4, lr}
add r4, r0, #0
ldrh r0, [r4, #8]
bl MOD83_0223495C
ldrh r0, [r4, #2]
cmp r0, #0
bne _02233B7A
mov r0, #9
bl MOD83_02234580
bl MOD83_02233388
cmp r0, #0
bne _02233B82
ldrh r0, [r4, #8]
cmp r0, #9
bhi _02233B6E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02233B24: ; jump table
.short _02233B6E - _02233B24 - 2 ; case 0
.short _02233B6E - _02233B24 - 2 ; case 1
.short _02233B6E - _02233B24 - 2 ; case 2
.short _02233B6E - _02233B24 - 2 ; case 3
.short _02233B6E - _02233B24 - 2 ; case 4
.short _02233B6E - _02233B24 - 2 ; case 5
.short _02233B82 - _02233B24 - 2 ; case 6
.short _02233B38 - _02233B24 - 2 ; case 7
.short _02233B82 - _02233B24 - 2 ; case 8
.short _02233B58 - _02233B24 - 2 ; case 9
_02233B38:
ldrh r0, [r4, #0xa]
bl MOD83_0223461C
mov r0, #1
bl MOD83_02234634
mov r0, #0
bl MOD83_02234640
bl MOD83_02234B80
cmp r0, #0
bne _02233B82
bl MOD83_0223335C
pop {r4, pc}
_02233B58:
bl MOD83_02234628
cmp r0, #0
beq _02233B66
mov r0, #1
bl MOD83_02234640
_02233B66:
mov r0, #0
bl MOD83_02234634
pop {r4, pc}
_02233B6E:
ldrh r0, [r4, #2]
bl MOD83_02234958
bl MOD83_0223335C
pop {r4, pc}
_02233B7A:
bl MOD83_02234958
bl MOD83_0223335C
_02233B82:
pop {r4, pc}
thumb_func_end MOD83_02233AF4
thumb_func_start MOD83_02233B84
MOD83_02233B84: ; 0x02233B84
push {r3, lr}
bl MOD83_022345A4
cmp r0, #1
beq _02233BBE
cmp r0, #2
bne _02233BD6
bl MOD83_02233438
cmp r0, #0
beq _02233BB8
bl MOD83_022333D8
bl MOD83_022349EC
cmp r0, #0
beq _02233BB8
bl MOD83_0223466C
mov r1, #1
add r0, #0x60
strb r1, [r0]
mov r0, #3
bl MOD83_02234580
pop {r3, pc}
_02233BB8:
bl MOD83_0223335C
pop {r3, pc}
_02233BBE:
bl MOD83_02233490
bl MOD83_02234A70
cmp r0, #0
bne _02233BD0
bl MOD83_0223335C
pop {r3, pc}
_02233BD0:
mov r0, #3
bl MOD83_02234580
_02233BD6:
pop {r3, pc}
thumb_func_end MOD83_02233B84
thumb_func_start MOD83_02233BD8
MOD83_02233BD8: ; 0x02233BD8
push {r4, lr}
add r4, r0, #0
ldrh r0, [r4, #4]
bl MOD83_0223495C
ldrh r0, [r4, #2]
cmp r0, #0
bne _02233C12
ldrh r0, [r4]
cmp r0, #0xe
bne _02233BF6
bl MOD83_02233388
cmp r0, #0
bne _02233C22
_02233BF6:
bl MOD83_022345A4
cmp r0, #1
beq _02233C0A
cmp r0, #2
bne _02233C22
mov r0, #0xa
bl MOD83_02234580
pop {r4, pc}
_02233C0A:
mov r0, #0xb
bl MOD83_02234580
pop {r4, pc}
_02233C12:
cmp r0, #9
beq _02233C22
cmp r0, #0xd
beq _02233C22
cmp r0, #0xf
beq _02233C22
bl MOD83_0223335C
_02233C22:
pop {r4, pc}
thumb_func_end MOD83_02233BD8
thumb_func_start MOD83_02233C24
MOD83_02233C24: ; 0x02233C24
push {r4, r5, r6, lr}
add r6, r0, #0
bl MOD83_02234694
add r4, r0, #0
ldrb r0, [r4, #0x19]
cmp r0, #1
bne _02233C9A
ldrh r1, [r6, #0x10]
ldr r0, [r6, #0xc]
ldr r5, [r4, #0xc]
bl DC_FlushRange
ldrh r2, [r6, #0x10]
ldr r0, [r6, #0xc]
ldr r1, [r4, #0xc]
bl MI_CpuCopy8
bl MOD83_022346BC
ldr r1, [r5]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
cmp r1, r0
bne _02233C9A
bl MOD83_022346CC
ldr r1, [r5]
lsl r1, r1, #0x14
lsr r1, r1, #0x1c
cmp r1, r0
bhi _02233C9A
ldr r0, [r4, #0xc]
bl MOD83_02234900
ldr r0, [r5, #8]
lsl r0, r0, #0x18
lsr r1, r0, #0x18
ldrb r0, [r4, #0x1c]
cmp r1, r0
bne _02233C9A
ldr r0, [r4, #0xc]
bl MOD83_0223496C
ldr r0, [r4, #0xc]
bl MOD83_02234934
cmp r0, #0
beq _02233C96
ldr r0, [r5, #8]
lsl r0, r0, #0x10
lsr r0, r0, #0x18
cmp r0, #1
beq _02233C96
mov r0, #2
strb r0, [r4, #0x19]
pop {r4, r5, r6, pc}
_02233C96:
mov r0, #0
strb r0, [r4, #0x19]
_02233C9A:
pop {r4, r5, r6, pc}
thumb_func_end MOD83_02233C24
thumb_func_start MOD83_02233C9C
MOD83_02233C9C: ; 0x02233C9C
push {r4, r5, r6, lr}
add r6, r0, #0
bl MOD83_02234694
add r4, r0, #0
bl MOD83_022345A4
cmp r0, #2
bne _02233D24
ldrb r0, [r4, #0x19]
cmp r0, #2
beq _02233D24
ldrh r1, [r6, #0x10]
ldr r0, [r6, #0xc]
ldr r5, [r4, #0xc]
bl DC_FlushRange
ldrh r2, [r6, #0x10]
ldr r0, [r6, #0xc]
ldr r1, [r4, #0xc]
bl MI_CpuCopy8
bl MOD83_022346BC
ldr r1, [r5]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
cmp r1, r0
bne _02233D24
bl MOD83_022346CC
ldr r1, [r5]
lsl r1, r1, #0x14
lsr r1, r1, #0x1c
cmp r1, r0
bhi _02233D24
ldr r0, [r4, #0xc]
bl MOD83_02234900
ldr r0, [r5, #8]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r0, #0xfd
bne _02233D24
bl MOD83_0223466C
ldrh r5, [r6, #0x12]
mov r2, #0
add r3, r0, #0
_02233CFE:
ldrh r1, [r3, #6]
cmp r5, r1
bne _02233D1C
mov r1, #0xc
mul r1, r2
add r1, r0, r1
mov r2, #1
strb r2, [r1, #8]
mov r0, #3
strb r0, [r1, #9]
mov r0, #0xb4
strb r0, [r4, #0x1a]
mov r0, #0
strb r0, [r4, #0x19]
pop {r4, r5, r6, pc}
_02233D1C:
add r2, r2, #1
add r3, #0xc
cmp r2, #8
blt _02233CFE
_02233D24:
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_end MOD83_02233C9C
thumb_func_start MOD83_02233D28
MOD83_02233D28: ; 0x02233D28
push {r4, r5, r6, lr}
add r6, r0, #0
bl MOD83_02234694
add r4, r0, #0
ldrb r0, [r4, #0x1c]
cmp r0, #0xfd
bne _02233D40
add r0, r6, #0
bl MOD83_02233C9C
pop {r4, r5, r6, pc}
_02233D40:
ldrb r0, [r4, #0x19]
cmp r0, #1
beq _02233D4C
ldrb r0, [r4, #0x19]
cmp r0, #3
bne _02233DE8
_02233D4C:
ldrb r0, [r4, #0x1b]
cmp r0, #0
bne _02233DE8
ldrh r1, [r6, #0x10]
ldr r0, [r6, #0xc]
ldr r5, [r4, #0xc]
bl DC_FlushRange
ldrh r2, [r6, #0x10]
ldr r0, [r6, #0xc]
ldr r1, [r4, #0xc]
bl MI_CpuCopy8
bl MOD83_022346BC
ldr r1, [r5]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
cmp r1, r0
bne _02233DE8
bl MOD83_022346CC
ldr r1, [r5]
lsl r1, r1, #0x14
lsr r1, r1, #0x1c
cmp r1, r0
bhi _02233DE8
ldr r0, [r4, #0xc]
bl MOD83_02234900
ldr r0, [r5, #8]
lsl r0, r0, #0x18
lsr r1, r0, #0x18
ldrb r0, [r4, #0x1c]
cmp r1, r0
bne _02233DE8
ldr r0, [r4, #0xc]
bl MOD83_0223496C
mov r0, #0
strb r0, [r4, #0x19]
ldr r0, [r4, #0xc]
bl MOD83_02234934
cmp r0, #0
beq _02233DDA
ldr r0, [r5, #8]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r0, #0xfd
bne _02233DBA
add r0, r6, #0
bl MOD83_02233C9C
b _02233DCC
_02233DBA:
ldr r2, [r5, #0xc]
ldr r1, [r4, #0xc]
lsl r0, r2, #0x18
lsr r0, r0, #0x18
add r0, r1, r0
ldr r1, [r4, #4]
lsr r2, r2, #8
bl MI_CpuCopy8
_02233DCC:
ldr r1, [r5, #8]
ldr r0, _02233DEC ; =0xFFFF00FF
and r0, r1
str r0, [r5, #8]
mov r0, #4
strb r0, [r4, #0x1b]
pop {r4, r5, r6, pc}
_02233DDA:
ldr r1, [r5, #8]
ldr r0, _02233DEC ; =0xFFFF00FF
and r1, r0
mov r0, #1
lsl r0, r0, #8
orr r0, r1
str r0, [r5, #8]
_02233DE8:
pop {r4, r5, r6, pc}
nop
_02233DEC: .word 0xFFFF00FF
thumb_func_end MOD83_02233D28
thumb_func_start MOD83_02233DF0
MOD83_02233DF0: ; 0x02233DF0
push {r4, lr}
add r4, r0, #0
ldrh r0, [r4, #4]
bl MOD83_0223495C
ldrh r0, [r4, #2]
cmp r0, #0
bne _02233E72
ldrh r0, [r4, #4]
cmp r0, #7
beq _02233E3A
cmp r0, #9
beq _02233E48
cmp r0, #0x15
bne _02233E72
bl MOD83_02234574
cmp r0, #0xa
beq _02233E1A
cmp r0, #0xb
bne _02233E72
_02233E1A:
bl MOD83_02234694
ldrb r0, [r0, #0x18]
cmp r0, #1
beq _02233E2A
cmp r0, #2
beq _02233E32
pop {r4, pc}
_02233E2A:
add r0, r4, #0
bl MOD83_02233C24
pop {r4, pc}
_02233E32:
add r0, r4, #0
bl MOD83_02233D28
pop {r4, pc}
_02233E3A:
mov r0, #1
bl MOD83_02234634
mov r0, #0
bl MOD83_02234640
pop {r4, pc}
_02233E48:
bl MOD83_02234628
cmp r0, #0
beq _02233E56
mov r0, #1
bl MOD83_02234640
_02233E56:
bl MOD83_02234574
cmp r0, #0xa
beq _02233E64
cmp r0, #0xb
beq _02233E6C
pop {r4, pc}
_02233E64:
ldrh r0, [r4, #0x12]
bl MOD83_022333B0
pop {r4, pc}
_02233E6C:
mov r0, #0
bl MOD83_02234634
_02233E72:
pop {r4, pc}
thumb_func_end MOD83_02233DF0
thumb_func_start MOD83_02233E74
MOD83_02233E74: ; 0x02233E74
push {r3, lr}
ldrh r0, [r0, #2]
cmp r0, #0
bne _02233E8A
bl MOD83_02233388
cmp r0, #0
bne _02233E94
bl MOD83_02233B84
pop {r3, pc}
_02233E8A:
bl MOD83_02234958
mov r0, #4
bl MOD83_02234580
_02233E94:
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_02233E74
thumb_func_start MOD83_02233E98
MOD83_02233E98: ; 0x02233E98
push {r3, lr}
ldrh r0, [r0, #2]
cmp r0, #0
bne _02233EB0
bl MOD83_022349CC
cmp r0, #0
beq _02233EB8
mov r0, #2
bl MOD83_02234580
pop {r3, pc}
_02233EB0:
bl MOD83_02234958
bl MOD83_0223335C
_02233EB8:
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_02233E98
thumb_func_start MOD83_02233EBC
MOD83_02233EBC: ; 0x02233EBC
push {r3, lr}
ldrh r0, [r0, #2]
cmp r0, #0
bne _02233EF2
mov r0, #0
bl MOD83_0223461C
bl MOD83_0223458C
cmp r0, #0xc
bne _02233EE2
bl MOD83_02234C54
cmp r0, #0
beq _02233EFC
mov r0, #3
bl MOD83_02234580
pop {r3, pc}
_02233EE2:
bl MOD83_02234C14
cmp r0, #0
beq _02233EFC
mov r0, #3
bl MOD83_02234580
pop {r3, pc}
_02233EF2:
bl MOD83_02234958
mov r0, #4
bl MOD83_02234580
_02233EFC:
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_02233EBC
thumb_func_start MOD83_02233F00
MOD83_02233F00: ; 0x02233F00
push {r3, lr}
ldrh r0, [r0, #2]
cmp r0, #0
bne _02233F16
mov r0, #0xc
bl MOD83_02234580
mov r0, #1
bl MOD83_0223464C
pop {r3, pc}
_02233F16:
bl MOD83_02234958
mov r0, #4
bl MOD83_02234580
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_02233F00
thumb_func_start MOD83_02233F24
MOD83_02233F24: ; 0x02233F24
push {r3, lr}
ldr r0, _02233F40 ; =MOD83_0223350C
bl WM_SetIndCallback
cmp r0, #0
beq _02233F3A
mov r0, #4
bl MOD83_02234580
mov r0, #0
pop {r3, pc}
_02233F3A:
mov r0, #1
pop {r3, pc}
nop
_02233F40: .word MOD83_0223350C
thumb_func_end MOD83_02233F24
thumb_func_start MOD83_02233F44
MOD83_02233F44: ; 0x02233F44
push {r3, lr}
bl MOD83_02234574
cmp r0, #0
beq _02233F56
cmp r0, #1
beq _02233F56
cmp r0, #2
bne _02233F5A
_02233F56:
bl MOD83_022349B0
_02233F5A:
pop {r3, pc}
thumb_func_end MOD83_02233F44
thumb_func_start MOD83_02233F5C
MOD83_02233F5C: ; 0x02233F5C
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
bl MOD83_02234564
ldrh r0, [r0, #0x34]
cmp r4, r0
bhi _02233F80
add r0, r5, #0
add r1, r4, #0
bl DC_FlushRange
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl MOD83_02234970
_02233F80:
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_end MOD83_02233F5C
thumb_func_start MOD83_02233F84
MOD83_02233F84: ; 0x02233F84
mov r0, #0x17
lsl r0, r0, #6
bx lr
.align 2, 0
thumb_func_end MOD83_02233F84
thumb_func_start MOD83_02233F8C
MOD83_02233F8C: ; 0x02233F8C
mov r0, #0x17
lsl r0, r0, #6
bx lr
.align 2, 0
thumb_func_end MOD83_02233F8C
thumb_func_start MOD83_02233F94
MOD83_02233F94: ; 0x02233F94
push {r3, r4, r5, r6, r7, lr}
add r7, r1, #0
add r5, r0, #0
bl MOD83_02234564
bl MOD83_0223456C
add r4, r0, #0
mov r0, #0x1f
add r1, r7, #0
and r1, r0
beq _02233FB2
mov r0, #0x20
sub r0, r0, r1
add r7, r7, r0
_02233FB2:
mov r1, #0
strb r1, [r4]
strb r1, [r4, #1]
strb r1, [r4, #2]
mov r0, #4
strb r0, [r4, #3]
ldr r0, _022340B8 ; =0x00400131
str r0, [r4, #4]
mov r0, #0xf
strh r1, [r4, #0xc]
lsl r0, r0, #8
str r7, [r4, #0x34]
add r7, r7, r0
str r7, [r4, #0x38]
bl MOD83_02233F84
str r0, [r4, #0x2c]
add r7, r7, r0
str r7, [r4, #0x3c]
bl MOD83_02233F8C
add r7, r7, r0
str r0, [r4, #0x30]
add r0, r7, #0
str r7, [r4, #0x28]
add r0, #0xc0
str r0, [r4, #0x24]
ldr r0, [r4, #0x34]
mov r1, #2
add r7, #0xe0
bl WM_Init
bl MOD83_02233F24
str r0, [r4, #0x10]
mov r2, #0
str r2, [r4, #0x14]
str r2, [r4, #0x18]
str r2, [r4, #0x1c]
str r2, [r4, #0x20]
ldr r0, [r4, #0x40]
mov r6, #0xff
bic r0, r6
add r3, r0, #0
mov r1, #0xf
orr r3, r1
ldr r0, _022340BC ; =0xFFFFF0FF
add r1, #0xf1
and r0, r3
orr r1, r0
ldr r0, _022340C0 ; =0xFFFF0FFF
and r1, r0
mov r0, #1
lsl r0, r0, #0xc
orr r0, r1
str r0, [r4, #0x40]
ldr r3, [r5]
ldr r1, [r4, #0x44]
lsl r3, r3, #0x18
lsr r3, r3, #0x18
lsl r3, r3, #0x18
add r0, r4, #0
bic r1, r6
lsr r3, r3, #0x18
orr r3, r1
ldr r1, _022340BC ; =0xFFFFF0FF
str r3, [r4, #0x44]
and r1, r3
ldr r3, [r5]
add r0, #0x44
lsl r3, r3, #0x14
lsr r3, r3, #0x1c
lsl r3, r3, #0x1c
lsr r3, r3, #0x14
orr r3, r1
ldr r1, _022340C0 ; =0xFFFF0FFF
str r3, [r4, #0x44]
and r1, r3
ldr r3, [r5]
lsl r3, r3, #0x10
lsr r3, r3, #0x1c
lsl r3, r3, #0x1c
lsr r3, r3, #0x10
orr r1, r3
str r1, [r4, #0x44]
ldr r1, [r0]
ldr r3, [r5]
lsl r1, r1, #0x10
lsr r3, r3, #0x10
lsr r1, r1, #0x10
lsl r3, r3, #0x10
orr r1, r3
str r1, [r0]
ldr r0, [r5, #8]
ldr r1, [r5, #4]
add r3, r4, #0
b _0223408C
_02234074:
ldrh r6, [r0]
add r5, r3, #0
add r5, #0x48
strh r6, [r5]
add r5, r3, #0
ldrh r6, [r1]
add r5, #0x60
add r3, r3, #2
strh r6, [r5]
add r2, r2, #1
add r0, r0, #2
add r1, r1, #2
_0223408C:
cmp r0, #0
beq _02234094
cmp r2, #0xc
blo _02234074
_02234094:
ldr r1, [r4, #0x40]
ldr r0, [r4, #0x44]
str r1, [r4, #0x78]
str r0, [r4, #0x7c]
bl MOD83_022346A4
bl MOD83_02234694
str r7, [r0, #8]
ldr r0, [r4, #0x2c]
add r7, r7, r0
bl MOD83_02234694
str r7, [r0, #0xc]
bl WM_GetNextTgid
pop {r3, r4, r5, r6, r7, pc}
nop
_022340B8: .word 0x00400131
_022340BC: .word 0xFFFFF0FF
_022340C0: .word 0xFFFF0FFF
thumb_func_end MOD83_02233F94
thumb_func_start MOD83_022340C4
MOD83_022340C4: ; 0x022340C4
push {r3, r4, r5, lr}
bl MOD83_02234694
add r4, r0, #0
ldrb r0, [r4, #0x19]
cmp r0, #1
bne _022340E2
ldrb r0, [r4, #0x1a]
sub r0, r0, #1
strb r0, [r4, #0x1a]
ldrb r0, [r4, #0x1a]
cmp r0, #0
bne _02234118
mov r0, #0
strb r0, [r4, #0x19]
_022340E2:
ldrb r0, [r4, #0x19]
cmp r0, #0
bne _02234118
bl MOD83_02234770
mov r1, #0x40
sub r5, r1, r0
ldrb r0, [r4, #0x1c]
add r2, r5, #0
mov r3, #3
str r0, [sp]
ldr r0, [r4, #8]
ldr r1, [r4, #4]
bl MOD83_022347D0
bl MOD83_02234770
add r1, r0, #0
ldr r0, [r4, #8]
ldr r2, _0223411C ; =0x0000FFFF
add r1, r5, r1
bl MOD83_02233F5C
mov r0, #1
strb r0, [r4, #0x19]
mov r0, #0x3c
strb r0, [r4, #0x1a]
_02234118:
pop {r3, r4, r5, pc}
nop
_0223411C: .word 0x0000FFFF
thumb_func_end MOD83_022340C4
thumb_func_start MOD83_02234120
MOD83_02234120: ; 0x02234120
push {r3, r4, r5, r6, r7, lr}
bl MOD83_02234694
add r4, r0, #0
ldrb r0, [r4, #0x19]
cmp r0, #0
bne _022341D6
ldrb r0, [r4, #0x1c]
cmp r0, #0xfd
bne _02234198
bl MOD83_0223466C
add r5, r0, #0
mov r1, #0
add r2, r5, #0
_0223413E:
ldrb r0, [r2, #9]
cmp r0, #0
beq _0223417E
add r6, r1, #0
mov r0, #0xc
mul r6, r0
add r0, r5, r6
ldrh r0, [r0, #6]
mov r1, #1
mov r2, #0
lsl r1, r0
lsl r0, r1, #0x10
lsr r7, r0, #0x10
mov r0, #0xfd
str r0, [sp]
ldr r0, [r4, #8]
ldr r1, [r4, #4]
add r3, r2, #0
bl MOD83_022347D0
bl MOD83_02234770
add r1, r0, #0
ldr r0, [r4, #8]
add r2, r7, #0
bl MOD83_02233F5C
add r5, #9
ldrb r0, [r5, r6]
sub r0, r0, #1
strb r0, [r5, r6]
pop {r3, r4, r5, r6, r7, pc}
_0223417E:
add r1, r1, #1
add r2, #0xc
cmp r1, #8
blt _0223413E
ldrb r0, [r4, #0x1a]
sub r0, r0, #1
strb r0, [r4, #0x1a]
ldrb r0, [r4, #0x1a]
cmp r0, #0
bne _022341D6
mov r0, #2
strb r0, [r4, #0x19]
pop {r3, r4, r5, r6, r7, pc}
_02234198:
bl MOD83_02234770
bl MOD83_02233F84
ldr r0, [r4, #0xc]
ldr r0, [r0, #8]
lsl r0, r0, #0x10
lsr r3, r0, #0x18
bne _022341BA
ldrb r0, [r4, #0x1b]
cmp r0, #0
bne _022341B6
mov r0, #2
strb r0, [r4, #0x19]
pop {r3, r4, r5, r6, r7, pc}
_022341B6:
sub r0, r0, #1
strb r0, [r4, #0x1b]
_022341BA:
ldrb r0, [r4, #0x1c]
mov r2, #0
str r0, [sp]
ldr r0, [r4, #8]
ldr r1, [r4, #4]
bl MOD83_022347D0
bl MOD83_02234770
add r1, r0, #0
ldr r0, [r4, #8]
ldr r2, _022341D8 ; =0x0000FFFF
bl MOD83_02233F5C
_022341D6:
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_022341D8: .word 0x0000FFFF
thumb_func_end MOD83_02234120
thumb_func_start MOD83_022341DC
MOD83_022341DC: ; 0x022341DC
push {r3, lr}
bl MOD83_02234694
ldrb r0, [r0, #0x18]
cmp r0, #1
beq _022341EE
cmp r0, #2
beq _022341F4
pop {r3, pc}
_022341EE:
bl MOD83_022340C4
pop {r3, pc}
_022341F4:
bl MOD83_02234120
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_022341DC
thumb_func_start MOD83_022341FC
MOD83_022341FC: ; 0x022341FC
push {r4, lr}
bl MOD83_02234664
add r4, r0, #0
bl MOD83_02234574
cmp r0, #6
beq _02234212
cmp r0, #0xb
beq _02234222
pop {r4, pc}
_02234212:
mov r0, #7
lsl r0, r0, #6
ldrh r1, [r4, r0]
cmp r1, #0
beq _02234226
sub r1, r1, #1
strh r1, [r4, r0]
pop {r4, pc}
_02234222:
bl MOD83_022341DC
_02234226:
pop {r4, pc}
thumb_func_end MOD83_022341FC
thumb_func_start MOD83_02234228
MOD83_02234228: ; 0x02234228
push {r3, lr}
bl MOD83_02234574
cmp r0, #0xa
bne _02234236
bl MOD83_022341DC
_02234236:
pop {r3, pc}
thumb_func_end MOD83_02234228
thumb_func_start MOD83_02234238
MOD83_02234238: ; 0x02234238
push {r3, lr}
bl MOD83_02234574
cmp r0, #0xc
beq _0223427A
bl MOD83_0223458C
cmp r0, #0xc
bne _02234258
bl MOD83_02234574
cmp r0, #7
bne _0223427A
bl MOD83_02234C34
pop {r3, pc}
_02234258:
bl MOD83_022345A4
cmp r0, #1
beq _02234266
cmp r0, #2
beq _0223426C
b _02234272
_02234266:
bl MOD83_022341FC
pop {r3, pc}
_0223426C:
bl MOD83_02234228
pop {r3, pc}
_02234272:
bl MOD83_0223456C
bl MOD83_02234574
_0223427A:
pop {r3, pc}
thumb_func_end MOD83_02234238
thumb_func_start MOD83_0223427C
MOD83_0223427C: ; 0x0223427C
push {r3, lr}
bl MOD83_02234674
mov r0, #1
bl MOD83_022345B0
bl MOD83_02233F44
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_0223427C
thumb_func_start MOD83_02234290
MOD83_02234290: ; 0x02234290
push {r4, lr}
bl MOD83_022345A4
mov r4, #0
cmp r0, #1
bne _022342BE
bl MOD83_02234664
ldr r1, _022342C4 ; =0x000001C3
ldrb r1, [r0, r1]
lsl r1, r1, #0x18
lsr r1, r1, #0x1c
cmp r1, #1
bne _022342BE
add r2, r4, #0
_022342AE:
ldr r1, [r0]
cmp r1, #0
beq _022342B6
add r4, r4, #1
_022342B6:
add r2, r2, #1
add r0, #0x38
cmp r2, #8
blo _022342AE
_022342BE:
add r0, r4, #0
pop {r4, pc}
nop
_022342C4: .word 0x000001C3
thumb_func_end MOD83_02234290
thumb_func_start MOD83_022342C8
MOD83_022342C8: ; 0x022342C8
push {r4, lr}
add r4, r0, #0
bl MOD83_022345A4
cmp r0, #1
bne _022342FA
bl MOD83_02234574
cmp r0, #7
bne _022342FA
bl MOD83_02234664
ldr r1, _02234300 ; =0x000001C3
ldrb r1, [r0, r1]
lsl r1, r1, #0x18
lsr r1, r1, #0x1c
cmp r1, #1
bne _022342FA
mov r1, #0x38
mul r1, r4
ldr r0, [r0, r1]
cmp r0, #0
beq _022342FA
mov r0, #1
pop {r4, pc}
_022342FA:
mov r0, #0
pop {r4, pc}
nop
_02234300: .word 0x000001C3
thumb_func_end MOD83_022342C8
thumb_func_start MOD83_02234304
MOD83_02234304: ; 0x02234304
push {r3, r4, r5, lr}
add r4, r0, #0
bl MOD83_022345A4
cmp r0, #1
bne _0223434E
bl MOD83_02234574
cmp r0, #7
bne _0223434E
bl MOD83_02234664
ldr r2, _02234350 ; =0x000001C3
ldrb r3, [r0, r2]
lsl r1, r3, #0x18
lsr r1, r1, #0x1c
cmp r1, #1
bne _0223434E
mov r1, #0x38
add r5, r4, #0
mul r5, r1
ldr r5, [r0, r5]
cmp r5, #0
beq _0223434E
mov r5, #0xf
lsl r4, r4, #0x18
bic r3, r5
lsr r5, r4, #0x18
mov r4, #0xf
and r4, r5
orr r3, r4
strb r3, [r0, r2]
mov r2, #0x78
lsl r1, r1, #3
strh r2, [r0, r1]
bl MOD83_02234A94
_0223434E:
pop {r3, r4, r5, pc}
.align 2, 0
_02234350: .word 0x000001C3
thumb_func_end MOD83_02234304
thumb_func_start MOD83_02234354
MOD83_02234354: ; 0x02234354
push {r4, lr}
bl MOD83_022345A4
mov r4, #0
cmp r0, #2
bne _02234386
bl MOD83_0223466C
add r1, r0, #0
add r1, #0x60
ldrb r1, [r1]
cmp r1, #2
bne _02234386
add r2, r4, #0
_02234370:
ldr r1, [r0]
cmp r1, #0
beq _0223437E
ldrb r1, [r0, #0xa]
cmp r1, #0
beq _0223437E
add r4, r4, #1
_0223437E:
add r2, r2, #1
add r0, #0xc
cmp r2, #8
blo _02234370
_02234386:
add r0, r4, #0
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_02234354
thumb_func_start MOD83_0223438C
MOD83_0223438C: ; 0x0223438C
push {r3, lr}
bl MOD83_0223456C
ldr r0, [r0, #0x20]
cmp r0, #0
beq _0223439C
mov r0, #0
pop {r3, pc}
_0223439C:
bl WM_GetLinkLevel
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_0223438C
thumb_func_start MOD83_022343A4
MOD83_022343A4: ; 0x022343A4
push {r3, lr}
bl MOD83_022345A4
cmp r0, #1
beq _022343B4
cmp r0, #2
beq _022343BA
b _022343C0
_022343B4:
bl MOD83_02234290
pop {r3, pc}
_022343BA:
bl MOD83_02234354
pop {r3, pc}
_022343C0:
mov r0, #0
pop {r3, pc}
thumb_func_end MOD83_022343A4
thumb_func_start MOD83_022343C4
MOD83_022343C4: ; 0x022343C4
push {r3, r4, r5, lr}
bl MOD83_02234694
add r5, r0, #0
bl MOD83_022346EC
add r4, r0, #0
bl MOD83_022345A4
cmp r0, #1
bne _022343F6
mov r0, #1
strb r0, [r5, #0x18]
mov r1, #0
strb r1, [r5, #0x19]
add r4, #8
str r4, [r5]
str r4, [r5, #4]
str r1, [r5, #0x10]
str r1, [r5, #0x14]
mov r0, #0x78
strb r0, [r5, #0x1a]
strb r1, [r5, #0x1b]
mov r0, #0xfd
strb r0, [r5, #0x1c]
_022343F6:
pop {r3, r4, r5, pc}
thumb_func_end MOD83_022343C4
thumb_func_start MOD83_022343F8
MOD83_022343F8: ; 0x022343F8
push {r4, lr}
bl MOD83_02234694
add r4, r0, #0
bl MOD83_022346EC
mov r1, #1
strb r1, [r4, #0x18]
mov r1, #0
strb r1, [r4, #0x19]
add r0, #8
str r0, [r4]
str r0, [r4, #4]
mov r0, #0x30
str r0, [r4, #0x10]
str r0, [r4, #0x14]
mov r0, #0x78
strb r0, [r4, #0x1a]
strb r1, [r4, #0x1b]
mov r0, #0xfe
strb r0, [r4, #0x1c]
pop {r4, pc}
thumb_func_end MOD83_022343F8
thumb_func_start MOD83_02234424
MOD83_02234424: ; 0x02234424
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r1, #0
add r4, r2, #0
bl MOD83_02234694
cmp r4, #0xf0
bgt _0223444E
mov r1, #2
strb r1, [r0, #0x18]
mov r1, #3
strb r1, [r0, #0x19]
str r5, [r0]
str r5, [r0, #4]
str r6, [r0, #0x10]
mov r2, #0
str r2, [r0, #0x14]
mov r1, #0x78
strb r1, [r0, #0x1a]
strb r2, [r0, #0x1b]
strb r4, [r0, #0x1c]
_0223444E:
pop {r4, r5, r6, pc}
thumb_func_end MOD83_02234424
thumb_func_start MOD83_02234450
MOD83_02234450: ; 0x02234450
push {r3, lr}
bl MOD83_022345A4
cmp r0, #1
beq _0223445E
cmp r0, #2
bne _02234478
_0223445E:
bl MOD83_02234574
cmp r0, #0xa
beq _0223446A
cmp r0, #0xb
bne _02234478
_0223446A:
bl MOD83_02234694
ldrb r0, [r0, #0x19]
cmp r0, #2
bne _02234478
mov r0, #1
pop {r3, pc}
_02234478:
mov r0, #0
pop {r3, pc}
thumb_func_end MOD83_02234450
thumb_func_start MOD83_0223447C
MOD83_0223447C: ; 0x0223447C
push {r3, lr}
bl MOD83_022345A4
cmp r0, #1
beq _0223448A
cmp r0, #2
bne _022344A4
_0223448A:
bl MOD83_02234574
cmp r0, #0xa
beq _02234496
cmp r0, #0xb
bne _022344A4
_02234496:
bl MOD83_02234694
ldrb r0, [r0, #0x19]
cmp r0, #2
bne _022344A4
mov r0, #1
pop {r3, pc}
_022344A4:
mov r0, #0
pop {r3, pc}
thumb_func_end MOD83_0223447C
thumb_func_start MOD83_022344A8
MOD83_022344A8: ; 0x022344A8
push {r3, lr}
bl MOD83_022345A4
cmp r0, #1
beq _022344B6
cmp r0, #2
bne _022344E0
_022344B6:
bl MOD83_02234574
cmp r0, #0xa
beq _022344C2
cmp r0, #0xb
bne _022344E0
_022344C2:
bl MOD83_02234694
ldrb r1, [r0, #0x19]
cmp r1, #0
bne _022344E0
ldr r1, [r0, #0xc]
ldr r1, [r1, #8]
lsl r1, r1, #0x10
lsr r1, r1, #0x18
bne _022344E0
ldrb r0, [r0, #0x1b]
cmp r0, #4
bhs _022344E0
mov r0, #1
pop {r3, pc}
_022344E0:
mov r0, #0
pop {r3, pc}
thumb_func_end MOD83_022344A8
thumb_func_start MOD83_022344E4
MOD83_022344E4: ; 0x022344E4
push {r3, lr}
bl MOD83_022345A4
cmp r0, #2
bne _02234510
bl MOD83_0223466C
mov r2, #0
_022344F4:
ldr r1, [r0]
cmp r1, #0
beq _02234504
ldrb r1, [r0, #0xa]
cmp r1, #0
beq _02234504
mov r0, #1
pop {r3, pc}
_02234504:
add r2, r2, #1
add r0, #0xc
cmp r2, #8
blt _022344F4
mov r0, #0
pop {r3, pc}
_02234510:
bl MOD83_02234628
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_022344E4
thumb_func_start MOD83_02234518
MOD83_02234518: ; 0x02234518
push {r4, lr}
mov r0, #0xc
bl MOD83_02234598
bl MOD83_02234574
cmp r0, #0
beq _02234532
cmp r0, #1
beq _02234532
cmp r0, #9
beq _0223453E
pop {r4, pc}
_02234532:
bl WM_Finish
mov r0, #1
bl MOD83_0223464C
pop {r4, pc}
_0223453E:
bl MOD83_02234628
cmp r0, #0
bne _02234554
bl MOD83_0223456C
add r4, r0, #0
bl MOD83_02234C34
mov r0, #1
str r0, [r4, #0x1c]
_02234554:
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_02234518
thumb_func_start MOD83_02234558
MOD83_02234558: ; 0x02234558
push {r3, lr}
bl MOD83_0223456C
ldr r0, [r0, #0x20]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_02234558
thumb_func_start MOD83_02234564
MOD83_02234564: ; 0x02234564
ldr r0, _02234568 ; =0x0223B240
bx lr
.align 2, 0
_02234568: .word 0x0223B240
thumb_func_end MOD83_02234564
thumb_func_start MOD83_0223456C
MOD83_0223456C: ; 0x0223456C
ldr r0, _02234570 ; =0x0223B8A0
bx lr
.align 2, 0
_02234570: .word 0x0223B8A0
thumb_func_end MOD83_0223456C
thumb_func_start MOD83_02234574
MOD83_02234574: ; 0x02234574
push {r3, lr}
bl MOD83_0223456C
ldrb r0, [r0]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_02234574
thumb_func_start MOD83_02234580
MOD83_02234580: ; 0x02234580
push {r4, lr}
add r4, r0, #0
bl MOD83_0223456C
strb r4, [r0]
pop {r4, pc}
thumb_func_end MOD83_02234580
thumb_func_start MOD83_0223458C
MOD83_0223458C: ; 0x0223458C
push {r3, lr}
bl MOD83_0223456C
ldrb r0, [r0, #1]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_0223458C
thumb_func_start MOD83_02234598
MOD83_02234598: ; 0x02234598
push {r4, lr}
add r4, r0, #0
bl MOD83_0223456C
strb r4, [r0, #1]
pop {r4, pc}
thumb_func_end MOD83_02234598
thumb_func_start MOD83_022345A4
MOD83_022345A4: ; 0x022345A4
push {r3, lr}
bl MOD83_0223456C
ldrb r0, [r0, #2]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_022345A4
thumb_func_start MOD83_022345B0
MOD83_022345B0: ; 0x022345B0
push {r4, lr}
add r4, r0, #0
bl MOD83_0223456C
strb r4, [r0, #2]
pop {r4, pc}
thumb_func_end MOD83_022345B0
thumb_func_start MOD83_022345BC
MOD83_022345BC: ; 0x022345BC
push {r3, lr}
bl MOD83_0223456C
ldrb r0, [r0, #3]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_022345BC
thumb_func_start MOD83_022345C8
MOD83_022345C8: ; 0x022345C8
push {r4, lr}
add r4, r0, #0
bl MOD83_02234564
strh r4, [r0, #0x32]
pop {r4, pc}
thumb_func_end MOD83_022345C8
thumb_func_start MOD83_022345D4
MOD83_022345D4: ; 0x022345D4
push {r3, lr}
bl MOD83_0223456C
ldr r0, [r0, #0x24]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_022345D4
thumb_func_start MOD83_022345E0
MOD83_022345E0: ; 0x022345E0
push {r3, lr}
bl MOD83_0223456C
ldr r0, [r0, #0x2c]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_022345E0
thumb_func_start MOD83_022345EC
MOD83_022345EC: ; 0x022345EC
push {r3, lr}
bl MOD83_0223456C
ldr r0, [r0, #0x30]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_022345EC
thumb_func_start MOD83_022345F8
MOD83_022345F8: ; 0x022345F8
push {r3, lr}
bl MOD83_0223456C
ldr r0, [r0, #0x38]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_022345F8
thumb_func_start MOD83_02234604
MOD83_02234604: ; 0x02234604
push {r3, lr}
bl MOD83_0223456C
ldr r0, [r0, #0x3c]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_02234604
thumb_func_start MOD83_02234610
MOD83_02234610: ; 0x02234610
push {r3, lr}
bl MOD83_0223456C
ldr r0, [r0, #0x28]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_02234610
thumb_func_start MOD83_0223461C
MOD83_0223461C: ; 0x0223461C
push {r4, lr}
add r4, r0, #0
bl MOD83_0223456C
strh r4, [r0, #0xc]
pop {r4, pc}
thumb_func_end MOD83_0223461C
thumb_func_start MOD83_02234628
MOD83_02234628: ; 0x02234628
push {r3, lr}
bl MOD83_0223456C
ldr r0, [r0, #0x14]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_02234628
thumb_func_start MOD83_02234634
MOD83_02234634: ; 0x02234634
push {r4, lr}
add r4, r0, #0
bl MOD83_0223456C
str r4, [r0, #0x14]
pop {r4, pc}
thumb_func_end MOD83_02234634
thumb_func_start MOD83_02234640
MOD83_02234640: ; 0x02234640
push {r4, lr}
add r4, r0, #0
bl MOD83_0223456C
str r4, [r0, #0x18]
pop {r4, pc}
thumb_func_end MOD83_02234640
thumb_func_start MOD83_0223464C
MOD83_0223464C: ; 0x0223464C
push {r4, lr}
add r4, r0, #0
bl MOD83_0223456C
str r4, [r0, #0x20]
pop {r4, pc}
thumb_func_end MOD83_0223464C
thumb_func_start MOD83_02234658
MOD83_02234658: ; 0x02234658
push {r3, lr}
bl MOD83_0223456C
add r0, #0x90
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_02234658
thumb_func_start MOD83_02234664
MOD83_02234664: ; 0x02234664
ldr r3, _02234668 ; =MOD83_02234658
bx r3
.align 2, 0
_02234668: .word MOD83_02234658
thumb_func_end MOD83_02234664
thumb_func_start MOD83_0223466C
MOD83_0223466C: ; 0x0223466C
ldr r3, _02234670 ; =MOD83_02234658
bx r3
.align 2, 0
_02234670: .word MOD83_02234658
thumb_func_end MOD83_0223466C
thumb_func_start MOD83_02234674
MOD83_02234674: ; 0x02234674
push {r4, lr}
bl MOD83_02234664
mov r2, #0x71
mov r1, #0
lsl r2, r2, #2
add r4, r0, #0
bl MI_CpuFill8
mov r1, #0x46
lsl r1, r1, #2
add r0, r1, #0
add r0, #0xa8
strh r1, [r4, r0]
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_02234674
thumb_func_start MOD83_02234694
MOD83_02234694: ; 0x02234694
push {r3, lr}
bl MOD83_0223456C
mov r1, #0x95
lsl r1, r1, #2
add r0, r0, r1
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_02234694
thumb_func_start MOD83_022346A4
MOD83_022346A4: ; 0x022346A4
push {r3, lr}
bl MOD83_02234694
mov r1, #0
strb r1, [r0, #0x18]
pop {r3, pc}
thumb_func_end MOD83_022346A4
thumb_func_start MOD83_022346B0
MOD83_022346B0: ; 0x022346B0
push {r3, lr}
bl MOD83_0223456C
ldr r0, [r0, #4]
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_022346B0
thumb_func_start MOD83_022346BC
MOD83_022346BC: ; 0x022346BC
push {r3, lr}
bl MOD83_0223456C
ldr r0, [r0, #0x40]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_022346BC
thumb_func_start MOD83_022346CC
MOD83_022346CC: ; 0x022346CC
push {r3, lr}
bl MOD83_0223456C
ldr r0, [r0, #0x40]
lsl r0, r0, #0x14
lsr r0, r0, #0x1c
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_022346CC
thumb_func_start MOD83_022346DC
MOD83_022346DC: ; 0x022346DC
push {r3, lr}
bl MOD83_0223456C
ldr r0, [r0, #0x44]
lsr r0, r0, #0x10
pop {r3, pc}
thumb_func_end MOD83_022346DC
thumb_func_start MOD83_022346E8
MOD83_022346E8: ; 0x022346E8
mov r0, #0x38
bx lr
thumb_func_end MOD83_022346E8
thumb_func_start MOD83_022346EC
MOD83_022346EC: ; 0x022346EC
push {r3, lr}
bl MOD83_0223456C
add r0, #0x40
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_022346EC
thumb_func_start MOD83_022346F8
MOD83_022346F8: ; 0x022346F8
push {r3, lr}
bl MOD83_0223456C
add r0, #0x78
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_022346F8
thumb_func_start MOD83_02234704
MOD83_02234704: ; 0x02234704
push {r3}
sub sp, #4
mov r2, #0
str r2, [sp]
add r3, sp, #0
_0223470E:
add r1, r0, r2
ldrb r1, [r1, #2]
add r2, r2, #1
strb r1, [r3]
add r3, r3, #1
cmp r2, #4
blo _0223470E
ldr r0, [sp]
add sp, #4
pop {r3}
bx lr
thumb_func_end MOD83_02234704
thumb_func_start MOD83_02234724
MOD83_02234724: ; 0x02234724
push {r3}
sub sp, #4
mov r2, #0
add r1, sp, #0
strh r2, [r1]
add r3, sp, #0
_02234730:
ldrb r1, [r0, r2]
add r2, r2, #1
strb r1, [r3]
add r3, r3, #1
cmp r2, #2
blo _02234730
add r1, sp, #0
mov r0, #0
ldrsh r0, [r1, r0]
add sp, #4
pop {r3}
bx lr
thumb_func_end MOD83_02234724
thumb_func_start MOD83_02234748
MOD83_02234748: ; 0x02234748
push {r4, r5, r6, lr}
add r5, r1, #0
ldr r1, _0223476C ; =0x00002710
add r6, r0, #0
add r4, r2, #0
bl _u32_div_f
str r1, [r5]
ldr r1, _0223476C ; =0x00002710
add r0, r6, #0
bl _u32_div_f
ldr r1, _0223476C ; =0x00002710
bl _u32_div_f
str r1, [r4]
pop {r4, r5, r6, pc}
nop
_0223476C: .word 0x00002710
thumb_func_end MOD83_02234748
thumb_func_start MOD83_02234770
MOD83_02234770: ; 0x02234770
mov r0, #0x10
bx lr
thumb_func_end MOD83_02234770
thumb_func_start MOD83_02234774
MOD83_02234774: ; 0x02234774
push {r4, lr}
ldr r0, _02234788 ; =0x04000006
ldrh r4, [r0]
bl OS_GetTick
add r1, r0, r4
mov r0, #1
bic r1, r0
add r0, r1, #1
pop {r4, pc}
.align 2, 0
_02234788: .word 0x04000006
thumb_func_end MOD83_02234774
thumb_func_start MOD83_0223478C
MOD83_0223478C: ; 0x0223478C
push {r4, r5, r6, r7}
add r3, r0, #0
mov r0, #0
lsr r1, r1, #2
beq _022347C2
ldr r4, _022347C8 ; =0x00269EC3
_02234798:
ldr r5, _022347CC ; =0x5D588B65
ldr r6, _022347CC ; =0x5D588B65
mul r5, r3
ldr r3, _022347C8 ; =0x00269EC3
add r0, r0, #1
add r3, r5, r3
lsr r5, r3, #0x10
mul r6, r3
add r3, r6, r4
lsl r5, r5, #0x10
lsr r7, r3, #0x10
lsr r5, r5, #0x10
lsl r7, r7, #0x10
ldr r6, [r2]
lsl r5, r5, #0x10
lsr r7, r7, #0x10
orr r5, r7
eor r5, r6
stmia r2!, {r5}
cmp r0, r1
blo _02234798
_022347C2:
add r0, r3, #0
pop {r4, r5, r6, r7}
bx lr
.align 2, 0
_022347C8: .word 0x00269EC3
_022347CC: .word 0x5D588B65
thumb_func_end MOD83_0223478C
thumb_func_start MOD83_022347D0
MOD83_022347D0: ; 0x022347D0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r7, r1, #0
add r6, r2, #0
str r3, [sp]
bl MOD83_022346EC
add r4, r0, #0
ldr r0, [r5]
mov r1, #0xff
bic r0, r1
ldr r1, [r4]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
lsl r1, r1, #0x18
lsr r1, r1, #0x18
orr r1, r0
ldr r0, _022348F4 ; =0xFFFFF0FF
str r1, [r5]
and r0, r1
ldr r1, [r4]
lsl r1, r1, #0x14
lsr r1, r1, #0x1c
lsl r1, r1, #0x1c
lsr r1, r1, #0x14
orr r1, r0
ldr r0, _022348F8 ; =0xFFFF0FFF
str r1, [r5]
and r0, r1
ldr r1, [r4]
lsl r1, r1, #0x10
lsr r1, r1, #0x1c
lsl r1, r1, #0x1c
lsr r1, r1, #0x10
orr r0, r1
str r0, [r5]
bl MOD83_02234774
ldr r1, [r5]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
lsr r0, r0, #0x10
lsr r1, r1, #0x10
lsl r0, r0, #0x10
orr r0, r1
str r0, [r5]
ldr r2, [r4, #4]
ldr r1, [r5, #4]
lsl r2, r2, #0x18
lsr r2, r2, #0x18
mov r0, #0xff
lsl r2, r2, #0x18
bic r1, r0
lsr r2, r2, #0x18
orr r2, r1
ldr r1, _022348F4 ; =0xFFFFF0FF
str r2, [r5, #4]
and r1, r2
ldr r2, [r4, #4]
lsl r2, r2, #0x14
lsr r2, r2, #0x1c
lsl r2, r2, #0x1c
lsr r2, r2, #0x14
orr r2, r1
ldr r1, _022348F8 ; =0xFFFF0FFF
str r2, [r5, #4]
and r1, r2
ldr r2, [r4, #4]
lsl r2, r2, #0x10
lsr r2, r2, #0x1c
lsl r2, r2, #0x1c
lsr r2, r2, #0x10
orr r1, r2
lsl r1, r1, #0x10
lsr r1, r1, #0x10
str r1, [r5, #4]
ldr r1, [r5, #8]
bic r1, r0
ldr r0, [sp, #0x18]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
lsl r0, r0, #0x18
lsr r0, r0, #0x18
orr r1, r0
ldr r0, _022348FC ; =0xFFFF00FF
and r0, r1
ldr r1, [sp]
lsl r1, r1, #0x18
lsr r1, r1, #0x10
orr r0, r1
str r0, [r5, #8]
mov r0, #0
add r1, r7, #0
add r2, r6, #0
bl SVC_GetCRC16
ldr r1, [r5, #8]
lsl r0, r0, #0x10
lsl r1, r1, #0x10
lsr r1, r1, #0x10
orr r0, r1
str r0, [r5, #8]
bl MOD83_02234770
lsl r0, r0, #0x18
lsr r0, r0, #0x18
lsl r0, r0, #0x18
ldr r1, [r5, #0xc]
mov r2, #0xff
bic r1, r2
lsr r0, r0, #0x18
orr r0, r1
lsl r0, r0, #0x18
lsr r1, r0, #0x18
lsl r0, r6, #8
orr r0, r1
str r0, [r5, #0xc]
cmp r6, #0
beq _022348CE
ldr r1, [r5, #0xc]
add r0, r7, #0
lsl r1, r1, #0x18
lsr r1, r1, #0x18
add r1, r5, r1
add r2, r6, #0
bl MI_CpuCopy8
_022348CE:
add r0, r5, #0
bl MOD83_0223496C
ldr r0, [r4]
lsl r0, r0, #0x10
lsr r0, r0, #0x1c
cmp r0, #1
bne _022348F2
ldr r1, [r5, #0xc]
ldr r0, [r5]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
add r1, r6, r1
lsr r0, r0, #0x10
sub r1, r1, #4
add r2, r5, #4
bl MOD83_0223478C
_022348F2:
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_022348F4: .word 0xFFFFF0FF
_022348F8: .word 0xFFFF0FFF
_022348FC: .word 0xFFFF00FF
thumb_func_end MOD83_022347D0
thumb_func_start MOD83_02234900
MOD83_02234900: ; 0x02234900
push {r4, lr}
add r4, r0, #0
bl MOD83_022346EC
ldr r0, [r4]
lsl r1, r0, #0x10
lsr r1, r1, #0x1c
cmp r1, #1
bne _02234930
lsr r0, r0, #0x10
mov r1, #0xc
add r2, r4, #4
bl MOD83_0223478C
ldr r1, [r4, #0xc]
add r4, #0x10
lsl r2, r1, #0x18
lsr r2, r2, #0x18
lsr r1, r1, #8
add r1, r2, r1
sub r1, #0x10
add r2, r4, #0
bl MOD83_0223478C
_02234930:
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_02234900
thumb_func_start MOD83_02234934
MOD83_02234934: ; 0x02234934
push {r4, lr}
add r4, r0, #0
ldr r2, [r4, #0xc]
mov r0, #0
lsl r1, r2, #0x18
lsr r1, r1, #0x18
add r1, r4, r1
lsr r2, r2, #8
bl SVC_GetCRC16
ldr r1, [r4, #8]
lsr r1, r1, #0x10
cmp r1, r0
bne _02234954
mov r0, #1
pop {r4, pc}
_02234954:
mov r0, #0
pop {r4, pc}
thumb_func_end MOD83_02234934
thumb_func_start MOD83_02234958
MOD83_02234958: ; 0x02234958
bx lr
.align 2, 0
thumb_func_end MOD83_02234958
thumb_func_start MOD83_0223495C
MOD83_0223495C: ; 0x0223495C
bx lr
.align 2, 0
thumb_func_end MOD83_0223495C
thumb_func_start MOD83_02234960
MOD83_02234960: ; 0x02234960
bx lr
.align 2, 0
thumb_func_end MOD83_02234960
thumb_func_start MOD83_02234964
MOD83_02234964: ; 0x02234964
bx lr
.align 2, 0
thumb_func_end MOD83_02234964
thumb_func_start MOD83_02234968
MOD83_02234968: ; 0x02234968
bx lr
.align 2, 0
thumb_func_end MOD83_02234968
thumb_func_start MOD83_0223496C
MOD83_0223496C: ; 0x0223496C
bx lr
.align 2, 0
thumb_func_end MOD83_0223496C
thumb_func_start MOD83_02234970
MOD83_02234970: ; 0x02234970
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r6, r0, #0
add r5, r1, #0
add r4, r2, #0
bl MOD83_022345BC
lsl r0, r0, #0x10
lsl r3, r5, #0x10
lsr r0, r0, #0x10
str r4, [sp]
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
ldr r0, _022349AC ; =MOD83_02233528
mov r1, #0
add r2, r6, #0
lsr r3, r3, #0x10
bl WM_SetMPDataToPortEx
cmp r0, #2
beq _022349A6
bl MOD83_02234958
add sp, #0xc
mov r0, #0
pop {r3, r4, r5, r6, pc}
_022349A6:
mov r0, #1
add sp, #0xc
pop {r3, r4, r5, r6, pc}
.align 2, 0
_022349AC: .word MOD83_02233528
thumb_func_end MOD83_02234970
thumb_func_start MOD83_022349B0
MOD83_022349B0: ; 0x022349B0
push {r3, lr}
ldr r0, _022349C8 ; =MOD83_02233540
bl WM_Enable
cmp r0, #2
beq _022349C4
bl MOD83_02234958
mov r0, #0
pop {r3, pc}
_022349C4:
mov r0, #1
pop {r3, pc}
.align 2, 0
_022349C8: .word MOD83_02233540
thumb_func_end MOD83_022349B0
thumb_func_start MOD83_022349CC
MOD83_022349CC: ; 0x022349CC
push {r3, lr}
ldr r0, _022349E8 ; =MOD83_02233580
bl WM_Disable
cmp r0, #2
beq _022349E4
bl MOD83_02234958
bl OS_Terminate
mov r0, #0
pop {r3, pc}
_022349E4:
mov r0, #1
pop {r3, pc}
.align 2, 0
_022349E8: .word MOD83_02233580
thumb_func_end MOD83_022349CC
thumb_func_start MOD83_022349EC
MOD83_022349EC: ; 0x022349EC
push {r3, lr}
add r3, r0, #0
mov r0, #0x1e
str r0, [sp]
lsl r3, r3, #0x10
ldr r0, _02234A14 ; =MOD83_022335B8
mov r1, #3
mov r2, #0x11
lsr r3, r3, #0x10
bl WM_MeasureChannel
cmp r0, #2
beq _02234A0E
bl MOD83_02234958
mov r0, #0
pop {r3, pc}
_02234A0E:
mov r0, #1
pop {r3, pc}
nop
_02234A14: .word MOD83_022335B8
thumb_func_end MOD83_022349EC
thumb_func_start MOD83_02234A18
MOD83_02234A18: ; 0x02234A18
push {r3, r4, r5, lr}
bl MOD83_02234564
add r5, r0, #0
bl MOD83_022346EC
add r4, r0, #0
bl MOD83_0223466C
add r0, #0x64
ldrb r0, [r0]
strh r0, [r5, #0x32]
str r4, [r5]
bl MOD83_022346E8
strh r0, [r5, #4]
ldr r0, _02234A50 ; =MOD83_02233620
add r1, r5, #0
bl WM_SetParentParameter
cmp r0, #2
beq _02234A4C
bl MOD83_02234958
mov r0, #0
pop {r3, r4, r5, pc}
_02234A4C:
mov r0, #1
pop {r3, r4, r5, pc}
.align 2, 0
_02234A50: .word MOD83_02233620
thumb_func_end MOD83_02234A18
thumb_func_start MOD83_02234A54
MOD83_02234A54: ; 0x02234A54
push {r3, lr}
ldr r0, _02234A6C ; =MOD83_02233648
bl WM_StartParent
cmp r0, #2
beq _02234A68
bl MOD83_02234958
mov r0, #0
pop {r3, pc}
_02234A68:
mov r0, #1
pop {r3, pc}
.align 2, 0
_02234A6C: .word MOD83_02233648
thumb_func_end MOD83_02234A54
thumb_func_start MOD83_02234A70
MOD83_02234A70: ; 0x02234A70
push {r3, lr}
bl MOD83_022345D4
add r1, r0, #0
ldr r0, _02234A90 ; =MOD83_02233914
bl WM_StartScan
cmp r0, #2
beq _02234A8A
bl MOD83_02234958
mov r0, #0
pop {r3, pc}
_02234A8A:
mov r0, #1
pop {r3, pc}
nop
_02234A90: .word MOD83_02233914
thumb_func_end MOD83_02234A70
thumb_func_start MOD83_02234A94
MOD83_02234A94: ; 0x02234A94
push {r3, r4, r5, lr}
bl MOD83_022345D4
add r4, r0, #0
bl MOD83_02234664
ldr r2, _02234B24 ; =0x000001C3
mov r3, #0x38
ldrb r1, [r0, r2]
lsl r1, r1, #0x1c
lsr r1, r1, #0x1c
add r5, r1, #0
mul r5, r3
add r1, r0, r5
add r1, #0x34
ldrb r1, [r1]
strb r1, [r4, #8]
ldrb r1, [r0, r2]
lsl r1, r1, #0x1c
lsr r1, r1, #0x1c
add r5, r1, #0
mul r5, r3
add r1, r0, r5
add r1, #0x35
ldrb r1, [r1]
strb r1, [r4, #9]
ldrb r1, [r0, r2]
lsl r1, r1, #0x1c
lsr r1, r1, #0x1c
add r5, r1, #0
mul r5, r3
ldrb r1, [r0, r5]
strb r1, [r4, #0xa]
ldrb r1, [r0, r2]
lsl r1, r1, #0x1c
lsr r1, r1, #0x1c
add r5, r1, #0
mul r5, r3
add r1, r0, r5
ldrb r1, [r1, #1]
strb r1, [r4, #0xb]
ldrb r1, [r0, r2]
lsl r1, r1, #0x1c
lsr r1, r1, #0x1c
add r5, r1, #0
mul r5, r3
add r1, r0, r5
ldrb r1, [r1, #2]
strb r1, [r4, #0xc]
ldrb r1, [r0, r2]
lsl r1, r1, #0x1c
lsr r1, r1, #0x1c
add r2, r1, #0
mul r2, r3
add r0, r0, r2
ldrb r0, [r0, #3]
strb r0, [r4, #0xd]
bl MOD83_022345D4
add r1, r0, #0
ldr r0, _02234B28 ; =MOD83_02233A30
bl WM_StartScan
cmp r0, #2
beq _02234B1E
bl MOD83_02234958
mov r0, #0
pop {r3, r4, r5, pc}
_02234B1E:
mov r0, #1
pop {r3, r4, r5, pc}
nop
_02234B24: .word 0x000001C3
_02234B28: .word MOD83_02233A30
thumb_func_end MOD83_02234A94
thumb_func_start MOD83_02234B2C
MOD83_02234B2C: ; 0x02234B2C
push {r3, lr}
ldr r0, _02234B44 ; =MOD83_02233AA0
bl WM_EndScan
cmp r0, #2
beq _02234B40
bl MOD83_02234958
mov r0, #0
pop {r3, pc}
_02234B40:
mov r0, #1
pop {r3, pc}
.align 2, 0
_02234B44: .word MOD83_02233AA0
thumb_func_end MOD83_02234B2C
thumb_func_start MOD83_02234B48
MOD83_02234B48: ; 0x02234B48
push {r3, r4, lr}
sub sp, #4
bl MOD83_022346F8
add r4, r0, #0
bl MOD83_02234610
add r1, r0, #0
mov r0, #0
str r0, [sp]
ldr r0, _02234B7C ; =MOD83_02233AF4
add r2, r4, #0
mov r3, #1
bl WM_StartConnectEx
cmp r0, #2
beq _02234B74
bl MOD83_02234958
add sp, #4
mov r0, #0
pop {r3, r4, pc}
_02234B74:
mov r0, #1
add sp, #4
pop {r3, r4, pc}
nop
_02234B7C: .word MOD83_02233AF4
thumb_func_end MOD83_02234B48
thumb_func_start MOD83_02234B80
MOD83_02234B80: ; 0x02234B80
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
ldr r1, _02234BF0 ; =MOD83_02233DF0
mov r0, #4
mov r2, #0
bl WM_SetPortCallback
cmp r0, #0
beq _02234B9C
bl MOD83_02234958
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02234B9C:
bl MOD83_02234564
ldrh r0, [r0, #0x16]
cmp r0, #0
bne _02234BAA
mov r5, #1
b _02234BAC
_02234BAA:
mov r5, #0
_02234BAC:
bl MOD83_02234604
add r6, r0, #0
bl MOD83_022345EC
add r4, r0, #0
bl MOD83_022345F8
add r7, r0, #0
bl MOD83_022345E0
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp]
lsl r0, r5, #0x10
lsr r0, r0, #0x10
str r0, [sp, #4]
lsl r2, r4, #0x10
ldr r0, _02234BF4 ; =MOD83_02233BD8
add r1, r6, #0
lsr r2, r2, #0x10
add r3, r7, #0
bl WM_StartMP
cmp r0, #2
beq _02234BEA
bl MOD83_02234958
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02234BEA:
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_02234BF0: .word MOD83_02233DF0
_02234BF4: .word MOD83_02233BD8
thumb_func_end MOD83_02234B80
thumb_func_start MOD83_02234BF8
MOD83_02234BF8: ; 0x02234BF8
push {r3, lr}
ldr r0, _02234C10 ; =MOD83_02233E74
bl WM_PowerOn
cmp r0, #2
beq _02234C0C
bl MOD83_02234958
mov r0, #0
pop {r3, pc}
_02234C0C:
mov r0, #1
pop {r3, pc}
.align 2, 0
_02234C10: .word MOD83_02233E74
thumb_func_end MOD83_02234BF8
thumb_func_start MOD83_02234C14
MOD83_02234C14: ; 0x02234C14
push {r3, lr}
ldr r0, _02234C30 ; =MOD83_02233E98
bl WM_PowerOff
cmp r0, #2
beq _02234C2C
bl MOD83_02234958
bl OS_Terminate
mov r0, #0
pop {r3, pc}
_02234C2C:
mov r0, #1
pop {r3, pc}
.align 2, 0
_02234C30: .word MOD83_02233E98
thumb_func_end MOD83_02234C14
thumb_func_start MOD83_02234C34
MOD83_02234C34: ; 0x02234C34
push {r3, lr}
ldr r0, _02234C50 ; =MOD83_02233EBC
bl WM_Reset
cmp r0, #2
beq _02234C4C
bl MOD83_02234958
bl OS_Terminate
mov r0, #0
pop {r3, pc}
_02234C4C:
mov r0, #1
pop {r3, pc}
.align 2, 0
_02234C50: .word MOD83_02233EBC
thumb_func_end MOD83_02234C34
thumb_func_start MOD83_02234C54
MOD83_02234C54: ; 0x02234C54
push {r3, lr}
ldr r0, _02234C70 ; =MOD83_02233F00
bl WM_End
cmp r0, #2
beq _02234C6C
bl MOD83_02234958
bl OS_Terminate
mov r0, #0
pop {r3, pc}
_02234C6C:
mov r0, #1
pop {r3, pc}
.align 2, 0
_02234C70: .word MOD83_02233F00
thumb_func_end MOD83_02234C54
thumb_func_start MOD83_02234C74
MOD83_02234C74: ; 0x02234C74
cmp r0, #0
bgt _02234C7C
mov r0, #1
bx lr
_02234C7C:
cmp r0, #0xfb
bgt _02234C84
mov r0, #0
bx lr
_02234C84:
ldr r1, _02234C9C ; =0x00000115
cmp r0, r1
bge _02234C8E
mov r0, #1
bx lr
_02234C8E:
add r1, #0x86
cmp r0, r1
ble _02234C98
mov r0, #1
bx lr
_02234C98:
mov r0, #0
bx lr
.align 2, 0
_02234C9C: .word 0x00000115
thumb_func_end MOD83_02234C74
thumb_func_start MOD83_02234CA0
MOD83_02234CA0: ; 0x02234CA0
push {r4, lr}
add r4, r0, #0
bl MOD83_02236E9C
cmp r0, #4
bhi _02234CE0
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02234CB8: ; jump table
.short _02234CC2 - _02234CB8 - 2 ; case 0
.short _02234CC8 - _02234CB8 - 2 ; case 1
.short _02234CCE - _02234CB8 - 2 ; case 2
.short _02234CD4 - _02234CB8 - 2 ; case 3
.short _02234CDA - _02234CB8 - 2 ; case 4
_02234CC2:
mov r0, #2
str r0, [r4]
pop {r4, pc}
_02234CC8:
mov r0, #1
str r0, [r4]
pop {r4, pc}
_02234CCE:
mov r0, #5
str r0, [r4]
pop {r4, pc}
_02234CD4:
mov r0, #4
str r0, [r4]
pop {r4, pc}
_02234CDA:
mov r0, #3
str r0, [r4]
pop {r4, pc}
_02234CE0:
mov r0, #0
mvn r0, r0
str r0, [r4]
pop {r4, pc}
thumb_func_end MOD83_02234CA0
thumb_func_start MOD83_02234CE8
MOD83_02234CE8: ; 0x02234CE8
push {r3, r4, r5, lr}
sub sp, #0x10
ldr r1, _02234E3C ; =0x0000E890
add r5, r0, #0
add r4, r5, r1
ldr r1, [r4]
cmp r1, #9
bls _02234CFA
b _02234E34
_02234CFA:
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02234D06: ; jump table
.short _02234D1A - _02234D06 - 2 ; case 0
.short _02234D3A - _02234D06 - 2 ; case 1
.short _02234D52 - _02234D06 - 2 ; case 2
.short _02234D62 - _02234D06 - 2 ; case 3
.short _02234D72 - _02234D06 - 2 ; case 4
.short _02234D8E - _02234D06 - 2 ; case 5
.short _02234DA2 - _02234D06 - 2 ; case 6
.short _02234DBE - _02234D06 - 2 ; case 7
.short _02234DEA - _02234D06 - 2 ; case 8
.short _02234E10 - _02234D06 - 2 ; case 9
_02234D1A:
bl MOD83_02234E6C
ldr r0, [r5, #0x10]
bl FUN_02022528
add r5, r0, #0
bl MOD83_02237448
add r1, r0, #0
add r0, r5, #0
bl FUN_0202BF90
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02234E34
_02234D3A:
bl OS_GetTick
mov r2, #0x78
mov r3, #0
bl _ull_mod
add r0, r0, #1
str r0, [r4, #4]
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02234E34
_02234D52:
ldr r0, [r4, #4]
sub r0, r0, #1
str r0, [r4, #4]
bne _02234E34
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02234E34
_02234D62:
ldr r0, [r5, #0x10]
mov r1, #2
bl FUN_02022840
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02234E34
_02234D72:
ldr r0, [r5, #0x10]
bl FUN_02022854
cmp r0, #3
bne _02234D82
add sp, #0x10
mov r0, #0xc
pop {r3, r4, r5, pc}
_02234D82:
cmp r0, #1
bne _02234E34
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02234E34
_02234D8E:
mov r0, #0
add r1, r0, #0
add r2, sp, #0
mov r3, #0x10
bl CTRDG_ReadAgbFlash
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02234E34
_02234DA2:
bl MOD83_0223736C
cmp r0, #0
bne _02234DB6
mov r0, #1
bl FUN_02016454
add sp, #0x10
mov r0, #0xc
pop {r3, r4, r5, pc}
_02234DB6:
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02234E34
_02234DBE:
bl MOD83_022373F4
cmp r0, #9
beq _02234E34
bl MOD83_022373F4
cmp r0, #0xb
bne _02234DD6
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02234E34
_02234DD6:
bl MOD83_022373B4
cmp r0, #8
bne _02234E34
mov r0, #1
bl FUN_02016454
add sp, #0x10
mov r0, #0xc
pop {r3, r4, r5, pc}
_02234DEA:
ldr r0, [r5, #0x10]
bl FUN_02022854
cmp r0, #3
bne _02234DFA
add sp, #0x10
mov r0, #0xc
pop {r3, r4, r5, pc}
_02234DFA:
cmp r0, #2
bne _02234DEA
bl MOD83_022373B4
mov r0, #1
bl FUN_02016444
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02234E34
_02234E10:
bl MOD83_022373B4
cmp r0, #8
bne _02234E24
mov r0, #1
bl FUN_02016454
add sp, #0x10
mov r0, #0xc
pop {r3, r4, r5, pc}
_02234E24:
cmp r0, #0
bne _02234E34
mov r0, #1
bl FUN_02016454
add sp, #0x10
mov r0, #0xb
pop {r3, r4, r5, pc}
_02234E34:
mov r0, #0xa
add sp, #0x10
pop {r3, r4, r5, pc}
nop
_02234E3C: .word 0x0000E890
thumb_func_end MOD83_02234CE8
thumb_func_start MOD83_02234E40
MOD83_02234E40: ; 0x02234E40
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x10]
bl FUN_02022528
add r4, r0, #0
bl MOD83_02237448
add r1, r0, #0
add r0, r4, #0
bl FUN_0202BF90
mov r0, #4
bl FUN_020166A8
ldr r0, [r5, #0x10]
bl FUN_02022720
mov r0, #4
bl FUN_020166B8
pop {r3, r4, r5, pc}
thumb_func_end MOD83_02234E40
thumb_func_start MOD83_02234E6C
MOD83_02234E6C: ; 0x02234E6C
push {r4, r5, r6, r7, lr}
sub sp, #0xf4
add r7, r0, #0
ldr r0, [r7, #0x10]
bl FUN_02022528
str r0, [sp]
add r0, sp, #8
bl FUN_020690E4
add r6, r0, #0
mov r4, #0
add r5, r7, #0
_02234E86:
ldr r0, _02234F04 ; =0x0000E880
mov r1, #0x3d
lsl r1, r1, #4
ldr r0, [r7, r0]
ldr r2, [r5, r1]
mov r1, #0x96
lsl r1, r1, #4
add r0, r0, #4
mul r1, r2
add r0, r0, r1
mov r1, #0xf3
lsl r1, r1, #2
ldr r2, [r5, r1]
mov r1, #0x50
mul r1, r2
add r0, r0, r1
add r1, r6, #0
bl MOD83_02237F6C
ldr r0, [sp]
add r1, r6, #0
add r2, r4, #0
bl FUN_0202BF7C
add r4, r4, #1
add r5, #0xc
cmp r4, #6
blt _02234E86
mov r5, #0
add r0, sp, #4
strh r5, [r0]
add r4, r7, #0
sub r6, r5, #1
_02234EC8:
mov r0, #0xf3
lsl r0, r0, #2
ldr r2, [r4, r0]
add r0, r0, #4
ldr r1, [r4, r0]
cmp r2, r6
beq _02234EF6
cmp r1, #0xe
beq _02234EF6
ldr r0, _02234F04 ; =0x0000E880
mov r3, #0x96
ldr r0, [r7, r0]
lsl r3, r3, #4
mul r3, r1
add r0, r0, #4
mov r1, #0x50
mul r1, r2
add r0, r0, r3
add r0, r0, r1
mov r1, #0xb
add r2, sp, #4
bl MOD83_02237D90
_02234EF6:
add r5, r5, #1
add r4, #0xc
cmp r5, #6
blt _02234EC8
add sp, #0xf4
pop {r4, r5, r6, r7, pc}
nop
_02234F04: .word 0x0000E880
thumb_func_end MOD83_02234E6C
thumb_func_start MOD83_02234F08
MOD83_02234F08: ; 0x02234F08
push {r4, lr}
add r4, r0, #0
mov r0, #1
tst r2, r0
beq _02234F26
mov r2, #0
bl FUN_02002E14
ldr r1, [r4, #0x10]
lsl r1, r1, #3
sub r1, r1, r0
lsr r0, r1, #0x1f
add r0, r1, r0
asr r0, r0, #1
pop {r4, pc}
_02234F26:
ldr r0, [r4, #0x18]
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_02234F08
thumb_func_start MOD83_02234F2C
MOD83_02234F2C: ; 0x02234F2C
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r5, r1, #0
ldr r6, [r5, #0x44]
add r4, r2, #0
cmp r6, #0
bne _02234F3C
mov r6, #0xff
_02234F3C:
ldr r1, [r5]
ldr r2, [r1]
cmp r2, #0
bne _02234F7A
ldr r2, [r5, #0xc]
lsl r2, r2, #0x18
lsr r2, r2, #0x18
str r2, [sp]
ldr r2, [r5, #0x10]
lsl r2, r2, #0x18
lsr r2, r2, #0x18
str r2, [sp, #4]
ldr r2, [r5, #0x14]
lsl r2, r2, #0x18
lsr r2, r2, #0x18
str r2, [sp, #8]
mov r2, #0xf
str r2, [sp, #0xc]
ldr r2, [r5, #0x20]
lsl r2, r2, #0x10
lsr r2, r2, #0x10
str r2, [sp, #0x10]
ldr r2, [r5, #0x24]
ldr r3, [r5, #8]
lsl r2, r2, #0x18
lsl r3, r3, #0x18
ldr r0, [r0, #0x20]
lsr r2, r2, #0x18
lsr r3, r3, #0x18
bl FUN_02019064
_02234F7A:
mov r0, #2
tst r0, r4
bne _02234F8C
ldr r1, [r5, #0x30]
ldr r0, [r5]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
bl FUN_02019620
_02234F8C:
mov r0, #0
ldr r1, [r5, #0x34]
mvn r0, r0
cmp r1, r0
beq _02235004
ldr r2, _022350B4 ; =0x00000193
mov r0, #1
mov r1, #0x1a
mov r3, #0x4e
bl FUN_0200A86C
ldr r7, [r5, #0x40]
str r0, [sp, #0x14]
cmp r7, #0
bne _02234FB2
mov r0, #0x4e
bl FUN_0200AA80
add r7, r0, #0
_02234FB2:
ldr r1, [sp, #0x14]
ldr r2, [r5, #0x34]
add r0, r7, #0
mov r3, #0x4e
bl FUN_0200A9C4
str r0, [sp, #0x18]
ldr r1, [sp, #0x18]
add r0, r5, #0
add r2, r4, #0
bl MOD83_02234F08
add r3, r0, #0
ldr r0, [r5, #0x1c]
ldr r2, [sp, #0x18]
str r0, [sp]
str r6, [sp, #4]
ldr r0, [r5, #0x2c]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r0, [r5]
ldr r1, [r5, #0x28]
bl FUN_0201BDE0
str r0, [r5, #0x48]
ldr r0, [sp, #0x18]
bl FUN_02021A20
ldr r0, [r5, #0x40]
cmp r0, #0
bne _02234FF8
add r0, r7, #0
bl FUN_0200AB18
_02234FF8:
ldr r0, [sp, #0x14]
bl FUN_0200A8B8
mov r0, #0
mvn r0, r0
str r0, [r5, #0x34]
_02235004:
ldr r0, [r5, #0x38]
cmp r0, #0
beq _0223504C
mov r0, #0x40
mov r1, #0x4e
bl FUN_020219F4
ldr r1, [r5, #0x38]
add r7, r0, #0
mov r2, #0x40
bl FUN_02021E8C
add r0, r5, #0
add r1, r7, #0
add r2, r4, #0
bl MOD83_02234F08
add r3, r0, #0
ldr r0, [r5, #0x1c]
add r2, r7, #0
str r0, [sp]
str r6, [sp, #4]
ldr r0, [r5, #0x2c]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r0, [r5]
ldr r1, [r5, #0x28]
bl FUN_0201BDE0
str r0, [r5, #0x48]
add r0, r7, #0
bl FUN_02021A20
mov r0, #0
str r0, [r5, #0x38]
_0223504C:
ldr r1, [r5, #0x3c]
cmp r1, #0
beq _0223507A
add r0, r5, #0
add r2, r4, #0
bl MOD83_02234F08
add r3, r0, #0
ldr r0, [r5, #0x1c]
str r0, [sp]
str r6, [sp, #4]
ldr r0, [r5, #0x2c]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r0, [r5]
ldr r1, [r5, #0x28]
ldr r2, [r5, #0x3c]
bl FUN_0201BDE0
str r0, [r5, #0x48]
mov r0, #0
str r0, [r5, #0x3c]
_0223507A:
mov r0, #4
tst r0, r4
bne _02235086
ldr r0, [r5]
bl FUN_020191D0
_02235086:
mov r0, #8
tst r0, r4
beq _022350AE
mov r0, #0x10
tst r0, r4
ldr r0, [r5]
beq _022350A2
ldr r2, _022350B8 ; =0x000003D2
mov r1, #0
mov r3, #0xd
bl FUN_0200D0BC
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
_022350A2:
mov r2, #0x3f
mov r1, #0
lsl r2, r2, #4
mov r3, #0xe
bl FUN_0200CCA4
_022350AE:
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
nop
_022350B4: .word 0x00000193
_022350B8: .word 0x000003D2
thumb_func_end MOD83_02234F2C
thumb_func_start MOD83_022350BC
MOD83_022350BC: ; 0x022350BC
push {r4, lr}
sub sp, #0x10
ldr r4, _022350E8 ; =0x0223A50C
add r3, sp, #0
add r2, r3, #0
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
add r0, r2, #0
bl FUN_0201D040
mov r0, #0x14
mov r1, #0x4e
bl FUN_0201E00C
bl FUN_0201D168
bl FUN_0201E0BC
add sp, #0x10
pop {r4, pc}
.align 2, 0
_022350E8: .word 0x0223A50C
thumb_func_end MOD83_022350BC
thumb_func_start MOD83_022350EC
MOD83_022350EC: ; 0x022350EC
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r6, r0, #0
bl FUN_020B0FC0
mov r0, #0
str r0, [sp]
mov r1, #0x7e
str r1, [sp, #4]
str r0, [sp, #8]
mov r3, #0x20
str r3, [sp, #0xc]
mov r2, #0x4e
str r2, [sp, #0x10]
add r2, r0, #0
bl FUN_02009EAC
add r1, r6, #0
mov r0, #0x50
add r1, #0x2c
mov r2, #0x4e
bl FUN_02008C9C
str r0, [r6, #0x28]
add r0, r6, #0
mov r2, #1
add r0, #0x2c
mov r1, #0
lsl r2, r2, #0x14
bl FUN_02008D24
mov r7, #0x55
mov r4, #0
add r5, r6, #0
lsl r7, r7, #2
_02235132:
mov r0, #3
add r1, r4, #0
mov r2, #0x4e
bl FUN_02008DEC
str r0, [r5, r7]
add r4, r4, #1
add r5, r5, #4
cmp r4, #6
blt _02235132
mov r0, #0
str r0, [sp]
mov r3, #1
str r3, [sp, #4]
mov r0, #0x4e
str r0, [sp, #8]
mov r0, #0x55
lsl r0, r0, #2
ldr r0, [r6, r0]
mov r1, #0x74
mov r2, #0x1a
bl FUN_02008F34
mov r1, #0x5b
lsl r1, r1, #2
str r0, [r6, r1]
mov r3, #0
str r3, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #0x4e
sub r1, #0x14
str r0, [sp, #0xc]
ldr r0, [r6, r1]
mov r1, #0x74
mov r2, #0x17
bl FUN_02008FEC
mov r1, #0x17
lsl r1, r1, #4
str r0, [r6, r1]
mov r0, #0
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
mov r0, #0x4e
sub r1, #0x14
str r0, [sp, #8]
ldr r0, [r6, r1]
mov r1, #0x74
mov r2, #0x19
mov r3, #1
bl FUN_020090AC
mov r1, #0x5d
lsl r1, r1, #2
str r0, [r6, r1]
mov r0, #0
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #0x4e
sub r1, #0x14
str r0, [sp, #8]
ldr r0, [r6, r1]
mov r1, #0x74
mov r2, #0x18
mov r3, #1
bl FUN_020090AC
mov r1, #0x5e
lsl r1, r1, #2
str r0, [r6, r1]
sub r1, #0xc
ldr r0, [r6, r1]
bl FUN_02009A50
mov r0, #0x17
lsl r0, r0, #4
ldr r0, [r6, r0]
bl FUN_02009CF0
bl FUN_0206B888
add r1, r0, #0
mov r0, #0
mov r2, #1
str r0, [sp]
mov r0, #0x4e
add r3, r2, #0
str r0, [sp, #4]
mov r0, #0x13
add r3, #0xff
bl FUN_02006930
add sp, #0x14
pop {r4, r5, r6, r7, pc}
thumb_func_end MOD83_022350EC
thumb_func_start MOD83_022351F8
MOD83_022351F8: ; 0x022351F8
push {lr}
sub sp, #0x2c
mov r1, #0
str r1, [sp]
sub r2, r1, #1
str r2, [sp, #4]
str r2, [sp, #8]
str r1, [sp, #0xc]
mov r3, #0x55
str r1, [sp, #0x10]
lsl r3, r3, #2
ldr r2, [r0, r3]
str r2, [sp, #0x14]
add r2, r3, #4
ldr r2, [r0, r2]
str r2, [sp, #0x18]
add r2, r3, #0
add r2, #8
ldr r2, [r0, r2]
str r2, [sp, #0x1c]
add r2, r3, #0
add r2, #0xc
ldr r2, [r0, r2]
add r3, #0x30
str r2, [sp, #0x20]
str r1, [sp, #0x24]
add r0, r0, r3
add r2, r1, #0
add r3, r1, #0
str r1, [sp, #0x28]
bl FUN_02008AA4
mov r0, #0x10
mov r1, #1
bl FUN_0201E6E4
add sp, #0x2c
pop {pc}
thumb_func_end MOD83_022351F8
thumb_func_start MOD83_02235244
MOD83_02235244: ; 0x02235244
ldr r2, [r1, #0x28]
str r2, [r0]
mov r2, #0x61
lsl r2, r2, #2
add r1, r1, r2
str r1, [r0, #4]
mov r2, #0
mov r1, #1
str r2, [r0, #0x10]
lsl r1, r1, #0xc
str r1, [r0, #0x14]
str r1, [r0, #0x18]
str r1, [r0, #0x1c]
strh r2, [r0, #0x20]
mov r1, #0x14
str r1, [r0, #0x24]
str r3, [r0, #0x28]
mov r1, #0x4e
str r1, [r0, #0x2c]
bx lr
thumb_func_end MOD83_02235244
thumb_func_start MOD83_0223526C
MOD83_0223526C: ; 0x0223526C
ldr r3, _02235288 ; =0x0000E880
ldr r0, [r0, r3]
add r3, r0, #4
mov r0, #0x96
lsl r0, r0, #4
mul r0, r1
add r1, r3, r0
mov r0, #0x50
mul r0, r2
add r0, r1, r0
ldr r3, _0223528C ; =MOD83_02237A10
mov r1, #0xb
mov r2, #0
bx r3
.align 2, 0
_02235288: .word 0x0000E880
_0223528C: .word MOD83_02237A10
thumb_func_end MOD83_0223526C
thumb_func_start MOD83_02235290
MOD83_02235290: ; 0x02235290
ldr r3, _022352AC ; =0x0000E880
ldr r0, [r0, r3]
add r3, r0, #4
mov r0, #0x96
lsl r0, r0, #4
mul r0, r1
add r1, r3, r0
mov r0, #0x50
mul r0, r2
add r0, r1, r0
ldr r3, _022352B0 ; =MOD83_02237A10
mov r1, #0x2d
mov r2, #0
bx r3
.align 2, 0
_022352AC: .word 0x0000E880
_022352B0: .word MOD83_02237A10
thumb_func_end MOD83_02235290
thumb_func_start MOD83_022352B4
MOD83_022352B4: ; 0x022352B4
ldr r3, _022352D0 ; =0x0000E880
ldr r0, [r0, r3]
add r3, r0, #4
mov r0, #0x96
lsl r0, r0, #4
mul r0, r1
add r1, r3, r0
mov r0, #0x50
mul r0, r2
add r0, r1, r0
mov r1, #0
ldr r3, _022352D4 ; =MOD83_02237A10
add r2, r1, #0
bx r3
.align 2, 0
_022352D0: .word 0x0000E880
_022352D4: .word MOD83_02237A10
thumb_func_end MOD83_022352B4
thumb_func_start MOD83_022352D8
MOD83_022352D8: ; 0x022352D8
push {r4, r5}
ldr r5, [sp, #8]
lsr r4, r5, #0x1f
add r4, r5, r4
asr r4, r4, #1
sub r5, r2, r4
strb r5, [r0]
lsr r5, r3, #0x1f
add r5, r3, r5
asr r5, r5, #1
sub r3, r1, r5
strb r3, [r0, #2]
add r2, r2, r4
strb r2, [r0, #1]
add r1, r1, r5
strb r1, [r0, #3]
pop {r4, r5}
bx lr
thumb_func_end MOD83_022352D8
thumb_func_start MOD83_022352FC
MOD83_022352FC: ; 0x022352FC
push {r3, r4, r5, r6, r7, lr}
add r6, r1, #0
mov r1, #1
add r5, r0, #0
add r0, r3, #0
lsl r1, r1, #0xc
add r7, r2, #0
bl AllocFromHeapAtEnd
add r4, r0, #0
beq _02235330
add r1, r5, #0
add r2, r6, #0
bl ReadWholeNarcMemberByIdPair
add r0, r4, #0
add r1, r7, #0
bl FUN_020B0030
cmp r0, #0
bne _02235330
add r0, r4, #0
bl FreeToHeap
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02235330:
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD83_022352FC
thumb_func_start MOD83_02235334
MOD83_02235334: ; 0x02235334
push {r4, r5, r6, lr}
add r6, r0, #0
add r5, r1, #0
add r4, r2, #0
add r0, r3, #0
add r1, r6, #0
bl NARC_ReadWholeMember
add r0, r4, #0
add r1, r5, #0
bl FUN_020B0030
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_end MOD83_02235334
thumb_func_start MOD83_02235350
MOD83_02235350: ; 0x02235350
push {r4, lr}
add r3, r1, #0
mov r4, #0
cmp r0, #0xc9
beq _02235362
ldr r1, _022353BC ; =0x00000182
cmp r0, r1
beq _0223538C
b _022353B6
_02235362:
mov r4, #3
lsl r0, r4, #8
add r2, r3, #0
and r0, r3
lsr r1, r0, #6
lsl r0, r4, #0x18
and r2, r4
and r0, r3
lsl r4, r4, #0x10
and r3, r4
lsr r0, r0, #0x12
lsr r3, r3, #0xc
orr r0, r3
orr r0, r1
orr r0, r2
mov r1, #0x1c
bl _u32_div_f
lsl r0, r1, #0x18
lsr r4, r0, #0x18
b _022353B6
_0223538C:
cmp r2, #5
bhi _022353A8
add r0, r2, r2
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0223539C: ; jump table
.short _022353A8 - _0223539C - 2 ; case 0
.short _022353A8 - _0223539C - 2 ; case 1
.short _022353A8 - _0223539C - 2 ; case 2
.short _022353B4 - _0223539C - 2 ; case 3
.short _022353AC - _0223539C - 2 ; case 4
.short _022353B0 - _0223539C - 2 ; case 5
_022353A8:
mov r4, #0
b _022353B6
_022353AC:
mov r4, #1
b _022353B6
_022353B0:
mov r4, #2
b _022353B6
_022353B4:
mov r4, #3
_022353B6:
add r0, r4, #0
pop {r4, pc}
nop
_022353BC: .word 0x00000182
thumb_func_end MOD83_02235350
thumb_func_start MOD83_022353C0
MOD83_022353C0: ; 0x022353C0
push {r3, r4, r5, r6, r7, lr}
add r6, r2, #0
add r7, r3, #0
add r5, r1, #0
bl MOD83_02237EBC
add r1, r6, #0
add r2, r7, #0
add r4, r0, #0
bl MOD83_02235350
add r7, r0, #0
add r0, r4, #0
add r1, r5, #0
add r2, r7, #0
bl FUN_0206B6D4
add r1, r0, #0
mov r0, #0x13
add r2, sp, #0
mov r3, #0x4e
bl MOD83_022352FC
add r6, r0, #0
ldr r0, [sp]
mov r1, #2
ldr r0, [r0, #0x14]
lsl r1, r1, #8
bl DC_FlushRange
ldr r1, [sp, #0x18]
ldr r0, [sp]
lsl r1, r1, #4
add r1, #0x64
mov r2, #2
ldr r0, [r0, #0x14]
lsl r1, r1, #5
lsl r2, r2, #8
bl GX_LoadOBJ
add r0, r4, #0
add r1, r7, #0
add r2, r5, #0
bl FUN_0206B7BC
add r1, r0, #0
ldr r0, [sp, #0x1c]
add r1, #8
bl FUN_02020248
add r0, r6, #0
bl FreeToHeap
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD83_022353C0
thumb_func_start MOD83_0223542C
MOD83_0223542C: ; 0x0223542C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r7, r1, #0
ldr r1, _022354A8 ; =0x0223BB14
str r2, [sp]
ldr r2, [r1]
mov r1, #0x83
add r5, r3, #0
lsl r1, r1, #2
mul r1, r5
add r4, r2, r1
ldr r1, [sp, #0x20]
add r6, r0, #0
cmp r1, #0
beq _022354A0
bl MOD83_02234C74
cmp r0, #0
bne _0223545C
add r0, r6, #0
bl MOD83_02237EBC
add r6, r0, #0
b _0223545E
_0223545C:
mov r6, #0
_0223545E:
ldr r2, [sp]
add r0, r6, #0
add r1, r7, #0
bl FUN_0206B6D4
ldr r2, [sp, #0x24]
ldr r3, [sp, #0x28]
add r1, sp, #4
bl MOD83_02235334
ldr r0, [sp, #4]
add r1, r4, #0
mov r2, #2
ldr r0, [r0, #0x14]
add r1, #0xc
lsl r2, r2, #8
bl MIi_CpuCopyFast
lsl r0, r5, #4
add r0, #0x64
lsl r0, r0, #5
str r0, [r4]
ldr r0, [sp, #0x20]
ldr r1, [sp]
str r0, [r4, #8]
add r0, r6, #0
add r2, r7, #0
bl FUN_0206B7BC
add r0, #8
add sp, #8
str r0, [r4, #4]
pop {r3, r4, r5, r6, r7, pc}
_022354A0:
mov r0, #0
str r0, [r4, #8]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_022354A8: .word 0x0223BB14
thumb_func_end MOD83_0223542C
thumb_func_start MOD83_022354AC
MOD83_022354AC: ; 0x022354AC
push {r3, r4, r5, r6, r7, lr}
ldr r0, _022354EC ; =0x0223BB14
mov r6, #2
lsl r6, r6, #8
add r7, r6, #0
ldr r5, [r0]
mov r4, #0
add r7, #0xc
_022354BC:
ldr r0, [r5, #8]
cmp r0, #0
beq _022354E0
add r0, r5, #0
add r0, #0xc
add r1, r6, #0
bl DC_FlushRange
add r0, r5, #0
ldr r1, [r5]
add r0, #0xc
add r2, r6, #0
bl GX_LoadOBJ
ldr r0, [r5, #8]
ldr r1, [r5, #4]
bl FUN_02020248
_022354E0:
add r4, r4, #1
add r5, r5, r7
cmp r4, #0x1e
blt _022354BC
pop {r3, r4, r5, r6, r7, pc}
nop
_022354EC: .word 0x0223BB14
thumb_func_end MOD83_022354AC
thumb_func_start MOD83_022354F0
MOD83_022354F0: ; 0x022354F0
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r5, r0, #0
mov r0, #0x13
mov r1, #0x4e
bl NARC_ctor
mov r1, #1
str r0, [sp, #0xc]
mov r0, #0x4e
lsl r1, r1, #0xc
bl AllocFromHeapAtEnd
mov r6, #0
str r0, [sp, #0x10]
add r7, r6, #0
add r4, r5, #0
_02235512:
ldr r0, _02235634 ; =0x0000E880
ldr r1, _02235638 ; =0x0000E884
ldr r0, [r5, r0]
ldr r2, [r5, r1]
mov r1, #0x96
lsl r1, r1, #4
mul r1, r2
add r0, r0, #4
add r0, r0, r1
add r0, r0, r7
mov r1, #5
mov r2, #0
bl MOD83_02237A10
cmp r0, #0
beq _022355D2
ldr r1, _02235638 ; =0x0000E884
add r0, r5, #0
ldr r1, [r5, r1]
add r2, r6, #0
bl MOD83_0223526C
ldr r1, _02235638 ; =0x0000E884
str r0, [sp, #0x1c]
ldr r1, [r5, r1]
add r0, r5, #0
add r2, r6, #0
bl MOD83_02235290
ldr r1, _02235638 ; =0x0000E884
str r0, [sp, #0x18]
ldr r1, [r5, r1]
add r0, r5, #0
add r2, r6, #0
bl MOD83_022352B4
str r0, [sp, #0x20]
ldr r0, [sp, #0x1c]
bl MOD83_02237EBC
ldr r2, _0223563C ; =0x021C4918
ldr r1, [sp, #0x20]
ldrb r2, [r2, #6]
bl MOD83_02235350
str r0, [sp, #0x14]
mov r0, #0x6a
lsl r0, r0, #2
ldr r0, [r4, r0]
ldr r1, [sp, #0x18]
str r0, [sp]
ldr r0, [sp, #0x10]
ldr r2, [sp, #0x14]
str r0, [sp, #4]
ldr r0, [sp, #0xc]
add r3, r6, #0
str r0, [sp, #8]
ldr r0, [sp, #0x1c]
bl MOD83_0223542C
mov r0, #0x6a
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #1
bl FUN_020200A0
ldr r0, _02235634 ; =0x0000E880
ldr r1, _02235638 ; =0x0000E884
ldr r0, [r5, r0]
ldr r2, [r5, r1]
mov r1, #0x96
lsl r1, r1, #4
mul r1, r2
add r0, r0, #4
add r0, r0, r1
add r0, r0, r7
mov r1, #0xc
mov r2, #0
bl MOD83_02237A10
cmp r0, #0
beq _022355C4
mov r0, #0x6b
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #1
bl FUN_020200A0
b _02235602
_022355C4:
mov r0, #0x6b
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0
bl FUN_020200A0
b _02235602
_022355D2:
mov r0, #0
str r0, [sp]
ldr r0, [sp, #0x10]
ldr r1, [sp, #0x18]
str r0, [sp, #4]
ldr r0, [sp, #0xc]
ldr r2, [sp, #0x14]
str r0, [sp, #8]
ldr r0, [sp, #0x1c]
add r3, r6, #0
bl MOD83_0223542C
mov r0, #0x6a
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0
bl FUN_020200A0
mov r0, #0x6b
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0
bl FUN_020200A0
_02235602:
add r6, r6, #1
add r7, #0x50
add r4, #0xc
cmp r6, #0x1e
blt _02235512
ldr r0, [sp, #0x10]
bl FreeToHeap
ldr r0, [sp, #0xc]
bl NARC_dtor
ldr r1, _02235640 ; =MOD83_022354AC
ldr r0, _02235644 ; =0x00012604
str r1, [r5, r0]
ldr r1, _02235638 ; =0x0000E884
add r0, r5, #0
ldr r1, [r5, r1]
bl MOD83_02235B6C
add r0, r5, #0
bl MOD83_02235B20
add sp, #0x24
pop {r4, r5, r6, r7, pc}
nop
_02235634: .word 0x0000E880
_02235638: .word 0x0000E884
_0223563C: .word 0x021C4918
_02235640: .word MOD83_022354AC
_02235644: .word 0x00012604
thumb_func_end MOD83_022354F0
thumb_func_start MOD83_02235648
MOD83_02235648: ; 0x02235648
push {r4, r5, r6, r7, lr}
sub sp, #0x44
mov r2, #0x61
add r5, r0, #0
lsl r2, r2, #2
add r0, sp, #0x14
add r1, r5, #0
add r2, r5, r2
mov r3, #1
bl MOD83_02235244
mov r0, #0x28
str r0, [sp, #8]
mov r0, #0x31
mov r4, #0
lsl r0, r0, #4
str r4, [sp, #0xc]
add r7, r5, r0
_0223566C:
mov r0, #0
str r0, [sp, #0x10]
ldr r0, [sp, #8]
mov r6, #0x1c
lsl r0, r0, #0xc
str r0, [sp, #4]
_02235678:
mov r0, #0x1c
str r0, [sp]
ldr r2, [sp, #8]
add r0, r7, #0
add r1, r6, #0
mov r3, #0x1c
bl MOD83_022352D8
lsl r0, r6, #0xc
str r0, [sp, #0x1c]
ldr r0, [sp, #4]
str r0, [sp, #0x20]
mov r0, #0x6a
lsl r0, r0, #2
ldr r0, [r5, r0]
cmp r0, #0
bne _022356A6
add r0, sp, #0x14
bl FUN_0201FE94
mov r1, #0x6a
lsl r1, r1, #2
str r0, [r5, r1]
_022356A6:
mov r0, #0x6a
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #1
bl FUN_020200BC
mov r0, #0x6a
lsl r0, r0, #2
add r1, r4, #0
ldr r0, [r5, r0]
add r1, #0xa
bl FUN_02020130
mov r0, #0x6a
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #1
bl FUN_02020238
mov r0, #0x6a
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #1
bl FUN_020200A0
mov r0, #0x6a
lsl r0, r0, #2
add r1, r4, #0
ldr r0, [r5, r0]
add r1, #0x64
bl FUN_02020310
mov r0, #6
ldr r1, [sp, #0x1c]
lsl r0, r0, #0xc
add r0, r1, r0
str r0, [sp, #0x1c]
mov r0, #3
ldr r1, [sp, #0x20]
lsl r0, r0, #0xe
add r0, r1, r0
str r0, [sp, #0x20]
mov r0, #0x6b
lsl r0, r0, #2
ldr r0, [r5, r0]
cmp r0, #0
bne _02235710
add r0, sp, #0x14
bl FUN_0201FE94
mov r1, #0x6b
lsl r1, r1, #2
str r0, [r5, r1]
_02235710:
mov r0, #0x6b
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #1
bl FUN_020200BC
mov r0, #0x6b
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #0x28
bl FUN_02020130
mov r0, #0x6b
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #1
bl FUN_02020238
mov r0, #0x6b
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #0
bl FUN_020200A0
mov r0, #0x6b
lsl r0, r0, #2
ldr r0, [r5, r0]
add r1, r4, #0
bl FUN_02020310
add r4, r4, #1
add r7, r7, #4
add r5, #0xc
cmp r4, #0x1e
beq _02235774
ldr r0, [sp, #0x10]
add r6, #0x28
add r0, r0, #1
str r0, [sp, #0x10]
cmp r0, #6
blt _02235678
ldr r0, [sp, #8]
add r0, #0x18
str r0, [sp, #8]
ldr r0, [sp, #0xc]
add r0, r0, #1
str r0, [sp, #0xc]
cmp r0, #5
bge _02235774
b _0223566C
_02235774:
add sp, #0x44
pop {r4, r5, r6, r7, pc}
thumb_func_end MOD83_02235648
thumb_func_start MOD83_02235778
MOD83_02235778: ; 0x02235778
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
add r4, r2, #0
mov r2, #0x61
add r6, r0, #0
lsl r2, r2, #2
add r5, r1, #0
add r7, r3, #0
add r0, sp, #0
add r1, r6, #0
add r2, r6, r2
mov r3, #1
bl MOD83_02235244
lsl r0, r5, #0xc
str r0, [sp, #8]
lsl r0, r4, #0xc
str r0, [sp, #0xc]
mov r0, #0xa
str r0, [sp, #0x24]
add r0, sp, #0
bl FUN_0201FE94
add r4, r0, #0
mov r1, #1
bl FUN_020200BC
add r0, r4, #0
add r1, r7, #0
bl FUN_02020130
add r0, r4, #0
mov r1, #1
bl FUN_02020238
ldr r1, [sp, #0x48]
add r0, r4, #0
bl FUN_020200A0
add r0, r4, #0
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD83_02235778
thumb_func_start MOD83_022357CC
MOD83_022357CC: ; 0x022357CC
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
mov r0, #0x20
str r0, [sp]
mov r0, #0xe2
lsl r0, r0, #2
add r0, r6, r0
mov r1, #0xe4
mov r2, #0xb0
mov r3, #0x32
bl MOD83_022352D8
mov r0, #1
str r0, [sp]
add r0, r6, #0
mov r1, #0xe4
mov r2, #0xb0
mov r3, #6
bl MOD83_02235778
mov r1, #0xe6
lsl r1, r1, #2
str r0, [r6, r1]
sub r1, #8
add r0, r6, r1
mov r1, #0xb0
mov r3, #0x20
add r2, r1, #0
str r3, [sp]
bl MOD83_022352D8
mov r0, #1
mov r1, #0xb0
str r0, [sp]
add r0, r6, #0
add r2, r1, #0
mov r3, #3
bl MOD83_02235778
mov r1, #0xea
lsl r1, r1, #2
str r0, [r6, r1]
sub r1, #0x1c
mov r3, #0x20
add r0, r6, r1
mov r1, #0x18
mov r2, #0xb0
str r3, [sp]
bl MOD83_022352D8
mov r0, #1
str r0, [sp]
add r0, r6, #0
mov r1, #0x18
mov r2, #0xb0
mov r3, #0
bl MOD83_02235778
mov r1, #0xee
lsl r1, r1, #2
str r0, [r6, r1]
mov r7, #0
mov r0, #0xff
sub r1, #0x24
strb r0, [r6, r1]
add r4, r7, #0
add r5, r6, #0
_02235852:
mov r0, #0
str r0, [sp]
add r0, r6, #0
add r1, r4, #0
mov r2, #0x40
mov r3, #9
bl MOD83_02235778
mov r1, #0xf2
lsl r1, r1, #2
str r0, [r5, r1]
mov r1, #0
mov r0, #0xf3
mvn r1, r1
lsl r0, r0, #2
str r1, [r5, r0]
mov r1, #0xe
add r0, r0, #4
str r1, [r5, r0]
add r7, r7, #1
add r4, #0x24
add r5, #0xc
cmp r7, #6
blt _02235852
mov r0, #0x41
mov r1, #0
lsl r0, r0, #4
str r1, [r6, r0]
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD83_022357CC
thumb_func_start MOD83_0223588C
MOD83_0223588C: ; 0x0223588C
push {r3, lr}
ldr r3, _022358C0 ; =0x0000E880
ldr r2, [r0, r3]
add r3, r3, #4
ldr r3, [r0, r3]
mov r0, #0x96
lsl r0, r0, #4
add r2, r2, #4
mul r0, r3
add r2, r2, r0
mov r0, #0x50
mul r0, r1
add r0, r2, r0
mov r1, #0x41
mov r2, #0
bl MOD83_02237A10
mov r1, #0x67
lsl r1, r1, #2
cmp r0, r1
bne _022358BA
mov r0, #1
pop {r3, pc}
_022358BA:
mov r0, #0
pop {r3, pc}
nop
_022358C0: .word 0x0000E880
thumb_func_end MOD83_0223588C
thumb_func_start MOD83_022358C4
MOD83_022358C4: ; 0x022358C4
push {r3, r4, r5, r6, r7, lr}
ldr r3, _02235910 ; =0x0000E880
mov r5, #0
ldr r2, [r0, r3]
add r3, r3, #4
ldr r3, [r0, r3]
mov r0, #0x96
lsl r0, r0, #4
add r2, r2, #4
mul r0, r3
add r4, r2, r0
mov r0, #0x50
add r6, r1, #0
mul r6, r0
add r7, r5, #0
_022358E2:
add r1, r5, #0
add r0, r4, r6
add r1, #0xd
add r2, r7, #0
bl MOD83_02237A10
ldr r3, _02235914 ; =0x0223B2B8
add r2, r0, #0
mov r1, #0
_022358F4:
ldr r0, [r3]
cmp r2, r0
bne _022358FE
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_022358FE:
add r1, r1, #1
add r3, r3, #4
cmp r1, #8
blo _022358F4
add r5, r5, #1
cmp r5, #4
blt _022358E2
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_02235910: .word 0x0000E880
_02235914: .word 0x0223B2B8
thumb_func_end MOD83_022358C4
thumb_func_start MOD83_02235918
MOD83_02235918: ; 0x02235918
push {r3, lr}
ldr r3, _0223595C ; =0x0000E880
ldr r2, [r0, r3]
add r3, r3, #4
ldr r3, [r0, r3]
mov r0, #0x96
lsl r0, r0, #4
add r2, r2, #4
mul r0, r3
add r2, r2, r0
mov r0, #0x50
mul r0, r1
add r0, r2, r0
mov r1, #0xc
mov r2, #0
bl MOD83_02237A10
ldr r1, _02235960 ; =0x0223B2C8
ldrh r1, [r1, #0x30]
cmp r1, #0
beq _02235956
ldr r2, _02235964 ; =0x0223B2F8
_02235944:
ldrh r1, [r2]
cmp r0, r1
bne _0223594E
mov r0, #1
pop {r3, pc}
_0223594E:
add r2, r2, #2
ldrh r1, [r2]
cmp r1, #0
bne _02235944
_02235956:
mov r0, #0
pop {r3, pc}
nop
_0223595C: .word 0x0000E880
_02235960: .word 0x0223B2C8
_02235964: .word 0x0223B2F8
thumb_func_end MOD83_02235918
thumb_func_start MOD83_02235968
MOD83_02235968: ; 0x02235968
push {r3, lr}
ldr r3, _02235990 ; =0x0000E880
ldr r2, [r0, r3]
add r3, r3, #4
ldr r3, [r0, r3]
mov r0, #0x96
lsl r0, r0, #4
add r2, r2, #4
mul r0, r3
add r2, r2, r0
mov r0, #0x50
mul r0, r1
add r0, r2, r0
mov r1, #0xb
mov r2, #0
bl MOD83_02237A10
bl MOD83_02234C74
pop {r3, pc}
.align 2, 0
_02235990: .word 0x0000E880
thumb_func_end MOD83_02235968
thumb_func_start MOD83_02235994
MOD83_02235994: ; 0x02235994
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r4, r0, #0
mov r0, #0x6a
lsl r0, r0, #2
add r0, r4, r0
str r0, [sp]
add r6, r1, #0
mov r0, #0xc
mul r0, r6
ldr r1, [sp]
str r0, [sp, #4]
ldr r0, [r1, r0]
cmp r0, #0
beq _022359C0
bl FUN_02020128
cmp r0, #0
bne _022359C0
add sp, #0x14
mov r0, #3
pop {r4, r5, r6, r7, pc}
_022359C0:
mov r5, #0
mov r7, #0x3d
mvn r5, r5
mov r2, #0
add r3, r4, #0
lsl r7, r7, #4
b _022359E8
_022359CE:
ldr r0, _02235B1C ; =0x0000E884
ldr r1, [r4, r0]
ldr r0, [r3, r7]
cmp r1, r0
bne _022359E4
mov r0, #0xf3
lsl r0, r0, #2
ldr r0, [r3, r0]
cmp r6, r0
bne _022359E4
add r5, r2, #0
_022359E4:
add r3, #0xc
add r2, r2, #1
_022359E8:
mov r0, #0
mvn r0, r0
cmp r5, r0
bne _022359F4
cmp r2, #6
blt _022359CE
_022359F4:
add r0, r4, #0
add r1, r6, #0
bl MOD83_0223588C
cmp r0, #1
bne _02235A06
add sp, #0x14
mov r0, #4
pop {r4, r5, r6, r7, pc}
_02235A06:
add r0, r4, #0
add r1, r6, #0
bl MOD83_022358C4
cmp r0, #1
bne _02235A18
add sp, #0x14
mov r0, #5
pop {r4, r5, r6, r7, pc}
_02235A18:
add r0, r4, #0
add r1, r6, #0
bl MOD83_02235918
cmp r0, #1
bne _02235A2A
add sp, #0x14
mov r0, #6
pop {r4, r5, r6, r7, pc}
_02235A2A:
add r0, r4, #0
add r1, r6, #0
bl MOD83_02235968
cmp r0, #1
bne _02235A3C
add sp, #0x14
mov r0, #7
pop {r4, r5, r6, r7, pc}
_02235A3C:
mov r0, #0
mvn r0, r0
cmp r5, r0
bne _02235AE4
mov r0, #0x41
lsl r0, r0, #4
ldr r0, [r4, r0]
cmp r0, #6
bne _02235A54
add sp, #0x14
mov r0, #0
pop {r4, r5, r6, r7, pc}
_02235A54:
mov r5, #0
mov r0, #0xf3
add r3, r4, #0
lsl r0, r0, #2
sub r1, r5, #1
_02235A5E:
ldr r2, [r3, r0]
cmp r2, r1
bne _02235ADA
ldr r1, [sp]
ldr r0, [sp, #4]
ldr r0, [r1, r0]
bl FUN_0202011C
add r1, r0, #0
mov r0, #0xc
add r7, r5, #0
mul r7, r0
mov r0, #0xf2
lsl r0, r0, #2
add r5, r4, r0
ldr r0, [r5, r7]
bl FUN_02020044
ldr r0, [r5, r7]
bl FUN_0202011C
add r3, r0, #0
add r2, sp, #8
ldmia r3!, {r0, r1}
mov ip, r2
stmia r2!, {r0, r1}
ldr r0, [r3]
mov r1, #2
str r0, [r2]
ldr r0, [sp, #8]
lsl r1, r1, #0xe
sub r0, r0, r1
str r0, [sp, #8]
ldr r0, [sp, #0xc]
lsr r1, r1, #1
sub r0, r0, r1
str r0, [sp, #0xc]
ldr r0, [r5, r7]
mov r1, ip
bl FUN_02020044
ldr r0, [r5, r7]
mov r1, #1
bl FUN_020200A0
mov r1, #0xf3
add r3, r4, r7
lsl r1, r1, #2
ldr r0, _02235B1C ; =0x0000E884
str r6, [r3, r1]
ldr r2, [r4, r0]
add r0, r1, #4
str r2, [r3, r0]
add r0, r1, #0
add r0, #0x44
ldr r0, [r4, r0]
add r1, #0x44
add r0, r0, #1
str r0, [r4, r1]
add sp, #0x14
mov r0, #1
pop {r4, r5, r6, r7, pc}
_02235ADA:
add r5, r5, #1
add r3, #0xc
cmp r5, #6
blt _02235A5E
b _02235B16
_02235AE4:
mov r0, #0xc
add r6, r5, #0
mul r6, r0
mov r0, #0xf2
add r1, r4, r6
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #0
bl FUN_020200A0
mov r2, #0
mov r1, #0xf3
mvn r2, r2
add r0, r4, r6
lsl r1, r1, #2
str r2, [r0, r1]
add r0, r1, #0
add r0, #0x44
ldr r0, [r4, r0]
add r1, #0x44
sub r0, r0, #1
str r0, [r4, r1]
add sp, #0x14
mov r0, #2
pop {r4, r5, r6, r7, pc}
_02235B16:
mov r0, #0
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.align 2, 0
_02235B1C: .word 0x0000E884
thumb_func_end MOD83_02235994
thumb_func_start MOD83_02235B20
MOD83_02235B20: ; 0x02235B20
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
mov r4, #0
add r5, r6, #0
sub r7, r4, #1
_02235B2A:
mov r0, #0xf3
lsl r0, r0, #2
ldr r0, [r5, r0]
cmp r0, r7
beq _02235B50
ldr r0, _02235B68 ; =0x0000E884
ldr r1, [r6, r0]
mov r0, #0x3d
lsl r0, r0, #4
ldr r0, [r5, r0]
cmp r1, r0
bne _02235B50
mov r0, #0xf2
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #1
bl FUN_020200A0
b _02235B5C
_02235B50:
mov r0, #0xf2
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #0
bl FUN_020200A0
_02235B5C:
add r4, r4, #1
add r5, #0xc
cmp r4, #6
blt _02235B2A
pop {r3, r4, r5, r6, r7, pc}
nop
_02235B68: .word 0x0000E884
thumb_func_end MOD83_02235B20
thumb_func_start MOD83_02235B6C
MOD83_02235B6C: ; 0x02235B6C
push {r3, r4, r5, lr}
sub sp, #0x60
add r5, r0, #0
mov r0, #0
add r4, r1, #0
add r3, sp, #0x14
add r1, r0, #0
mov r2, #4
_02235B7C:
stmia r3!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _02235B7C
stmia r3!, {r0, r1}
str r0, [r3]
ldr r0, _02235BE4 ; =0x00000478
add r0, r5, r0
str r0, [sp, #0x14]
mov r0, #6
str r0, [sp, #0x1c]
mov r0, #0x15
str r0, [sp, #0x20]
mov r0, #0xd
str r0, [sp, #0x24]
mov r0, #2
str r0, [sp, #0x28]
sub r0, r0, #3
str r0, [sp, #0x48]
mov r0, #0
str r0, [sp, #0x2c]
str r0, [sp, #0x30]
mov r0, #1
str r0, [sp, #0x38]
str r0, [sp, #0x3c]
ldr r0, _02235BE8 ; =0x00010200
str r0, [sp, #0x40]
mov r0, #0xa0
str r0, [sp, #0x34]
bl MOD83_02236EA8
add r3, r0, #0
ldr r0, _02235BEC ; =0x0000E880
mov r2, #9
ldr r1, [r5, r0]
ldr r0, _02235BF0 ; =0x00008344
add r1, r1, r0
lsl r0, r4, #3
add r0, r4, r0
add r0, r1, r0
add r1, sp, #0
bl FUN_02015D88
add r0, sp, #0
str r0, [sp, #0x4c]
add r0, r5, #0
add r1, sp, #0x14
mov r2, #1
bl MOD83_02234F2C
add sp, #0x60
pop {r3, r4, r5, pc}
.align 2, 0
_02235BE4: .word 0x00000478
_02235BE8: .word 0x00010200
_02235BEC: .word 0x0000E880
_02235BF0: .word 0x00008344
thumb_func_end MOD83_02235B6C
thumb_func_start MOD83_02235BF4
MOD83_02235BF4: ; 0x02235BF4
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0x20]
add r6, r1, #0
mov r1, #2
bl FUN_0201886C
add r4, r0, #0
cmp r6, #0
beq _02235C18
add r0, r6, #0
mov r1, #8
mov r2, #0
bl MOD83_02237A10
lsl r0, r0, #0x18
lsr r1, r0, #0x18
b _02235C1A
_02235C18:
mov r1, #0
_02235C1A:
mov r2, #0
mov r0, #1
_02235C1E:
add r3, r1, #0
tst r3, r0
beq _02235C2A
add r6, r2, #0
add r6, #0x80
b _02235C2E
_02235C2A:
add r6, r2, #0
add r6, #0x60
_02235C2E:
add r3, r4, #0
add r3, #0xd6
lsl r1, r1, #0x17
add r2, r2, #1
strh r6, [r3]
lsr r1, r1, #0x18
add r4, r4, #2
cmp r2, #4
blt _02235C1E
ldr r0, [r5, #0x20]
mov r1, #2
bl FUN_02017CD0
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_end MOD83_02235BF4
thumb_func_start MOD83_02235C4C
MOD83_02235C4C: ; 0x02235C4C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x78
add r5, r0, #0
mov r0, #0
add r4, r1, #0
add r3, sp, #0x2c
add r1, r0, #0
mov r2, #4
_02235C5C:
stmia r3!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _02235C5C
stmia r3!, {r0, r1}
str r0, [r3]
mov r1, #0x20
str r1, [sp, #0x3c]
mov r1, #1
ldr r0, _02235DF8 ; =0x00000488
str r1, [sp, #0x50]
str r1, [sp, #0x54]
mov r1, #0xbc
str r1, [sp, #0x4c]
ldr r1, _02235DFC ; =0x000F0200
add r0, r5, r0
str r1, [sp, #0x58]
mov r1, #0x2c
str r0, [sp, #0x2c]
mov r0, #0
str r1, [sp, #0x60]
mov r1, #0x90
mov r2, #4
str r1, [sp, #0x44]
str r0, [sp, #0x34]
str r0, [sp, #0x38]
str r0, [sp, #0x64]
str r0, [sp, #0x48]
add r0, r5, #0
add r1, sp, #0x2c
str r2, [sp, #0x40]
bl MOD83_02234F2C
mov r0, #0x2b
str r0, [sp, #0x60]
mov r0, #0x50
str r0, [sp, #0x44]
mov r0, #8
str r0, [sp, #0x48]
add r0, r5, #0
add r1, sp, #0x2c
mov r2, #6
bl MOD83_02234F2C
add r0, r5, #0
add r1, r4, #0
bl MOD83_02235BF4
cmp r4, #0
bne _02235CCA
ldr r0, [sp, #0x2c]
bl FUN_020191D0
add sp, #0x78
pop {r3, r4, r5, r6, r7, pc}
_02235CCA:
add r2, sp, #0x1c
add r0, r4, #0
mov r1, #2
add r2, #2
bl MOD83_02237A10
add r0, r4, #0
mov r1, #3
mov r2, #0
bl MOD83_02237A10
add r3, r0, #0
add r0, sp, #0x1c
add r0, #2
add r1, sp, #8
mov r2, #0xb
bl FUN_02015D88
add r0, sp, #8
str r0, [sp, #0x64]
mov r0, #0
mvn r0, r0
str r0, [sp, #0x60]
mov r0, #8
str r0, [sp, #0x44]
mov r0, #0
str r0, [sp, #0x48]
add r0, r5, #0
add r1, sp, #0x2c
mov r2, #6
bl MOD83_02234F2C
mov r0, #0x40
mov r1, #0x4e
bl FUN_020219F4
add r6, r0, #0
ldr r2, _02235E00 ; =0x0000016A
mov r0, #1
mov r1, #0x1a
mov r3, #0x4e
bl FUN_0200A86C
add r7, r0, #0
add r0, r4, #0
mov r1, #0xb
mov r2, #0
bl MOD83_02237A10
bl MOD83_02237EBC
str r0, [sp, #4]
ldr r1, [sp, #4]
add r0, r7, #0
add r2, r6, #0
bl FUN_0200A8E0
mov r0, #0
mvn r0, r0
str r0, [sp, #0x60]
mov r0, #0x10
str r0, [sp, #0x44]
str r0, [sp, #0x48]
add r0, r5, #0
add r1, sp, #0x2c
mov r2, #6
str r6, [sp, #0x68]
bl MOD83_02234F2C
add r0, r7, #0
bl FUN_0200A8B8
add r0, r6, #0
bl FUN_02021A20
add r0, r4, #0
mov r1, #0xc
mov r2, #0
bl MOD83_02237A10
cmp r0, #0
beq _02235DAC
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl FUN_0206E6D8
add r7, r0, #0
mov r0, #0x40
mov r1, #0x4e
bl FUN_020219F4
lsl r1, r7, #0x10
lsr r1, r1, #0x10
mov r2, #0x4e
add r6, r0, #0
bl FUN_0206E768
mov r0, #0
mvn r0, r0
str r0, [sp, #0x60]
mov r0, #0x98
str r0, [sp, #0x44]
mov r0, #0x10
str r0, [sp, #0x48]
add r0, r5, #0
add r1, sp, #0x2c
mov r2, #6
str r6, [sp, #0x68]
bl MOD83_02234F2C
add r0, r6, #0
bl FUN_02021A20
_02235DAC:
add r0, r4, #0
bl MOD83_02237EDC
add r6, r0, #0
mov r0, #0xa
mov r1, #0x4e
bl FUN_020219F4
mov r3, #1
add r1, r6, #0
mov r2, #3
add r4, r0, #0
str r3, [sp]
bl FUN_02021B04
mov r0, #0
mvn r0, r0
str r0, [sp, #0x60]
mov r0, #0x64
str r0, [sp, #0x44]
mov r0, #8
str r0, [sp, #0x48]
add r0, r5, #0
add r1, sp, #0x2c
mov r2, #2
str r4, [sp, #0x68]
bl MOD83_02234F2C
add r0, r4, #0
bl FUN_02021A20
ldr r0, [sp, #4]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl FUN_02005578
add sp, #0x78
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_02235DF8: .word 0x00000488
_02235DFC: .word 0x000F0200
_02235E00: .word 0x0000016A
thumb_func_end MOD83_02235C4C
thumb_func_start MOD83_02235E04
MOD83_02235E04: ; 0x02235E04
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r0, #0
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x4e
str r0, [sp, #8]
add r6, r2, #0
mov r0, #0
add r4, r3, #0
add r2, r1, #0
add r3, r0, #0
bl FUN_0200E1D0
cmp r4, #0
beq _02235E2C
mov r0, #0x17
str r0, [r4]
_02235E2C:
str r6, [r5, #0x24]
add sp, #0xc
pop {r3, r4, r5, r6, pc}
.align 2, 0
thumb_func_end MOD83_02235E04
thumb_func_start MOD83_02235E34
MOD83_02235E34: ; 0x02235E34
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r0, #0
mov r0, #6
str r0, [sp]
mov r0, #1
add r4, r3, #0
str r0, [sp, #4]
mov r0, #0x4e
add r6, r2, #0
str r0, [sp, #8]
ldr r3, _02235E64 ; =0x00007FFF
mov r0, #0
add r2, r1, #0
bl FUN_0200E1D0
cmp r4, #0
beq _02235E5C
mov r0, #0x17
str r0, [r4]
_02235E5C:
str r6, [r5, #0x24]
add sp, #0xc
pop {r3, r4, r5, r6, pc}
nop
_02235E64: .word 0x00007FFF
thumb_func_end MOD83_02235E34
thumb_func_start MOD83_02235E68
MOD83_02235E68: ; 0x02235E68
push {r3, r4, r5, lr}
sub sp, #0x80
ldr r5, _02235F28 ; =0x0223A51C
add r3, sp, #0x70
add r4, r0, #0
add r2, r3, #0
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
add r0, r2, #0
bl FUN_02016BBC
ldr r5, _02235F2C ; =0x0223A52C
add r3, sp, #0x54
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #0
str r0, [r3]
add r0, r4, #0
add r3, r1, #0
bl FUN_02016C18
add r0, r4, #0
mov r1, #0
bl FUN_02018744
ldr r5, _02235F30 ; =0x0223A548
add r3, sp, #0x38
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #1
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl FUN_02016C18
add r0, r4, #0
mov r1, #1
bl FUN_02018744
ldr r5, _02235F34 ; =0x0223A564
add r3, sp, #0x1c
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #2
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl FUN_02016C18
add r0, r4, #0
mov r1, #2
bl FUN_02018744
ldr r5, _02235F38 ; =0x0223A580
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
mov r1, #3
str r0, [r3]
add r0, r4, #0
mov r3, #0
bl FUN_02016C18
add r0, r4, #0
mov r1, #3
bl FUN_02018744
add sp, #0x80
pop {r3, r4, r5, pc}
nop
_02235F28: .word 0x0223A51C
_02235F2C: .word 0x0223A52C
_02235F30: .word 0x0223A548
_02235F34: .word 0x0223A564
_02235F38: .word 0x0223A580
thumb_func_end MOD83_02235E68
thumb_func_start MOD83_02235F3C
MOD83_02235F3C: ; 0x02235F3C
push {r3, r4, r5, lr}
sub sp, #0x38
ldr r5, _02235FB4 ; =0x0223A59C
add r4, r0, #0
add r3, sp, #0x10
mov r2, #5
_02235F48:
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _02235F48
add r0, sp, #0x10
bl FUN_0201E66C
ldr r0, [r4, #0x20]
bl MOD83_02235E68
ldr r0, _02235FB8 ; =0x021C4918
mov r1, #1
strb r1, [r0, #5]
bl FUN_0201E7A0
bl FUN_0201BD5C
mov r1, #0x1e
mov r0, #0
lsl r1, r1, #4
mov r2, #0x4e
bl FUN_02002ED0
mov r0, #0xc0
str r0, [sp]
mov r0, #0x4e
mov r2, #0
str r0, [sp, #4]
mov r0, #0x74
mov r1, #0x13
add r3, r2, #0
bl FUN_02006930
mov r0, #0
str r0, [sp]
mov r0, #5
lsl r0, r0, #0xa
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x4e
str r0, [sp, #0xc]
ldr r2, [r4, #0x20]
mov r0, #0x74
mov r1, #0x16
mov r3, #2
bl FUN_0200687C
mov r0, #2
mov r1, #0x4e
bl FUN_02002C50
add sp, #0x38
pop {r3, r4, r5, pc}
.align 2, 0
_02235FB4: .word 0x0223A59C
_02235FB8: .word 0x021C4918
thumb_func_end MOD83_02235F3C
thumb_func_start MOD83_02235FBC
MOD83_02235FBC: ; 0x02235FBC
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x4e
str r0, [sp, #0xc]
ldr r2, [r4, #0x20]
mov r0, #0x74
mov r1, #0x14
mov r3, #2
bl FUN_020068C8
mov r0, #0x20
str r0, [sp]
mov r0, #0x18
str r0, [sp, #4]
mov r2, #0
ldr r1, [r4]
ldr r0, _02236008 ; =0x0223B280
add r3, r2, #0
ldrb r0, [r0, r1]
mov r1, #2
str r0, [sp, #8]
ldr r0, [r4, #0x20]
bl FUN_020186B4
ldr r0, [r4, #0x20]
mov r1, #2
bl FUN_02017CD0
add sp, #0x10
pop {r4, pc}
.align 2, 0
_02236008: .word 0x0223B280
thumb_func_end MOD83_02235FBC
thumb_func_start MOD83_0223600C
MOD83_0223600C: ; 0x0223600C
push {r4, lr}
sub sp, #8
mov r1, #7
add r4, r0, #0
mov r0, #0
lsl r1, r1, #6
mov r2, #0x4e
bl FUN_02002ED0
mov r1, #0
mov r2, #0x3f
str r1, [sp]
mov r0, #0x4e
str r0, [sp, #4]
ldr r0, [r4, #0x20]
lsl r2, r2, #4
mov r3, #0xe
bl FUN_0200CB00
ldr r0, [r4, #0x1c]
ldr r2, _022360B4 ; =0x000003D2
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x4e
str r0, [sp, #4]
ldr r0, [r4, #0x20]
mov r1, #0
mov r3, #0xd
bl FUN_0200CD68
ldr r0, _022360B8 ; =0x0000042C
mov r1, #0
add r0, r4, r0
mov r2, #0x4c
bl memset
ldr r0, _022360BC ; =0x00000498
mov r3, #0x1b
add r1, r0, #0
add r2, r4, r0
sub r1, #0x6c
str r2, [r4, r1]
add r1, r0, #0
mov r2, #2
sub r1, #0x64
str r2, [r4, r1]
add r1, r0, #0
mov r2, #1
sub r1, #0x60
str r2, [r4, r1]
add r1, r0, #0
sub r1, #0x5c
str r3, [r4, r1]
add r1, r0, #0
mov r3, #4
sub r1, #0x58
str r3, [r4, r1]
add r3, r0, #0
mov r1, #0
sub r3, #0x48
str r1, [r4, r3]
add r3, r0, #0
sub r3, #0x44
str r2, [r4, r3]
add r3, r0, #0
sub r3, #0x4c
str r2, [r4, r3]
add r2, r0, #0
ldr r3, _022360C0 ; =0x0001020F
sub r2, #0x40
str r3, [r4, r2]
add r2, r0, #0
ldr r3, _022360C4 ; =0x000F020F
sub r2, #0x3c
str r3, [r4, r2]
add r2, r0, #0
sub r2, #0x34
str r1, [r4, r2]
sub r0, #0x30
str r1, [r4, r0]
add sp, #8
pop {r4, pc}
nop
_022360B4: .word 0x000003D2
_022360B8: .word 0x0000042C
_022360BC: .word 0x00000498
_022360C0: .word 0x0001020F
_022360C4: .word 0x000F020F
thumb_func_end MOD83_0223600C
thumb_func_start MOD83_022360C8
MOD83_022360C8: ; 0x022360C8
push {r4, r5, r6, r7, lr}
sub sp, #0x4c
add r6, r0, #0
mov r7, #0x6b
mov r5, #0
add r4, r6, #0
lsl r7, r7, #2
_022360D6:
mov r0, #0x6a
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0
bl FUN_020200A0
ldr r0, [r4, r7]
mov r1, #0
bl FUN_020200A0
add r5, r5, #1
add r4, #0xc
cmp r5, #0x1e
blt _022360D6
mov r7, #0xf2
mov r5, #0
add r4, r6, #0
lsl r7, r7, #2
_022360FA:
ldr r0, [r4, r7]
mov r1, #0
bl FUN_020200A0
add r5, r5, #1
add r4, #0xc
cmp r5, #6
blt _022360FA
mov r0, #0xe6
lsl r0, r0, #2
ldr r0, [r6, r0]
mov r1, #0
bl FUN_020200A0
mov r0, #0xee
lsl r0, r0, #2
ldr r0, [r6, r0]
mov r1, #0
bl FUN_020200A0
mov r0, #0xea
lsl r0, r0, #2
ldr r0, [r6, r0]
mov r1, #0
bl FUN_020200A0
mov r2, #0x61
lsl r2, r2, #2
add r0, sp, #0x1c
add r1, r6, #0
add r2, r6, r2
mov r3, #1
bl MOD83_02235244
mov r0, #0x1c
mov r7, #0
str r0, [sp, #0x10]
add r4, r6, #0
add r5, r6, #0
_02236148:
ldr r0, [sp, #0x10]
lsl r0, r0, #0xc
str r0, [sp, #0x24]
mov r0, #0x8e
lsl r0, r0, #0xc
str r0, [sp, #0x28]
add r0, sp, #0x1c
bl FUN_0201FE94
ldr r1, _02236288 ; =0x00000414
str r0, [r4, r1]
add r0, r1, #0
ldr r0, [r4, r0]
mov r1, #1
bl FUN_020200BC
ldr r0, _02236288 ; =0x00000414
add r1, r7, #0
ldr r0, [r4, r0]
add r1, #0xa
bl FUN_02020130
ldr r0, _02236288 ; =0x00000414
mov r1, #1
ldr r0, [r4, r0]
bl FUN_02020238
ldr r0, _02236288 ; =0x00000414
mov r1, #1
ldr r0, [r4, r0]
bl FUN_020200A0
mov r1, #0x3d
mov r2, #0xf3
lsl r1, r1, #4
lsl r2, r2, #2
ldr r1, [r5, r1]
ldr r2, [r5, r2]
add r0, r6, #0
bl MOD83_0223526C
mov r1, #0x3d
mov r2, #0xf3
lsl r1, r1, #4
lsl r2, r2, #2
str r0, [sp, #0x14]
ldr r1, [r5, r1]
ldr r2, [r5, r2]
add r0, r6, #0
bl MOD83_02235290
mov r1, #0x3d
mov r2, #0xf3
lsl r1, r1, #4
lsl r2, r2, #2
str r0, [sp, #0x18]
ldr r1, [r5, r1]
ldr r2, [r5, r2]
add r0, r6, #0
bl MOD83_022352B4
add r2, r0, #0
ldr r0, _02236288 ; =0x00000414
str r7, [sp]
ldr r0, [r4, r0]
ldr r3, _0223628C ; =0x021C4918
str r0, [sp, #4]
ldrb r3, [r3, #6]
ldr r0, [sp, #0x14]
ldr r1, [sp, #0x18]
bl MOD83_022353C0
ldr r0, [sp, #0x10]
add r7, r7, #1
add r0, #0x28
str r0, [sp, #0x10]
add r4, r4, #4
add r5, #0xc
cmp r7, #6
blt _02236148
mov r0, #0
str r0, [sp]
mov r0, #6
lsl r0, r0, #8
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x4e
str r0, [sp, #0xc]
ldr r2, [r6, #0x20]
mov r0, #0x74
mov r1, #0x15
mov r3, #2
bl FUN_020068C8
mov r0, #0x20
str r0, [sp]
mov r0, #0x18
str r0, [sp, #4]
mov r2, #0
ldr r1, [r6]
ldr r0, _02236290 ; =0x0223B280
add r3, r2, #0
ldrb r0, [r0, r1]
mov r1, #2
str r0, [sp, #8]
ldr r0, [r6, #0x20]
bl FUN_020186B4
ldr r0, [r6, #0x20]
mov r1, #2
bl FUN_02017CD0
mov r0, #2
mov r1, #0
bl FUN_0201E6E4
mov r1, #7
mov r0, #0
lsl r1, r1, #6
mov r2, #0x4e
bl FUN_02002ED0
mov r1, #0
mov r2, #0x3f
str r1, [sp]
mov r0, #0x4e
str r0, [sp, #4]
ldr r0, [r6, #0x20]
lsl r2, r2, #4
mov r3, #0xe
bl FUN_0200CB00
ldr r0, [r6, #0x1c]
ldr r2, _02236294 ; =0x000003D2
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0x4e
str r0, [sp, #4]
ldr r0, [r6, #0x20]
mov r1, #0
mov r3, #0xd
bl FUN_0200CD68
add r0, r6, #0
bl MOD83_0223600C
mov r1, #0x46
mov r0, #0xa
lsl r1, r1, #4
str r0, [r6, r1]
sub r1, #0x34
add r0, r6, #0
add r1, r6, r1
mov r2, #0x18
bl MOD83_02234F2C
add sp, #0x4c
pop {r4, r5, r6, r7, pc}
.align 2, 0
_02236288: .word 0x00000414
_0223628C: .word 0x021C4918
_02236290: .word 0x0223B280
_02236294: .word 0x000003D2
thumb_func_end MOD83_022360C8
thumb_func_start MOD83_02236298
MOD83_02236298: ; 0x02236298
push {r4, lr}
add r4, r0, #0
ldr r1, [r4]
cmp r1, #0
beq _022362B4
mov r1, #0
bl FUN_0200D0E0
add r0, r4, #0
bl FUN_02019570
add r0, r4, #0
bl FUN_02019178
_022362B4:
pop {r4, pc}
.align 2, 0
thumb_func_end MOD83_02236298
thumb_func_start MOD83_022362B8
MOD83_022362B8: ; 0x022362B8
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
ldr r7, _02236328 ; =0x00000414
mov r4, #0
add r5, r6, #0
_022362C2:
ldr r0, [r5, r7]
bl FUN_0201FFC8
add r4, r4, #1
add r5, r5, #4
cmp r4, #6
blt _022362C2
mov r0, #2
mov r1, #1
bl FUN_0201E6E4
ldr r0, _0223632C ; =0x00000498
add r0, r6, r0
bl MOD83_02236298
mov r0, #0xe6
lsl r0, r0, #2
ldr r0, [r6, r0]
mov r1, #1
bl FUN_020200A0
mov r0, #0xee
lsl r0, r0, #2
ldr r0, [r6, r0]
mov r1, #1
bl FUN_020200A0
mov r0, #0xea
lsl r0, r0, #2
ldr r0, [r6, r0]
mov r1, #1
bl FUN_020200A0
mov r0, #0xf3
mov r5, #0
lsl r0, r0, #2
add r4, r6, #0
sub r3, r5, #1
mov r2, #0xe
add r1, r0, #4
_02236312:
str r3, [r4, r0]
str r2, [r4, r1]
add r5, r5, #1
add r4, #0xc
cmp r5, #6
blt _02236312
mov r0, #0x41
mov r1, #0
lsl r0, r0, #4
str r1, [r6, r0]
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_02236328: .word 0x00000414
_0223632C: .word 0x00000498
thumb_func_end MOD83_022362B8
thumb_func_start MOD83_02236330
MOD83_02236330: ; 0x02236330
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
mov r0, #0
add r1, r0, #0
bl FUN_02015F10
mov r7, #0x6a
mov r4, #0
add r5, r6, #0
lsl r7, r7, #2
_02236344:
ldr r0, [r5, r7]
cmp r0, #0
beq _0223634E
bl FUN_0201FFC8
_0223634E:
mov r0, #0x6b
lsl r0, r0, #2
ldr r0, [r5, r0]
cmp r0, #0
beq _0223635C
bl FUN_0201FFC8
_0223635C:
add r4, r4, #1
add r5, #0xc
cmp r4, #0x1e
blt _02236344
mov r7, #0xf2
mov r5, #0
add r4, r6, #0
lsl r7, r7, #2
_0223636C:
ldr r0, [r4, r7]
cmp r0, #0
beq _02236376
bl FUN_0201FFC8
_02236376:
add r5, r5, #1
add r4, #0xc
cmp r5, #6
blt _0223636C
mov r0, #0xe6
lsl r0, r0, #2
ldr r0, [r6, r0]
cmp r0, #0
beq _0223638C
bl FUN_0201FFC8
_0223638C:
mov r0, #0xee
lsl r0, r0, #2
ldr r0, [r6, r0]
cmp r0, #0
beq _0223639A
bl FUN_0201FFC8
_0223639A:
mov r0, #0xea
lsl r0, r0, #2
ldr r0, [r6, r0]
cmp r0, #0
beq _022363A8
bl FUN_0201FFC8
_022363A8:
ldr r0, _0223643C ; =0x00000478
add r0, r6, r0
bl MOD83_02236298
ldr r0, _02236440 ; =0x00000488
add r0, r6, r0
bl MOD83_02236298
ldr r0, _02236444 ; =0x00000498
add r0, r6, r0
bl MOD83_02236298
mov r0, #2
bl FUN_02002CF8
mov r0, #0x5b
lsl r0, r0, #2
ldr r0, [r6, r0]
bl FUN_02009C0C
mov r0, #0x17
lsl r0, r0, #4
ldr r0, [r6, r0]
bl FUN_02009E04
mov r7, #0x55
mov r5, #0
add r4, r6, #0
lsl r7, r7, #2
_022363E2:
ldr r0, [r4, r7]
bl FUN_02008E2C
add r5, r5, #1
add r4, r4, #4
cmp r5, #6
blt _022363E2
ldr r0, [r6, #0x28]
bl FUN_0201FD58
mov r0, #0
str r0, [r6, #0x28]
bl FUN_02009FA0
bl FUN_0201D12C
bl FUN_0201E08C
ldr r0, _02236448 ; =0x0000E88C
ldr r0, [r6, r0]
bl FUN_020145A8
ldr r0, _0223644C ; =0x021C4918
mov r1, #0
strb r1, [r0, #5]
bl FUN_0201E7A0
ldr r0, [r6, #0x20]
mov r1, #0
bl FUN_020178A0
ldr r0, [r6, #0x20]
mov r1, #1
bl FUN_020178A0
ldr r0, [r6, #0x20]
mov r1, #2
bl FUN_020178A0
ldr r0, [r6, #0x20]
mov r1, #3
bl FUN_020178A0
pop {r3, r4, r5, r6, r7, pc}
nop
_0223643C: .word 0x00000478
_02236440: .word 0x00000488
_02236444: .word 0x00000498
_02236448: .word 0x0000E88C
_0223644C: .word 0x021C4918
thumb_func_end MOD83_02236330
thumb_func_start MOD83_02236450
MOD83_02236450: ; 0x02236450
push {lr}
sub sp, #0x14
ldr r1, [r0, #0x20]
mov r2, #0x19
str r1, [sp]
mov r1, #0
str r1, [sp, #4]
mov r1, #2
lsl r1, r1, #8
str r1, [sp, #8]
mov r1, #8
str r1, [sp, #0xc]
add r1, sp, #0
strb r2, [r1, #0x10]
mov r2, #7
strb r2, [r1, #0x11]
ldr r1, _02236480 ; =0x0000E88C
ldr r0, [r0, r1]
add r1, sp, #0
bl FUN_020145C8
add sp, #0x14
pop {pc}
nop
_02236480: .word 0x0000E88C
thumb_func_end MOD83_02236450
thumb_func_start MOD83_02236484
MOD83_02236484: ; 0x02236484
push {r4, r5, r6, lr}
sub sp, #0x18
add r5, r0, #0
bl MOD83_02237464
add r4, r0, #0
bl MOD83_02236EA8
add r3, r0, #0
add r0, r4, #0
add r1, sp, #8
mov r2, #8
bl FUN_02015D88
mov r0, #0x4e
bl FUN_0200AA80
add r4, r0, #0
mov r0, #8
mov r1, #0x4e
bl FUN_020219F4
add r1, sp, #8
add r6, r0, #0
bl FUN_02021E28
mov r1, #1
str r1, [sp]
mov r0, #2
str r0, [sp, #4]
add r0, r4, #0
add r2, r6, #0
mov r3, #0
bl FUN_0200ABB4
add r0, r5, #0
bl MOD83_0223600C
ldr r0, [r5]
mov r2, #0x18
lsl r1, r0, #2
ldr r0, _02236508 ; =0x0223B2A0
ldr r0, [r0, r1]
mov r1, #0x46
lsl r1, r1, #4
str r0, [r5, r1]
add r0, r1, #0
add r0, #0xc
sub r1, #0x34
str r4, [r5, r0]
add r0, r5, #0
add r1, r5, r1
bl MOD83_02234F2C
add r0, r6, #0
bl FUN_02021A20
add r0, r4, #0
bl FUN_0200AB18
add r0, r5, #0
bl MOD83_02236450
add sp, #0x18
pop {r4, r5, r6, pc}
nop
_02236508: .word 0x0223B2A0
thumb_func_end MOD83_02236484
thumb_func_start MOD83_0223650C
MOD83_0223650C: ; 0x0223650C
push {r4, lr}
add r4, r0, #0
ldr r0, _0223653C ; =0x00012604
ldr r0, [r4, r0]
cmp r0, #0
beq _02236520
blx r0
ldr r0, _0223653C ; =0x00012604
mov r1, #0
str r1, [r4, r0]
_02236520:
bl FUN_0201C30C
bl FUN_02009F80
ldr r0, [r4, #0x20]
bl FUN_0201AB60
ldr r3, _02236540 ; =0x027E0000
ldr r1, _02236544 ; =0x00003FF8
mov r0, #1
ldr r2, [r3, r1]
orr r0, r2
str r0, [r3, r1]
pop {r4, pc}
.align 2, 0
_0223653C: .word 0x00012604
_02236540: .word 0x027E0000
_02236544: .word 0x00003FF8
thumb_func_end MOD83_0223650C
thumb_func_start MOD83_02236548
MOD83_02236548: ; 0x02236548
push {r4, r5, r6, r7, lr}
sub sp, #0xc
str r0, [sp]
ldr r0, [r0, #0x10]
bl FUN_02022528
str r0, [sp, #8]
bl FUN_0202C0B8
cmp r0, #0
bne _0223659C
ldr r0, [sp, #8]
bl FUN_0202C060
cmp r0, #0
bne _0223656E
add sp, #0xc
mov r0, #3
pop {r4, r5, r6, r7, pc}
_0223656E:
ldr r0, [sp, #8]
bl FUN_0202C094
cmp r0, #0
bne _0223657E
add sp, #0xc
mov r0, #4
pop {r4, r5, r6, r7, pc}
_0223657E:
bl MOD83_02237448
add r1, r0, #0
ldr r0, [sp, #8]
bl FUN_0202C028
cmp r0, #0
bne _02236590
ldr r0, _022365F8 ; =0x0002A300
_02236590:
ldr r1, _022365FC ; =0x00015180
cmp r0, r1
bge _0223659C
add sp, #0xc
mov r0, #2
pop {r4, r5, r6, r7, pc}
_0223659C:
mov r6, #0
str r6, [sp, #4]
add r7, r6, #0
_022365A2:
mov r4, #0
add r5, r4, #0
_022365A6:
ldr r1, [sp]
ldr r0, _02236600 ; =0x0000E880
mov r2, #0
ldr r0, [r1, r0]
mov r1, #5
add r0, r0, #4
add r0, r0, r7
add r0, r0, r5
bl MOD83_02237A10
cmp r0, #0
beq _022365C0
add r6, r6, #1
_022365C0:
add r4, r4, #1
add r5, #0x50
cmp r4, #0x1e
blt _022365A6
mov r0, #0x96
lsl r0, r0, #4
add r7, r7, r0
ldr r0, [sp, #4]
add r0, r0, #1
str r0, [sp, #4]
cmp r0, #0xe
blt _022365A2
cmp r6, #6
bge _022365E2
add sp, #0xc
mov r0, #5
pop {r4, r5, r6, r7, pc}
_022365E2:
ldr r0, [sp, #8]
bl FUN_0202C000
cmp r0, #0
beq _022365F2
add sp, #0xc
mov r0, #6
pop {r4, r5, r6, r7, pc}
_022365F2:
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.align 2, 0
_022365F8: .word 0x0002A300
_022365FC: .word 0x00015180
_02236600: .word 0x0000E880
thumb_func_end MOD83_02236548
thumb_func_start MOD83_02236604
MOD83_02236604: ; 0x02236604
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
ldr r1, [r5, #4]
cmp r1, #0
beq _02236640
bl MOD83_0223600C
mov r0, #1
bl FUN_02002BB8
ldr r0, _02236660 ; =0x0223B2D8
lsl r1, r4, #2
ldr r0, [r0, r1]
mov r1, #0x46
lsl r1, r1, #4
str r0, [r5, r1]
add r0, r1, #0
sub r1, #0x34
mov r2, #1
add r0, #0x10
str r2, [r5, r0]
add r0, r5, #0
add r1, r5, r1
mov r2, #0x18
bl MOD83_02234F2C
mov r0, #0
str r0, [r5, #4]
b _0223665A
_02236640:
ldr r0, _02236664 ; =0x00000474
ldr r0, [r5, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl FUN_0201BD70
cmp r0, #0
bne _0223665A
mov r0, #0
bl FUN_02002BB8
mov r0, #1
pop {r3, r4, r5, pc}
_0223665A:
mov r0, #0
pop {r3, r4, r5, pc}
nop
_02236660: .word 0x0223B2D8
_02236664: .word 0x00000474
thumb_func_end MOD83_02236604
thumb_func_start MOD83_02236668
MOD83_02236668: ; 0x02236668
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
ldr r1, [r5, #4]
cmp r1, #0
beq _022366A4
bl MOD83_0223600C
mov r0, #1
bl FUN_02002BB8
ldr r0, _022366C8 ; =0x0223B2D8
lsl r1, r4, #2
ldr r0, [r0, r1]
mov r1, #0x46
lsl r1, r1, #4
str r0, [r5, r1]
add r0, r1, #0
sub r1, #0x34
mov r2, #1
add r0, #0x10
str r2, [r5, r0]
add r0, r5, #0
add r1, r5, r1
mov r2, #0x18
bl MOD83_02234F2C
mov r0, #0
str r0, [r5, #4]
b _022366C4
_022366A4:
ldr r0, _022366CC ; =0x00000474
ldr r0, [r5, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl FUN_0201BD70
cmp r0, #0
bne _022366C4
add r0, r5, #0
bl MOD83_02236450
mov r0, #0
bl FUN_02002BB8
mov r0, #1
pop {r3, r4, r5, pc}
_022366C4:
mov r0, #0
pop {r3, r4, r5, pc}
.align 2, 0
_022366C8: .word 0x0223B2D8
_022366CC: .word 0x00000474
thumb_func_end MOD83_02236668
thumb_func_start MOD83_022366D0
MOD83_022366D0: ; 0x022366D0
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
mov r1, #0
ldr r2, [r5, #8]
mvn r1, r1
cmp r2, r1
beq _02236712
bl MOD83_0223600C
mov r0, #1
bl FUN_02002BB8
mov r1, #0x46
ldr r0, [r5, #8]
lsl r1, r1, #4
str r0, [r5, r1]
add r0, r1, #0
add r0, #0x10
sub r1, #0x34
str r4, [r5, r0]
add r0, r5, #0
add r1, r5, r1
mov r2, #0x18
bl MOD83_02234F2C
mov r0, #0
mvn r0, r0
str r0, [r5, #8]
ldr r0, _02236754 ; =0x000005DC
bl FUN_020054C8
b _02236750
_02236712:
cmp r4, #0
beq _02236730
ldr r0, _02236758 ; =0x00000474
ldr r0, [r5, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl FUN_0201BD70
cmp r0, #0
bne _02236750
mov r0, #0
bl FUN_02002BB8
mov r0, #1
pop {r3, r4, r5, pc}
_02236730:
ldr r0, _0223675C ; =0x021C48F8
ldrh r0, [r0, #0x20]
cmp r0, #0
bne _02236740
ldr r0, _02236760 ; =0x021C48B8
ldr r0, [r0, #0x48]
cmp r0, #0
beq _02236750
_02236740:
mov r0, #0
bl FUN_02002BB8
ldr r0, _02236754 ; =0x000005DC
bl FUN_020054C8
mov r0, #1
pop {r3, r4, r5, pc}
_02236750:
mov r0, #0
pop {r3, r4, r5, pc}
.align 2, 0
_02236754: .word 0x000005DC
_02236758: .word 0x00000474
_0223675C: .word 0x021C48F8
_02236760: .word 0x021C48B8
thumb_func_end MOD83_022366D0
thumb_func_start MOD83_02236764
MOD83_02236764: ; 0x02236764
push {r3, r4, r5, lr}
mov r2, #0xa
add r5, r0, #0
mov r0, #3
mov r1, #0x4e
lsl r2, r2, #0xe
bl FUN_0201681C
ldr r1, _022367F0 ; =0x00012608
add r0, r5, #0
mov r2, #0x4e
bl FUN_02006268
ldr r2, _022367F0 ; =0x00012608
mov r1, #0
add r4, r0, #0
bl memset
mov r0, #0x4e
bl FUN_02016B94
str r0, [r4, #0x20]
mov r0, #0x4e
bl FUN_02014590
ldr r1, _022367F4 ; =0x0000E88C
str r0, [r4, r1]
mov r0, #0
add r1, r0, #0
bl FUN_0200E3A0
mov r0, #1
mov r1, #0
bl FUN_0200E3A0
add r0, r5, #0
bl FUN_0200628C
ldr r0, [r0, #8]
str r0, [r4, #0x10]
bl FUN_020238F4
str r0, [r4, #0x14]
ldr r0, [r4, #0x10]
bl LoadPlayerDataAddress
str r0, [r4, #0x18]
bl FUN_02025084
str r0, [r4, #0x1c]
ldr r1, _022367F8 ; =0x00000496
mov r0, #9
mov r2, #1
bl FUN_0200433C
bl OS_IsTickAvailable
cmp r0, #0
bne _022367DE
bl OS_InitTick
_022367DE:
bl MOD83_02239490
ldr r0, _022367FC ; =0x0000E89C
add r1, r4, r0
ldr r0, _02236800 ; =0x0223BB14
str r1, [r0]
mov r0, #1
pop {r3, r4, r5, pc}
nop
_022367F0: .word 0x00012608
_022367F4: .word 0x0000E88C
_022367F8: .word 0x00000496
_022367FC: .word 0x0000E89C
_02236800: .word 0x0223BB14
thumb_func_end MOD83_02236764
thumb_func_start MOD83_02236804
MOD83_02236804: ; 0x02236804
push {r4, r5, r6, lr}
add r5, r1, #0
bl FUN_02006278
add r4, r0, #0
bl CTRDG_IsExisting
bl CTRDG_IsPulledOut
cmp r0, #1
beq _02236822
ldr r0, _02236B3C ; =0x02106FA4
ldr r0, [r0]
cmp r0, #0
beq _02236828
_02236822:
mov r0, #0x4e
bl FUN_02089F24
_02236828:
ldr r0, [r4, #0xc]
add r0, r0, #1
str r0, [r4, #0xc]
ldr r0, [r5]
cmp r0, #0x18
bhi _02236924
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02236840: ; jump table
.short _02236872 - _02236840 - 2 ; case 0
.short _022368BA - _02236840 - 2 ; case 1
.short _02236900 - _02236840 - 2 ; case 2
.short _02236914 - _02236840 - 2 ; case 3
.short _0223694E - _02236840 - 2 ; case 4
.short _02236966 - _02236840 - 2 ; case 5
.short _022369BC - _02236840 - 2 ; case 6
.short _022369CE - _02236840 - 2 ; case 7
.short _022369EC - _02236840 - 2 ; case 8
.short _022369FE - _02236840 - 2 ; case 9
.short _02236A5C - _02236840 - 2 ; case 10
.short _02236A74 - _02236840 - 2 ; case 11
.short _02236A88 - _02236840 - 2 ; case 12
.short _02236AC8 - _02236840 - 2 ; case 13
.short _02236BF0 - _02236840 - 2 ; case 14
.short _02236C0A - _02236840 - 2 ; case 15
.short _02236C26 - _02236840 - 2 ; case 16
.short _02236C40 - _02236840 - 2 ; case 17
.short _02236C76 - _02236840 - 2 ; case 18
.short _02236C9C - _02236840 - 2 ; case 19
.short _02236D06 - _02236840 - 2 ; case 20
.short _02236D12 - _02236840 - 2 ; case 21
.short _02236D54 - _02236840 - 2 ; case 22
.short _02236D78 - _02236840 - 2 ; case 23
.short _02236D86 - _02236840 - 2 ; case 24
_02236872:
bl MOD83_02236E90
mov r0, #0x4b
lsl r0, r0, #4
add r0, r4, r0
bl MOD83_02236E18
ldr r1, _02236B40 ; =0x000004A8
str r0, [r4, r1]
ldr r0, [r4, r1]
cmp r0, #0
bne _022368AE
bl MOD83_022371C4
ldr r1, _02236B44 ; =0x000004AC
str r0, [r4, r1]
ldr r0, [r4, r1]
cmp r0, #0
bne _022368AA
bl MOD83_0223742C
ldr r1, _02236B48 ; =0x0000E880
str r0, [r4, r1]
ldr r0, [r4, r1]
ldrb r2, [r0]
add r0, r1, #4
str r2, [r4, r0]
b _022368AE
_022368AA:
mov r0, #1
str r0, [r4, #4]
_022368AE:
add r0, r4, #0
bl MOD83_02234CA0
mov r0, #1
str r0, [r5]
b _02236D90
_022368BA:
add r0, r4, #0
bl MOD83_02235F3C
bl MOD83_022350BC
add r0, r4, #0
bl MOD83_022350EC
add r0, r4, #0
bl MOD83_022351F8
add r0, r4, #0
bl MOD83_022357CC
ldr r0, _02236B4C ; =MOD83_0223650C
add r1, r4, #0
bl FUN_02015F10
mov r0, #0x10
mov r1, #0
bl FUN_0201E6E4
ldr r0, [r4, #4]
cmp r0, #1
bne _022368FA
add r0, r4, #0
mov r1, #1
mov r2, #0xb
add r3, r5, #0
bl MOD83_02235E04
b _02236D90
_022368FA:
mov r0, #2
str r0, [r5]
b _02236D90
_02236900:
add r0, r4, #0
bl MOD83_02236484
add r0, r4, #0
mov r1, #1
mov r2, #3
add r3, r5, #0
bl MOD83_02235E04
b _02236D90
_02236914:
ldr r0, _02236B50 ; =0x0000E88C
ldr r0, [r4, r0]
bl FUN_0201466C
cmp r0, #1
beq _02236926
cmp r0, #2
beq _02236938
_02236924:
b _02236D90
_02236926:
ldr r0, _02236B50 ; =0x0000E88C
ldr r0, [r4, r0]
bl FUN_020146C4
mov r0, #0x22
str r0, [r4, #8]
mov r0, #4
str r0, [r5]
b _02236D90
_02236938:
ldr r0, _02236B50 ; =0x0000E88C
ldr r0, [r4, r0]
bl FUN_020146C4
add r0, r4, #0
mov r1, #0
mov r2, #0x18
add r3, r5, #0
bl MOD83_02235E34
b _02236D90
_0223694E:
add r0, r4, #0
mov r1, #1
bl MOD83_022366D0
cmp r0, #0
beq _02236976
add r0, r4, #0
bl MOD83_02236450
mov r0, #5
str r0, [r5]
b _02236D90
_02236966:
ldr r0, _02236B50 ; =0x0000E88C
ldr r0, [r4, r0]
bl FUN_0201466C
cmp r0, #1
beq _02236978
cmp r0, #2
beq _022369A6
_02236976:
b _02236D90
_02236978:
ldr r0, _02236B50 ; =0x0000E88C
ldr r0, [r4, r0]
bl FUN_020146C4
add r0, r4, #0
bl MOD83_02236548
str r0, [r4, #4]
cmp r0, #0
beq _0223699E
sub r0, r0, #3
cmp r0, #1
bhi _02236998
mov r0, #8
str r0, [r5]
b _02236D90
_02236998:
mov r0, #0xb
str r0, [r5]
b _02236D90
_0223699E:
mov r0, #6
str r0, [r4, #8]
str r0, [r5]
b _02236D90
_022369A6:
ldr r0, _02236B50 ; =0x0000E88C
ldr r0, [r4, r0]
bl FUN_020146C4
add r0, r4, #0
mov r1, #0
mov r2, #0x18
add r3, r5, #0
bl MOD83_02235E34
b _02236D90
_022369BC:
add r0, r4, #0
mov r1, #1
bl MOD83_022366D0
cmp r0, #0
beq _02236A0E
mov r0, #7
str r0, [r5]
b _02236D90
_022369CE:
ldr r0, _02236B54 ; =0x021C48F8
ldrh r0, [r0, #0x20]
cmp r0, #0
bne _022369DE
ldr r0, _02236B58 ; =0x021C48B8
ldr r0, [r0, #0x48]
cmp r0, #0
beq _02236A0E
_022369DE:
add r0, r4, #0
mov r1, #0
mov r2, #0xc
add r3, r5, #0
bl MOD83_02235E04
b _02236D90
_022369EC:
ldr r1, [r4, #4]
add r0, r4, #0
bl MOD83_02236668
cmp r0, #0
beq _02236A0E
mov r0, #9
str r0, [r5]
b _02236D90
_022369FE:
ldr r0, _02236B50 ; =0x0000E88C
ldr r0, [r4, r0]
bl FUN_0201466C
cmp r0, #1
beq _02236A10
cmp r0, #2
beq _02236A46
_02236A0E:
b _02236D90
_02236A10:
ldr r0, _02236B50 ; =0x0000E88C
ldr r0, [r4, r0]
bl FUN_020146C4
mov r1, #0x47
lsl r1, r1, #4
mov r2, #0
add r0, r1, #0
str r2, [r4, r1]
sub r1, #0x44
mov r3, #0x28
sub r0, #0x10
str r3, [r4, r0]
add r0, r4, #0
add r1, r4, r1
bl MOD83_02234F2C
ldr r1, _02236B5C ; =0x00000498
add r0, r4, r1
sub r1, #0xc6
bl FUN_0200D858
ldr r1, _02236B60 ; =0x0000E898
str r0, [r4, r1]
mov r0, #0xa
str r0, [r5]
b _02236D90
_02236A46:
ldr r0, _02236B50 ; =0x0000E88C
ldr r0, [r4, r0]
bl FUN_020146C4
add r0, r4, #0
mov r1, #0
mov r2, #0x18
add r3, r5, #0
bl MOD83_02235E34
b _02236D90
_02236A5C:
add r0, r4, #0
bl MOD83_02234E40
ldr r0, _02236B60 ; =0x0000E898
ldr r0, [r4, r0]
bl FUN_0200DBFC
mov r0, #7
str r0, [r4, #4]
mov r0, #0xb
str r0, [r5]
b _02236D90
_02236A74:
ldr r1, [r4, #4]
add r0, r4, #0
bl MOD83_02236604
cmp r0, #0
bne _02236A82
b _02236D90
_02236A82:
mov r0, #0x16
str r0, [r5]
b _02236D90
_02236A88:
ldr r0, _02236B5C ; =0x00000498
add r0, r4, r0
bl MOD83_02236298
add r0, r4, #0
bl MOD83_02235FBC
add r0, r4, #0
bl MOD83_02235648
add r0, r4, #0
bl MOD83_022354F0
ldr r0, _02236B4C ; =MOD83_0223650C
add r1, r4, #0
bl FUN_02015F10
mov r0, #0x10
mov r1, #1
bl FUN_0201E6E4
add r0, r4, #0
mov r1, #0
bl MOD83_02235C4C
add r0, r4, #0
mov r1, #1
mov r2, #0xd
add r3, r5, #0
bl MOD83_02235E04
b _02236D90
_02236AC8:
mov r0, #0x31
lsl r0, r0, #4
add r0, r4, r0
bl FUN_02020988
add r6, r0, #0
mov r0, #0
mvn r0, r0
cmp r6, r0
beq _02236B9C
cmp r6, #0x1e
bge _02236B92
add r0, r4, #0
add r1, r6, #0
bl MOD83_02235994
cmp r0, #1
bne _02236B20
ldr r2, _02236B48 ; =0x0000E880
add r0, r4, #0
ldr r1, [r4, r2]
add r2, r2, #4
ldr r3, [r4, r2]
mov r2, #0x96
lsl r2, r2, #4
add r1, r1, #4
mul r2, r3
add r2, r1, r2
mov r1, #0x50
mul r1, r6
add r1, r2, r1
bl MOD83_02235C4C
mov r0, #0x41
lsl r0, r0, #4
ldr r0, [r4, r0]
cmp r0, #6
bne _02236B9C
ldr r0, _02236B64 ; =0x0000E888
mov r1, #0x2d
str r1, [r4, r0]
mov r0, #0xf
str r0, [r5]
b _02236D90
_02236B20:
cmp r0, #2
bne _02236B2E
add r0, r4, #0
mov r1, #0
bl MOD83_02235C4C
b _02236D90
_02236B2E:
cmp r0, #4
bne _02236B68
mov r0, #8
str r0, [r4, #8]
mov r0, #0xe
str r0, [r5]
b _02236D90
.align 2, 0
_02236B3C: .word 0x02106FA4
_02236B40: .word 0x000004A8
_02236B44: .word 0x000004AC
_02236B48: .word 0x0000E880
_02236B4C: .word MOD83_0223650C
_02236B50: .word 0x0000E88C
_02236B54: .word 0x021C48F8
_02236B58: .word 0x021C48B8
_02236B5C: .word 0x00000498
_02236B60: .word 0x0000E898
_02236B64: .word 0x0000E888
_02236B68:
cmp r0, #5
bne _02236B76
mov r0, #9
str r0, [r4, #8]
mov r0, #0xe
str r0, [r5]
b _02236D90
_02236B76:
cmp r0, #6
bne _02236B84
mov r0, #0x26
str r0, [r4, #8]
mov r0, #0xe
str r0, [r5]
b _02236D90
_02236B84:
cmp r0, #7
bne _02236B9C
mov r0, #0x26
str r0, [r4, #8]
mov r0, #0xe
str r0, [r5]
b _02236D90
_02236B92:
beq _02236BDC
cmp r6, #0x1f
beq _02236B9E
cmp r6, #0x20
beq _02236BBC
_02236B9C:
b _02236D90
_02236B9E:
ldr r0, _02236DA0 ; =0x0000E884
ldr r1, [r4, r0]
cmp r1, #0
bne _02236BAA
mov r1, #0xd
b _02236BAC
_02236BAA:
sub r1, r1, #1
_02236BAC:
str r1, [r4, r0]
add r0, r4, #0
bl MOD83_022354F0
ldr r0, _02236DA4 ; =0x000005DC
bl FUN_020054C8
b _02236D90
_02236BBC:
ldr r0, _02236DA0 ; =0x0000E884
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
ldr r1, [r4, r0]
cmp r1, #0xe
bne _02236BCE
mov r1, #0
str r1, [r4, r0]
_02236BCE:
add r0, r4, #0
bl MOD83_022354F0
ldr r0, _02236DA4 ; =0x000005DC
bl FUN_020054C8
b _02236D90
_02236BDC:
add r0, r4, #0
mov r1, #0
mov r2, #0x18
add r3, r5, #0
bl MOD83_02235E34
ldr r0, _02236DA4 ; =0x000005DC
bl FUN_020054C8
b _02236D90
_02236BF0:
add r0, r4, #0
mov r1, #0
bl MOD83_022366D0
cmp r0, #0
beq _02236C50
ldr r0, _02236DA8 ; =0x00000498
add r0, r4, r0
bl MOD83_02236298
mov r0, #0xd
str r0, [r5]
b _02236D90
_02236C0A:
ldr r0, _02236DAC ; =0x0000E888
ldr r1, [r4, r0]
sub r1, r1, #1
str r1, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0
bne _02236C50
add r0, r4, #0
mov r1, #0
mov r2, #0x10
add r3, r5, #0
bl MOD83_02235E04
b _02236D90
_02236C26:
add r0, r4, #0
bl MOD83_022360C8
add r0, r4, #0
mov r1, #1
mov r2, #0x11
add r3, r5, #0
bl MOD83_02235E04
add r0, r4, #0
bl MOD83_02236450
b _02236D90
_02236C40:
ldr r0, _02236DB0 ; =0x0000E88C
ldr r0, [r4, r0]
bl FUN_0201466C
cmp r0, #1
beq _02236C52
cmp r0, #2
beq _02236C60
_02236C50:
b _02236D90
_02236C52:
ldr r0, _02236DB0 ; =0x0000E88C
ldr r0, [r4, r0]
bl FUN_020146C4
mov r0, #0x12
str r0, [r5]
b _02236D90
_02236C60:
ldr r0, _02236DB0 ; =0x0000E88C
ldr r0, [r4, r0]
bl FUN_020146C4
add r0, r4, #0
mov r1, #0
mov r2, #0x14
add r3, r5, #0
bl MOD83_02235E04
b _02236D90
_02236C76:
mov r1, #0x46
mov r0, #0xb
lsl r1, r1, #4
str r0, [r4, r1]
sub r1, #0x34
add r0, r4, #0
add r1, r4, r1
mov r2, #0
bl MOD83_02234F2C
add r0, r4, #0
bl MOD83_02236450
ldr r0, _02236DA4 ; =0x000005DC
bl FUN_020054C8
mov r0, #0x13
str r0, [r5]
b _02236D90
_02236C9C:
ldr r0, _02236DB0 ; =0x0000E88C
ldr r0, [r4, r0]
bl FUN_0201466C
cmp r0, #1
beq _02236CAE
cmp r0, #2
beq _02236CF0
b _02236D90
_02236CAE:
ldr r0, [r4]
mov r2, #0
lsl r1, r0, #2
ldr r0, _02236DB4 ; =0x0223B288
ldr r0, [r0, r1]
mov r1, #0x46
lsl r1, r1, #4
str r0, [r4, r1]
sub r1, #0x34
add r0, r4, #0
add r1, r4, r1
bl MOD83_02234F2C
ldr r0, _02236DB0 ; =0x0000E88C
ldr r0, [r4, r0]
bl FUN_020146C4
ldr r0, _02236DB8 ; =0x0000E890
mov r1, #0
str r1, [r4, r0]
ldr r1, _02236DA8 ; =0x00000498
add r0, r4, r1
sub r1, #0xc6
bl FUN_0200D858
ldr r1, _02236DBC ; =0x0000E898
str r0, [r4, r1]
mov r0, #0x15
str r0, [r5]
mov r0, #4
bl FUN_020166A8
b _02236D90
_02236CF0:
ldr r0, _02236DB0 ; =0x0000E88C
ldr r0, [r4, r0]
bl FUN_020146C4
add r0, r4, #0
mov r1, #0
mov r2, #0x14
add r3, r5, #0
bl MOD83_02235E04
b _02236D90
_02236D06:
add r0, r4, #0
bl MOD83_022362B8
mov r0, #0xc
str r0, [r5]
b _02236D90
_02236D12:
add r0, r4, #0
bl MOD83_02234CE8
add r6, r0, #0
cmp r6, #0xa
beq _02236D90
ldr r0, _02236DBC ; =0x0000E898
ldr r0, [r4, r0]
bl FUN_0200DBFC
ldr r0, _02236DC0 ; =0x0000061B
bl FUN_020054C8
cmp r6, #0xb
bne _02236D34
mov r1, #0x1d
b _02236D36
_02236D34:
mov r1, #0x24
_02236D36:
mov r0, #0x46
lsl r0, r0, #4
str r1, [r4, r0]
ldr r1, _02236DC4 ; =0x0000042C
add r0, r4, #0
add r1, r4, r1
mov r2, #0
bl MOD83_02234F2C
mov r0, #0x16
str r0, [r5]
mov r0, #4
bl FUN_020166B8
b _02236D90
_02236D54:
ldr r0, _02236DC8 ; =0x021C48F8
ldrh r0, [r0, #0x20]
cmp r0, #0
bne _02236D64
ldr r0, _02236DCC ; =0x021C48B8
ldr r0, [r0, #0x48]
cmp r0, #0
beq _02236D90
_02236D64:
add r0, r4, #0
mov r1, #0
mov r2, #0x18
add r3, r5, #0
bl MOD83_02235E34
ldr r0, _02236DA4 ; =0x000005DC
bl FUN_020054C8
b _02236D90
_02236D78:
bl FUN_0200E308
cmp r0, #0
beq _02236D90
ldr r0, [r4, #0x24]
str r0, [r5]
b _02236D90
_02236D86:
add r0, r4, #0
bl MOD83_02236330
mov r0, #1
pop {r4, r5, r6, pc}
_02236D90:
ldr r0, [r4, #0x28]
cmp r0, #0
beq _02236D9A
bl FUN_0201FDEC
_02236D9A:
mov r0, #0
pop {r4, r5, r6, pc}
nop
_02236DA0: .word 0x0000E884
_02236DA4: .word 0x000005DC
_02236DA8: .word 0x00000498
_02236DAC: .word 0x0000E888
_02236DB0: .word 0x0000E88C
_02236DB4: .word 0x0223B288
_02236DB8: .word 0x0000E890
_02236DBC: .word 0x0000E898
_02236DC0: .word 0x0000061B
_02236DC4: .word 0x0000042C
_02236DC8: .word 0x021C48F8
_02236DCC: .word 0x021C48B8
thumb_func_end MOD83_02236804
thumb_func_start MOD83_02236DD0
MOD83_02236DD0: ; 0x02236DD0
push {r4, lr}
add r4, r0, #0
bl FUN_02006278
ldr r0, [r0, #0x20]
bl FreeToHeap
ldr r0, _02236DFC ; =SDK_OVERLAY_MODULE_63_ID
ldr r1, _02236E00 ; =0x021DBAB8
bl FUN_02000E7C
add r0, r4, #0
bl FUN_0200627C
mov r0, #0x4e
bl FUN_020168D0
mov r0, #0
bl MOD83_02239450
mov r0, #1
pop {r4, pc}
.align 2, 0
_02236DFC: .word SDK_OVERLAY_MODULE_63_ID
_02236E00: .word 0x021DBAB8
thumb_func_end MOD83_02236DD0
thumb_func_start MOD83_02236E04
MOD83_02236E04: ; 0x02236E04
push {r3, lr}
mov r0, #1
bl CTRDG_IdentifyAgbBackup
cmp r0, #0
bne _02236E14
mov r0, #1
pop {r3, pc}
_02236E14:
mov r0, #0
pop {r3, pc}
thumb_func_end MOD83_02236E04
thumb_func_start MOD83_02236E18
MOD83_02236E18: ; 0x02236E18
push {r3, lr}
ldr r1, _02236E74 ; =0x0223BB18
str r0, [r1, #8]
ldr r0, _02236E78 ; =0x0223B41C
ldr r0, [r0]
cmp r0, #0
beq _02236E2A
mov r0, #0xc
pop {r3, pc}
_02236E2A:
ldr r0, _02236E7C ; =0x0223A5C4
mov r1, #0x1e
bl MOD83_02236EB4
cmp r0, #0
bne _02236E72
ldr r0, _02236E78 ; =0x0223B41C
ldr r0, [r0]
ldrb r0, [r0, #4]
cmp r0, #0
bne _02236E5A
mov r0, #0x89
ldr r1, _02236E80 ; =0x0223BB98
lsl r0, r0, #4
str r0, [r1, #0x20]
mov r0, #0xeb
lsl r0, r0, #6
str r0, [r1, #0x24]
ldr r2, _02236E84 ; =0x00001220
ldr r0, _02236E74 ; =0x0223BB18
str r2, [r0, #0x68]
mov r0, #9
str r0, [r1, #0x30]
b _02236E64
_02236E5A:
ldr r0, _02236E88 ; =0x08000100
ldr r1, _02236E8C ; =0x0223BB30
mov r2, #0xfc
bl CTRDG_CpuCopy32
_02236E64:
bl MOD83_02236E04
cmp r0, #0
bne _02236E70
mov r0, #3
pop {r3, pc}
_02236E70:
mov r0, #0
_02236E72:
pop {r3, pc}
.align 2, 0
_02236E74: .word 0x0223BB18
_02236E78: .word 0x0223B41C
_02236E7C: .word 0x0223A5C4
_02236E80: .word 0x0223BB98
_02236E84: .word 0x00001220
_02236E88: .word 0x08000100
_02236E8C: .word 0x0223BB30
thumb_func_end MOD83_02236E18
thumb_func_start MOD83_02236E90
MOD83_02236E90: ; 0x02236E90
ldr r0, _02236E98 ; =0x0223B41C
mov r1, #0
str r1, [r0]
bx lr
.align 2, 0
_02236E98: .word 0x0223B41C
thumb_func_end MOD83_02236E90
thumb_func_start MOD83_02236E9C
MOD83_02236E9C: ; 0x02236E9C
ldr r0, _02236EA4 ; =0x0223B41C
ldr r0, [r0]
ldrb r0, [r0, #5]
bx lr
.align 2, 0
_02236EA4: .word 0x0223B41C
thumb_func_end MOD83_02236E9C
thumb_func_start MOD83_02236EA8
MOD83_02236EA8: ; 0x02236EA8
ldr r0, _02236EB0 ; =0x0223B41C
ldr r0, [r0]
ldrh r0, [r0, #6]
bx lr
.align 2, 0
_02236EB0: .word 0x0223B41C
thumb_func_end MOD83_02236EA8
thumb_func_start MOD83_02236EB4
MOD83_02236EB4: ; 0x02236EB4
push {r3, r4, r5, lr}
sub sp, #0xc0
add r5, r0, #0
add r4, r1, #0
ldr r0, _02236F60 ; =0x0223B41C
mov r1, #0
str r1, [r0]
bl CTRDG_IsAgbCartridge
cmp r0, #0
bne _02236ED0
add sp, #0xc0
mov r0, #1
pop {r3, r4, r5, pc}
_02236ED0:
bl CTRDG_GetAgbGameCode
mov r2, #0
cmp r4, #0
ble _02236EF4
add r3, r5, #0
_02236EDC:
ldr r1, [r3]
cmp r0, r1
bne _02236EEC
lsl r0, r2, #3
add r1, r5, r0
ldr r0, _02236F60 ; =0x0223B41C
str r1, [r0]
b _02236EF4
_02236EEC:
add r2, r2, #1
add r3, #8
cmp r2, r4
blt _02236EDC
_02236EF4:
ldr r0, _02236F60 ; =0x0223B41C
ldr r0, [r0]
cmp r0, #0
bne _02236F02
add sp, #0xc0
mov r0, #2
pop {r3, r4, r5, pc}
_02236F02:
mov r0, #1
bl CTRDG_Enable
add r4, sp, #0
mov r0, #2
lsl r0, r0, #0x1a
add r1, r4, #0
mov r2, #0xc0
bl CTRDG_CpuCopy32
ldr r3, _02236F64 ; =0x0223B424
mov r2, #0
_02236F1A:
add r0, r4, r2
ldrb r1, [r3]
ldrb r0, [r0, #4]
cmp r1, r0
beq _02236F2A
add sp, #0xc0
mov r0, #4
pop {r3, r4, r5, pc}
_02236F2A:
add r2, r2, #1
add r3, r3, #1
cmp r2, #0x9c
blo _02236F1A
mov r2, #0
mov r1, #0xa0
_02236F36:
ldrb r0, [r4, r1]
add r1, r1, #1
add r0, r2, r0
lsl r0, r0, #0x18
lsr r2, r0, #0x18
cmp r1, #0xbc
ble _02236F36
add r2, #0x19
neg r0, r2
lsl r0, r0, #0x18
add r4, #0xbd
lsr r1, r0, #0x18
ldrb r0, [r4]
cmp r0, r1
beq _02236F5A
add sp, #0xc0
mov r0, #4
pop {r3, r4, r5, pc}
_02236F5A:
mov r0, #0
add sp, #0xc0
pop {r3, r4, r5, pc}
.align 2, 0
_02236F60: .word 0x0223B41C
_02236F64: .word 0x0223B424
thumb_func_end MOD83_02236EB4
thumb_func_start MOD83_02236F68
MOD83_02236F68: ; 0x02236F68
push {r3, r4}
mov r2, #0
lsr r4, r1, #2
add r3, r2, #0
cmp r4, #0
ble _02236F84
_02236F74:
ldr r1, [r0]
add r0, r0, #4
add r2, r2, r1
add r1, r3, #1
lsl r1, r1, #0x10
lsr r3, r1, #0x10
cmp r3, r4
blt _02236F74
_02236F84:
lsr r0, r2, #0x10
lsl r0, r0, #0x10
lsr r1, r0, #0x10
lsl r0, r2, #0x10
lsr r0, r0, #0x10
add r0, r1, r0
lsl r0, r0, #0x10
lsr r0, r0, #0x10
pop {r3, r4}
bx lr
thumb_func_end MOD83_02236F68
thumb_func_start MOD83_02236F98
MOD83_02236F98: ; 0x02236F98
push {r3, lr}
lsl r0, r0, #0x10
mov r3, #1
add r2, r1, #0
lsr r0, r0, #0x10
mov r1, #0
lsl r3, r3, #0xc
bl CTRDG_ReadAgbFlash
pop {r3, pc}
thumb_func_end MOD83_02236F98
thumb_func_start MOD83_02236FAC
MOD83_02236FAC: ; 0x02236FAC
cmp r0, #0
bne _02236FBA
ldr r0, _02236FE0 ; =0x0223BB98
ldr r0, [r0, #0x20]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bx lr
_02236FBA:
cmp r0, #4
bne _02236FCE
ldr r0, _02236FE0 ; =0x0223BB98
ldr r1, [r0, #0x24]
mov r0, #0xba
lsl r0, r0, #6
sub r0, r1, r0
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bx lr
_02236FCE:
cmp r0, #0xd
bne _02236FD8
mov r0, #0x7d
lsl r0, r0, #4
bx lr
_02236FD8:
mov r0, #0x3e
lsl r0, r0, #6
bx lr
nop
_02236FE0: .word 0x0223BB98
thumb_func_end MOD83_02236FAC
thumb_func_start MOD83_02236FE4
MOD83_02236FE4: ; 0x02236FE4
cmp r0, #0
bne _02236FF4
ldr r0, _02237034 ; =0x0223BB18
ldr r1, [r0, #8]
mov r0, #1
lsl r0, r0, #0xc
add r0, r1, r0
bx lr
_02236FF4:
cmp r0, #1
blt _02237012
cmp r0, #4
bgt _02237012
ldr r1, _02237034 ; =0x0223BB18
ldr r2, [r1, #8]
mov r1, #2
lsl r1, r1, #0xc
add r2, r2, r1
sub r1, r0, #1
mov r0, #0x3e
lsl r0, r0, #6
mul r0, r1
add r0, r2, r0
bx lr
_02237012:
cmp r0, #5
blt _02237030
cmp r0, #0xe
bge _02237030
ldr r1, _02237034 ; =0x0223BB18
ldr r2, [r1, #8]
mov r1, #6
lsl r1, r1, #0xc
add r2, r2, r1
sub r1, r0, #5
mov r0, #0x3e
lsl r0, r0, #6
mul r0, r1
add r0, r2, r0
bx lr
_02237030:
mov r0, #0
bx lr
.align 2, 0
_02237034: .word 0x0223BB18
thumb_func_end MOD83_02236FE4
thumb_func_start MOD83_02237038
MOD83_02237038: ; 0x02237038
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
mov r6, #0
add r5, r1, #0
str r6, [sp, #4]
add r1, r2, #0
str r6, [r1]
ldr r1, _022370CC ; =0x0223BB18
add r7, r0, #0
str r6, [r1, #4]
mov r1, #0xe
str r2, [sp]
add r4, r6, #0
mul r7, r1
_02237054:
add r0, r4, #0
mov r1, #0xe
bl _s32_div_f
add r0, r1, r7
add r1, r5, #0
bl MOD83_02236F98
mov r1, #1
add r0, r5, #0
lsl r1, r1, #0xc
bl DC_FlushRange
ldr r0, _022370D0 ; =0x00000FF8
ldr r1, [r5, r0]
ldr r0, _022370D4 ; =0x08012025
cmp r1, r0
bne _022370A6
mov r0, #1
str r0, [sp, #4]
ldr r0, _022370D8 ; =0x00000FF4
ldrh r0, [r5, r0]
bl MOD83_02236FAC
add r1, r0, #0
add r0, r5, #0
bl MOD83_02236F68
ldr r1, _022370DC ; =0x00000FF6
ldrh r1, [r5, r1]
cmp r1, r0
bne _022370A6
ldr r0, _022370E0 ; =0x00000FFC
ldr r1, [r5, r0]
ldr r0, [sp]
str r1, [r0]
ldr r0, _022370D8 ; =0x00000FF4
ldrh r1, [r5, r0]
mov r0, #1
lsl r0, r1
orr r6, r0
_022370A6:
add r4, r4, #1
cmp r4, #0xe
blt _02237054
ldr r0, [sp, #4]
cmp r0, #0
beq _022370C4
ldr r0, _022370E4 ; =0x00003FFF
cmp r6, r0
bne _022370BE
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_022370BE:
add sp, #8
mov r0, #0xff
pop {r3, r4, r5, r6, r7, pc}
_022370C4:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_022370CC: .word 0x0223BB18
_022370D0: .word 0x00000FF8
_022370D4: .word 0x08012025
_022370D8: .word 0x00000FF4
_022370DC: .word 0x00000FF6
_022370E0: .word 0x00000FFC
_022370E4: .word 0x00003FFF
thumb_func_end MOD83_02237038
thumb_func_start MOD83_022370E8
MOD83_022370E8: ; 0x022370E8
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r7, r0, #0
add r5, r1, #0
add r4, r2, #0
mov r0, #0
add r1, r7, #0
add r2, sp, #4
bl MOD83_02237038
add r6, r0, #0
mov r0, #1
add r1, r7, #0
add r2, sp, #0
bl MOD83_02237038
cmp r6, #1
bne _02237160
cmp r0, #1
bne _02237160
mov r1, #0
ldr r0, [sp, #4]
mvn r1, r1
cmp r0, r1
bne _02237120
ldr r3, [sp]
cmp r3, #0
beq _0223712E
_02237120:
cmp r0, #0
bne _02237146
mov r1, #0
ldr r3, [sp]
mvn r1, r1
cmp r3, r1
bne _02237146
_0223712E:
add r2, r0, #1
add r1, r3, #1
cmp r2, r1
bhs _0223713E
str r3, [r4]
mov r0, #1
str r0, [r5]
b _0223715A
_0223713E:
str r0, [r4]
mov r0, #0
str r0, [r5]
b _0223715A
_02237146:
ldr r1, [sp]
cmp r0, r1
bhs _02237154
str r1, [r4]
mov r0, #1
str r0, [r5]
b _0223715A
_02237154:
str r0, [r4]
mov r0, #0
str r0, [r5]
_0223715A:
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02237160:
cmp r6, #1
bne _02237184
cmp r0, #1
beq _02237184
ldr r1, [sp, #4]
cmp r0, #0xff
str r1, [r4]
bne _0223717A
mov r0, #0
str r0, [r5]
add sp, #8
mov r0, #0xff
pop {r3, r4, r5, r6, r7, pc}
_0223717A:
mov r0, #0
str r0, [r5]
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02237184:
cmp r0, #1
bne _022371A6
cmp r6, #1
beq _022371A6
ldr r0, [sp]
cmp r6, #0xff
str r0, [r4]
bne _0223719E
mov r0, #1
str r0, [r5]
add sp, #8
mov r0, #0xff
pop {r3, r4, r5, r6, r7, pc}
_0223719E:
mov r0, #1
add sp, #8
str r0, [r5]
pop {r3, r4, r5, r6, r7, pc}
_022371A6:
cmp r6, #0
bne _022371B8
cmp r0, #0
bne _022371B8
mov r0, #0
str r0, [r4]
add sp, #8
str r0, [r5]
pop {r3, r4, r5, r6, r7, pc}
_022371B8:
mov r0, #0
str r0, [r4]
str r0, [r5]
mov r0, #2
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD83_022370E8
thumb_func_start MOD83_022371C4
MOD83_022371C4: ; 0x022371C4
push {r3, r4, r5, r6, r7, lr}
ldr r0, _02237278 ; =0x0223BB18
ldr r1, _0223727C ; =0x0223BB18
ldr r0, [r0, #8]
ldr r2, _02237280 ; =0x0223BB28
bl MOD83_022370E8
cmp r0, #1
beq _022371EE
cmp r0, #0
beq _022371E6
cmp r0, #2
beq _022371EA
cmp r0, #0xff
bne _022371EE
mov r0, #5
pop {r3, r4, r5, r6, r7, pc}
_022371E6:
mov r0, #7
pop {r3, r4, r5, r6, r7, pc}
_022371EA:
mov r0, #6
pop {r3, r4, r5, r6, r7, pc}
_022371EE:
ldr r7, _02237278 ; =0x0223BB18
ldr r0, [r7]
cmp r0, #1
bhi _02237272
mov r6, #0
ldr r5, [r7, #8]
add r4, r6, #0
_022371FC:
ldr r1, [r7]
mov r0, #0xe
mul r0, r1
add r0, r4, r0
add r1, r5, #0
bl MOD83_02236F98
ldr r0, _02237284 ; =0x00000FF8
ldr r1, [r5, r0]
ldr r0, _02237288 ; =0x08012025
cmp r1, r0
bne _0223725E
ldr r0, _0223728C ; =0x00000FF4
ldrh r0, [r5, r0]
bl MOD83_02236FAC
add r1, r0, #0
add r0, r5, #0
bl MOD83_02236F68
ldr r1, _02237290 ; =0x00000FF6
ldrh r1, [r5, r1]
cmp r1, r0
bne _0223725E
ldr r0, _02237294 ; =0x00000FFC
mov r1, #1
ldr r0, [r5, r0]
str r0, [r7, #0x10]
ldr r0, _0223728C ; =0x00000FF4
ldrh r0, [r5, r0]
lsl r1, r0
orr r6, r1
bl MOD83_02236FAC
str r0, [sp]
ldr r0, _0223728C ; =0x00000FF4
ldrh r0, [r5, r0]
bl MOD83_02236FE4
add r1, r0, #0
ldr r2, [sp]
add r0, r5, #0
bl MIi_CpuCopy32
ldr r0, _0223728C ; =0x00000FF4
ldrh r0, [r5, r0]
cmp r0, #0
bne _0223725E
str r4, [r7, #0xc]
_0223725E:
add r4, r4, #1
cmp r4, #0xe
blt _022371FC
ldr r0, _02237298 ; =0x00003FFF
cmp r6, r0
bne _0223726E
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0223726E:
mov r0, #4
pop {r3, r4, r5, r6, r7, pc}
_02237272:
mov r0, #6
pop {r3, r4, r5, r6, r7, pc}
nop
_02237278: .word 0x0223BB18
_0223727C: .word 0x0223BB18
_02237280: .word 0x0223BB28
_02237284: .word 0x00000FF8
_02237288: .word 0x08012025
_0223728C: .word 0x00000FF4
_02237290: .word 0x00000FF6
_02237294: .word 0x00000FFC
_02237298: .word 0x00003FFF
thumb_func_end MOD83_022371C4
thumb_func_start MOD83_0223729C
MOD83_0223729C: ; 0x0223729C
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, _02237318 ; =0x0223BB18
mov r2, #1
ldr r4, [r0, #8]
str r2, [r0, #0x14]
mov r0, #0
add r1, r4, #0
lsl r2, r2, #0xc
bl MIi_CpuClear32
add r0, r5, #0
bl MOD83_02236FAC
add r6, r0, #0
add r0, r5, #0
bl MOD83_02236FE4
add r1, r4, #0
add r2, r6, #0
bl MIi_CpuCopy32
ldr r0, _02237318 ; =0x0223BB18
ldr r1, [r0, #0x10]
ldr r0, _0223731C ; =0x00000FFC
str r1, [r4, r0]
add r1, r0, #0
sub r1, #8
strh r5, [r4, r1]
ldr r1, _02237320 ; =0x08012025
sub r0, r0, #4
str r1, [r4, r0]
add r0, r5, #0
bl MOD83_02236FAC
add r1, r0, #0
add r0, r4, #0
bl MOD83_02236F68
ldr r1, _02237324 ; =0x00000FF6
strh r0, [r4, r1]
ldr r0, _02237318 ; =0x0223BB18
mov r1, #0xe
ldr r0, [r0, #0xc]
add r0, r5, r0
add r0, r0, #1
bl _s32_div_f
ldr r0, _02237328 ; =0x0223B41C
ldr r3, _0223732C ; =MOD83_02237330
ldr r2, [r0, #4]
mov r0, #0xe
mul r0, r2
add r0, r1, r0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
add r1, r4, #0
mov r2, #4
bl CTRDG_WriteAndVerifyAgbFlashAsync
pop {r4, r5, r6, pc}
nop
_02237318: .word 0x0223BB18
_0223731C: .word 0x00000FFC
_02237320: .word 0x08012025
_02237324: .word 0x00000FF6
_02237328: .word 0x0223B41C
_0223732C: .word MOD83_02237330
thumb_func_end MOD83_0223729C
thumb_func_start MOD83_02237330
MOD83_02237330: ; 0x02237330
ldr r0, [r0, #8]
cmp r0, #0
bne _0223735C
ldr r1, _02237368 ; =0x0223BB18
ldr r0, [r1, #4]
add r0, r0, #1
str r0, [r1, #4]
cmp r0, #0xe
blt _0223734A
mov r0, #0
str r0, [r1, #4]
str r0, [r1, #0x14]
bx lr
_0223734A:
cmp r0, #0xd
bne _02237356
mov r0, #2
str r0, [r1, #0x14]
mov r0, #0
bx lr
_02237356:
mov r0, #3
str r0, [r1, #0x14]
b _02237362
_0223735C:
ldr r0, _02237368 ; =0x0223BB18
mov r1, #4
str r1, [r0, #0x14]
_02237362:
mov r0, #0
bx lr
nop
_02237368: .word 0x0223BB18
thumb_func_end MOD83_02237330
thumb_func_start MOD83_0223736C
MOD83_0223736C: ; 0x0223736C
push {r3, lr}
ldr r1, _022373AC ; =0x0223BB18
ldr r0, [r1, #4]
cmp r0, #0
bne _02237392
ldr r1, [r1]
cmp r1, #1
bne _02237382
mov r2, #0
ldr r1, _022373B0 ; =0x0223B41C
b _02237386
_02237382:
ldr r1, _022373B0 ; =0x0223B41C
mov r2, #1
_02237386:
str r2, [r1, #4]
ldr r1, _022373AC ; =0x0223BB18
ldr r2, [r1, #0x10]
add r2, r2, #1
str r2, [r1, #0x10]
b _02237396
_02237392:
mov r0, #0
pop {r3, pc}
_02237396:
ldr r1, _022373B0 ; =0x0223B41C
ldr r1, [r1, #4]
cmp r1, #0
bge _022373A2
mov r0, #0
pop {r3, pc}
_022373A2:
bl MOD83_0223729C
mov r0, #1
pop {r3, pc}
nop
_022373AC: .word 0x0223BB18
_022373B0: .word 0x0223B41C
thumb_func_end MOD83_0223736C
thumb_func_start MOD83_022373B4
MOD83_022373B4: ; 0x022373B4
push {r3, lr}
ldr r1, _022373F0 ; =0x0223BB18
ldr r0, [r1, #0x14]
cmp r0, #4
bhi _022373EC
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022373CA: ; jump table
.short _022373EC - _022373CA - 2 ; case 0
.short _022373E4 - _022373CA - 2 ; case 1
.short _022373D4 - _022373CA - 2 ; case 2
.short _022373DE - _022373CA - 2 ; case 3
.short _022373E8 - _022373CA - 2 ; case 4
_022373D4:
ldr r0, [r1, #4]
bl MOD83_0223729C
mov r0, #0
pop {r3, pc}
_022373DE:
ldr r0, [r1, #4]
bl MOD83_0223729C
_022373E4:
mov r0, #0xa
pop {r3, pc}
_022373E8:
mov r0, #8
pop {r3, pc}
_022373EC:
mov r0, #0
pop {r3, pc}
.align 2, 0
_022373F0: .word 0x0223BB18
thumb_func_end MOD83_022373B4
thumb_func_start MOD83_022373F4
MOD83_022373F4: ; 0x022373F4
ldr r0, _02237428 ; =0x0223BB18
ldr r0, [r0, #0x14]
cmp r0, #4
bhi _02237422
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237408: ; jump table
.short _02237422 - _02237408 - 2 ; case 0
.short _0223741A - _02237408 - 2 ; case 1
.short _02237412 - _02237408 - 2 ; case 2
.short _02237416 - _02237408 - 2 ; case 3
.short _0223741E - _02237408 - 2 ; case 4
_02237412:
mov r0, #0xb
bx lr
_02237416:
mov r0, #0xa
bx lr
_0223741A:
mov r0, #9
bx lr
_0223741E:
mov r0, #8
bx lr
_02237422:
mov r0, #0
bx lr
nop
_02237428: .word 0x0223BB18
thumb_func_end MOD83_022373F4
thumb_func_start MOD83_0223742C
MOD83_0223742C: ; 0x0223742C
ldr r0, _02237438 ; =0x0223BB18
ldr r1, [r0, #8]
mov r0, #6
lsl r0, r0, #0xc
add r0, r1, r0
bx lr
.align 2, 0
_02237438: .word 0x0223BB18
thumb_func_end MOD83_0223742C
thumb_func_start MOD83_0223743C
MOD83_0223743C: ; 0x0223743C
ldr r3, _02237444 ; =MOD83_02236FE4
mov r0, #0
bx r3
nop
_02237444: .word MOD83_02236FE4
thumb_func_end MOD83_0223743C
thumb_func_start MOD83_02237448
MOD83_02237448: ; 0x02237448
push {r3, lr}
bl MOD83_0223743C
ldrb r2, [r0, #0xb]
ldrb r1, [r0, #0xa]
lsl r3, r2, #8
ldrb r2, [r0, #0xd]
ldrb r0, [r0, #0xc]
lsl r2, r2, #0x18
lsl r0, r0, #0x10
orr r0, r2
orr r0, r3
orr r0, r1
pop {r3, pc}
thumb_func_end MOD83_02237448
thumb_func_start MOD83_02237464
MOD83_02237464: ; 0x02237464
ldr r3, _02237468 ; =MOD83_0223743C
bx r3
.align 2, 0
_02237468: .word MOD83_0223743C
thumb_func_end MOD83_02237464
thumb_func_start MOD83_0223746C
MOD83_0223746C: ; 0x0223746C
push {r4, r5, r6, lr}
add r4, r0, #0
add r0, r1, #0
mov r1, #0x18
add r5, r2, #0
mov r6, #0
bl _u32_div_f
cmp r1, #0x17
bhi _022374C2
add r0, r1, r1
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0223748C: ; jump table
.short _022374BC - _0223748C - 2 ; case 0
.short _022374EE - _0223748C - 2 ; case 1
.short _0223751E - _0223748C - 2 ; case 2
.short _0223754E - _0223748C - 2 ; case 3
.short _0223757E - _0223748C - 2 ; case 4
.short _022375AE - _0223748C - 2 ; case 5
.short _022375DE - _0223748C - 2 ; case 6
.short _02237610 - _0223748C - 2 ; case 7
.short _02237640 - _0223748C - 2 ; case 8
.short _02237670 - _0223748C - 2 ; case 9
.short _022376A0 - _0223748C - 2 ; case 10
.short _022376D0 - _0223748C - 2 ; case 11
.short _02237700 - _0223748C - 2 ; case 12
.short _02237732 - _0223748C - 2 ; case 13
.short _02237762 - _0223748C - 2 ; case 14
.short _02237792 - _0223748C - 2 ; case 15
.short _022377C2 - _0223748C - 2 ; case 16
.short _022377F2 - _0223748C - 2 ; case 17
.short _02237822 - _0223748C - 2 ; case 18
.short _02237854 - _0223748C - 2 ; case 19
.short _02237884 - _0223748C - 2 ; case 20
.short _022378B4 - _0223748C - 2 ; case 21
.short _022378E4 - _0223748C - 2 ; case 22
.short _02237914 - _0223748C - 2 ; case 23
_022374BC:
add r4, #0x20
cmp r5, #3
bls _022374C4
_022374C2:
b _02237942
_022374C4:
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022374D0: ; jump table
.short _022374D8 - _022374D0 - 2 ; case 0
.short _022374DC - _022374D0 - 2 ; case 1
.short _022374E2 - _022374D0 - 2 ; case 2
.short _022374E8 - _022374D0 - 2 ; case 3
_022374D8:
add r6, r4, #0
b _02237942
_022374DC:
add r6, r4, #0
add r6, #0xc
b _02237942
_022374E2:
add r6, r4, #0
add r6, #0x18
b _02237942
_022374E8:
add r6, r4, #0
add r6, #0x24
b _02237942
_022374EE:
add r4, #0x20
cmp r5, #3
bhi _022375E4
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237500: ; jump table
.short _02237508 - _02237500 - 2 ; case 0
.short _0223750C - _02237500 - 2 ; case 1
.short _02237512 - _02237500 - 2 ; case 2
.short _02237518 - _02237500 - 2 ; case 3
_02237508:
add r6, r4, #0
b _02237942
_0223750C:
add r6, r4, #0
add r6, #0xc
b _02237942
_02237512:
add r6, r4, #0
add r6, #0x24
b _02237942
_02237518:
add r6, r4, #0
add r6, #0x18
b _02237942
_0223751E:
add r4, #0x20
cmp r5, #3
bhi _022375E4
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237530: ; jump table
.short _02237538 - _02237530 - 2 ; case 0
.short _0223753C - _02237530 - 2 ; case 1
.short _02237542 - _02237530 - 2 ; case 2
.short _02237548 - _02237530 - 2 ; case 3
_02237538:
add r6, r4, #0
b _02237942
_0223753C:
add r6, r4, #0
add r6, #0x18
b _02237942
_02237542:
add r6, r4, #0
add r6, #0xc
b _02237942
_02237548:
add r6, r4, #0
add r6, #0x24
b _02237942
_0223754E:
add r4, #0x20
cmp r5, #3
bhi _022375E4
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237560: ; jump table
.short _02237568 - _02237560 - 2 ; case 0
.short _0223756C - _02237560 - 2 ; case 1
.short _02237572 - _02237560 - 2 ; case 2
.short _02237578 - _02237560 - 2 ; case 3
_02237568:
add r6, r4, #0
b _02237942
_0223756C:
add r6, r4, #0
add r6, #0x24
b _02237942
_02237572:
add r6, r4, #0
add r6, #0xc
b _02237942
_02237578:
add r6, r4, #0
add r6, #0x18
b _02237942
_0223757E:
add r4, #0x20
cmp r5, #3
bhi _022375E4
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237590: ; jump table
.short _02237598 - _02237590 - 2 ; case 0
.short _0223759C - _02237590 - 2 ; case 1
.short _022375A2 - _02237590 - 2 ; case 2
.short _022375A8 - _02237590 - 2 ; case 3
_02237598:
add r6, r4, #0
b _02237942
_0223759C:
add r6, r4, #0
add r6, #0x18
b _02237942
_022375A2:
add r6, r4, #0
add r6, #0x24
b _02237942
_022375A8:
add r6, r4, #0
add r6, #0xc
b _02237942
_022375AE:
add r4, #0x20
cmp r5, #3
bhi _022375E4
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022375C0: ; jump table
.short _022375C8 - _022375C0 - 2 ; case 0
.short _022375CC - _022375C0 - 2 ; case 1
.short _022375D2 - _022375C0 - 2 ; case 2
.short _022375D8 - _022375C0 - 2 ; case 3
_022375C8:
add r6, r4, #0
b _02237942
_022375CC:
add r6, r4, #0
add r6, #0x24
b _02237942
_022375D2:
add r6, r4, #0
add r6, #0x18
b _02237942
_022375D8:
add r6, r4, #0
add r6, #0xc
b _02237942
_022375DE:
add r4, #0x20
cmp r5, #3
bls _022375E6
_022375E4:
b _02237942
_022375E6:
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022375F2: ; jump table
.short _022375FA - _022375F2 - 2 ; case 0
.short _02237600 - _022375F2 - 2 ; case 1
.short _02237604 - _022375F2 - 2 ; case 2
.short _0223760A - _022375F2 - 2 ; case 3
_022375FA:
add r6, r4, #0
add r6, #0xc
b _02237942
_02237600:
add r6, r4, #0
b _02237942
_02237604:
add r6, r4, #0
add r6, #0x18
b _02237942
_0223760A:
add r6, r4, #0
add r6, #0x24
b _02237942
_02237610:
add r4, #0x20
cmp r5, #3
bhi _02237706
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237622: ; jump table
.short _0223762A - _02237622 - 2 ; case 0
.short _02237630 - _02237622 - 2 ; case 1
.short _02237634 - _02237622 - 2 ; case 2
.short _0223763A - _02237622 - 2 ; case 3
_0223762A:
add r6, r4, #0
add r6, #0xc
b _02237942
_02237630:
add r6, r4, #0
b _02237942
_02237634:
add r6, r4, #0
add r6, #0x24
b _02237942
_0223763A:
add r6, r4, #0
add r6, #0x18
b _02237942
_02237640:
add r4, #0x20
cmp r5, #3
bhi _02237706
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237652: ; jump table
.short _0223765A - _02237652 - 2 ; case 0
.short _02237660 - _02237652 - 2 ; case 1
.short _02237664 - _02237652 - 2 ; case 2
.short _0223766A - _02237652 - 2 ; case 3
_0223765A:
add r6, r4, #0
add r6, #0x18
b _02237942
_02237660:
add r6, r4, #0
b _02237942
_02237664:
add r6, r4, #0
add r6, #0xc
b _02237942
_0223766A:
add r6, r4, #0
add r6, #0x24
b _02237942
_02237670:
add r4, #0x20
cmp r5, #3
bhi _02237706
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237682: ; jump table
.short _0223768A - _02237682 - 2 ; case 0
.short _02237690 - _02237682 - 2 ; case 1
.short _02237694 - _02237682 - 2 ; case 2
.short _0223769A - _02237682 - 2 ; case 3
_0223768A:
add r6, r4, #0
add r6, #0x24
b _02237942
_02237690:
add r6, r4, #0
b _02237942
_02237694:
add r6, r4, #0
add r6, #0xc
b _02237942
_0223769A:
add r6, r4, #0
add r6, #0x18
b _02237942
_022376A0:
add r4, #0x20
cmp r5, #3
bhi _02237706
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022376B2: ; jump table
.short _022376BA - _022376B2 - 2 ; case 0
.short _022376C0 - _022376B2 - 2 ; case 1
.short _022376C4 - _022376B2 - 2 ; case 2
.short _022376CA - _022376B2 - 2 ; case 3
_022376BA:
add r6, r4, #0
add r6, #0x18
b _02237942
_022376C0:
add r6, r4, #0
b _02237942
_022376C4:
add r6, r4, #0
add r6, #0x24
b _02237942
_022376CA:
add r6, r4, #0
add r6, #0xc
b _02237942
_022376D0:
add r4, #0x20
cmp r5, #3
bhi _02237706
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022376E2: ; jump table
.short _022376EA - _022376E2 - 2 ; case 0
.short _022376F0 - _022376E2 - 2 ; case 1
.short _022376F4 - _022376E2 - 2 ; case 2
.short _022376FA - _022376E2 - 2 ; case 3
_022376EA:
add r6, r4, #0
add r6, #0x24
b _02237942
_022376F0:
add r6, r4, #0
b _02237942
_022376F4:
add r6, r4, #0
add r6, #0x18
b _02237942
_022376FA:
add r6, r4, #0
add r6, #0xc
b _02237942
_02237700:
add r4, #0x20
cmp r5, #3
bls _02237708
_02237706:
b _02237942
_02237708:
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237714: ; jump table
.short _0223771C - _02237714 - 2 ; case 0
.short _02237722 - _02237714 - 2 ; case 1
.short _02237728 - _02237714 - 2 ; case 2
.short _0223772C - _02237714 - 2 ; case 3
_0223771C:
add r6, r4, #0
add r6, #0xc
b _02237942
_02237722:
add r6, r4, #0
add r6, #0x18
b _02237942
_02237728:
add r6, r4, #0
b _02237942
_0223772C:
add r6, r4, #0
add r6, #0x24
b _02237942
_02237732:
add r4, #0x20
cmp r5, #3
bhi _02237828
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237744: ; jump table
.short _0223774C - _02237744 - 2 ; case 0
.short _02237752 - _02237744 - 2 ; case 1
.short _02237758 - _02237744 - 2 ; case 2
.short _0223775C - _02237744 - 2 ; case 3
_0223774C:
add r6, r4, #0
add r6, #0xc
b _02237942
_02237752:
add r6, r4, #0
add r6, #0x24
b _02237942
_02237758:
add r6, r4, #0
b _02237942
_0223775C:
add r6, r4, #0
add r6, #0x18
b _02237942
_02237762:
add r4, #0x20
cmp r5, #3
bhi _02237828
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237774: ; jump table
.short _0223777C - _02237774 - 2 ; case 0
.short _02237782 - _02237774 - 2 ; case 1
.short _02237788 - _02237774 - 2 ; case 2
.short _0223778C - _02237774 - 2 ; case 3
_0223777C:
add r6, r4, #0
add r6, #0x18
b _02237942
_02237782:
add r6, r4, #0
add r6, #0xc
b _02237942
_02237788:
add r6, r4, #0
b _02237942
_0223778C:
add r6, r4, #0
add r6, #0x24
b _02237942
_02237792:
add r4, #0x20
cmp r5, #3
bhi _02237828
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022377A4: ; jump table
.short _022377AC - _022377A4 - 2 ; case 0
.short _022377B2 - _022377A4 - 2 ; case 1
.short _022377B8 - _022377A4 - 2 ; case 2
.short _022377BC - _022377A4 - 2 ; case 3
_022377AC:
add r6, r4, #0
add r6, #0x24
b _02237942
_022377B2:
add r6, r4, #0
add r6, #0xc
b _02237942
_022377B8:
add r6, r4, #0
b _02237942
_022377BC:
add r6, r4, #0
add r6, #0x18
b _02237942
_022377C2:
add r4, #0x20
cmp r5, #3
bhi _02237828
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022377D4: ; jump table
.short _022377DC - _022377D4 - 2 ; case 0
.short _022377E2 - _022377D4 - 2 ; case 1
.short _022377E8 - _022377D4 - 2 ; case 2
.short _022377EC - _022377D4 - 2 ; case 3
_022377DC:
add r6, r4, #0
add r6, #0x18
b _02237942
_022377E2:
add r6, r4, #0
add r6, #0x24
b _02237942
_022377E8:
add r6, r4, #0
b _02237942
_022377EC:
add r6, r4, #0
add r6, #0xc
b _02237942
_022377F2:
add r4, #0x20
cmp r5, #3
bhi _02237828
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237804: ; jump table
.short _0223780C - _02237804 - 2 ; case 0
.short _02237812 - _02237804 - 2 ; case 1
.short _02237818 - _02237804 - 2 ; case 2
.short _0223781C - _02237804 - 2 ; case 3
_0223780C:
add r6, r4, #0
add r6, #0x24
b _02237942
_02237812:
add r6, r4, #0
add r6, #0x18
b _02237942
_02237818:
add r6, r4, #0
b _02237942
_0223781C:
add r6, r4, #0
add r6, #0xc
b _02237942
_02237822:
add r4, #0x20
cmp r5, #3
bls _0223782A
_02237828:
b _02237942
_0223782A:
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237836: ; jump table
.short _0223783E - _02237836 - 2 ; case 0
.short _02237844 - _02237836 - 2 ; case 1
.short _0223784A - _02237836 - 2 ; case 2
.short _02237850 - _02237836 - 2 ; case 3
_0223783E:
add r6, r4, #0
add r6, #0xc
b _02237942
_02237844:
add r6, r4, #0
add r6, #0x18
b _02237942
_0223784A:
add r6, r4, #0
add r6, #0x24
b _02237942
_02237850:
add r6, r4, #0
b _02237942
_02237854:
add r4, #0x20
cmp r5, #3
bhi _02237942
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237866: ; jump table
.short _0223786E - _02237866 - 2 ; case 0
.short _02237874 - _02237866 - 2 ; case 1
.short _0223787A - _02237866 - 2 ; case 2
.short _02237880 - _02237866 - 2 ; case 3
_0223786E:
add r6, r4, #0
add r6, #0xc
b _02237942
_02237874:
add r6, r4, #0
add r6, #0x24
b _02237942
_0223787A:
add r6, r4, #0
add r6, #0x18
b _02237942
_02237880:
add r6, r4, #0
b _02237942
_02237884:
add r4, #0x20
cmp r5, #3
bhi _02237942
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237896: ; jump table
.short _0223789E - _02237896 - 2 ; case 0
.short _022378A4 - _02237896 - 2 ; case 1
.short _022378AA - _02237896 - 2 ; case 2
.short _022378B0 - _02237896 - 2 ; case 3
_0223789E:
add r6, r4, #0
add r6, #0x18
b _02237942
_022378A4:
add r6, r4, #0
add r6, #0xc
b _02237942
_022378AA:
add r6, r4, #0
add r6, #0x24
b _02237942
_022378B0:
add r6, r4, #0
b _02237942
_022378B4:
add r4, #0x20
cmp r5, #3
bhi _02237942
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022378C6: ; jump table
.short _022378CE - _022378C6 - 2 ; case 0
.short _022378D4 - _022378C6 - 2 ; case 1
.short _022378DA - _022378C6 - 2 ; case 2
.short _022378E0 - _022378C6 - 2 ; case 3
_022378CE:
add r6, r4, #0
add r6, #0x24
b _02237942
_022378D4:
add r6, r4, #0
add r6, #0xc
b _02237942
_022378DA:
add r6, r4, #0
add r6, #0x18
b _02237942
_022378E0:
add r6, r4, #0
b _02237942
_022378E4:
add r4, #0x20
cmp r5, #3
bhi _02237942
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022378F6: ; jump table
.short _022378FE - _022378F6 - 2 ; case 0
.short _02237904 - _022378F6 - 2 ; case 1
.short _0223790A - _022378F6 - 2 ; case 2
.short _02237910 - _022378F6 - 2 ; case 3
_022378FE:
add r6, r4, #0
add r6, #0x18
b _02237942
_02237904:
add r6, r4, #0
add r6, #0x24
b _02237942
_0223790A:
add r6, r4, #0
add r6, #0xc
b _02237942
_02237910:
add r6, r4, #0
b _02237942
_02237914:
add r4, #0x20
cmp r5, #3
bhi _02237942
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237926: ; jump table
.short _0223792E - _02237926 - 2 ; case 0
.short _02237934 - _02237926 - 2 ; case 1
.short _0223793A - _02237926 - 2 ; case 2
.short _02237940 - _02237926 - 2 ; case 3
_0223792E:
add r6, r4, #0
add r6, #0x24
b _02237942
_02237934:
add r6, r4, #0
add r6, #0x18
b _02237942
_0223793A:
add r6, r4, #0
add r6, #0xc
b _02237942
_02237940:
add r6, r4, #0
_02237942:
add r0, r6, #0
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_end MOD83_0223746C
thumb_func_start MOD83_02237948
MOD83_02237948: ; 0x02237948
push {r3, r4}
add r4, r0, #0
mov r3, #0
add r4, #0x20
_02237950:
ldr r2, [r4]
ldr r1, [r0, #4]
add r3, r3, #1
eor r2, r1
str r2, [r4]
ldr r1, [r0]
eor r1, r2
stmia r4!, {r1}
cmp r3, #0xc
blo _02237950
pop {r3, r4}
bx lr
thumb_func_end MOD83_02237948
thumb_func_start MOD83_02237968
MOD83_02237968: ; 0x02237968
push {r3, r4}
add r4, r0, #0
mov r3, #0
add r4, #0x20
_02237970:
ldr r2, [r4]
ldr r1, [r0]
add r3, r3, #1
eor r2, r1
str r2, [r4]
ldr r1, [r0, #4]
eor r1, r2
stmia r4!, {r1}
cmp r3, #0xc
blo _02237970
pop {r3, r4}
bx lr
thumb_func_end MOD83_02237968
thumb_func_start MOD83_02237988
MOD83_02237988: ; 0x02237988
push {r3, r4, r5, r6, r7, lr}
add r1, r0, #0
mov r4, #0
ldr r1, [r1]
str r0, [sp]
add r2, r4, #0
bl MOD83_0223746C
add r5, r0, #0
ldr r0, [sp]
mov r2, #1
add r1, r0, #0
ldr r1, [r1]
bl MOD83_0223746C
add r6, r0, #0
ldr r0, [sp]
mov r2, #2
add r1, r0, #0
ldr r1, [r1]
bl MOD83_0223746C
add r7, r0, #0
ldr r0, [sp]
mov r2, #3
add r1, r0, #0
ldr r1, [r1]
bl MOD83_0223746C
add r1, r4, #0
_022379C4:
ldrh r2, [r5]
add r1, r1, #1
add r5, r5, #2
add r2, r4, r2
lsl r2, r2, #0x10
lsr r4, r2, #0x10
cmp r1, #6
blt _022379C4
mov r2, #0
_022379D6:
ldrh r1, [r6]
add r2, r2, #1
add r6, r6, #2
add r1, r4, r1
lsl r1, r1, #0x10
lsr r4, r1, #0x10
cmp r2, #6
blt _022379D6
mov r2, #0
_022379E8:
ldrh r1, [r7]
add r2, r2, #1
add r7, r7, #2
add r1, r4, r1
lsl r1, r1, #0x10
lsr r4, r1, #0x10
cmp r2, #6
blt _022379E8
mov r2, #0
_022379FA:
ldrh r1, [r0]
add r2, r2, #1
add r0, r0, #2
add r1, r4, r1
lsl r1, r1, #0x10
lsr r4, r1, #0x10
cmp r2, #6
blt _022379FA
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD83_02237988
thumb_func_start MOD83_02237A10
MOD83_02237A10: ; 0x02237A10
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
mov r4, #0
add r5, r0, #0
str r1, [sp]
add r7, r2, #0
add r6, r4, #0
str r4, [sp, #0xc]
str r4, [sp, #8]
str r4, [sp, #4]
cmp r1, #0xa
ble _02237A86
ldr r1, [r5]
add r2, r4, #0
bl MOD83_0223746C
str r0, [sp, #0xc]
ldr r1, [r5]
add r0, r5, #0
mov r2, #1
bl MOD83_0223746C
str r0, [sp, #8]
ldr r1, [r5]
add r0, r5, #0
mov r2, #2
bl MOD83_0223746C
str r0, [sp, #4]
ldr r1, [r5]
add r0, r5, #0
mov r2, #3
bl MOD83_0223746C
add r6, r0, #0
add r0, r5, #0
bl MOD83_02237948
add r0, r5, #0
bl MOD83_02237988
ldrh r1, [r5, #0x1c]
cmp r0, r1
beq _02237A86
ldrb r0, [r5, #0x13]
mov r1, #1
bic r0, r1
mov r1, #1
orr r0, r1
strb r0, [r5, #0x13]
ldrb r1, [r5, #0x13]
mov r0, #4
orr r0, r1
strb r0, [r5, #0x13]
mov r0, #1
ldr r1, [r6, #4]
lsl r0, r0, #0x1e
orr r0, r1
str r0, [r6, #4]
_02237A86:
ldr r0, [sp]
cmp r0, #0x50
bls _02237A8E
b _02237D7C
_02237A8E:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237A9A: ; jump table
.short _02237B3C - _02237A9A - 2 ; case 0
.short _02237B40 - _02237A9A - 2 ; case 1
.short _02237B44 - _02237A9A - 2 ; case 2
.short _02237B64 - _02237A9A - 2 ; case 3
.short _02237B68 - _02237A9A - 2 ; case 4
.short _02237B70 - _02237A9A - 2 ; case 5
.short _02237B78 - _02237A9A - 2 ; case 6
.short _02237B80 - _02237A9A - 2 ; case 7
.short _02237B94 - _02237A9A - 2 ; case 8
.short _02237B98 - _02237A9A - 2 ; case 9
.short _02237B9C - _02237A9A - 2 ; case 10
.short _02237BA0 - _02237A9A - 2 ; case 11
.short _02237BB4 - _02237A9A - 2 ; case 12
.short _02237BCC - _02237A9A - 2 ; case 13
.short _02237BCC - _02237A9A - 2 ; case 14
.short _02237BCC - _02237A9A - 2 ; case 15
.short _02237BCC - _02237A9A - 2 ; case 16
.short _02237BD8 - _02237A9A - 2 ; case 17
.short _02237BD8 - _02237A9A - 2 ; case 18
.short _02237BD8 - _02237A9A - 2 ; case 19
.short _02237BD8 - _02237A9A - 2 ; case 20
.short _02237BC0 - _02237A9A - 2 ; case 21
.short _02237C08 - _02237A9A - 2 ; case 22
.short _02237C0E - _02237A9A - 2 ; case 23
.short _02237C14 - _02237A9A - 2 ; case 24
.short _02237BBA - _02237A9A - 2 ; case 25
.short _02237BE4 - _02237A9A - 2 ; case 26
.short _02237BEA - _02237A9A - 2 ; case 27
.short _02237BF0 - _02237A9A - 2 ; case 28
.short _02237BF6 - _02237A9A - 2 ; case 29
.short _02237BFC - _02237A9A - 2 ; case 30
.short _02237C02 - _02237A9A - 2 ; case 31
.short _02237BC6 - _02237A9A - 2 ; case 32
.short _02237C1A - _02237A9A - 2 ; case 33
.short _02237C2C - _02237A9A - 2 ; case 34
.short _02237C34 - _02237A9A - 2 ; case 35
.short _02237C3C - _02237A9A - 2 ; case 36
.short _02237C44 - _02237A9A - 2 ; case 37
.short _02237C4C - _02237A9A - 2 ; case 38
.short _02237C5A - _02237A9A - 2 ; case 39
.short _02237C62 - _02237A9A - 2 ; case 40
.short _02237C6A - _02237A9A - 2 ; case 41
.short _02237C72 - _02237A9A - 2 ; case 42
.short _02237C7A - _02237A9A - 2 ; case 43
.short _02237C82 - _02237A9A - 2 ; case 44
.short _02237C8A - _02237A9A - 2 ; case 45
.short _02237C92 - _02237A9A - 2 ; case 46
.short _02237C20 - _02237A9A - 2 ; case 47
.short _02237C26 - _02237A9A - 2 ; case 48
.short _02237C54 - _02237A9A - 2 ; case 49
.short _02237C98 - _02237A9A - 2 ; case 50
.short _02237CA0 - _02237A9A - 2 ; case 51
.short _02237CA8 - _02237A9A - 2 ; case 52
.short _02237CB0 - _02237A9A - 2 ; case 53
.short _02237CB8 - _02237A9A - 2 ; case 54
.short _02237D7C - _02237A9A - 2 ; case 55
.short _02237D7C - _02237A9A - 2 ; case 56
.short _02237D7C - _02237A9A - 2 ; case 57
.short _02237D7C - _02237A9A - 2 ; case 58
.short _02237D7C - _02237A9A - 2 ; case 59
.short _02237D7C - _02237A9A - 2 ; case 60
.short _02237D7C - _02237A9A - 2 ; case 61
.short _02237D7C - _02237A9A - 2 ; case 62
.short _02237D7C - _02237A9A - 2 ; case 63
.short _02237D7C - _02237A9A - 2 ; case 64
.short _02237D2E - _02237A9A - 2 ; case 65
.short _02237D4C - _02237A9A - 2 ; case 66
.short _02237CC0 - _02237A9A - 2 ; case 67
.short _02237CC8 - _02237A9A - 2 ; case 68
.short _02237CD0 - _02237A9A - 2 ; case 69
.short _02237CD8 - _02237A9A - 2 ; case 70
.short _02237CE0 - _02237A9A - 2 ; case 71
.short _02237CE8 - _02237A9A - 2 ; case 72
.short _02237CF0 - _02237A9A - 2 ; case 73
.short _02237CF8 - _02237A9A - 2 ; case 74
.short _02237D00 - _02237A9A - 2 ; case 75
.short _02237D08 - _02237A9A - 2 ; case 76
.short _02237D10 - _02237A9A - 2 ; case 77
.short _02237D18 - _02237A9A - 2 ; case 78
.short _02237D20 - _02237A9A - 2 ; case 79
.short _02237D28 - _02237A9A - 2 ; case 80
_02237B3C:
ldr r4, [r5]
b _02237D7C
_02237B40:
ldr r4, [r5, #4]
b _02237D7C
_02237B44:
ldrb r0, [r5, #0x13]
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
beq _02237B50
mov r4, #0
b _02237B5E
_02237B50:
mov r4, #0
_02237B52:
add r0, r5, r4
ldrb r0, [r0, #8]
strb r0, [r7, r4]
add r4, r4, #1
cmp r4, #0xa
blo _02237B52
_02237B5E:
mov r0, #0xff
strb r0, [r7, r4]
b _02237D7C
_02237B64:
ldrb r4, [r5, #0x12]
b _02237D7C
_02237B68:
ldrb r0, [r5, #0x13]
lsl r0, r0, #0x1f
lsr r4, r0, #0x1f
b _02237D7C
_02237B70:
ldrb r0, [r5, #0x13]
lsl r0, r0, #0x1e
lsr r4, r0, #0x1f
b _02237D7C
_02237B78:
ldrb r0, [r5, #0x13]
lsl r0, r0, #0x1d
lsr r4, r0, #0x1f
b _02237D7C
_02237B80:
mov r4, #0
_02237B82:
add r0, r5, r4
ldrb r0, [r0, #0x14]
strb r0, [r7, r4]
add r4, r4, #1
cmp r4, #7
blo _02237B82
mov r0, #0xff
strb r0, [r7, r4]
b _02237D7C
_02237B94:
ldrb r4, [r5, #0x1b]
b _02237D7C
_02237B98:
ldrh r4, [r5, #0x1c]
b _02237D7C
_02237B9C:
ldrh r4, [r5, #0x1e]
b _02237D7C
_02237BA0:
ldrb r0, [r5, #0x13]
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
beq _02237BAE
mov r4, #0x67
lsl r4, r4, #2
b _02237D7C
_02237BAE:
ldr r0, [sp, #0xc]
ldrh r4, [r0]
b _02237D7C
_02237BB4:
ldr r0, [sp, #0xc]
ldrh r4, [r0, #2]
b _02237D7C
_02237BBA:
ldr r0, [sp, #0xc]
ldr r4, [r0, #4]
b _02237D7C
_02237BC0:
ldr r0, [sp, #0xc]
ldrb r4, [r0, #8]
b _02237D7C
_02237BC6:
ldr r0, [sp, #0xc]
ldrb r4, [r0, #9]
b _02237D7C
_02237BCC:
ldr r0, [sp]
sub r0, #0xd
lsl r1, r0, #1
ldr r0, [sp, #8]
ldrh r4, [r0, r1]
b _02237D7C
_02237BD8:
ldr r1, [sp]
ldr r0, [sp, #8]
sub r1, #0x11
add r0, r0, r1
ldrb r4, [r0, #8]
b _02237D7C
_02237BE4:
ldr r0, [sp, #4]
ldrb r4, [r0]
b _02237D7C
_02237BEA:
ldr r0, [sp, #4]
ldrb r4, [r0, #1]
b _02237D7C
_02237BF0:
ldr r0, [sp, #4]
ldrb r4, [r0, #2]
b _02237D7C
_02237BF6:
ldr r0, [sp, #4]
ldrb r4, [r0, #3]
b _02237D7C
_02237BFC:
ldr r0, [sp, #4]
ldrb r4, [r0, #4]
b _02237D7C
_02237C02:
ldr r0, [sp, #4]
ldrb r4, [r0, #5]
b _02237D7C
_02237C08:
ldr r0, [sp, #4]
ldrb r4, [r0, #6]
b _02237D7C
_02237C0E:
ldr r0, [sp, #4]
ldrb r4, [r0, #7]
b _02237D7C
_02237C14:
ldr r0, [sp, #4]
ldrb r4, [r0, #8]
b _02237D7C
_02237C1A:
ldr r0, [sp, #4]
ldrb r4, [r0, #9]
b _02237D7C
_02237C20:
ldr r0, [sp, #4]
ldrb r4, [r0, #0xa]
b _02237D7C
_02237C26:
ldr r0, [sp, #4]
ldrb r4, [r0, #0xb]
b _02237D7C
_02237C2C:
ldr r0, [r6]
lsl r0, r0, #0x18
lsr r4, r0, #0x18
b _02237D7C
_02237C34:
ldr r0, [r6]
lsl r0, r0, #0x10
lsr r4, r0, #0x18
b _02237D7C
_02237C3C:
ldr r0, [r6]
lsl r0, r0, #9
lsr r4, r0, #0x19
b _02237D7C
_02237C44:
ldr r0, [r6]
lsl r0, r0, #5
lsr r4, r0, #0x1c
b _02237D7C
_02237C4C:
ldr r0, [r6]
lsl r0, r0, #1
lsr r4, r0, #0x1c
b _02237D7C
_02237C54:
ldr r0, [r6]
lsr r4, r0, #0x1f
b _02237D7C
_02237C5A:
ldr r0, [r6, #4]
lsl r0, r0, #0x1b
lsr r4, r0, #0x1b
b _02237D7C
_02237C62:
ldr r0, [r6, #4]
lsl r0, r0, #0x16
lsr r4, r0, #0x1b
b _02237D7C
_02237C6A:
ldr r0, [r6, #4]
lsl r0, r0, #0x11
lsr r4, r0, #0x1b
b _02237D7C
_02237C72:
ldr r0, [r6, #4]
lsl r0, r0, #0xc
lsr r4, r0, #0x1b
b _02237D7C
_02237C7A:
ldr r0, [r6, #4]
lsl r0, r0, #7
lsr r4, r0, #0x1b
b _02237D7C
_02237C82:
ldr r0, [r6, #4]
lsl r0, r0, #2
lsr r4, r0, #0x1b
b _02237D7C
_02237C8A:
ldr r0, [r6, #4]
lsl r0, r0, #1
lsr r4, r0, #0x1f
b _02237D7C
_02237C92:
ldr r0, [r6, #4]
lsr r4, r0, #0x1f
b _02237D7C
_02237C98:
ldr r0, [r6, #8]
lsl r0, r0, #0x1d
lsr r4, r0, #0x1d
b _02237D7C
_02237CA0:
ldr r0, [r6, #8]
lsl r0, r0, #0x1a
lsr r4, r0, #0x1d
b _02237D7C
_02237CA8:
ldr r0, [r6, #8]
lsl r0, r0, #0x17
lsr r4, r0, #0x1d
b _02237D7C
_02237CB0:
ldr r0, [r6, #8]
lsl r0, r0, #0x14
lsr r4, r0, #0x1d
b _02237D7C
_02237CB8:
ldr r0, [r6, #8]
lsl r0, r0, #0x11
lsr r4, r0, #0x1d
b _02237D7C
_02237CC0:
ldr r0, [r6, #8]
lsl r0, r0, #0x10
lsr r4, r0, #0x1f
b _02237D7C
_02237CC8:
ldr r0, [r6, #8]
lsl r0, r0, #0xf
lsr r4, r0, #0x1f
b _02237D7C
_02237CD0:
ldr r0, [r6, #8]
lsl r0, r0, #0xe
lsr r4, r0, #0x1f
b _02237D7C
_02237CD8:
ldr r0, [r6, #8]
lsl r0, r0, #0xd
lsr r4, r0, #0x1f
b _02237D7C
_02237CE0:
ldr r0, [r6, #8]
lsl r0, r0, #0xc
lsr r4, r0, #0x1f
b _02237D7C
_02237CE8:
ldr r0, [r6, #8]
lsl r0, r0, #0xb
lsr r4, r0, #0x1f
b _02237D7C
_02237CF0:
ldr r0, [r6, #8]
lsl r0, r0, #0xa
lsr r4, r0, #0x1f
b _02237D7C
_02237CF8:
ldr r0, [r6, #8]
lsl r0, r0, #9
lsr r4, r0, #0x1f
b _02237D7C
_02237D00:
ldr r0, [r6, #8]
lsl r0, r0, #8
lsr r4, r0, #0x1f
b _02237D7C
_02237D08:
ldr r0, [r6, #8]
lsl r0, r0, #7
lsr r4, r0, #0x1f
b _02237D7C
_02237D10:
ldr r0, [r6, #8]
lsl r0, r0, #6
lsr r4, r0, #0x1f
b _02237D7C
_02237D18:
ldr r0, [r6, #8]
lsl r0, r0, #5
lsr r4, r0, #0x1f
b _02237D7C
_02237D20:
ldr r0, [r6, #8]
lsl r0, r0, #1
lsr r4, r0, #0x1c
b _02237D7C
_02237D28:
ldr r0, [r6, #8]
lsr r4, r0, #0x1f
b _02237D7C
_02237D2E:
ldr r0, [sp, #0xc]
ldrh r4, [r0]
cmp r4, #0
beq _02237D7C
ldr r0, [r6, #4]
lsl r0, r0, #1
lsr r0, r0, #0x1f
bne _02237D46
ldrb r0, [r5, #0x13]
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
beq _02237D7C
_02237D46:
mov r4, #0x67
lsl r4, r4, #2
b _02237D7C
_02237D4C:
ldr r4, [r6, #4]
lsl r0, r4, #2
lsr r0, r0, #0x1b
lsl r6, r0, #0x19
lsl r0, r4, #7
lsr r0, r0, #0x1b
lsl r3, r0, #0x14
lsl r0, r4, #0xc
lsr r0, r0, #0x1b
lsl r2, r0, #0xf
lsl r0, r4, #0x11
lsr r0, r0, #0x1b
lsl r1, r0, #0xa
lsl r0, r4, #0x1b
lsl r4, r4, #0x16
lsr r4, r4, #0x1b
lsr r0, r0, #0x1b
lsl r4, r4, #5
orr r0, r4
orr r0, r1
orr r0, r2
orr r0, r3
add r4, r6, #0
orr r4, r0
_02237D7C:
ldr r0, [sp]
cmp r0, #0xa
ble _02237D88
add r0, r5, #0
bl MOD83_02237968
_02237D88:
add r0, r4, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end MOD83_02237A10
thumb_func_start MOD83_02237D90
MOD83_02237D90: ; 0x02237D90
push {r3, r4, r5, r6, r7, lr}
add r6, r1, #0
add r4, r0, #0
add r5, r2, #0
mov r7, #0
cmp r6, #0xa
ble _02237E04
ldr r1, [r4]
add r2, r7, #0
bl MOD83_0223746C
add r7, r0, #0
ldr r1, [r4]
add r0, r4, #0
mov r2, #1
bl MOD83_0223746C
ldr r1, [r4]
add r0, r4, #0
mov r2, #2
bl MOD83_0223746C
ldr r1, [r4]
add r0, r4, #0
mov r2, #3
bl MOD83_0223746C
str r0, [sp]
add r0, r4, #0
bl MOD83_02237948
add r0, r4, #0
bl MOD83_02237988
ldrh r1, [r4, #0x1c]
cmp r0, r1
beq _02237E04
ldrb r1, [r4, #0x13]
mov r0, #1
bic r1, r0
mov r0, #1
orr r0, r1
strb r0, [r4, #0x13]
ldrb r1, [r4, #0x13]
mov r0, #4
orr r0, r1
strb r0, [r4, #0x13]
ldr r0, [sp]
ldr r1, [r0, #4]
mov r0, #1
lsl r0, r0, #0x1e
orr r1, r0
ldr r0, [sp]
str r1, [r0, #4]
add r0, r4, #0
bl MOD83_02237968
pop {r3, r4, r5, r6, r7, pc}
_02237E04:
cmp r6, #0xb
bhi _02237EA8
add r0, r6, r6
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02237E14: ; jump table
.short _02237EA8 - _02237E14 - 2 ; case 0
.short _02237EA8 - _02237E14 - 2 ; case 1
.short _02237E2C - _02237E14 - 2 ; case 2
.short _02237E3C - _02237E14 - 2 ; case 3
.short _02237E42 - _02237E14 - 2 ; case 4
.short _02237E54 - _02237E14 - 2 ; case 5
.short _02237E66 - _02237E14 - 2 ; case 6
.short _02237E78 - _02237E14 - 2 ; case 7
.short _02237EA8 - _02237E14 - 2 ; case 8
.short _02237EA8 - _02237E14 - 2 ; case 9
.short _02237EA8 - _02237E14 - 2 ; case 10
.short _02237E88 - _02237E14 - 2 ; case 11
_02237E2C:
mov r2, #0
_02237E2E:
ldrb r1, [r5, r2]
add r0, r4, r2
add r2, r2, #1
strb r1, [r0, #8]
cmp r2, #0xa
blt _02237E2E
b _02237EA8
_02237E3C:
ldrb r0, [r5]
strb r0, [r4, #0x12]
b _02237EA8
_02237E42:
ldrb r0, [r4, #0x13]
ldrb r2, [r5]
mov r1, #1
bic r0, r1
mov r1, #1
and r1, r2
orr r0, r1
strb r0, [r4, #0x13]
b _02237EA8
_02237E54:
ldrb r0, [r4, #0x13]
mov r1, #2
bic r0, r1
ldrb r1, [r5]
lsl r1, r1, #0x1f
lsr r1, r1, #0x1e
orr r0, r1
strb r0, [r4, #0x13]
b _02237EA8
_02237E66:
ldrb r0, [r4, #0x13]
mov r1, #4
bic r0, r1
ldrb r1, [r5]
lsl r1, r1, #0x1f
lsr r1, r1, #0x1d
orr r0, r1
strb r0, [r4, #0x13]
b _02237EA8
_02237E78:
mov r2, #0
_02237E7A:
ldrb r1, [r5, r2]
add r0, r4, r2
add r2, r2, #1
strb r1, [r0, #0x14]
cmp r2, #7
blt _02237E7A
b _02237EA8
_02237E88:
ldrb r0, [r5, #1]
ldrb r1, [r5]
lsl r0, r0, #8
add r0, r1, r0
strh r0, [r7]
ldrh r0, [r7]
ldrb r1, [r4, #0x13]
cmp r0, #0
beq _02237EA2
mov r0, #2
orr r0, r1
strb r0, [r4, #0x13]
b _02237EA8
_02237EA2:
mov r0, #2
bic r1, r0
strb r1, [r4, #0x13]
_02237EA8:
cmp r6, #0xa
ble _02237EBA
add r0, r4, #0
bl MOD83_02237988
strh r0, [r4, #0x1c]
add r0, r4, #0
bl MOD83_02237968
_02237EBA:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end MOD83_02237D90
thumb_func_start MOD83_02237EBC
MOD83_02237EBC: ; 0x02237EBC
ldr r2, _02237ED4 ; =0x00000115
cmp r0, r2
blt _02237ED2
add r1, r2, #0
add r1, #0x86
cmp r0, r1
bgt _02237ED2
sub r0, r0, r2
lsl r1, r0, #1
ldr r0, _02237ED8 ; =0x0223B57C
ldrh r0, [r0, r1]
_02237ED2:
bx lr
.align 2, 0
_02237ED4: .word 0x00000115
_02237ED8: .word 0x0223B57C
thumb_func_end MOD83_02237EBC
thumb_func_start MOD83_02237EDC
MOD83_02237EDC: ; 0x02237EDC
push {r3, r4, r5, lr}
add r5, r0, #0
mov r1, #0xb
mov r2, #0
bl MOD83_02237A10
bl MOD83_02237EBC
add r4, r0, #0
add r0, r5, #0
mov r1, #0x19
mov r2, #0
bl MOD83_02237A10
add r1, r0, #0
lsl r0, r4, #0x10
lsr r0, r0, #0x10
bl FUN_02068800
pop {r3, r4, r5, pc}
thumb_func_end MOD83_02237EDC
thumb_func_start MOD83_02237F04
MOD83_02237F04: ; 0x02237F04
push {r4, r5, r6, lr}
add r4, r0, #0
add r0, r1, #0
mov r1, #5
mov r2, #0
bl FUN_020672BC
lsl r0, r0, #0x10
lsr r5, r0, #0x10
add r0, r4, #0
mov r1, #0x2e
mov r2, #0
bl MOD83_02237A10
add r6, r0, #0
add r0, r5, #0
mov r1, #0x19
bl FUN_02068678
cmp r0, #0
beq _02237F5E
ldr r2, _02237F68 ; =0x0223B4C0
mov r4, #0
_02237F32:
ldrh r1, [r2]
cmp r5, r1
bne _02237F42
add r0, r5, #0
mov r1, #0x18
bl FUN_02068678
b _02237F4A
_02237F42:
add r4, r4, #1
add r2, r2, #2
cmp r4, #0x5e
blo _02237F32
_02237F4A:
cmp r4, #0x5e
bne _02237F66
mov r1, #1
tst r1, r6
bne _02237F66
add r0, r5, #0
mov r1, #0x18
bl FUN_02068678
pop {r4, r5, r6, pc}
_02237F5E:
add r0, r5, #0
mov r1, #0x18
bl FUN_02068678
_02237F66:
pop {r4, r5, r6, pc}
.align 2, 0
_02237F68: .word 0x0223B4C0
thumb_func_end MOD83_02237F04
thumb_func_start MOD83_02237F6C
MOD83_02237F6C: ; 0x02237F6C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
add r4, r1, #0
add r6, r0, #0
add r0, r4, #0
bl FUN_020669A0
add r0, r4, #0
bl FUN_02066A6C
mov r1, #0
str r0, [sp]
add r0, r6, #0
add r2, r1, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0xb
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
bl MOD83_02237EBC
str r0, [sp, #8]
add r0, r4, #0
mov r1, #5
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0xc
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
cmp r0, #0
beq _02237FCE
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl FUN_0206E6D8
str r0, [sp, #8]
_02237FCE:
add r0, r4, #0
mov r1, #6
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #1
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #7
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x19
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #8
add r2, sp, #8
bl FUN_02067960
mov r0, #0x46
str r0, [sp, #8]
add r0, r4, #0
mov r1, #9
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
add r1, r4, #0
bl MOD83_02237F04
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0xa
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #8
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0xb
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #3
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #4]
add r0, r4, #0
mov r1, #0xc
add r2, sp, #4
bl FUN_02067960
add r0, r6, #0
mov r1, #0x1a
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0xd
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x1b
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0xe
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x1c
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0xf
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x1d
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x10
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x1e
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x11
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x1f
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x12
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x16
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x13
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x17
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x14
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x18
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x15
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x21
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x16
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x2f
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x17
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x30
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x18
add r2, sp, #8
bl FUN_02067960
mov r5, #0
add r7, r5, #0
_0223815E:
add r1, r5, #0
add r0, r6, #0
add r1, #0xd
mov r2, #0
bl MOD83_02237A10
add r1, r5, #0
str r0, [sp, #8]
add r0, r4, #0
add r1, #0x36
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x15
mov r2, #0
bl MOD83_02237A10
mov r1, #3
lsl r1, r7
str r0, [sp, #8]
and r0, r1
lsr r0, r7
add r1, r5, #0
str r0, [sp, #8]
add r0, r4, #0
add r1, #0x3e
add r2, sp, #8
bl FUN_02067960
add r1, r5, #0
add r0, r4, #0
add r1, #0x42
mov r2, #0
bl FUN_020672BC
add r1, r5, #0
str r0, [sp, #8]
add r0, r4, #0
add r1, #0x3a
add r2, sp, #8
bl FUN_02067960
add r5, r5, #1
add r7, r7, #2
cmp r5, #4
blt _0223815E
add r0, r6, #0
mov r1, #0x27
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x46
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x28
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x47
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x29
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x48
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x2a
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x49
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x2b
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x4a
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x2c
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x4b
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x2d
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x4c
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x32
mov r2, #0
bl MOD83_02237A10
add r7, r0, #0
cmp r7, #4
bgt _02238282
mov r5, #0
cmp r7, #0
ble _02238282
_0223826C:
mov r0, #1
add r1, r5, #0
str r0, [sp, #8]
add r0, r4, #0
add r1, #0x4e
add r2, sp, #8
bl FUN_02067960
add r5, r5, #1
cmp r5, r7
blt _0223826C
_02238282:
add r0, r6, #0
mov r1, #0x33
mov r2, #0
bl MOD83_02237A10
add r7, r0, #0
cmp r7, #4
bgt _022382AE
mov r5, #0
cmp r7, #0
ble _022382AE
_02238298:
mov r0, #1
add r1, r5, #0
str r0, [sp, #8]
add r0, r4, #0
add r1, #0x52
add r2, sp, #8
bl FUN_02067960
add r5, r5, #1
cmp r5, r7
blt _02238298
_022382AE:
add r0, r6, #0
mov r1, #0x34
mov r2, #0
bl MOD83_02237A10
add r7, r0, #0
cmp r7, #4
bgt _022382DA
mov r5, #0
cmp r7, #0
ble _022382DA
_022382C4:
mov r0, #1
add r1, r5, #0
str r0, [sp, #8]
add r0, r4, #0
add r1, #0x56
add r2, sp, #8
bl FUN_02067960
add r5, r5, #1
cmp r5, r7
blt _022382C4
_022382DA:
add r0, r6, #0
mov r1, #0x35
mov r2, #0
bl MOD83_02237A10
add r7, r0, #0
cmp r7, #4
bgt _02238306
mov r5, #0
cmp r7, #0
ble _02238306
_022382F0:
mov r0, #1
add r1, r5, #0
str r0, [sp, #8]
add r0, r4, #0
add r1, #0x5a
add r2, sp, #8
bl FUN_02067960
add r5, r5, #1
cmp r5, r7
blt _022382F0
_02238306:
add r0, r6, #0
mov r1, #0x36
mov r2, #0
bl MOD83_02237A10
add r7, r0, #0
cmp r7, #4
bgt _02238332
mov r5, #0
cmp r7, #0
ble _02238332
_0223831C:
mov r0, #1
add r1, r5, #0
str r0, [sp, #8]
add r0, r4, #0
add r1, #0x5e
add r2, sp, #8
bl FUN_02067960
add r5, r5, #1
cmp r5, r7
blt _0223831C
_02238332:
add r0, r6, #0
mov r1, #0x43
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x62
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x44
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x63
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x45
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x64
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x46
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x65
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x47
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x66
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x48
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x67
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x49
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x68
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x4a
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x69
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x4b
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x6a
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x4c
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x6b
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x4d
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x6c
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x4e
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x6d
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x50
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x6e
add r2, sp, #8
bl FUN_02067960
add r0, r4, #0
bl FUN_020689E8
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x6f
add r2, sp, #8
bl FUN_02067960
add r0, r4, #0
mov r1, #5
mov r2, #0
bl FUN_020672BC
cmp r0, #0xc9
bne _022384AE
mov r1, #0
add r0, r6, #0
add r2, r1, #0
bl MOD83_02237A10
add r3, r0, #0
mov r7, #3
lsl r0, r7, #8
and r0, r3
lsr r1, r0, #6
lsl r0, r7, #0x18
and r0, r3
lsr r5, r0, #0x12
lsl r0, r7, #0x10
and r0, r3
lsr r0, r0, #0xc
add r2, r3, #0
orr r0, r5
orr r0, r1
and r2, r7
str r3, [sp, #8]
orr r0, r2
mov r1, #0x1c
bl _u32_div_f
str r1, [sp, #8]
add r0, r4, #0
mov r1, #0x70
add r2, sp, #8
bl FUN_02067960
_022384AE:
add r0, r4, #0
mov r1, #5
mov r2, #0
bl FUN_020672BC
ldr r1, _022385F0 ; =0x00000182
cmp r0, r1
bne _022384FE
ldr r0, _022385F4 ; =0x021C4918
ldrb r0, [r0, #6]
cmp r0, #5
bhi _022384DE
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022384D2: ; jump table
.short _022384DE - _022384D2 - 2 ; case 0
.short _022384DE - _022384D2 - 2 ; case 1
.short _022384DE - _022384D2 - 2 ; case 2
.short _022384F0 - _022384D2 - 2 ; case 3
.short _022384E4 - _022384D2 - 2 ; case 4
.short _022384EA - _022384D2 - 2 ; case 5
_022384DE:
mov r0, #0
str r0, [sp, #8]
b _022384F4
_022384E4:
mov r0, #1
str r0, [sp, #8]
b _022384F4
_022384EA:
mov r0, #2
str r0, [sp, #8]
b _022384F4
_022384F0:
mov r0, #3
str r0, [sp, #8]
_022384F4:
add r0, r4, #0
mov r1, #0x70
add r2, sp, #8
bl FUN_02067960
_022384FE:
add r0, r6, #0
mov r1, #2
add r2, sp, #0x24
bl MOD83_02237A10
ldr r3, [sp, #4]
add r0, sp, #0x24
add r1, sp, #0xc
mov r2, #0xc
bl FUN_02015D88
add r0, r4, #0
mov r1, #0x75
add r2, sp, #0xc
bl FUN_02067960
add r0, r6, #0
mov r1, #3
mov r2, #0
bl MOD83_02237A10
ldr r1, _022385F8 ; =0x020ECAC4
ldrb r1, [r1]
cmp r1, r0
beq _0223853E
mov r0, #1
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x4d
add r2, sp, #8
bl FUN_02067960
_0223853E:
add r0, r6, #0
mov r1, #0x25
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x79
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #7
add r2, sp, #0x24
bl MOD83_02237A10
ldr r3, [sp, #4]
add r0, sp, #0x24
add r1, sp, #0xc
mov r2, #8
bl FUN_02015D88
add r0, r4, #0
mov r1, #0x8f
add r2, sp, #0xc
bl FUN_02067960
add r0, r6, #0
mov r1, #0x23
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x98
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x22
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x99
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x26
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x9a
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x24
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x9b
add r2, sp, #8
bl FUN_02067960
add r0, r6, #0
mov r1, #0x31
mov r2, #0
bl MOD83_02237A10
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x9c
add r2, sp, #8
bl FUN_02067960
ldr r1, [sp]
add r0, r4, #0
bl FUN_02066A94
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
nop
_022385F0: .word 0x00000182
_022385F4: .word 0x021C4918
_022385F8: .word 0x020ECAC4
thumb_func_end MOD83_02237F6C
thumb_func_start MOD83_022385FC
MOD83_022385FC: ; 0x022385FC
ldr r1, _02238604 ; =0x0223BC2C
str r0, [r1]
bx lr
nop
_02238604: .word 0x0223BC2C
thumb_func_end MOD83_022385FC
thumb_func_start MOD83_02238608
MOD83_02238608: ; 0x02238608
add r1, r0, #0
ldr r0, _02238614 ; =0x0223BC2C
ldr r3, _02238618 ; =AllocFromHeap
ldr r0, [r0]
bx r3
nop
_02238614: .word 0x0223BC2C
_02238618: .word AllocFromHeap
thumb_func_end MOD83_02238608
thumb_func_start MOD83_0223861C
MOD83_0223861C: ; 0x0223861C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x1fc
sub sp, #0x1fc
sub sp, #0x130
bl CTRDG_GetAgbGameCode
lsr r1, r0, #0x18
lsl r1, r1, #0x18
lsr r2, r1, #0x18
lsr r1, r0, #0x10
lsl r3, r0, #0x18
lsr r0, r0, #8
lsl r0, r0, #0x18
lsl r1, r1, #0x18
lsr r0, r0, #8
lsr r1, r1, #0x10
orr r0, r3
orr r0, r1
add r6, r2, #0
orr r6, r0
ldr r0, _022386B0 ; =0x0223B69C
mov r4, #0
ldr r0, [r0]
cmp r0, #0
bls _022386A6
ldr r5, _022386B4 ; =0x0223B69C
add r7, sp, #0x80
_02238652:
ldr r0, [r5]
cmp r6, r0
bne _0223869C
mov r0, #1
bl CTRDG_Enable
mov r0, #0x81
ldr r2, _022386B8 ; =0x000004A8
lsl r0, r0, #0x14
add r1, r7, #0
bl CTRDG_CpuCopy8
ldr r0, _022386BC ; =0x08020000
add r1, sp, #0
mov r2, #0x80
bl CTRDG_CpuCopy8
mov r0, #0
bl CTRDG_Enable
ldr r0, _022386C0 ; =MOD83_02238608
ldr r1, _022386C4 ; =FreeToHeap
bl SetCustomAllocatorAndDestructor
ldr r1, _022386B8 ; =0x000004A8
ldr r3, _022386C8 ; =0x0223A6B4
add r0, r7, #0
add r2, sp, #0
bl FUN_020910EC
cmp r0, #0
beq _0223869C
add sp, #0x1fc
add sp, #0x1fc
add sp, #0x130
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0223869C:
add r5, r5, #4
ldr r0, [r5]
add r4, r4, #1
cmp r4, r0
blo _02238652
_022386A6:
mov r0, #0
add sp, #0x1fc
add sp, #0x1fc
add sp, #0x130
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_022386B0: .word 0x0223B69C
_022386B4: .word 0x0223B69C
_022386B8: .word 0x000004A8
_022386BC: .word 0x08020000
_022386C0: .word MOD83_02238608
_022386C4: .word FreeToHeap
_022386C8: .word 0x0223A6B4
thumb_func_end MOD83_0223861C
thumb_func_start MOD83_022386CC
MOD83_022386CC: ; 0x022386CC
push {r3, lr}
bl CTRDG_Init
bl CTRDG_IsAgbCartridge
cmp r0, #0
bne _022386DE
mov r0, #0
pop {r3, pc}
_022386DE:
bl CTRDG_GetAgbMakerCode
ldr r1, _022386FC ; =0x00003130
cmp r0, r1
beq _022386EC
mov r0, #0
pop {r3, pc}
_022386EC:
bl MOD83_0223861C
cmp r0, #0
beq _022386F8
mov r0, #1
pop {r3, pc}
_022386F8:
mov r0, #0
pop {r3, pc}
.align 2, 0
_022386FC: .word 0x00003130
thumb_func_end MOD83_022386CC
thumb_func_start MOD83_02238700
MOD83_02238700: ; 0x02238700
push {r3, lr}
bl MOD83_022386CC
cmp r0, #0
bne _0223870E
mov r0, #0
pop {r3, pc}
_0223870E:
mov r0, #1
bl CTRDG_Enable
mov r0, #0x81
lsl r0, r0, #0x14
add r1, sp, #0
bl CTRDG_Read32
mov r0, #0
bl CTRDG_Enable
ldr r0, [sp]
pop {r3, pc}
thumb_func_end MOD83_02238700
thumb_func_start MOD83_02238728
MOD83_02238728: ; 0x02238728
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl MOD83_022386CC
cmp r0, #0
bne _0223873A
mov r0, #0
pop {r3, r4, r5, pc}
_0223873A:
cmp r4, #0
bne _02238744
bl MOD83_02238700
add r4, r0, #0
_02238744:
mov r0, #1
bl CTRDG_Enable
ldr r0, _0223876C ; =0x08100100
add r1, r5, #0
add r2, r4, #0
bl CTRDG_CpuCopy16
add r4, r0, #0
mov r0, #0
bl CTRDG_Enable
bl CTRDG_IsExisting
cmp r0, #0
bne _02238768
mov r0, #0
pop {r3, r4, r5, pc}
_02238768:
add r0, r4, #0
pop {r3, r4, r5, pc}
.align 2, 0
_0223876C: .word 0x08100100
thumb_func_end MOD83_02238728
thumb_func_start MOD83_02238770
MOD83_02238770: ; 0x02238770
push {r3, r4, r5, r6}
add r4, r0, #0
mov r0, #0
ldr r6, _02238798 ; =0x0223BC30
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
mov r5, #0x75
_02238780:
stmia r6!, {r0, r1, r2, r3}
stmia r6!, {r0, r1, r2, r3}
sub r5, r5, #1
bne _02238780
str r0, [r6]
ldr r0, _0223879C ; =0x0223BC30
mov r1, #1
str r1, [r0]
str r4, [r0, #4]
pop {r3, r4, r5, r6}
bx lr
nop
_02238798: .word 0x0223BC30
_0223879C: .word 0x0223BC30
thumb_func_end MOD83_02238770
thumb_func_start MOD83_022387A0
MOD83_022387A0: ; 0x022387A0
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r2, #0
add r6, r1, #0
mov r0, #3
add r2, r3, #0
bl FUN_0201681C
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl FUN_02006268
mov r1, #0
add r2, r4, #0
add r5, r0, #0
bl memset
mov r0, #0
add r1, r0, #0
bl FUN_0200E3A0
mov r0, #1
mov r1, #0
bl FUN_0200E3A0
add r0, r5, #0
pop {r4, r5, r6, pc}
thumb_func_end MOD83_022387A0
thumb_func_start MOD83_022387D8
MOD83_022387D8: ; 0x022387D8
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
ldr r5, _0223885C ; =0x0223A760
add r6, r3, #0
add r7, r0, #0
add r4, r1, #0
ldmia r5!, {r0, r1}
add r3, sp, #0
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
cmp r2, #4
str r0, [r3]
add r0, sp, #0
strb r2, [r0, #0x10]
bhi _02238832
add r0, r2, r2
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0223880A: ; jump table
.short _02238832 - _0223880A - 2 ; case 0
.short _02238814 - _0223880A - 2 ; case 1
.short _0223881C - _0223880A - 2 ; case 2
.short _02238824 - _0223880A - 2 ; case 3
.short _0223882C - _0223880A - 2 ; case 4
_02238814:
mov r0, #2
lsl r0, r0, #0xa
str r0, [sp, #8]
b _02238832
_0223881C:
mov r0, #1
lsl r0, r0, #0xc
str r0, [sp, #8]
b _02238832
_02238824:
mov r0, #1
lsl r0, r0, #0xc
str r0, [sp, #8]
b _02238832
_0223882C:
mov r0, #2
lsl r0, r0, #0xc
str r0, [sp, #8]
_02238832:
lsr r1, r6, #0xb
add r0, sp, #0
strb r1, [r0, #0x12]
ldr r1, [sp, #0x30]
add r2, sp, #0
lsr r1, r1, #0xe
strb r1, [r0, #0x13]
lsl r1, r4, #0x18
add r0, r7, #0
lsr r1, r1, #0x18
mov r3, #0
bl FUN_02016C18
lsl r1, r4, #0x18
add r0, r7, #0
lsr r1, r1, #0x18
bl FUN_02018744
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
nop
_0223885C: .word 0x0223A760
thumb_func_end MOD83_022387D8
thumb_func_start MOD83_02238860
MOD83_02238860: ; 0x02238860
ldr r1, _02238868 ; =0x0223BC30
str r0, [r1, #0xc]
bx lr
nop
_02238868: .word 0x0223BC30
thumb_func_end MOD83_02238860
thumb_func_start MOD83_0223886C
MOD83_0223886C: ; 0x0223886C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
str r0, [sp, #0xc]
ldr r0, _022388C0 ; =0x0223BC30
add r5, r1, #0
ldr r0, [r0, #0xc]
add r4, r2, #0
add r6, r3, #0
ldr r7, _022388C4 ; =0x0223BC30
cmp r0, #0
bne _0223889C
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r7, #4]
ldr r1, [sp, #0xc]
str r0, [sp, #8]
mov r0, #0
add r2, r1, #0
add r3, r0, #0
bl FUN_0200E1D0
b _022388B4
_0223889C:
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r7, #4]
ldr r1, [sp, #0xc]
str r0, [sp, #8]
ldr r3, _022388C8 ; =0x00007FFF
mov r0, #0
add r2, r1, #0
bl FUN_0200E1D0
_022388B4:
cmp r4, #0
beq _022388BA
str r6, [r4]
_022388BA:
str r5, [r7, #8]
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_022388C0: .word 0x0223BC30
_022388C4: .word 0x0223BC30
_022388C8: .word 0x00007FFF
thumb_func_end MOD83_0223886C
thumb_func_start MOD83_022388CC
MOD83_022388CC: ; 0x022388CC
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r5, _022388E0 ; =0x0223BC30
bl FUN_0200E308
cmp r0, #0
beq _022388DE
ldr r0, [r5, #8]
str r0, [r4]
_022388DE:
pop {r3, r4, r5, pc}
.align 2, 0
_022388E0: .word 0x0223BC30
thumb_func_end MOD83_022388CC
thumb_func_start MOD83_022388E4
MOD83_022388E4: ; 0x022388E4
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r6, r2, #0
mov r1, #0
mov r2, #0x54
add r5, r0, #0
add r7, r3, #0
bl memset
mov r0, #1
str r0, [r5, #4]
str r0, [r5, #8]
sub r0, r0, #2
str r0, [r5, #0x4c]
str r4, [r5, #0x10]
str r6, [r5, #0x30]
ldr r0, [sp, #0x18]
str r7, [r5, #0x34]
str r0, [r5, #0x38]
ldr r0, [sp, #0x1c]
mov r2, #0
str r0, [r5, #0x3c]
str r2, [r5, #0x2c]
ldr r0, _02238930 ; =0x0001020F
str r2, [r5, #0x40]
str r0, [r5, #0x44]
add r0, r5, #0
mov r1, #0xf
add r0, #0x48
strb r1, [r0]
str r2, [r5]
str r2, [r5, #0x24]
str r2, [r5, #0x20]
str r2, [r5, #0x14]
mov r0, #0xff
str r0, [r5, #0x50]
pop {r3, r4, r5, r6, r7, pc}
nop
_02238930: .word 0x0001020F
thumb_func_end MOD83_022388E4
thumb_func_start MOD83_02238934
MOD83_02238934: ; 0x02238934
str r1, [r0, #0x18]
str r2, [r0, #0x1c]
str r3, [r0, #0x28]
bx lr
thumb_func_end MOD83_02238934
thumb_func_start MOD83_0223893C
MOD83_0223893C: ; 0x0223893C
str r1, [r0]
str r2, [r0, #0x40]
bx lr
.align 2, 0
thumb_func_end MOD83_0223893C
thumb_func_start MOD83_02238944
MOD83_02238944: ; 0x02238944
str r1, [r0, #0x20]
str r2, [r0, #0x24]
bx lr
.align 2, 0
thumb_func_end MOD83_02238944
thumb_func_start MOD83_0223894C
MOD83_0223894C: ; 0x0223894C
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
mov r0, #0
mvn r0, r0
ldr r4, _02238A34 ; =0x0223BC30
cmp r1, r0
beq _02238A2A
ldr r0, [r5, #0x4c]
cmp r0, r1
beq _02238A2A
str r1, [r5, #0x4c]
ldr r0, [r5, #8]
cmp r0, #1
bne _02238976
add r1, r5, #0
add r1, #0x48
ldrb r1, [r1]
ldr r0, [r5, #0x10]
bl FUN_02019620
_02238976:
mov r0, #0
ldr r1, [r5, #0x4c]
mvn r0, r0
cmp r1, r0
beq _02238A2A
ldr r2, [r5, #0x34]
ldr r3, [r4, #4]
mov r0, #1
mov r1, #0x1a
bl FUN_0200A86C
ldr r6, [r5, #0x14]
str r0, [sp, #0x10]
cmp r6, #0
bne _0223899C
ldr r0, [r4, #4]
bl FUN_0200AA80
add r6, r0, #0
_0223899C:
ldr r1, [sp, #0x10]
ldr r2, [r5, #0x4c]
ldr r3, [r4, #4]
add r0, r6, #0
bl FUN_0200A9C4
add r4, r0, #0
ldr r0, [r5, #0xc]
cmp r0, #0
bne _022389D0
ldr r0, [r5, #0x24]
add r2, r4, #0
str r0, [sp]
ldr r0, [r5, #0x50]
str r0, [sp, #4]
ldr r0, [r5, #0x44]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r0, [r5, #0x10]
ldr r1, [r5, #0x40]
ldr r3, [r5, #0x20]
bl FUN_0201BDE0
add r7, r0, #0
b _02238A12
_022389D0:
ldr r0, [r5, #0x40]
mov r1, #2
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl FUN_02002E4C
add r2, r0, #0
ldr r0, [r5, #0x40]
add r1, r4, #0
bl FUN_02002E14
add r7, r0, #0
ldr r0, [r5, #0x10]
bl FUN_0201AB0C
lsl r0, r0, #3
sub r3, r0, r7
ldr r0, [r5, #0x24]
add r2, r4, #0
str r0, [sp]
ldr r0, [r5, #0x50]
str r0, [sp, #4]
ldr r0, [r5, #0x44]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r0, [r5, #0x10]
ldr r1, [r5, #0x40]
bl FUN_0201BDE0
add r7, r0, #0
mov r0, #0
str r0, [r5, #0xc]
_02238A12:
add r0, r4, #0
bl FUN_02021A20
ldr r0, [r5, #0x14]
cmp r0, #0
bne _02238A24
add r0, r6, #0
bl FUN_0200AB18
_02238A24:
ldr r0, [sp, #0x10]
bl FUN_0200A8B8
_02238A2A:
mov r0, #0xff
str r0, [r5, #0x50]
add r0, r7, #0
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.align 2, 0
_02238A34: .word 0x0223BC30
thumb_func_end MOD83_0223894C
thumb_func_start MOD83_02238A38
MOD83_02238A38: ; 0x02238A38
push {r3, r4, r5, r6, lr}
sub sp, #0x14
add r4, r1, #0
ldr r1, [r4, #0x10]
add r6, r2, #0
ldr r2, [r1]
add r5, r3, #0
cmp r2, #0
bne _02238A8A
lsl r2, r5, #0x18
lsr r2, r2, #0x18
str r2, [sp]
ldr r2, [r4, #0x18]
lsl r3, r6, #0x18
lsl r2, r2, #0x18
lsr r2, r2, #0x18
str r2, [sp, #4]
ldr r2, [r4, #0x1c]
lsr r3, r3, #0x18
lsl r2, r2, #0x18
lsr r2, r2, #0x18
str r2, [sp, #8]
ldr r2, [r4, #0x30]
lsl r2, r2, #0x18
lsr r2, r2, #0x18
str r2, [sp, #0xc]
ldr r2, [r4, #0x28]
lsl r2, r2, #0x10
lsr r2, r2, #0x10
str r2, [sp, #0x10]
ldr r2, [r4, #0x2c]
lsl r2, r2, #0x18
lsr r2, r2, #0x18
bl FUN_02019064
ldr r1, [sp, #0x28]
add r0, r4, #0
bl MOD83_0223894C
add r5, r0, #0
b _02238AB8
_02238A8A:
mov r0, #0
mvn r0, r0
cmp r6, r0
beq _02238A9C
add r0, r1, #0
lsl r1, r6, #0x18
lsr r1, r1, #0x18
bl FUN_0201AB1C
_02238A9C:
mov r0, #0
mvn r0, r0
cmp r5, r0
beq _02238AAE
lsl r1, r5, #0x18
ldr r0, [r4, #0x10]
lsr r1, r1, #0x18
bl FUN_0201AB20
_02238AAE:
ldr r1, [sp, #0x28]
add r0, r4, #0
bl MOD83_0223894C
add r5, r0, #0
_02238AB8:
ldr r0, [r4, #4]
cmp r0, #1
bne _02238AEC
ldr r0, [r4]
cmp r0, #0
ldr r0, [r4, #0x10]
bne _02238ADA
ldr r2, [r4, #0x38]
ldr r3, [r4, #0x3c]
lsl r2, r2, #0x10
lsl r3, r3, #0x18
mov r1, #0
lsr r2, r2, #0x10
lsr r3, r3, #0x18
bl FUN_0200CCA4
b _02238AEC
_02238ADA:
ldr r2, [r4, #0x38]
ldr r3, [r4, #0x3c]
lsl r2, r2, #0x10
lsl r3, r3, #0x18
mov r1, #0
lsr r2, r2, #0x10
lsr r3, r3, #0x18
bl FUN_0200D0BC
_02238AEC:
add r0, r5, #0
add sp, #0x14
pop {r3, r4, r5, r6, pc}
.align 2, 0
thumb_func_end MOD83_02238A38
thumb_func_start MOD83_02238AF4
MOD83_02238AF4: ; 0x02238AF4
ldr r1, [r0, #0x18]
ldr r0, [r0, #0x1c]
mul r0, r1
bx lr
thumb_func_end MOD83_02238AF4
thumb_func_start MOD83_02238AFC
MOD83_02238AFC: ; 0x02238AFC
push {r4, lr}
sub sp, #0x10
ldr r4, _02238B30 ; =0x0223A734
add r3, sp, #0
add r2, r3, #0
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, _02238B34 ; =0x0223BC30
ldr r0, [r0, #4]
str r0, [sp, #0xc]
add r0, r2, #0
bl FUN_0201D040
ldr r1, _02238B34 ; =0x0223BC30
mov r0, #0x14
ldr r1, [r1, #4]
bl FUN_0201E00C
bl FUN_0201D168
bl FUN_0201E0BC
add sp, #0x10
pop {r4, pc}
.align 2, 0
_02238B30: .word 0x0223A734
_02238B34: .word 0x0223BC30
thumb_func_end MOD83_02238AFC
thumb_func_start MOD83_02238B38
MOD83_02238B38: ; 0x02238B38
ldr r0, _02238B48 ; =0x0223BC30
ldr r0, [r0, #0x30]
cmp r0, #0
beq _02238B44
mov r0, #1
bx lr
_02238B44:
mov r0, #0
bx lr
.align 2, 0
_02238B48: .word 0x0223BC30
thumb_func_end MOD83_02238B38
thumb_func_start MOD83_02238B4C
MOD83_02238B4C: ; 0x02238B4C
push {r4, r5, r6, r7, lr}
sub sp, #0x14
ldr r6, _02238BB4 ; =0x0223BC30
bl FUN_020B0FC0
mov r0, #0
str r0, [sp]
mov r1, #0x7e
str r1, [sp, #4]
str r0, [sp, #8]
mov r3, #0x20
ldr r2, _02238BB8 ; =0x0223BC30
str r3, [sp, #0xc]
ldr r2, [r2, #4]
str r2, [sp, #0x10]
add r2, r0, #0
bl FUN_02009EAC
ldr r2, _02238BB8 ; =0x0223BC30
ldr r1, _02238BBC ; =0x0223BC64
ldr r2, [r2, #4]
mov r0, #0x46
bl FUN_02008C9C
ldr r1, _02238BB8 ; =0x0223BC30
mov r2, #1
str r0, [r1, #0x30]
ldr r0, _02238BBC ; =0x0223BC64
mov r1, #0
lsl r2, r2, #0x14
bl FUN_02008D24
mov r1, #3
mov r7, #0x57
ldr r0, _02238BC0 ; =0x0223BE30
lsl r1, r1, #0x12
str r1, [r0, #0xc]
mov r4, #0
add r5, r6, #0
lsl r7, r7, #2
_02238B9C:
ldr r2, [r6, #4]
mov r0, #3
add r1, r4, #0
bl FUN_02008DEC
str r0, [r5, r7]
add r4, r4, #1
add r5, r5, #4
cmp r4, #6
blt _02238B9C
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.align 2, 0
_02238BB4: .word 0x0223BC30
_02238BB8: .word 0x0223BC30
_02238BBC: .word 0x0223BC64
_02238BC0: .word 0x0223BE30
thumb_func_end MOD83_02238B4C
thumb_func_start MOD83_02238BC4
MOD83_02238BC4: ; 0x02238BC4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x38
ldr r4, [sp, #0x54]
add r6, r0, #0
mov ip, r1
str r2, [sp, #0x2c]
str r3, [sp, #0x30]
ldr r5, _02238D30 ; =0x0223BC30
cmp r4, #0
bne _02238BDC
mov r7, #1
b _02238BDE
_02238BDC:
mov r7, #2
_02238BDE:
mov r0, #1
str r0, [sp, #0x34]
cmp r6, #0x10
bne _02238BEA
mov r0, #0
str r0, [sp, #0x34]
_02238BEA:
mov r1, #0
mvn r1, r1
mov r0, ip
cmp r0, r1
beq _02238C18
str r4, [sp]
str r7, [sp, #4]
ldr r0, [r5, #4]
ldr r3, [sp, #0x34]
str r0, [sp, #8]
mov r0, #0x57
lsl r0, r0, #2
ldr r0, [r5, r0]
add r1, r6, #0
mov r2, ip
bl FUN_02008F34
mov r1, #0x18
mul r1, r4
add r2, r5, r1
mov r1, #0x5d
lsl r1, r1, #2
str r0, [r2, r1]
_02238C18:
mov r1, #0
ldr r0, [sp, #0x2c]
mvn r1, r1
cmp r0, r1
beq _02238C4A
str r4, [sp]
str r7, [sp, #4]
mov r0, #3
str r0, [sp, #8]
ldr r0, [r5, #4]
ldr r2, [sp, #0x2c]
str r0, [sp, #0xc]
mov r0, #0x16
lsl r0, r0, #4
ldr r0, [r5, r0]
add r1, r6, #0
mov r3, #0
bl FUN_02008FEC
mov r1, #0x18
mul r1, r4
add r2, r5, r1
mov r1, #0x5e
lsl r1, r1, #2
str r0, [r2, r1]
_02238C4A:
mov r1, #0
ldr r0, [sp, #0x30]
mvn r1, r1
cmp r0, r1
beq _02238C7A
str r4, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, [r5, #4]
ldr r2, [sp, #0x30]
str r0, [sp, #8]
mov r0, #0x59
lsl r0, r0, #2
ldr r0, [r5, r0]
ldr r3, [sp, #0x34]
add r1, r6, #0
bl FUN_020090AC
mov r1, #0x18
mul r1, r4
add r2, r5, r1
mov r1, #0x5f
lsl r1, r1, #2
str r0, [r2, r1]
_02238C7A:
mov r0, #0
ldr r2, [sp, #0x50]
mvn r0, r0
cmp r2, r0
beq _02238CA8
str r4, [sp]
mov r0, #3
str r0, [sp, #4]
ldr r0, [r5, #4]
ldr r3, [sp, #0x34]
str r0, [sp, #8]
mov r0, #0x5a
lsl r0, r0, #2
ldr r0, [r5, r0]
add r1, r6, #0
bl FUN_020090AC
mov r1, #0x18
add r2, r4, #0
mul r2, r1
add r2, r5, r2
lsl r1, r1, #4
str r0, [r2, r1]
_02238CA8:
mov r0, #0x18
add r6, r4, #0
mul r6, r0
mov r0, #0x5d
add r1, r5, r6
lsl r0, r0, #2
ldr r0, [r1, r0]
bl FUN_02009A50
mov r0, #0x5e
add r1, r5, r6
lsl r0, r0, #2
ldr r0, [r1, r0]
bl FUN_02009CF0
mov r0, #0
mov r2, #0x57
str r4, [sp]
mvn r0, r0
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
str r0, [sp, #0x10]
lsl r2, r2, #2
ldr r1, [r5, r2]
add r3, r4, #0
str r1, [sp, #0x14]
add r1, r2, #4
ldr r1, [r5, r1]
str r1, [sp, #0x18]
add r1, r2, #0
add r1, #8
ldr r1, [r5, r1]
str r1, [sp, #0x1c]
add r1, r2, #0
add r1, #0xc
ldr r1, [r5, r1]
add r2, #0x48
str r1, [sp, #0x20]
str r0, [sp, #0x24]
str r0, [sp, #0x28]
mov r0, #0x24
add r1, r5, r2
mul r0, r4
add r0, r1, r0
add r1, r4, #0
add r2, r4, #0
bl FUN_02008AA4
cmp r4, #0
bne _02238D1A
mov r0, #0x10
mov r1, #1
bl FUN_0201E6E4
b _02238D22
_02238D1A:
mov r0, #0x10
mov r1, #1
bl FUN_0201E74C
_02238D22:
ldr r0, _02238D34 ; =MOD83_02238F00
mov r1, #0
bl FUN_02015F10
add sp, #0x38
pop {r3, r4, r5, r6, r7, pc}
nop
_02238D30: .word 0x0223BC30
_02238D34: .word MOD83_02238F00
thumb_func_end MOD83_02238BC4
thumb_func_start MOD83_02238D38
MOD83_02238D38: ; 0x02238D38
push {r4, lr}
add r2, r0, #0
add r4, r1, #0
add r1, r2, #0
ldr r0, _02238D50 ; =0x0223BC64
add r2, r4, #0
bl FUN_02008D24
ldr r0, _02238D54 ; =0x0223BE30
str r4, [r0, #0xc]
pop {r4, pc}
nop
_02238D50: .word 0x0223BC64
_02238D54: .word 0x0223BE30
thumb_func_end MOD83_02238D38
thumb_func_start MOD83_02238D58
MOD83_02238D58: ; 0x02238D58
push {r4, lr}
ldr r0, _02238DB4 ; =0x0223BE30
ldr r4, _02238DB8 ; =0x0223BC30
ldr r0, [r0, #4]
cmp r0, #0
beq _02238DA6
mov r0, #0x82
lsl r0, r0, #2
ldr r1, [r4, r0]
cmp r1, #0
bne _02238DA2
sub r0, r0, #4
ldr r0, [r4, r0]
bl FUN_02020128
cmp r0, #0
bne _02238D86
mov r0, #0x81
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #1
bl FUN_020200A0
_02238D86:
mov r0, #0x81
lsl r0, r0, #2
ldr r0, [r4, r0]
bl FUN_0202011C
mov r1, #6
ldr r2, [r0, #4]
lsl r1, r1, #0x12
cmp r2, r1
bge _02238DA6
lsr r1, r1, #7
add r1, r2, r1
str r1, [r0, #4]
b _02238DA6
_02238DA2:
sub r1, r1, #1
str r1, [r4, r0]
_02238DA6:
ldr r0, [r4, #0x30]
cmp r0, #0
beq _02238DB0
bl FUN_0201FDEC
_02238DB0:
pop {r4, pc}
nop
_02238DB4: .word 0x0223BE30
_02238DB8: .word 0x0223BC30
thumb_func_end MOD83_02238D58
thumb_func_start MOD83_02238DBC
MOD83_02238DBC: ; 0x02238DBC
push {r3, r4, r5, lr}
sub sp, #0x30
add r4, r1, #0
ldr r1, _02238E44 ; =0x0223BC30
bne _02238E1E
ldr r4, [r1, #0x30]
lsl r2, r2, #0xc
str r4, [sp]
mov r4, #0x69
lsl r4, r4, #2
add r5, r1, r4
mov r4, #0x24
mul r4, r0
add r4, r5, r4
str r4, [sp, #4]
mov r4, #1
lsl r4, r4, #0xc
mov r5, #0
str r5, [sp, #0x10]
str r4, [sp, #0x14]
str r4, [sp, #0x18]
str r4, [sp, #0x1c]
add r4, sp, #0
strh r5, [r4, #0x20]
str r2, [sp, #8]
lsl r2, r3, #0xc
str r2, [sp, #0xc]
mov r2, #0xa
str r2, [sp, #0x24]
cmp r0, #0
bne _02238DFE
mov r2, #1
b _02238E00
_02238DFE:
mov r2, #2
_02238E00:
ldr r0, [r1, #4]
str r2, [sp, #0x28]
str r0, [sp, #0x2c]
cmp r2, #2
bne _02238E16
mov r0, #0x83
lsl r0, r0, #2
ldr r2, [sp, #0xc]
ldr r0, [r1, r0]
add r0, r2, r0
str r0, [sp, #0xc]
_02238E16:
add r0, sp, #0
bl FUN_0201FE94
add r4, r0, #0
_02238E1E:
add r0, r4, #0
mov r1, #1
bl FUN_020200BC
add r0, r4, #0
mov r1, #0
bl FUN_02020238
ldr r1, [sp, #0x40]
add r0, r4, #0
bl FUN_02020130
add r0, r4, #0
mov r1, #1
bl FUN_020200A0
add r0, r4, #0
add sp, #0x30
pop {r3, r4, r5, pc}
.align 2, 0
_02238E44: .word 0x0223BC30
thumb_func_end MOD83_02238DBC
thumb_func_start MOD83_02238E48
MOD83_02238E48: ; 0x02238E48
push {r3, r4, r5, r6, r7, lr}
ldr r0, _02238EE8 ; =0x0223BE30
ldr r4, _02238EEC ; =0x0223BC30
ldr r0, [r0, #4]
cmp r0, #0
beq _02238E66
mov r0, #0x81
lsl r0, r0, #2
ldr r0, [r4, r0]
bl FUN_0201FFC8
mov r0, #0x81
mov r1, #0
lsl r0, r0, #2
str r1, [r4, r0]
_02238E66:
mov r1, #0x51
ldr r0, _02238EF0 ; =0x0223BC60
lsl r1, r1, #2
ldr r0, [r0, r1]
cmp r0, #0
beq _02238E76
bl FUN_02009C0C
_02238E76:
mov r1, #0x57
ldr r0, _02238EF0 ; =0x0223BC60
lsl r1, r1, #2
ldr r0, [r0, r1]
cmp r0, #0
beq _02238E86
bl FUN_02009C0C
_02238E86:
mov r1, #0x52
ldr r0, _02238EF0 ; =0x0223BC60
lsl r1, r1, #2
ldr r0, [r0, r1]
cmp r0, #0
beq _02238E96
bl FUN_02009E04
_02238E96:
mov r1, #0x16
ldr r0, _02238EF0 ; =0x0223BC60
lsl r1, r1, #4
ldr r0, [r0, r1]
cmp r0, #0
beq _02238EA6
bl FUN_02009E04
_02238EA6:
mov r4, #0
mov r7, #0x4b
ldr r5, _02238EF0 ; =0x0223BC60
add r6, r4, #0
lsl r7, r7, #2
_02238EB0:
mov r0, #0x4b
lsl r0, r0, #2
ldr r0, [r5, r0]
bl FUN_02008E2C
str r6, [r5, r7]
add r4, r4, #1
add r5, r5, #4
cmp r4, #6
blt _02238EB0
ldr r0, _02238EF0 ; =0x0223BC60
ldr r0, [r0]
bl FUN_0201FD58
ldr r0, _02238EF0 ; =0x0223BC60
mov r1, #0
str r1, [r0]
bl FUN_02009FA0
bl FUN_0201D12C
bl FUN_0201E08C
mov r0, #0
add r1, r0, #0
bl FUN_02015F10
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_02238EE8: .word 0x0223BE30
_02238EEC: .word 0x0223BC30
_02238EF0: .word 0x0223BC60
thumb_func_end MOD83_02238E48
thumb_func_start MOD83_02238EF4
MOD83_02238EF4: ; 0x02238EF4
mov r1, #1
sub r0, #0xa
lsl r1, r0
add r0, r1, #0
bx lr
.align 2, 0
thumb_func_end MOD83_02238EF4
thumb_func_start MOD83_02238F00
MOD83_02238F00: ; 0x02238F00
push {r4, lr}
ldr r0, _02238F34 ; =0x0223CAB0
ldr r4, _02238F38 ; =0x0223BC30
ldr r0, [r0, #0x20]
cmp r0, #0
beq _02238F1E
mov r1, #0xea
lsl r1, r1, #4
ldr r1, [r4, r1]
add r0, r4, #0
blx r1
mov r0, #0xea
mov r1, #0
lsl r0, r0, #4
str r1, [r4, r0]
_02238F1E:
bl FUN_0201C30C
bl FUN_02009F80
ldr r3, _02238F3C ; =0x027E0000
ldr r1, _02238F40 ; =0x00003FF8
mov r0, #1
ldr r2, [r3, r1]
orr r0, r2
str r0, [r3, r1]
pop {r4, pc}
.align 2, 0
_02238F34: .word 0x0223CAB0
_02238F38: .word 0x0223BC30
_02238F3C: .word 0x027E0000
_02238F40: .word 0x00003FF8
thumb_func_end MOD83_02238F00
thumb_func_start MOD83_02238F44
MOD83_02238F44: ; 0x02238F44
push {r4}
sub sp, #0x1c
ldr r4, _02238F90 ; =0x0223A744
add r3, sp, #0
mov r2, #0x1a
_02238F4E:
ldrb r1, [r4]
add r4, r4, #1
strb r1, [r3]
add r3, r3, #1
sub r2, r2, #1
bne _02238F4E
add r1, sp, #0
ldrb r2, [r1]
mov r3, #0
sub r1, r3, #1
cmp r2, r1
beq _02238F88
add r4, sp, #0
sub r1, r3, #1
_02238F6A:
ldrb r2, [r4]
cmp r0, r2
bne _02238F7E
add r0, sp, #0
lsl r1, r3, #1
add r0, #1
add sp, #0x1c
ldrb r0, [r0, r1]
pop {r4}
bx lr
_02238F7E:
add r4, r4, #2
ldrb r2, [r4]
add r3, r3, #1
cmp r2, r1
bne _02238F6A
_02238F88:
mov r0, #0
add sp, #0x1c
pop {r4}
bx lr
.align 2, 0
_02238F90: .word 0x0223A744
thumb_func_end MOD83_02238F44
thumb_func_start MOD83_02238F94
MOD83_02238F94: ; 0x02238F94
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
str r0, [sp, #0x20]
add r5, r1, #0
add r7, r2, #0
add r6, r3, #0
ldr r4, [sp, #0x40]
bl FUN_020689E0
str r0, [sp, #0x24]
ldr r0, [sp, #0x20]
bl FUN_02068A80
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
lsl r0, r7, #0x18
ldr r2, [sp, #0x24]
lsr r0, r0, #0x18
str r0, [sp, #4]
mov r0, #0
lsl r1, r5, #0x10
lsl r2, r2, #0x18
str r0, [sp, #8]
add r0, r4, #0
lsr r1, r1, #0x10
lsr r2, r2, #0x18
mov r3, #2
bl FUN_02068C00
mov r1, #0
ldr r0, [sp, #0x20]
add r2, r1, #0
bl FUN_020671BC
mov r3, #0
str r3, [sp]
mov r1, #0xa
str r1, [sp, #4]
str r1, [sp, #8]
str r6, [sp, #0xc]
str r0, [sp, #0x10]
str r3, [sp, #0x14]
mov r0, #2
str r0, [sp, #0x18]
str r5, [sp, #0x1c]
ldr r2, _0223902C ; =0x0223BC30
ldrh r0, [r4]
ldrh r1, [r4, #2]
ldr r2, [r2, #4]
bl FUN_020124B4
mov r1, #0x32
add r0, r6, #0
lsl r1, r1, #6
bl DC_FlushRange
mov r1, #0x32
lsl r1, r1, #6
add r0, r6, #0
add r2, r1, #0
bl GXS_LoadOBJ
mov r0, #0x20
str r0, [sp]
ldr r0, _0223902C ; =0x0223BC30
mov r2, #5
ldr r0, [r0, #4]
mov r3, #0x60
str r0, [sp, #4]
ldrh r0, [r4]
ldrh r1, [r4, #4]
bl FUN_02006930
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_0223902C: .word 0x0223BC30
thumb_func_end MOD83_02238F94
thumb_func_start MOD83_02239030
MOD83_02239030: ; 0x02239030
push {r4, lr}
sub sp, #8
add r4, r0, #0
mov r0, #0x21
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x74
mov r1, #0x23
mov r2, #0x20
mov r3, #0x22
bl MOD83_02238BC4
mov r1, #1
mov r0, #0
lsl r1, r1, #0x14
bl MOD83_02238D38
mov r3, #0
mov r1, #0x81
str r3, [sp]
lsl r1, r1, #2
ldr r1, [r4, r1]
mov r0, #1
mov r2, #0x80
bl MOD83_02238DBC
mov r1, #0x81
lsl r1, r1, #2
str r0, [r4, r1]
add sp, #8
pop {r4, pc}
thumb_func_end MOD83_02239030
thumb_func_start MOD83_02239070
MOD83_02239070: ; 0x02239070
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
mov r0, #0xc
str r0, [sp]
mov r0, #1
add r6, r1, #0
add r4, r2, #0
str r0, [sp, #4]
mov r0, #0x36
mov r1, #0xa
mov r2, #0
mov r3, #0xb
bl MOD83_02238BC4
mov r1, #1
mov r0, #0
lsl r1, r1, #0x14
bl MOD83_02238D38
mov r0, #1
mov r1, #0x81
str r0, [sp]
lsl r1, r1, #2
ldr r1, [r5, r1]
mov r2, #0x80
mov r3, #0
bl MOD83_02238DBC
mov r3, #0x81
lsl r3, r3, #2
add r4, #8
str r0, [r5, r3]
cmp r6, #1
beq _022390C2
cmp r6, #2
beq _022390F4
cmp r6, #7
beq _02239110
add sp, #8
pop {r4, r5, r6, pc}
_022390C2:
add r0, r4, #0
mov r1, #5
mov r2, #0
bl FUN_020671BC
add r6, r0, #0
add r0, r4, #0
mov r1, #0x70
mov r2, #0
bl FUN_020671BC
add r2, r0, #0
mov r0, #0xe9
lsl r0, r0, #4
mov r3, #0x21
add r0, r5, r0
lsl r3, r3, #4
str r0, [sp]
add r0, r4, #0
add r1, r6, #0
add r3, r5, r3
bl MOD83_02238F94
add sp, #8
pop {r4, r5, r6, pc}
_022390F4:
mov r0, #0xe9
lsl r0, r0, #4
add r1, r3, #0
add r0, r5, r0
add r3, #0xc
str r0, [sp]
add r0, r4, #0
sub r1, #0x16
mov r2, #0
add r3, r5, r3
bl MOD83_02238F94
add sp, #8
pop {r4, r5, r6, pc}
_02239110:
mov r0, #0xe9
lsl r0, r0, #4
add r1, r3, #0
add r0, r5, r0
add r3, #0xc
str r0, [sp]
add r0, r4, #0
sub r1, #0x16
mov r2, #1
add r3, r5, r3
bl MOD83_02238F94
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end MOD83_02239070
thumb_func_start MOD83_0223912C
MOD83_0223912C: ; 0x0223912C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
cmp r1, #0xa
bhi _02239168
add r0, r1, r1
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02239142: ; jump table
.short _02239168 - _02239142 - 2 ; case 0
.short _02239168 - _02239142 - 2 ; case 1
.short _02239168 - _02239142 - 2 ; case 2
.short _02239158 - _02239142 - 2 ; case 3
.short _02239168 - _02239142 - 2 ; case 4
.short _02239168 - _02239142 - 2 ; case 5
.short _02239168 - _02239142 - 2 ; case 6
.short _02239168 - _02239142 - 2 ; case 7
.short _0223915C - _02239142 - 2 ; case 8
.short _02239160 - _02239142 - 2 ; case 9
.short _02239166 - _02239142 - 2 ; case 10
_02239158:
ldr r4, [r2, #4]
b _02239168
_0223915C:
ldr r4, _022391C4 ; =0x000001C6
b _02239168
_02239160:
mov r4, #0x71
lsl r4, r4, #2
b _02239168
_02239166:
ldr r4, _022391C8 ; =0x000001C7
_02239168:
lsl r0, r4, #0x10
lsr r0, r0, #0x10
mov r1, #1
bl FUN_0206E640
add r7, r0, #0
lsl r0, r4, #0x10
lsr r0, r0, #0x10
mov r1, #2
bl FUN_0206E640
add r4, r0, #0
bl FUN_0206E708
add r6, r0, #0
bl FUN_0206E70C
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x10
add r1, r7, #0
add r2, r4, #0
add r3, r6, #0
bl MOD83_02238BC4
mov r1, #1
mov r0, #0
lsl r1, r1, #0x14
bl MOD83_02238D38
mov r3, #0
mov r1, #0x81
str r3, [sp]
lsl r1, r1, #2
ldr r1, [r5, r1]
mov r0, #1
mov r2, #0x80
bl MOD83_02238DBC
mov r1, #0x81
lsl r1, r1, #2
str r0, [r5, r1]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_022391C4: .word 0x000001C6
_022391C8: .word 0x000001C7
thumb_func_end MOD83_0223912C
thumb_func_start MOD83_022391CC
MOD83_022391CC: ; 0x022391CC
push {r3, lr}
sub sp, #8
mov r1, #0xc0
str r1, [sp]
ldr r0, [r0, #4]
mov r2, #4
add r3, r2, #0
str r0, [sp, #4]
mov r0, #0x74
mov r1, #0x1d
add r3, #0xfc
bl FUN_02006930
add sp, #8
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_022391CC
thumb_func_start MOD83_022391EC
MOD83_022391EC: ; 0x022391EC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r6, r1, #0
ldrh r4, [r6]
add r5, r0, #0
add r0, r4, #0
bl MOD83_02238F44
add r7, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #5
lsl r0, r0, #0xa
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, _022392DC ; =0x0223BC30
mov r1, #0x1e
ldr r0, [r0, #4]
add r2, r5, #0
str r0, [sp, #0xc]
mov r0, #0x74
mov r3, #5
bl FUN_0200687C
mov r2, #1
ldr r3, _022392DC ; =0x0223BC30
str r2, [sp]
ldr r3, [r3, #4]
mov r0, #0x74
mov r1, #0x1f
bl FUN_02006C98
add r1, sp, #0x14
str r0, [sp, #0x10]
bl FUN_020B0180
ldr r2, [sp, #0x14]
mov r3, #6
add r0, r5, #0
mov r1, #5
add r2, #0xc
lsl r3, r3, #8
bl FUN_02017DFC
ldr r0, [sp, #0x10]
bl FreeToHeap
mov r0, #0x20
str r0, [sp]
mov r0, #0x18
mov r2, #0
add r7, #8
str r0, [sp, #4]
lsl r0, r7, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
add r0, r5, #0
mov r1, #5
add r3, r2, #0
bl FUN_020186B4
add r0, r5, #0
mov r1, #5
bl FUN_02017CD0
ldr r1, _022392E0 ; =MOD83_022391CC
ldr r0, _022392E4 ; =0x0223CAB0
cmp r4, #0xb
str r1, [r0, #0x20]
bhi _022392CA
add r0, r4, r4
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02239286: ; jump table
.short _022392CA - _02239286 - 2 ; case 0
.short _022392B4 - _02239286 - 2 ; case 1
.short _022392B4 - _02239286 - 2 ; case 2
.short _022392C0 - _02239286 - 2 ; case 3
.short _0223929E - _02239286 - 2 ; case 4
.short _0223929E - _02239286 - 2 ; case 5
.short _0223929E - _02239286 - 2 ; case 6
.short _022392AA - _02239286 - 2 ; case 7
.short _022392C0 - _02239286 - 2 ; case 8
.short _022392C0 - _02239286 - 2 ; case 9
.short _022392C0 - _02239286 - 2 ; case 10
.short _0223929E - _02239286 - 2 ; case 11
_0223929E:
ldr r0, _022392E8 ; =0x0223BC30
add r1, r4, #0
add r2, r6, #0
bl MOD83_02239030
b _022392CA
_022392AA:
mov r1, #0x82
ldr r0, _022392E8 ; =0x0223BC30
mov r2, #0x78
lsl r1, r1, #2
str r2, [r0, r1]
_022392B4:
ldr r0, _022392E8 ; =0x0223BC30
add r1, r4, #0
add r2, r6, #0
bl MOD83_02239070
b _022392CA
_022392C0:
ldr r0, _022392E8 ; =0x0223BC30
add r1, r4, #0
add r2, r6, #0
bl MOD83_0223912C
_022392CA:
mov r1, #0x81
ldr r0, _022392E8 ; =0x0223BC30
lsl r1, r1, #2
ldr r0, [r0, r1]
mov r1, #0
bl FUN_020200A0
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_022392DC: .word 0x0223BC30
_022392E0: .word MOD83_022391CC
_022392E4: .word 0x0223CAB0
_022392E8: .word 0x0223BC30
thumb_func_end MOD83_022391EC
thumb_func_start MOD83_022392EC
MOD83_022392EC: ; 0x022392EC
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r7, r1, #0
mov r1, #2
add r5, r0, #0
add r0, r2, #0
lsl r1, r1, #8
str r2, [sp]
bl AllocFromHeap
ldr r1, _0223936C ; =0x0000A001
add r4, r0, #0
bl MATHi_CRC16InitTableRev
add r0, r4, #0
add r1, r5, #0
mov r2, #0x50
bl MATH_CalcCRC16
add r6, r0, #0
add r0, r4, #0
bl FreeToHeap
add r0, sp, #4
bl OS_GetMacAddress
add r0, sp, #4
ldrh r1, [r0, #2]
mov r2, #0
add r3, sp, #4
strh r1, [r0, #6]
ldr r1, _02239370 ; =0x0000D679
strh r6, [r0, #2]
_0223932E:
ldrh r0, [r3]
add r2, r2, #1
eor r0, r1
strh r0, [r3]
ldrh r1, [r3]
add r3, r3, #2
cmp r2, #4
blt _0223932E
mov r1, #0x41
ldr r0, [sp]
lsl r1, r1, #2
bl AllocFromHeap
add r1, sp, #4
mov r2, #8
add r4, r0, #0
bl FUN_0209521C
add r5, #0x50
mov r2, #0xd6
add r0, r4, #0
add r1, r5, #0
lsl r2, r2, #2
add r3, r7, #0
bl FUN_020952AC
add r0, r4, #0
bl FreeToHeap
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0223936C: .word 0x0000A001
_02239370: .word 0x0000D679
thumb_func_end MOD83_022392EC
thumb_func_start MOD83_02239374
MOD83_02239374: ; 0x02239374
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r7, r1, #0
mov r1, #2
add r5, r0, #0
add r0, r2, #0
lsl r1, r1, #8
str r2, [sp]
bl AllocFromHeap
ldr r1, _0223940C ; =0x0000A001
add r4, r0, #0
bl MATHi_CRC16InitTableRev
add r0, r4, #0
add r1, r5, #0
mov r2, #0x50
bl MATH_CalcCRC16
add r6, r0, #0
add r0, r4, #0
bl FreeToHeap
mov r0, #0
bl FUN_0202EF18
ldrb r2, [r0, #4]
add r1, sp, #4
mov r3, #0
strb r2, [r1]
ldrb r2, [r0, #5]
strb r2, [r1, #1]
ldrb r2, [r0, #6]
strb r2, [r1, #2]
ldrb r2, [r0, #7]
strb r2, [r1, #3]
ldrb r2, [r0, #8]
strb r2, [r1, #4]
ldrb r0, [r0, #9]
strb r0, [r1, #5]
add r0, sp, #4
ldrh r2, [r0, #2]
strh r2, [r0, #6]
ldr r2, _02239410 ; =0x0000D679
strh r6, [r0, #2]
_022393CE:
ldrh r0, [r1]
add r3, r3, #1
eor r0, r2
strh r0, [r1]
ldrh r2, [r1]
add r1, r1, #2
cmp r3, #4
blt _022393CE
mov r1, #0x41
ldr r0, [sp]
lsl r1, r1, #2
bl AllocFromHeap
add r1, sp, #4
mov r2, #8
add r4, r0, #0
bl FUN_0209521C
add r5, #0x50
mov r2, #0xd6
add r0, r4, #0
add r1, r5, #0
lsl r2, r2, #2
add r3, r7, #0
bl FUN_020952AC
add r0, r4, #0
bl FreeToHeap
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0223940C: .word 0x0000A001
_02239410: .word 0x0000D679
thumb_func_end MOD83_02239374
thumb_func_start MOD83_02239414
MOD83_02239414: ; 0x02239414
push {r3, lr}
cmp r2, #0
beq _0223941E
cmp r2, #1
pop {r3, pc}
_0223941E:
ldr r0, _02239428 ; =0x000005DC
bl FUN_020054C8
pop {r3, pc}
nop
_02239428: .word 0x000005DC
thumb_func_end MOD83_02239414
thumb_func_start MOD83_0223942C
MOD83_0223942C: ; 0x0223942C
push {r3, lr}
ldr r0, _0223944C ; =0x027FFFA8
ldrh r1, [r0]
mov r0, #2
lsl r0, r0, #0xe
and r0, r1
asr r0, r0, #0xf
bne _02239448
bl CTRDG_IsAgbCartridge
cmp r0, #0
bne _02239448
bl CTRDG_TerminateForPulledOut
_02239448:
pop {r3, pc}
nop
_0223944C: .word 0x027FFFA8
thumb_func_end MOD83_0223942C
thumb_func_start MOD83_02239450
MOD83_02239450: ; 0x02239450
push {r3, lr}
cmp r0, #1
bne _02239478
ldr r1, _02239484 ; =0x04000208
ldrh r0, [r1]
mov r0, #0
strh r0, [r1]
lsr r0, r1, #0xd
ldr r1, _02239488 ; =MOD83_0223942C
bl OS_SetIrqFunction
mov r0, #2
lsl r0, r0, #0xc
bl OS_EnableIrqMask
ldr r1, _02239484 ; =0x04000208
ldrh r0, [r1]
mov r0, #1
strh r0, [r1]
pop {r3, pc}
_02239478:
mov r0, #2
lsl r0, r0, #0xc
bl OS_DisableIrqMask
pop {r3, pc}
nop
_02239484: .word 0x04000208
_02239488: .word MOD83_0223942C
thumb_func_end MOD83_02239450
thumb_func_start MOD83_0223948C
MOD83_0223948C: ; 0x0223948C
bx lr
.align 2, 0
thumb_func_end MOD83_0223948C
thumb_func_start MOD83_02239490
MOD83_02239490: ; 0x02239490
push {r3, lr}
ldr r1, _022394B4 ; =0x04000208
ldrh r0, [r1]
mov r0, #0
strh r0, [r1]
lsr r0, r1, #0xd
ldr r1, _022394B8 ; =MOD83_0223948C
bl OS_SetIrqFunction
mov r0, #2
lsl r0, r0, #0xc
bl OS_EnableIrqMask
ldr r1, _022394B4 ; =0x04000208
ldrh r0, [r1]
mov r0, #1
strh r0, [r1]
pop {r3, pc}
.align 2, 0
_022394B4: .word 0x04000208
_022394B8: .word MOD83_0223948C
thumb_func_end MOD83_02239490
thumb_func_start MOD83_022394BC
MOD83_022394BC: ; 0x022394BC
ldr r1, _022394C8 ; =0x0223BC30
str r0, [r1, #0x14]
mov r0, #0
str r0, [r1, #0x10]
bx lr
nop
_022394C8: .word 0x0223BC30
thumb_func_end MOD83_022394BC
thumb_func_start MOD83_022394CC
MOD83_022394CC: ; 0x022394CC
push {r3, r4, r5, lr}
ldr r0, _0223953C ; =0x0223BC30
ldr r4, _02239540 ; =0x0223BC30
ldr r0, [r0, #0x10]
cmp r0, #4
bhi _02239538
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022394E4: ; jump table
.short _022394EE - _022394E4 - 2 ; case 0
.short _02239504 - _022394E4 - 2 ; case 1
.short _02239538 - _022394E4 - 2 ; case 2
.short _02239538 - _022394E4 - 2 ; case 3
.short _02239538 - _022394E4 - 2 ; case 4
_022394EE:
mov r0, #4
bl FUN_020166A8
ldr r0, [r4, #0x14]
mov r1, #2
bl FUN_02022840
ldr r0, [r4, #0x10]
add r0, r0, #1
str r0, [r4, #0x10]
b _02239538
_02239504:
ldr r0, [r4, #0x14]
bl FUN_02022854
add r5, r0, #0
cmp r5, #3
bne _02239516
mov r0, #3
str r0, [r4, #0x10]
b _02239528
_02239516:
cmp r5, #2
bne _02239520
mov r0, #2
str r0, [r4, #0x10]
b _02239528
_02239520:
cmp r5, #1
bne _02239528
mov r0, #4
str r0, [r4, #0x10]
_02239528:
sub r0, r5, #2
cmp r0, #1
bhi _02239534
mov r0, #4
bl FUN_020166B8
_02239534:
add r0, r5, #0
pop {r3, r4, r5, pc}
_02239538:
mov r0, #0
pop {r3, r4, r5, pc}
.align 2, 0
_0223953C: .word 0x0223BC30
_02239540: .word 0x0223BC30
thumb_func_end MOD83_022394CC
thumb_func_start MOD83_02239544
MOD83_02239544: ; 0x02239544
ldr r0, _02239554 ; =0x0223BC30
ldr r1, _02239558 ; =0x0223BC30
ldr r0, [r0, #0x10]
cmp r0, #4
bne _02239552
mov r0, #1
str r0, [r1, #0x10]
_02239552:
bx lr
.align 2, 0
_02239554: .word 0x0223BC30
_02239558: .word 0x0223BC30
thumb_func_end MOD83_02239544
thumb_func_start MOD83_0223955C
MOD83_0223955C: ; 0x0223955C
push {r3, lr}
ldr r0, _02239570 ; =0x0223BC30
ldr r0, [r0, #0x14]
bl FUN_0202287C
mov r0, #4
bl FUN_020166B8
pop {r3, pc}
nop
_02239570: .word 0x0223BC30
thumb_func_end MOD83_0223955C
thumb_func_start MOD83_02239574
MOD83_02239574: ; 0x02239574
ldr r0, _0223957C ; =0x0223BC30
ldr r0, [r0, #0x10]
bx lr
nop
_0223957C: .word 0x0223BC30
thumb_func_end MOD83_02239574
thumb_func_start MOD83_02239580
MOD83_02239580: ; 0x02239580
push {r4, lr}
ldr r1, _022395BC ; =0x0223CAD4
add r4, r0, #0
ldr r2, [r1, #4]
cmp r2, #0
beq _0223959C
ldr r3, [r1]
ldr r1, _022395C0 ; =0x00001150
ldr r0, _022395C4 ; =0x0223B80C
ldr r1, [r3, r1]
lsl r3, r1, #2
ldr r1, _022395C8 ; =0x0223B7E4
ldr r1, [r1, r3]
blx r2
_0223959C:
ldr r3, _022395BC ; =0x0223CAD4
ldr r1, _022395C0 ; =0x00001150
ldr r0, [r3]
str r4, [r0, r1]
ldr r2, [r3, #4]
cmp r2, #0
beq _022395B8
ldr r3, [r3]
ldr r0, _022395CC ; =0x0223B814
ldr r1, [r3, r1]
lsl r3, r1, #2
ldr r1, _022395C8 ; =0x0223B7E4
ldr r1, [r1, r3]
blx r2
_022395B8:
pop {r4, pc}
nop
_022395BC: .word 0x0223CAD4
_022395C0: .word 0x00001150
_022395C4: .word 0x0223B80C
_022395C8: .word 0x0223B7E4
_022395CC: .word 0x0223B814
thumb_func_end MOD83_02239580
thumb_func_start MOD83_022395D0
MOD83_022395D0: ; 0x022395D0
ldr r1, _022395E4 ; =0x0223CAD4
ldr r3, [r1]
ldr r1, _022395E8 ; =0x00001150
ldr r2, [r3, r1]
sub r2, #9
cmp r2, #1
bls _022395E2
add r1, r1, #4
str r0, [r3, r1]
_022395E2:
bx lr
.align 2, 0
_022395E4: .word 0x0223CAD4
_022395E8: .word 0x00001150
thumb_func_end MOD83_022395D0
thumb_func_start MOD83_022395EC
MOD83_022395EC: ; 0x022395EC
push {r4, lr}
ldr r0, _02239658 ; =0x0223CAD4
ldr r1, [r0]
ldr r0, _0223965C ; =0x00001150
ldr r0, [r1, r0]
cmp r0, #4
bne _022395FE
bl OS_Terminate
_022395FE:
mov r0, #2
bl MOD83_02239580
ldr r3, _02239658 ; =0x0223CAD4
ldr r0, _02239660 ; =0x0000FFFF
ldr r2, [r3]
ldr r1, _02239664 ; =0x00000FCC
strh r0, [r2, r1]
sub r2, r1, #2
ldr r4, [r3]
sub r1, r1, #4
strh r0, [r4, r2]
ldr r2, [r3]
strh r0, [r2, r1]
bl MOD83_02239670
cmp r0, #0
bne _0223963C
mov r0, #9
bl MOD83_02239580
ldr r0, _02239658 ; =0x0223CAD4
ldr r1, [r0]
ldr r0, _02239668 ; =0x0000117C
ldr r1, [r1, r0]
cmp r1, #0
beq _02239638
mov r0, #4
blx r1
_02239638:
mov r0, #0
pop {r4, pc}
_0223963C:
ldr r1, _02239658 ; =0x0223CAD4
ldr r0, _0223966C ; =0x00001158
ldr r2, [r1]
mov r3, #2
strh r3, [r2, r0]
ldr r1, [r1]
add r0, #0x24
ldr r1, [r1, r0]
cmp r1, #0
beq _02239654
mov r0, #0
blx r1
_02239654:
mov r0, #1
pop {r4, pc}
.align 2, 0
_02239658: .word 0x0223CAD4
_0223965C: .word 0x00001150
_02239660: .word 0x0000FFFF
_02239664: .word 0x00000FCC
_02239668: .word 0x0000117C
_0223966C: .word 0x00001158
thumb_func_end MOD83_022395EC
thumb_func_start MOD83_02239670
MOD83_02239670: ; 0x02239670
push {r3, r4, r5, r6, r7, lr}
ldr r0, _02239748 ; =0x0223CAD4
ldr r1, [r0]
ldr r0, _0223974C ; =0x00001150
ldr r0, [r1, r0]
cmp r0, #2
beq _02239684
bl OS_Terminate
mov r0, #0
_02239684:
bl WM_GetAllowedChannel
add r4, r0, #0
mov r0, #2
lsl r0, r0, #0xe
cmp r4, r0
bne _0223969C
mov r0, #3
bl MOD83_022395D0
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0223969C:
cmp r4, #0
bne _022396AA
mov r0, #0x16
bl MOD83_022395D0
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_022396AA:
ldr r0, _02239748 ; =0x0223CAD4
ldr r2, [r0]
ldr r0, _02239750 ; =0x00001176
ldrh r1, [r2, r0]
cmp r1, #0x10
blo _022396EC
sub r1, #0x10
mov r5, #0
mov r7, #0xd
mov r6, #1
b _022396D2
_022396C0:
add r0, r1, #1
add r1, r7, #0
bl _s32_div_f
add r0, r6, #0
lsl r0, r1
tst r0, r4
bne _022396D6
add r5, r5, #1
_022396D2:
cmp r5, #0xd
blt _022396C0
_022396D6:
ldr r2, _02239748 ; =0x0223CAD4
add r4, r1, #0
ldr r3, [r2]
ldr r0, _02239750 ; =0x00001176
add r4, #0x10
strh r4, [r3, r0]
add r3, r1, #1
ldr r1, [r2]
ldr r0, _02239754 ; =0x00000FC4
strh r3, [r1, r0]
b _022396F0
_022396EC:
ldr r0, _02239754 ; =0x00000FC4
strh r1, [r2, r0]
_022396F0:
ldr r2, _02239748 ; =0x0223CAD4
ldr r0, _02239758 ; =0x00000FC6
ldr r1, [r2]
mov r3, #0xdc
strh r3, [r1, r0]
add r1, r0, #0
ldr r3, [r2]
sub r1, #0xc6
add r1, r3, r1
sub r0, r0, #6
str r1, [r3, r0]
ldr r1, [r2]
ldr r0, _0223975C ; =0x00001158
ldrh r0, [r1, r0]
cmp r0, #3
bne _02239726
mov r5, #0
ldr r0, _02239760 ; =0x00001170
ldr r1, _02239764 ; =0x00000FC8
b _02239722
_02239718:
ldr r3, [r2]
add r4, r3, r5
ldrb r3, [r4, r0]
add r5, r5, #1
strb r3, [r4, r1]
_02239722:
cmp r5, #6
blt _02239718
_02239726:
ldr r1, _02239748 ; =0x0223CAD4
ldr r0, _02239768 ; =MOD83_0223976C
ldr r2, [r1]
mov r1, #0x3f
lsl r1, r1, #6
add r1, r2, r1
bl WM_StartScan
cmp r0, #2
beq _02239742
bl MOD83_022395D0
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02239742:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
nop
_02239748: .word 0x0223CAD4
_0223974C: .word 0x00001150
_02239750: .word 0x00001176
_02239754: .word 0x00000FC4
_02239758: .word 0x00000FC6
_0223975C: .word 0x00001158
_02239760: .word 0x00001170
_02239764: .word 0x00000FC8
_02239768: .word MOD83_0223976C
thumb_func_end MOD83_02239670
thumb_func_start MOD83_0223976C
MOD83_0223976C: ; 0x0223976C
push {r3, r4, r5, lr}
add r4, r0, #0
ldrh r0, [r4, #2]
cmp r0, #0
beq _02239792
bl MOD83_022395D0
mov r0, #9
bl MOD83_02239580
ldr r0, _02239880 ; =0x0223CAD4
ldr r1, [r0]
ldr r0, _02239884 ; =0x0000117C
ldr r1, [r1, r0]
cmp r1, #0
beq _0223987E
mov r0, #4
blx r1
pop {r3, r4, r5, pc}
_02239792:
ldr r0, _02239880 ; =0x0223CAD4
ldr r1, [r0]
ldr r0, _02239888 ; =0x00001150
ldr r0, [r1, r0]
cmp r0, #2
beq _022397BE
bl MOD83_022398A4
cmp r0, #0
bne _0223987E
mov r0, #9
bl MOD83_02239580
ldr r0, _02239880 ; =0x0223CAD4
ldr r1, [r0]
ldr r0, _02239884 ; =0x0000117C
ldr r1, [r1, r0]
cmp r1, #0
beq _0223987E
mov r0, #4
blx r1
pop {r3, r4, r5, pc}
_022397BE:
ldrh r0, [r4, #8]
cmp r0, #3
beq _0223987E
cmp r0, #4
beq _02239860
cmp r0, #5
bne _02239860
mov r0, #0xf
lsl r0, r0, #8
add r0, r1, r0
mov r1, #0xc0
bl DC_InvalidateRange
ldrh r0, [r4, #0x36]
cmp r0, #8
blo _022397E6
ldr r1, [r4, #0x3c]
ldr r0, _0223988C ; =0x00400318
cmp r1, r0
beq _022397F8
_022397E6:
ldr r0, _02239880 ; =0x0223CAD4
ldr r3, [r0, #4]
cmp r3, #0
beq _02239860
ldr r0, _02239890 ; =0x0223B818
ldr r1, [r4, #0x3c]
ldr r2, _0223988C ; =0x00400318
blx r3
b _02239860
_022397F8:
ldr r1, _02239880 ; =0x0223CAD4
ldrh r3, [r4, #0x12]
ldr r2, [r1]
ldr r0, _02239894 ; =0x0000116C
str r3, [r2, r0]
ldr r1, [r1]
sub r0, #0x14
ldrh r0, [r1, r0]
cmp r0, #2
bne _02239844
add r0, r4, #0
add r0, #0x48
bl MOD83_02239B00
ldr r2, _02239880 ; =0x0223CAD4
ldr r1, _02239898 ; =0x00001170
mov r0, #0
_0223981A:
add r3, r4, r0
ldrb r5, [r3, #0xa]
ldr r3, [r2]
add r3, r3, r0
add r0, r0, #1
strb r5, [r3, r1]
cmp r0, #6
blt _0223981A
ldr r1, _02239880 ; =0x0223CAD4
ldr r0, _0223989C ; =0x00001176
ldr r3, [r1]
ldrh r2, [r3, r0]
sub r2, #0xf
strh r2, [r3, r0]
ldr r1, [r1]
add r0, r0, #6
ldr r1, [r1, r0]
cmp r1, #0
beq _02239844
mov r0, #1
blx r1
_02239844:
add r4, #0x48
add r0, r4, #0
bl MOD83_02239B80
cmp r0, #0
beq _02239860
ldr r0, _02239880 ; =0x0223CAD4
mov r2, #4
ldr r1, [r0]
ldr r0, _022398A0 ; =0x00001158
strh r2, [r1, r0]
bl MOD83_02239A14
pop {r3, r4, r5, pc}
_02239860:
bl MOD83_02239670
cmp r0, #0
bne _0223987E
mov r0, #9
bl MOD83_02239580
ldr r0, _02239880 ; =0x0223CAD4
ldr r1, [r0]
ldr r0, _02239884 ; =0x0000117C
ldr r1, [r1, r0]
cmp r1, #0
beq _0223987E
mov r0, #4
blx r1
_0223987E:
pop {r3, r4, r5, pc}
.align 2, 0
_02239880: .word 0x0223CAD4
_02239884: .word 0x0000117C
_02239888: .word 0x00001150
_0223988C: .word 0x00400318
_02239890: .word 0x0223B818
_02239894: .word 0x0000116C
_02239898: .word 0x00001170
_0223989C: .word 0x00001176
_022398A0: .word 0x00001158
thumb_func_end MOD83_0223976C
thumb_func_start MOD83_022398A4
MOD83_022398A4: ; 0x022398A4
push {r3, lr}
ldr r0, _022398BC ; =MOD83_022398C0
bl WM_EndScan
cmp r0, #2
beq _022398B8
bl MOD83_022395D0
mov r0, #0
pop {r3, pc}
_022398B8:
mov r0, #1
pop {r3, pc}
.align 2, 0
_022398BC: .word MOD83_022398C0
thumb_func_end MOD83_022398A4
thumb_func_start MOD83_022398C0
MOD83_022398C0: ; 0x022398C0
push {r3, lr}
ldrh r0, [r0, #2]
cmp r0, #0
beq _022398CE
bl MOD83_022395D0
pop {r3, pc}
_022398CE:
mov r0, #1
bl MOD83_02239580
pop {r3, pc}
.align 2, 0
thumb_func_end MOD83_022398C0
thumb_func_start MOD83_022398D8
MOD83_022398D8: ; 0x022398D8
push {r3, lr}
ldrh r0, [r0, #2]
cmp r0, #0
beq _022398E8
mov r0, #0xa
bl MOD83_02239580
pop {r3, pc}
_022398E8:
mov r0, #0
bl MOD83_02239580
ldr r0, _02239900 ; =0x0223CAD4
ldr r1, [r0]
ldr r0, _02239904 ; =0x0000117C
ldr r1, [r1, r0]
cmp r1, #0
beq _022398FE
mov r0, #3
blx r1
_022398FE:
pop {r3, pc}
.align 2, 0
_02239900: .word 0x0223CAD4
_02239904: .word 0x0000117C
thumb_func_end MOD83_022398D8
thumb_func_start MOD83_02239908
MOD83_02239908: ; 0x02239908
push {r3, lr}
ldr r0, _02239924 ; =0x0223CAD4
mov r2, #0
ldr r1, [r0]
ldr r0, _02239928 ; =0x00001154
str r2, [r1, r0]
bl MOD83_02239954
cmp r0, #0
beq _02239920
mov r0, #1
pop {r3, pc}
_02239920:
mov r0, #0
pop {r3, pc}
.align 2, 0
_02239924: .word 0x0223CAD4
_02239928: .word 0x00001154
thumb_func_end MOD83_02239908
thumb_func_start MOD83_0223992C
MOD83_0223992C: ; 0x0223992C
push {r3, lr}
ldrh r0, [r0, #2]
cmp r0, #8
bne _0223994A
mov r0, #9
bl MOD83_02239580
ldr r0, _0223994C ; =0x0223CAD4
ldr r1, [r0]
ldr r0, _02239950 ; =0x0000117C
ldr r1, [r1, r0]
cmp r1, #0
beq _0223994A
mov r0, #4
blx r1
_0223994A:
pop {r3, pc}
.align 2, 0
_0223994C: .word 0x0223CAD4
_02239950: .word 0x0000117C
thumb_func_end MOD83_0223992C
thumb_func_start MOD83_02239954
MOD83_02239954: ; 0x02239954
push {r3, lr}
mov r0, #3
bl MOD83_02239580
ldr r0, _02239980 ; =0x0223CAD4
ldr r1, _02239984 ; =MOD83_02239988
ldr r0, [r0]
mov r2, #2
bl WM_Initialize
cmp r0, #2
beq _0223997A
bl MOD83_022395D0
mov r0, #0xa
bl MOD83_02239580
mov r0, #0
pop {r3, pc}
_0223997A:
mov r0, #1
pop {r3, pc}
nop
_02239980: .word 0x0223CAD4
_02239984: .word MOD83_02239988
thumb_func_end MOD83_02239954
thumb_func_start MOD83_02239988
MOD83_02239988: ; 0x02239988
push {r3, lr}
ldrh r0, [r0, #2]
cmp r0, #0
beq _0223999C
bl MOD83_022395D0
mov r0, #0xa
bl MOD83_02239580
pop {r3, pc}
_0223999C:
ldr r0, _022399C0 ; =MOD83_0223992C
bl WM_SetIndCallback
cmp r0, #0
beq _022399B2
bl MOD83_022395D0
mov r0, #0xa
bl MOD83_02239580
pop {r3, pc}
_022399B2:
mov r0, #1
bl MOD83_02239580
bl MOD83_022395EC
pop {r3, pc}
nop
_022399C0: .word MOD83_0223992C
thumb_func_end MOD83_02239988
thumb_func_start MOD83_022399C4
MOD83_022399C4: ; 0x022399C4
push {r3, lr}
ldr r0, _02239A04 ; =0x0223CAD4
ldr r1, [r0]
ldr r0, _02239A08 ; =0x00001150
ldr r0, [r1, r0]
cmp r0, #1
beq _022399D6
bl OS_Terminate
_022399D6:
mov r0, #3
bl MOD83_02239580
ldr r0, _02239A0C ; =MOD83_022398D8
bl WM_End
cmp r0, #2
beq _02239A00
mov r0, #9
bl MOD83_02239580
ldr r0, _02239A04 ; =0x0223CAD4
ldr r1, [r0]
ldr r0, _02239A10 ; =0x0000117C
ldr r1, [r1, r0]
cmp r1, #0
beq _022399FC
mov r0, #4
blx r1
_022399FC:
mov r0, #0
pop {r3, pc}
_02239A00:
mov r0, #1
pop {r3, pc}
.align 2, 0
_02239A04: .word 0x0223CAD4
_02239A08: .word 0x00001150
_02239A0C: .word MOD83_022398D8
_02239A10: .word 0x0000117C
thumb_func_end MOD83_022399C4
thumb_func_start MOD83_02239A14
MOD83_02239A14: ; 0x02239A14
push {r3, lr}
ldr r0, _02239A30 ; =0x0223CAD4
ldr r1, [r0]
ldr r0, _02239A34 ; =0x00001150
ldr r0, [r1, r0]
cmp r0, #1
bne _02239A28
bl MOD83_022399C4
pop {r3, pc}
_02239A28:
bl MOD83_02239A38
pop {r3, pc}
nop
_02239A30: .word 0x0223CAD4
_02239A34: .word 0x00001150
thumb_func_end MOD83_02239A14
thumb_func_start MOD83_02239A38
MOD83_02239A38: ; 0x02239A38
push {r3, lr}
mov r0, #3
bl MOD83_02239580
ldr r0, _02239A58 ; =MOD83_02239A5C
bl WM_Reset
cmp r0, #2
beq _02239A52
bl MOD83_022395D0
mov r0, #0
pop {r3, pc}
_02239A52:
mov r0, #1
pop {r3, pc}
nop
_02239A58: .word MOD83_02239A5C
thumb_func_end MOD83_02239A38
thumb_func_start MOD83_02239A5C
MOD83_02239A5C: ; 0x02239A5C
push {r4, lr}
add r4, r0, #0
ldrh r0, [r4, #2]
cmp r0, #0
beq _02239A84
mov r0, #9
bl MOD83_02239580
ldrh r0, [r4, #2]
bl MOD83_022395D0
ldr r0, _02239A90 ; =0x0223CAD4
ldr r1, [r0]
ldr r0, _02239A94 ; =0x0000117C
ldr r1, [r1, r0]
cmp r1, #0
beq _02239A8E
mov r0, #4
blx r1
pop {r4, pc}
_02239A84:
mov r0, #1
bl MOD83_02239580
bl MOD83_022399C4
_02239A8E:
pop {r4, pc}
.align 2, 0
_02239A90: .word 0x0223CAD4
_02239A94: .word 0x0000117C
thumb_func_end MOD83_02239A5C
thumb_func_start MOD83_02239A98
MOD83_02239A98: ; 0x02239A98
push {r3, r4, r5, r6, r7, lr}
add r3, r0, #0
add r2, #0x1f
mov r0, #0x1f
bic r2, r0
ldr r5, _02239AF4 ; =0x0223CAD4
ldr r4, _02239AF8 ; =0x00001150
str r2, [r5]
mov r0, #0
str r0, [r2, r4]
add r2, r4, #0
ldr r6, [r5]
mov r7, #1
add r2, #8
strh r7, [r6, r2]
add r2, r4, #0
ldr r6, [r5]
add r2, #0x28
str r3, [r6, r2]
add r2, r4, #0
ldr r3, [r5]
add r2, #0xc
strh r0, [r3, r2]
add r2, r4, #0
ldr r3, [r5]
add r2, #0xe
strh r0, [r3, r2]
add r2, r4, #0
ldr r3, [r5]
add r2, #0x2c
str r1, [r3, r2]
add r2, r4, #0
ldr r3, [r5]
mov r1, #0x10
add r2, #0x26
strh r1, [r3, r2]
ldr r3, [r5]
ldr r2, _02239AFC ; =0x00001048
sub r1, #0x11
str r0, [r3, r2]
ldr r0, [r5]
add r4, #0x1c
str r1, [r0, r4]
bl MOD83_02239908
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_02239AF4: .word 0x0223CAD4
_02239AF8: .word 0x00001150
_02239AFC: .word 0x00001048
thumb_func_end MOD83_02239A98
thumb_func_start MOD83_02239B00
MOD83_02239B00: ; 0x02239B00
push {r4, r5, r6, lr}
ldr r3, _02239B70 ; =0x0223CAD4
ldr r1, _02239B74 ; =0x00001048
ldr r2, [r3]
mov r4, #0
str r4, [r2, r1]
ldr r1, [r3]
ldr r2, _02239B78 ; =0x00001158
mov r4, #3
strh r4, [r1, r2]
ldrh r5, [r0]
ldr r4, [r3]
add r1, r2, #2
strh r5, [r4, r1]
ldr r4, [r0, #4]
add r0, r2, #0
ldr r1, [r3]
add r0, #8
str r4, [r1, r0]
ldr r4, [r3]
add r2, #8
ldr r0, [r4, r2]
mov r1, #0x68
sub r0, r0, #1
bl _u32_div_f
ldr r2, _02239B7C ; =0x0000115C
add r0, r0, #1
strh r0, [r4, r2]
ldr r4, _02239B70 ; =0x0223CAD4
mov r0, #0
ldr r3, [r4]
add r1, r2, #2
strh r0, [r3, r1]
add r1, r2, #0
ldr r3, [r4]
add r1, #8
str r0, [r3, r1]
ldr r1, [r4]
ldrh r2, [r1, r2]
cmp r2, #0
ble _02239B6C
mov r2, #0x46
lsl r2, r2, #6
add r3, r2, #0
add r6, r0, #0
sub r3, #0x24
_02239B5E:
add r1, r1, r0
strb r6, [r1, r2]
ldr r1, [r4]
add r0, r0, #1
ldrh r5, [r1, r3]
cmp r0, r5
blt _02239B5E
_02239B6C:
pop {r4, r5, r6, pc}
nop
_02239B70: .word 0x0223CAD4
_02239B74: .word 0x00001048
_02239B78: .word 0x00001158
_02239B7C: .word 0x0000115C
thumb_func_end MOD83_02239B00
thumb_func_start MOD83_02239B80
MOD83_02239B80: ; 0x02239B80
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, _02239C9C ; =0x0223CAD4
ldrh r1, [r4]
ldr r3, [r0]
ldr r0, _02239CA0 ; =0x0000115A
ldrh r2, [r3, r0]
cmp r2, r1
bne _02239B9C
add r0, r0, #6
ldr r1, [r3, r0]
ldr r0, [r4, #4]
cmp r1, r0
beq _02239BC8
_02239B9C:
ldr r0, _02239C9C ; =0x0223CAD4
ldr r3, [r0]
ldr r0, _02239CA4 ; =0x00001164
ldr r2, [r3, r0]
add r1, r2, #1
str r1, [r3, r0]
cmp r2, #0x10
blo _02239BC4
add r0, r4, #0
bl MOD83_02239B00
ldr r0, _02239C9C ; =0x0223CAD4
ldr r1, [r0]
ldr r0, _02239CA8 ; =0x0000117C
ldr r1, [r1, r0]
cmp r1, #0
beq _02239BC8
mov r0, #5
blx r1
b _02239BC8
_02239BC4:
mov r0, #0
pop {r3, r4, r5, pc}
_02239BC8:
ldrh r3, [r4, #2]
ldr r0, _02239CAC ; =0x0000FFFF
cmp r3, r0
bne _02239BF0
ldr r1, _02239C9C ; =0x0223CAD4
add r4, #8
ldr r2, [r1]
mov r1, #0xfe
lsl r1, r1, #4
add r1, r2, r1
add r0, r4, #0
mov r2, #0x68
bl MIi_CpuCopy32
ldr r0, _02239C9C ; =0x0223CAD4
mov r2, #1
ldr r1, [r0]
ldr r0, _02239CB0 ; =0x00001048
str r2, [r1, r0]
b _02239C98
_02239BF0:
ldr r1, _02239C9C ; =0x0223CAD4
ldr r0, _02239CB4 ; =0x00001168
ldr r2, [r1]
str r3, [r2, r0]
ldr r3, [r1]
add r1, r0, #0
sub r1, #0xc
ldrh r2, [r4, #2]
ldrh r1, [r3, r1]
cmp r2, r1
blo _02239C18
add r0, #0x14
ldr r1, [r3, r0]
cmp r1, #0
beq _02239C12
mov r0, #4
blx r1
_02239C12:
mov r0, #9
bl MOD83_02239580
_02239C18:
ldr r0, _02239C9C ; =0x0223CAD4
mov r2, #0x46
ldr r1, [r0]
lsl r2, r2, #6
ldrh r3, [r4, #2]
add r5, r1, r2
ldrb r1, [r5, r3]
cmp r1, #0
bne _02239C98
mov r1, #1
strb r1, [r5, r3]
ldr r5, [r0]
add r0, r2, #0
sub r0, #0x24
ldrh r0, [r5, r0]
ldrh r1, [r4, #2]
sub r0, r0, #1
cmp r1, r0
bne _02239C5C
add r3, r1, #0
add r1, r2, #0
sub r1, #8
sub r2, #0x20
mov r0, #0x68
ldr r1, [r5, r1]
mul r3, r0
ldr r2, [r5, r2]
add r4, #8
add r0, r4, #0
add r1, r1, r3
sub r2, r2, r3
bl MIi_CpuCopy32
b _02239C70
_02239C5C:
add r4, #8
sub r2, #8
add r0, r4, #0
ldr r4, [r5, r2]
mov r2, #0x68
add r3, r1, #0
mul r3, r2
add r1, r4, r3
bl MIi_CpuCopy32
_02239C70:
ldr r1, _02239C9C ; =0x0223CAD4
ldr r0, _02239CB8 ; =0x0000115E
ldr r3, [r1]
ldrh r2, [r3, r0]
add r2, r2, #1
strh r2, [r3, r0]
ldr r3, [r1]
sub r1, r0, #2
ldrh r2, [r3, r0]
ldrh r1, [r3, r1]
cmp r2, r1
bne _02239C98
add r0, #0x1e
ldr r1, [r3, r0]
cmp r1, #0
beq _02239C94
mov r0, #2
blx r1
_02239C94:
mov r0, #1
pop {r3, r4, r5, pc}
_02239C98:
mov r0, #0
pop {r3, r4, r5, pc}
.align 2, 0
_02239C9C: .word 0x0223CAD4
_02239CA0: .word 0x0000115A
_02239CA4: .word 0x00001164
_02239CA8: .word 0x0000117C
_02239CAC: .word 0x0000FFFF
_02239CB0: .word 0x00001048
_02239CB4: .word 0x00001168
_02239CB8: .word 0x0000115E
thumb_func_end MOD83_02239B80
thumb_func_start MOD83_02239CBC
MOD83_02239CBC: ; 0x02239CBC
push {r3, r4}
mov r2, #0
add r3, r2, #0
lsr r1, r1, #1
beq _02239CE4
_02239CC6:
lsl r4, r3, #1
ldrh r4, [r0, r4]
add r3, r3, #1
lsl r3, r3, #0x10
add r2, r2, r4
lsl r2, r2, #0x10
lsr r2, r2, #0x10
lsl r4, r2, #1
asr r2, r2, #0xf
orr r2, r4
lsl r2, r2, #0x10
lsr r3, r3, #0x10
lsr r2, r2, #0x10
cmp r3, r1
blo _02239CC6
_02239CE4:
add r0, r2, #0
pop {r3, r4}
bx lr
.align 2, 0
thumb_func_end MOD83_02239CBC
thumb_func_start MOD83_02239CEC
MOD83_02239CEC: ; 0x02239CEC
push {r4, lr}
sub sp, #8
ldr r0, _02239D80 ; =0x0223CAD4
add r1, sp, #0
ldr r4, [r0]
ldr r0, _02239D84 ; =0x00001170
add r3, r4, r0
ldrh r2, [r3]
sub r0, #0x16
strh r2, [r1]
ldrh r2, [r3, #2]
strh r2, [r1, #6]
ldrh r2, [r3, #4]
add r3, sp, #0
strh r2, [r1, #4]
ldrh r0, [r4, r0]
ldr r2, _02239D88 ; =0x00003FA2
strh r0, [r1, #2]
mov r1, #0
_02239D12:
ldrh r0, [r3]
add r1, r1, #1
eor r0, r2
strh r0, [r3]
ldrh r2, [r3]
add r3, r3, #2
cmp r1, #4
blt _02239D12
ldr r0, _02239D80 ; =0x0223CAD4
mov r2, #8
ldr r1, [r0]
ldr r0, _02239D8C ; =0x0000104C
add r0, r1, r0
add r1, sp, #0
bl FUN_0209521C
ldr r0, _02239D80 ; =0x0223CAD4
ldr r2, _02239D90 ; =0x00001178
ldr r3, [r0]
ldr r0, _02239D8C ; =0x0000104C
ldr r1, [r3, r2]
sub r2, #0x18
ldr r2, [r3, r2]
add r0, r3, r0
add r3, r1, #0
bl FUN_020952AC
ldr r1, _02239D80 ; =0x0223CAD4
ldr r2, _02239D8C ; =0x0000104C
ldr r1, [r1]
mov r0, #0
add r1, r1, r2
lsr r2, r2, #4
bl MIi_CpuClear32
ldr r0, _02239D80 ; =0x0223CAD4
ldr r1, _02239D90 ; =0x00001178
ldr r2, [r0]
ldr r0, [r2, r1]
sub r1, #0x18
ldr r1, [r2, r1]
bl MOD83_02239CBC
ldr r1, _02239D80 ; =0x0223CAD4
ldr r2, [r1]
ldr r1, _02239D94 ; =0x0000115A
ldrh r1, [r2, r1]
cmp r1, r0
bne _02239D7A
add sp, #8
mov r0, #1
pop {r4, pc}
_02239D7A:
mov r0, #0
add sp, #8
pop {r4, pc}
.align 2, 0
_02239D80: .word 0x0223CAD4
_02239D84: .word 0x00001170
_02239D88: .word 0x00003FA2
_02239D8C: .word 0x0000104C
_02239D90: .word 0x00001178
_02239D94: .word 0x0000115A
thumb_func_end MOD83_02239CEC
thumb_func_start MOD83_02239D98
MOD83_02239D98: ; 0x02239D98
ldr r0, _02239D9C ; =0x000016A0
bx lr
.align 2, 0
_02239D9C: .word 0x000016A0
thumb_func_end MOD83_02239D98
thumb_func_start MOD83_02239DA0
MOD83_02239DA0: ; 0x02239DA0
ldr r0, _02239DB8 ; =0x0223CAD4
ldr r2, [r0]
ldr r0, _02239DBC ; =0x00001048
ldr r1, [r2, r0]
cmp r1, #0
beq _02239DB2
sub r0, #0x68
add r0, r2, r0
bx lr
_02239DB2:
mov r0, #0
bx lr
nop
_02239DB8: .word 0x0223CAD4
_02239DBC: .word 0x00001048
thumb_func_end MOD83_02239DA0
thumb_func_start MOD83_02239DC0
MOD83_02239DC0: ; 0x02239DC0
push {r3, lr}
add r1, #0x24
mov r0, #0x1f
bic r1, r0
add r1, #0x20
mov r0, #0x56
bl AllocFromHeap
add r2, r0, #0
add r2, #0x20
mov r1, #0x1f
bic r2, r1
sub r1, r2, #4
str r0, [r1]
add r0, r2, #0
pop {r3, pc}
thumb_func_end MOD83_02239DC0
thumb_func_start MOD83_02239DE0
MOD83_02239DE0: ; 0x02239DE0
push {r3, lr}
cmp r1, #0
beq _02239DEE
sub r0, r1, #4
ldr r0, [r0]
bl FreeToHeap
_02239DEE:
pop {r3, pc}
thumb_func_end MOD83_02239DE0
thumb_func_start MOD83_02239DF0
MOD83_02239DF0: ; 0x02239DF0
push {r4, lr}
sub sp, #8
add r4, r0, #0
add r0, sp, #0
add r1, sp, #4
bl MOD04_021DD718
ldr r0, [sp]
neg r0, r0
bl MOD04_021D80E0
ldr r1, _02239E34 ; =0x00002610
str r0, [r4, r1]
ldr r0, [sp]
neg r2, r0
add r0, r1, #4
str r2, [r4, r0]
add r0, r1, #0
ldr r2, [sp, #4]
add r0, #8
str r2, [r4, r0]
sub r0, r1, #4
mov r2, #1
str r2, [r4, r0]
ldr r0, _02239E38 ; =0x0223CADC
mov r1, #0
str r1, [r0, #0xc]
add r0, r4, #0
bl MOD83_0222FA44
ldr r0, _02239E3C ; =0x0000100E
add sp, #8
pop {r4, pc}
nop
_02239E34: .word 0x00002610
_02239E38: .word 0x0223CADC
_02239E3C: .word 0x0000100E
thumb_func_end MOD83_02239DF0
thumb_func_start MOD83_02239E40
MOD83_02239E40: ; 0x02239E40
push {r4, lr}
add r4, r0, #0
ldr r0, _02239E70 ; =0x00002618
ldr r0, [r4, r0]
cmp r0, #5
beq _02239E50
cmp r0, #6
bne _02239E5C
_02239E50:
bl MOD04_021DDC1C
ldr r0, _02239E74 ; =0x0223CADC
mov r1, #1
str r1, [r0, #0xc]
b _02239E62
_02239E5C:
ldr r0, _02239E74 ; =0x0223CADC
mov r1, #1
str r1, [r0, #0xc]
_02239E62:
bl FUN_02033ED0
ldr r0, _02239E78 ; =0x0000260C
mov r1, #0
str r1, [r4, r0]
ldr r0, _02239E7C ; =0x0000100F
pop {r4, pc}
.align 2, 0
_02239E70: .word 0x00002618
_02239E74: .word 0x0223CADC
_02239E78: .word 0x0000260C
_02239E7C: .word 0x0000100F
thumb_func_end MOD83_02239E40
thumb_func_start MOD83_02239E80
MOD83_02239E80: ; 0x02239E80
push {lr}
sub sp, #0x3c
bl MOD04_021DDC1C
cmp r0, #4
beq _02239E94
cmp r0, #7
beq _02239EA0
cmp r0, #8
b _02239EA0
_02239E94:
add r0, sp, #0
bl MOD04_021DD9DC
add sp, #0x3c
mov r0, #1
pop {pc}
_02239EA0:
mov r0, #0
add sp, #0x3c
pop {pc}
.align 2, 0
thumb_func_end MOD83_02239E80
thumb_func_start MOD83_02239EA8
MOD83_02239EA8: ; 0x02239EA8
push {r3, r4}
ldr r3, _02239EBC ; =0x0223CADC
mov r4, #0
str r4, [r3]
ldr r3, _02239EC0 ; =0x000015F4
str r2, [r0, r3]
ldr r0, _02239EC4 ; =0x00001011
str r0, [r1]
pop {r3, r4}
bx lr
.align 2, 0
_02239EBC: .word 0x0223CADC
_02239EC0: .word 0x000015F4
_02239EC4: .word 0x00001011
thumb_func_end MOD83_02239EA8
thumb_func_start MOD83_02239EC8
MOD83_02239EC8: ; 0x02239EC8
push {r3, r4, r5, lr}
ldr r4, _02239EE4 ; =0x0223CADC
mov r5, #0
str r5, [r4, #8]
str r1, [r4, #4]
ldr r1, _02239EE8 ; =0x000015F4
str r3, [r0, r1]
ldr r0, _02239EEC ; =0x00001012
str r0, [r2]
ldr r0, _02239EF0 ; =MOD83_02239F28
bl MOD04_021DE404
pop {r3, r4, r5, pc}
nop
_02239EE4: .word 0x0223CADC
_02239EE8: .word 0x000015F4
_02239EEC: .word 0x00001012
_02239EF0: .word MOD83_02239F28
thumb_func_end MOD83_02239EC8
thumb_func_start MOD83_02239EF4
MOD83_02239EF4: ; 0x02239EF4
push {r3, lr}
cmp r1, #6
bhi _02239F1C
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02239F06: ; jump table
.short _02239F1C - _02239F06 - 2 ; case 0
.short _02239F1C - _02239F06 - 2 ; case 1
.short _02239F1C - _02239F06 - 2 ; case 2
.short _02239F14 - _02239F06 - 2 ; case 3
.short _02239F1C - _02239F06 - 2 ; case 4
.short _02239F1C - _02239F06 - 2 ; case 5
.short _02239F1C - _02239F06 - 2 ; case 6
_02239F14:
cmp r0, #1
bne _02239F1C
bl OS_Terminate
_02239F1C:
ldr r0, _02239F24 ; =0x0223CADC
mov r1, #1
str r1, [r0]
pop {r3, pc}
.align 2, 0
_02239F24: .word 0x0223CADC
thumb_func_end MOD83_02239EF4
thumb_func_start MOD83_02239F28
MOD83_02239F28: ; 0x02239F28
ldr r0, _02239F30 ; =0x0223CADC
mov r1, #1
str r1, [r0, #8]
bx lr
.align 2, 0
_02239F30: .word 0x0223CADC
thumb_func_end MOD83_02239F28
thumb_func_start MOD83_02239F34
MOD83_02239F34: ; 0x02239F34
push {r3, r4, r5, lr}
add r5, r1, #0
bl FUN_02006278
ldr r1, _0223A24C ; =0x0000260C
add r4, r0, #0
ldr r1, [r4, r1]
cmp r1, #1
bne _02239F4C
bl MOD83_02239E40
str r0, [r5]
_02239F4C:
ldr r0, _0223A250 ; =0x00002620
ldr r0, [r4, r0]
cmp r0, #0
beq _02239F62
blx r0
cmp r0, #1
bne _02239F62
add r0, r4, #0
bl MOD83_02239DF0
str r0, [r5]
_02239F62:
mov r3, #1
ldr r0, [r5]
lsl r3, r3, #0xc
sub r0, r0, r3
cmp r0, #0x12
bls _02239F70
b _0223A342
_02239F70:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02239F7C: ; jump table
.short _02239FA2 - _02239F7C - 2 ; case 0
.short _02239FB0 - _02239F7C - 2 ; case 1
.short _02239FCC - _02239F7C - 2 ; case 2
.short _02239FF4 - _02239F7C - 2 ; case 3
.short _0223A046 - _02239F7C - 2 ; case 4
.short _0223A05E - _02239F7C - 2 ; case 5
.short _0223A09A - _02239F7C - 2 ; case 6
.short _0223A0BE - _02239F7C - 2 ; case 7
.short _0223A0F2 - _02239F7C - 2 ; case 8
.short _0223A114 - _02239F7C - 2 ; case 9
.short _0223A14E - _02239F7C - 2 ; case 10
.short _0223A174 - _02239F7C - 2 ; case 11
.short _0223A1E8 - _02239F7C - 2 ; case 12
.short _0223A212 - _02239F7C - 2 ; case 13
.short _0223A342 - _02239F7C - 2 ; case 14
.short _0223A238 - _02239F7C - 2 ; case 15
.short _0223A2D4 - _02239F7C - 2 ; case 16
.short _0223A2F8 - _02239F7C - 2 ; case 17
.short _0223A31E - _02239F7C - 2 ; case 18
_02239FA2:
bl FUN_0202E49C
bl FUN_02088858
ldr r0, _0223A254 ; =0x00001001
str r0, [r5]
b _0223A342
_02239FB0:
bl FUN_0202E4C8
cmp r0, #0
beq _0223A092
ldr r0, _0223A258 ; =MOD83_02239DC0
ldr r1, _0223A25C ; =MOD83_02239DE0
bl MOD04_021DD968
ldr r0, [r4, #4]
bl FUN_02033310
ldr r0, _0223A260 ; =0x00001002
str r0, [r5]
b _0223A342
_02239FCC:
ldr r0, _0223A264 ; =0x000015E4
mov r1, #2
add r0, r4, r0
mov r2, #1
mov r3, #0x14
bl MOD04_021DDEE0
mov r0, #2
bl MOD04_021DDE7C
bl MOD04_021DDDCC
bl FUN_02033E74
ldr r0, _0223A268 ; =0x00001003
mov r1, #0
str r0, [r5]
ldr r0, _0223A26C ; =0x0000261C
str r1, [r4, r0]
b _0223A342
_02239FF4:
bl MOD04_021DDD7C
cmp r0, #0
bne _0223A002
bl MOD04_021DDCE8
b _0223A034
_0223A002:
add r0, r4, #0
bl MOD83_02239E80
cmp r0, #1
bne _0223A02C
ldr r0, _0223A26C ; =0x0000261C
ldr r1, [r4, r0]
cmp r1, #1
bne _0223A020
ldr r0, _0223A270 ; =0x0223CADC
mov r1, #3
str r1, [r0, #4]
ldr r0, _0223A274 ; =0x0000100D
str r0, [r5]
b _0223A034
_0223A020:
ldr r1, _0223A278 ; =0x021DD984
add r0, r0, #4
str r1, [r4, r0]
ldr r0, _0223A27C ; =0x00001004
str r0, [r5]
b _0223A034
_0223A02C:
add r0, r4, #0
bl MOD83_02239DF0
str r0, [r5]
_0223A034:
ldr r0, _0223A280 ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #2
tst r0, r1
beq _0223A092
ldr r0, _0223A26C ; =0x0000261C
mov r1, #1
str r1, [r4, r0]
b _0223A342
_0223A046:
bl MOD04_021DE05C
cmp r0, #0
bne _0223A058
add r0, r4, #0
bl MOD83_02239DF0
str r0, [r5]
b _0223A342
_0223A058:
ldr r0, _0223A284 ; =0x00001005
str r0, [r5]
b _0223A342
_0223A05E:
bl MOD04_021DDF4C
cmp r0, #3
bne _0223A06C
ldr r0, _0223A288 ; =0x00001006
str r0, [r5]
b _0223A088
_0223A06C:
cmp r0, #4
bne _0223A07A
add r0, r4, #0
bl MOD83_02239DF0
str r0, [r5]
b _0223A088
_0223A07A:
cmp r0, #5
bne _0223A088
ldr r0, _0223A270 ; =0x0223CADC
mov r1, #3
str r1, [r0, #4]
ldr r0, _0223A274 ; =0x0000100D
str r0, [r5]
_0223A088:
ldr r0, _0223A280 ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #2
tst r0, r1
bne _0223A094
_0223A092:
b _0223A342
_0223A094:
bl MOD04_021DDF40
b _0223A342
_0223A09A:
ldr r0, _0223A28C ; =MOD83_02239EF4
ldr r1, _0223A290 ; =0x0223B838
ldr r2, _0223A294 ; =0x0223B840
bl MOD04_021DE45C
cmp r0, #0
bne _0223A0B2
add r0, r4, #0
bl MOD83_02239DF0
str r0, [r5]
b _0223A342
_0223A0B2:
ldr r2, _0223A298 ; =0x00001007
add r0, r4, #0
add r1, r5, #0
bl MOD83_02239EA8
b _0223A342
_0223A0BE:
ldr r0, _0223A26C ; =0x0000261C
ldr r0, [r4, r0]
cmp r0, #1
bne _0223A0D4
add r0, r4, #0
mov r1, #3
add r2, r5, #0
add r3, #0xc
bl MOD83_02239EC8
b _0223A342
_0223A0D4:
ldr r0, _0223A29C ; =0x0223B854
add r1, r0, #0
add r2, r0, #0
bl MOD04_021DE3D0
cmp r0, #0
bne _0223A0EC
add r0, r4, #0
bl MOD83_02239DF0
str r0, [r5]
b _0223A342
_0223A0EC:
ldr r0, _0223A2A0 ; =0x00001008
str r0, [r5]
b _0223A342
_0223A0F2:
ldr r0, _0223A2A4 ; =0x000015F8
add r0, r4, r0
bl MOD04_021DE3AC
cmp r0, #0
bne _0223A108
add r0, r4, #0
bl MOD83_02239DF0
str r0, [r5]
b _0223A342
_0223A108:
ldr r2, _0223A2A8 ; =0x00001009
add r0, r4, #0
add r1, r5, #0
bl MOD83_02239EA8
b _0223A342
_0223A114:
ldr r0, _0223A2A4 ; =0x000015F8
ldr r0, [r4, r0]
cmp r0, #1
beq _0223A12A
add r0, r4, #0
mov r1, #2
add r2, r5, #0
add r3, #0xd
bl MOD83_02239EC8
b _0223A342
_0223A12A:
ldr r0, _0223A2AC ; =0x0223CAEC
mov r1, #0
mov r2, #0xa
bl MOD04_021DE364
cmp r0, #0
bne _0223A142
add r0, r4, #0
bl MOD83_02239DF0
str r0, [r5]
b _0223A342
_0223A142:
ldr r2, _0223A2B0 ; =0x0000100A
add r0, r4, #0
add r1, r5, #0
bl MOD83_02239EA8
b _0223A342
_0223A14E:
ldr r1, _0223A2B4 ; =0x000015FC
ldr r0, _0223A2AC ; =0x0223CAEC
add r1, r4, r1
add r2, r3, #0
bl MOD04_021DE330
cmp r0, #0
bne _0223A168
add r0, r4, #0
bl MOD83_02239DF0
str r0, [r5]
b _0223A342
_0223A168:
ldr r0, _0223A2B8 ; =0x0000100B
mov r1, #0
str r0, [r5]
ldr r0, _0223A2BC ; =0x00002608
str r1, [r4, r0]
b _0223A342
_0223A174:
ldr r0, _0223A270 ; =0x0223CADC
ldr r0, [r0]
cmp r0, #0
bne _0223A1C4
ldr r0, _0223A280 ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #2
tst r0, r1
beq _0223A194
add r0, r4, #0
mov r1, #3
add r2, r5, #0
add r3, #0xc
bl MOD83_02239EC8
b _0223A342
_0223A194:
mov r1, #0x26
lsl r1, r1, #8
add r0, r4, r1
add r1, r1, #4
add r1, r4, r1
bl MOD04_021DE2D0
cmp r0, #1
bne _0223A21A
mov r1, #0x26
lsl r1, r1, #8
ldr r2, [r4, r1]
add r1, r1, #4
mov r0, #0x64
ldr r1, [r4, r1]
mul r0, r2
bl _u32_div_f
ldr r1, _0223A2BC ; =0x00002608
ldr r2, [r4, r1]
cmp r2, r0
beq _0223A21A
str r0, [r4, r1]
b _0223A342
_0223A1C4:
ldr r0, _0223A26C ; =0x0000261C
ldr r0, [r4, r0]
cmp r0, #0
bne _0223A1DA
add r0, r4, #0
mov r1, #1
add r2, r5, #0
add r3, #0xd
bl MOD83_02239EC8
b _0223A342
_0223A1DA:
add r0, r4, #0
mov r1, #3
add r2, r5, #0
add r3, #0xd
bl MOD83_02239EC8
b _0223A342
_0223A1E8:
bl MOD04_021DE308
cmp r0, #0
bne _0223A1F6
ldr r0, _0223A274 ; =0x0000100D
str r0, [r5]
b _0223A342
_0223A1F6:
ldr r0, _0223A250 ; =0x00002620
mov r1, #0
str r1, [r4, r0]
bl FUN_02033ED0
bl FUN_02033364
bl FUN_02088868
bl FUN_0202E4F0
ldr r0, _0223A270 ; =0x0223CADC
ldr r0, [r0, #4]
pop {r3, r4, r5, pc}
_0223A212:
bl MOD04_021DDB40
cmp r0, #1
beq _0223A21C
_0223A21A:
b _0223A342
_0223A21C:
ldr r0, _0223A250 ; =0x00002620
mov r1, #0
str r1, [r4, r0]
bl FUN_02033ED0
bl FUN_020332DC
bl FUN_02088868
bl FUN_0202E4F0
ldr r0, _0223A270 ; =0x0223CADC
ldr r0, [r0, #4]
pop {r3, r4, r5, pc}
_0223A238:
ldr r0, _0223A270 ; =0x0223CADC
ldr r0, [r0, #0xc]
cmp r0, #1
beq _0223A242
b _0223A342
_0223A242:
add r0, r4, #0
bl MOD83_022307B4
ldr r0, _0223A2C0 ; =0x00002618
b _0223A2C4
.align 2, 0
_0223A24C: .word 0x0000260C
_0223A250: .word 0x00002620
_0223A254: .word 0x00001001
_0223A258: .word MOD83_02239DC0
_0223A25C: .word MOD83_02239DE0
_0223A260: .word 0x00001002
_0223A264: .word 0x000015E4
_0223A268: .word 0x00001003
_0223A26C: .word 0x0000261C
_0223A270: .word 0x0223CADC
_0223A274: .word 0x0000100D
_0223A278: .word 0x021DD984
_0223A27C: .word 0x00001004
_0223A280: .word 0x021C48B8
_0223A284: .word 0x00001005
_0223A288: .word 0x00001006
_0223A28C: .word MOD83_02239EF4
_0223A290: .word 0x0223B838
_0223A294: .word 0x0223B840
_0223A298: .word 0x00001007
_0223A29C: .word 0x0223B854
_0223A2A0: .word 0x00001008
_0223A2A4: .word 0x000015F8
_0223A2A8: .word 0x00001009
_0223A2AC: .word 0x0223CAEC
_0223A2B0: .word 0x0000100A
_0223A2B4: .word 0x000015FC
_0223A2B8: .word 0x0000100B
_0223A2BC: .word 0x00002608
_0223A2C0: .word 0x00002618
_0223A2C4:
ldr r0, [r4, r0]
cmp r0, #6
bne _0223A2CE
bl MOD04_021DDBBC
_0223A2CE:
ldr r0, _0223A348 ; =0x00001010
str r0, [r5]
b _0223A342
_0223A2D4:
ldr r0, _0223A34C ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #1
tst r0, r1
beq _0223A342
ldr r0, _0223A350 ; =0x00002620
mov r1, #0
str r1, [r4, r0]
bl MOD04_021DD6F0
bl FUN_020332DC
bl FUN_02088868
bl FUN_0202E4F0
mov r0, #4
pop {r3, r4, r5, pc}
_0223A2F8:
ldr r0, _0223A354 ; =0x0223CADC
ldr r1, [r0]
cmp r1, #1
bne _0223A30C
mov r1, #0
str r1, [r0]
ldr r0, _0223A358 ; =0x000015F4
ldr r0, [r4, r0]
str r0, [r5]
b _0223A342
_0223A30C:
ldr r0, _0223A34C ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #2
tst r0, r1
beq _0223A342
ldr r0, _0223A35C ; =0x0000261C
mov r1, #1
str r1, [r4, r0]
b _0223A342
_0223A31E:
ldr r0, _0223A354 ; =0x0223CADC
ldr r1, [r0, #8]
cmp r1, #1
bne _0223A332
mov r1, #0
str r1, [r0, #8]
ldr r0, _0223A358 ; =0x000015F4
ldr r0, [r4, r0]
str r0, [r5]
b _0223A342
_0223A332:
ldr r0, _0223A34C ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #2
tst r0, r1
beq _0223A342
ldr r0, _0223A35C ; =0x0000261C
mov r1, #1
str r1, [r4, r0]
_0223A342:
mov r0, #0
pop {r3, r4, r5, pc}
nop
_0223A348: .word 0x00001010
_0223A34C: .word 0x021C48B8
_0223A350: .word 0x00002620
_0223A354: .word 0x0223CADC
_0223A358: .word 0x000015F4
_0223A35C: .word 0x0000261C
thumb_func_end MOD83_02239F34
.section .rodata
; 0x0223A360
.byte 0x8D, 0xE4, 0x22, 0x02, 0x41, 0xE5, 0x22, 0x02, 0x51, 0xE8, 0x22, 0x02, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xF9, 0xED, 0x22, 0x02, 0x8D, 0xEE, 0x22, 0x02
.byte 0x49, 0xF0, 0x22, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
.byte 0x85, 0xF9, 0x22, 0x02, 0xB1, 0xF9, 0x22, 0x02, 0xB9, 0xF9, 0x22, 0x02, 0xC5, 0xF9, 0x22, 0x02
.byte 0x81, 0xDA, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x55, 0x09, 0x23, 0x02, 0x11, 0x0A, 0x23, 0x02, 0x7D, 0x13, 0x23, 0x02
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xA9, 0x23, 0x23, 0x02, 0x89, 0x27, 0x23, 0x02, 0xA5, 0x30, 0x23, 0x02
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x03, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x1C, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x65, 0x67, 0x23, 0x02
.byte 0x05, 0x68, 0x23, 0x02, 0xD1, 0x6D, 0x23, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0x14, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x02, 0x00, 0x01, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x1F, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x60, 0x00, 0x00, 0x00, 0x41, 0x58, 0x56, 0x4A, 0x00, 0x00, 0x01, 0x00, 0x41, 0x58, 0x56, 0x45
.byte 0x00, 0x00, 0x02, 0x00, 0x41, 0x58, 0x56, 0x46, 0x00, 0x00, 0x03, 0x00, 0x41, 0x58, 0x56, 0x44
.byte 0x00, 0x00, 0x05, 0x00, 0x41, 0x58, 0x56, 0x53, 0x00, 0x00, 0x07, 0x00, 0x41, 0x58, 0x56, 0x49
.byte 0x00, 0x00, 0x04, 0x00, 0x41, 0x58, 0x50, 0x4A, 0x00, 0x01, 0x01, 0x00, 0x41, 0x58, 0x50, 0x45
.byte 0x00, 0x01, 0x02, 0x00, 0x41, 0x58, 0x50, 0x46, 0x00, 0x01, 0x03, 0x00, 0x41, 0x58, 0x50, 0x44
.byte 0x00, 0x01, 0x05, 0x00, 0x41, 0x58, 0x50, 0x53, 0x00, 0x01, 0x07, 0x00, 0x41, 0x58, 0x50, 0x49
.byte 0x00, 0x01, 0x04, 0x00, 0x42, 0x50, 0x52, 0x4A, 0x01, 0x03, 0x01, 0x00, 0x42, 0x50, 0x52, 0x45
.byte 0x01, 0x03, 0x02, 0x00, 0x42, 0x50, 0x52, 0x46, 0x01, 0x03, 0x03, 0x00, 0x42, 0x50, 0x52, 0x44
.byte 0x01, 0x03, 0x05, 0x00, 0x42, 0x50, 0x52, 0x53, 0x01, 0x03, 0x07, 0x00, 0x42, 0x50, 0x52, 0x49
.byte 0x01, 0x03, 0x04, 0x00, 0x42, 0x50, 0x47, 0x4A, 0x01, 0x02, 0x01, 0x00, 0x42, 0x50, 0x47, 0x45
.byte 0x01, 0x02, 0x02, 0x00, 0x42, 0x50, 0x47, 0x46, 0x01, 0x02, 0x03, 0x00, 0x42, 0x50, 0x47, 0x44
.byte 0x01, 0x02, 0x05, 0x00, 0x42, 0x50, 0x47, 0x53, 0x01, 0x02, 0x07, 0x00, 0x42, 0x50, 0x47, 0x49
.byte 0x01, 0x02, 0x04, 0x00, 0x42, 0x50, 0x45, 0x4A, 0x02, 0x04, 0x01, 0x00, 0x42, 0x50, 0x45, 0x45
.byte 0x02, 0x04, 0x02, 0x00, 0x42, 0x50, 0x45, 0x46, 0x02, 0x04, 0x03, 0x00, 0x42, 0x50, 0x45, 0x44
.byte 0x02, 0x04, 0x05, 0x00, 0x42, 0x50, 0x45, 0x53, 0x02, 0x04, 0x07, 0x00, 0x42, 0x50, 0x45, 0x49
.byte 0x02, 0x04, 0x04, 0x00, 0xC8, 0x7E, 0x66, 0x71, 0x46, 0x0B, 0xE6, 0x6F, 0x17, 0x8A, 0x5C, 0x7D
.byte 0xEA, 0xE1, 0x93, 0xFD, 0xEE, 0xFA, 0x99, 0x84, 0xFE, 0x35, 0x02, 0xB9, 0x7F, 0x4F, 0xF1, 0x19
.byte 0x74, 0xA2, 0x0F, 0x65, 0x8A, 0x9C, 0x44, 0x81, 0x0C, 0x1F, 0x94, 0xE4, 0xC0, 0xB6, 0xD7, 0x20
.byte 0xEE, 0x11, 0x9A, 0x8D, 0x27, 0x33, 0x9B, 0x7B, 0x02, 0xE9, 0x33, 0x11, 0xDC, 0xCF, 0x72, 0xD9
.byte 0xA8, 0x78, 0x12, 0x8C, 0x3B, 0x60, 0xD5, 0x24, 0xB8, 0xD9, 0xFC, 0x8D, 0x15, 0xBA, 0x0B, 0x90
.byte 0xA3, 0xBD, 0x3A, 0xE4, 0x01, 0x18, 0xBA, 0xF9, 0x65, 0xA5, 0x15, 0x37, 0xDC, 0x7A, 0x48, 0x5C
.byte 0x3A, 0x55, 0x35, 0x43, 0xE2, 0xC6, 0x66, 0xBA, 0x21, 0xEA, 0x67, 0x2E, 0xA8, 0x29, 0x03, 0xD7
.byte 0x1F, 0x0F, 0xC6, 0xDE, 0x1B, 0xE2, 0xA1, 0xCA, 0x21, 0x51, 0xFE, 0xB9, 0x68, 0x17, 0x3C, 0xEB
.byte 0x04, 0x54, 0xE0, 0xBD, 0x14, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x01, 0x03, 0x02, 0x04, 0x03, 0x05, 0x02
.byte 0x06, 0x02, 0x07, 0x00, 0x08, 0x05, 0x09, 0x05, 0x0A, 0x05, 0x0B, 0x04, 0xFF, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.section .data
; 0x0223A780
.byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
.byte 0x0E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
.byte 0x0E, 0x00, 0x00, 0x00, 0x65, 0x02, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x81, 0x53, 0x83, 0x53, 0x85, 0x53, 0x87, 0x53, 0x89, 0x53, 0x8B, 0x53, 0x8D, 0x53, 0x8F, 0x53
.byte 0x91, 0x53, 0x93, 0x53, 0x95, 0x53, 0x97, 0x53, 0x99, 0x53, 0x9B, 0x53, 0x9D, 0x53, 0x9F, 0x53
.byte 0x9D, 0x53, 0x9B, 0x53, 0x99, 0x53, 0x97, 0x53, 0x95, 0x53, 0x93, 0x53, 0x91, 0x53, 0x8F, 0x53
.byte 0x8D, 0x53, 0x8B, 0x53, 0x89, 0x53, 0x87, 0x53, 0x85, 0x53, 0x83, 0x53, 0x00, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
.byte 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x18, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x25, 0xDD, 0x22, 0x02, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x41, 0xDF, 0x22, 0x02, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0xED, 0xDF, 0x22, 0x02, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0xCD, 0xDE, 0x22, 0x02, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x49, 0xE0, 0x22, 0x02, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
.byte 0x99, 0xE0, 0x22, 0x02, 0x64, 0x61, 0x74, 0x61, 0x2F, 0x65, 0x6F, 0x6F, 0x2E, 0x64, 0x61, 0x74
.byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x01, 0x15, 0x00, 0x70, 0xB8, 0x23, 0x02, 0x60, 0xB8, 0x23, 0x02
.byte 0x00, 0x00, 0xFF, 0xFF, 0x21, 0x00, 0xE1, 0x00, 0x23, 0x00, 0xC0, 0x01, 0x25, 0x00, 0xD2, 0x01
.byte 0x27, 0x00, 0xEA, 0x00, 0x28, 0x00, 0xEB, 0x00, 0x29, 0x00, 0xBF, 0x01, 0x2A, 0x00, 0xBD, 0x01
.byte 0x2B, 0x00, 0xAD, 0x01, 0x2C, 0x00, 0xBE, 0x01, 0x2E, 0x00, 0xB1, 0x01, 0x30, 0x00, 0xA2, 0x00
.byte 0x31, 0x00, 0xA3, 0x00, 0x32, 0x00, 0xA4, 0x00, 0x33, 0x00, 0xA5, 0x00, 0x34, 0x00, 0xA6, 0x00
.byte 0x35, 0x00, 0xA7, 0x00, 0x36, 0x00, 0xA8, 0x00, 0x37, 0x00, 0xA9, 0x00, 0x38, 0x00, 0xAA, 0x00
.byte 0x39, 0x00, 0xAB, 0x00, 0x3A, 0x00, 0xC4, 0x01, 0x3B, 0x00, 0xC5, 0x01, 0x3C, 0x00, 0xEC, 0x00
.byte 0x3E, 0x00, 0xED, 0x00, 0x3F, 0x00, 0xAC, 0x01, 0x41, 0x00, 0xAC, 0x00, 0x42, 0x00, 0xAD, 0x00
.byte 0x43, 0x00, 0xAE, 0x00, 0x44, 0x00, 0xAF, 0x00, 0x45, 0x00, 0xB0, 0x00, 0x46, 0x00, 0xB1, 0x00
.byte 0x47, 0x00, 0xB2, 0x00, 0x48, 0x00, 0xB3, 0x00, 0x49, 0x00, 0xB4, 0x00, 0x4A, 0x00, 0xB5, 0x00
.byte 0x4B, 0x00, 0xB6, 0x00, 0x4C, 0x00, 0xB7, 0x00, 0x4D, 0x00, 0xB8, 0x00, 0x4E, 0x00, 0xB9, 0x00
.byte 0x4F, 0x00, 0xBA, 0x00, 0x50, 0x00, 0xBB, 0x00, 0x51, 0x00, 0xBC, 0x00, 0x52, 0x00, 0xBD, 0x00
.byte 0x53, 0x00, 0xBE, 0x00, 0x54, 0x00, 0xBF, 0x00, 0x55, 0x00, 0xC0, 0x00, 0x56, 0x00, 0xC1, 0x00
.byte 0x57, 0x00, 0xC2, 0x00, 0x58, 0x00, 0xC3, 0x00, 0x59, 0x00, 0xC4, 0x00, 0x5A, 0x00, 0xC5, 0x00
.byte 0x61, 0x00, 0xC6, 0x00, 0x62, 0x00, 0xC7, 0x00, 0x63, 0x00, 0xC8, 0x00, 0x64, 0x00, 0xC9, 0x00
.byte 0x65, 0x00, 0xCA, 0x00, 0x66, 0x00, 0xCB, 0x00, 0x67, 0x00, 0xCC, 0x00, 0x68, 0x00, 0xCD, 0x00
.byte 0x69, 0x00, 0xCE, 0x00, 0x6A, 0x00, 0xCF, 0x00, 0x6B, 0x00, 0xD0, 0x00, 0x6C, 0x00, 0xD1, 0x00
.byte 0x6D, 0x00, 0xD2, 0x00, 0x6E, 0x00, 0xD3, 0x00, 0x6F, 0x00, 0xD4, 0x00, 0x70, 0x00, 0xD5, 0x00
.byte 0x71, 0x00, 0xD6, 0x00, 0x72, 0x00, 0xD7, 0x00, 0x73, 0x00, 0xD8, 0x00, 0x74, 0x00, 0xD9, 0x00
.byte 0x75, 0x00, 0xDA, 0x00, 0x76, 0x00, 0xDB, 0x00, 0x77, 0x00, 0xDC, 0x00, 0x78, 0x00, 0xDD, 0x00
.byte 0x79, 0x00, 0xDE, 0x00, 0x7A, 0x00, 0xDF, 0x00, 0x81, 0x00, 0x02, 0x00, 0x82, 0x00, 0x03, 0x00
.byte 0x83, 0x00, 0x04, 0x00, 0x84, 0x00, 0x05, 0x00, 0x85, 0x00, 0x06, 0x00, 0x86, 0x00, 0x07, 0x00
.byte 0x87, 0x00, 0x08, 0x00, 0x88, 0x00, 0x09, 0x00, 0x89, 0x00, 0x0A, 0x00, 0x8A, 0x00, 0x0B, 0x00
.byte 0x8B, 0x00, 0x0C, 0x00, 0x8C, 0x00, 0x0D, 0x00, 0x8D, 0x00, 0x0E, 0x00, 0x8E, 0x00, 0x0F, 0x00
.byte 0x8F, 0x00, 0x10, 0x00, 0x90, 0x00, 0x11, 0x00, 0x91, 0x00, 0x12, 0x00, 0x92, 0x00, 0x13, 0x00
.byte 0x93, 0x00, 0x14, 0x00, 0x94, 0x00, 0x15, 0x00, 0x95, 0x00, 0x16, 0x00, 0x96, 0x00, 0x17, 0x00
.byte 0x97, 0x00, 0x18, 0x00, 0x98, 0x00, 0x19, 0x00, 0x99, 0x00, 0x1A, 0x00, 0x9A, 0x00, 0x1B, 0x00
.byte 0x9B, 0x00, 0x1C, 0x00, 0x9C, 0x00, 0x1D, 0x00, 0x9D, 0x00, 0x1E, 0x00, 0x9E, 0x00, 0x1F, 0x00
.byte 0x9F, 0x00, 0x20, 0x00, 0xA0, 0x00, 0x21, 0x00, 0xA1, 0x00, 0x22, 0x00, 0xA2, 0x00, 0x23, 0x00
.byte 0xA3, 0x00, 0x24, 0x00, 0xA4, 0x00, 0x25, 0x00, 0xA5, 0x00, 0x26, 0x00, 0xA6, 0x00, 0x27, 0x00
.byte 0xA7, 0x00, 0x28, 0x00, 0xA8, 0x00, 0x29, 0x00, 0xA9, 0x00, 0x2A, 0x00, 0xAA, 0x00, 0x2B, 0x00
.byte 0xAB, 0x00, 0x2C, 0x00, 0xAC, 0x00, 0x2D, 0x00, 0xAD, 0x00, 0x2E, 0x00, 0xAE, 0x00, 0x2F, 0x00
.byte 0xAF, 0x00, 0x30, 0x00, 0xB0, 0x00, 0x31, 0x00, 0xB1, 0x00, 0x32, 0x00, 0xB2, 0x00, 0x33, 0x00
.byte 0xB3, 0x00, 0x34, 0x00, 0xB4, 0x00, 0x35, 0x00, 0xB5, 0x00, 0x36, 0x00, 0xB6, 0x00, 0x37, 0x00
.byte 0xB7, 0x00, 0x38, 0x00, 0xB8, 0x00, 0x39, 0x00, 0xB9, 0x00, 0x3A, 0x00, 0xBA, 0x00, 0x3B, 0x00
.byte 0xBB, 0x00, 0x3C, 0x00, 0xBC, 0x00, 0x3D, 0x00, 0xBD, 0x00, 0x3E, 0x00, 0xBE, 0x00, 0x3F, 0x00
.byte 0xBF, 0x00, 0x40, 0x00, 0xC0, 0x00, 0x41, 0x00, 0xC1, 0x00, 0x42, 0x00, 0xC2, 0x00, 0x43, 0x00
.byte 0xC3, 0x00, 0x44, 0x00, 0xC4, 0x00, 0x45, 0x00, 0xC5, 0x00, 0x46, 0x00, 0xC6, 0x00, 0x47, 0x00
.byte 0xC7, 0x00, 0x48, 0x00, 0xC8, 0x00, 0x49, 0x00, 0xC9, 0x00, 0x4A, 0x00, 0xCA, 0x00, 0x4B, 0x00
.byte 0xCB, 0x00, 0x4C, 0x00, 0xCC, 0x00, 0x4D, 0x00, 0xCD, 0x00, 0x4E, 0x00, 0xCF, 0x00, 0x4F, 0x00
.byte 0xD2, 0x00, 0x50, 0x00, 0xD3, 0x00, 0x51, 0x00, 0xE1, 0x00, 0x52, 0x00, 0xE2, 0x00, 0x53, 0x00
.byte 0xE3, 0x00, 0x54, 0x00, 0xE4, 0x00, 0x55, 0x00, 0xE5, 0x00, 0x56, 0x00, 0xE6, 0x00, 0x57, 0x00
.byte 0xE7, 0x00, 0x58, 0x00, 0xE8, 0x00, 0x59, 0x00, 0xE9, 0x00, 0x5A, 0x00, 0xEA, 0x00, 0x5B, 0x00
.byte 0xEB, 0x00, 0x5C, 0x00, 0xEC, 0x00, 0x5D, 0x00, 0xED, 0x00, 0x5E, 0x00, 0xEE, 0x00, 0x5F, 0x00
.byte 0xEF, 0x00, 0x60, 0x00, 0xF0, 0x00, 0x61, 0x00, 0xF1, 0x00, 0x62, 0x00, 0xF2, 0x00, 0x63, 0x00
.byte 0xF3, 0x00, 0x64, 0x00, 0xF4, 0x00, 0x65, 0x00, 0xF5, 0x00, 0x66, 0x00, 0xF6, 0x00, 0x67, 0x00
.byte 0xF7, 0x00, 0x68, 0x00, 0xF8, 0x00, 0x69, 0x00, 0xF9, 0x00, 0x6A, 0x00, 0xFA, 0x00, 0x6B, 0x00
.byte 0xFB, 0x00, 0x6C, 0x00, 0xFC, 0x00, 0x6D, 0x00, 0xFD, 0x00, 0x6E, 0x00, 0xFE, 0x00, 0x6F, 0x00
.byte 0xFF, 0x00, 0x70, 0x00, 0x00, 0x01, 0x71, 0x00, 0x01, 0x01, 0x72, 0x00, 0x02, 0x01, 0x73, 0x00
.byte 0x03, 0x01, 0x74, 0x00, 0x04, 0x01, 0x75, 0x00, 0x05, 0x01, 0x76, 0x00, 0x06, 0x01, 0x77, 0x00
.byte 0x07, 0x01, 0x78, 0x00, 0x08, 0x01, 0x79, 0x00, 0x09, 0x01, 0x7A, 0x00, 0x0A, 0x01, 0x7B, 0x00
.byte 0x0B, 0x01, 0x7C, 0x00, 0x0C, 0x01, 0x7D, 0x00, 0x0D, 0x01, 0x7E, 0x00, 0x0E, 0x01, 0x7F, 0x00
.byte 0x0F, 0x01, 0x80, 0x00, 0x10, 0x01, 0x81, 0x00, 0x11, 0x01, 0x82, 0x00, 0x12, 0x01, 0x83, 0x00
.byte 0x13, 0x01, 0x84, 0x00, 0x14, 0x01, 0x85, 0x00, 0x15, 0x01, 0x86, 0x00, 0x16, 0x01, 0x87, 0x00
.byte 0x17, 0x01, 0x88, 0x00, 0x18, 0x01, 0x89, 0x00, 0x19, 0x01, 0x8A, 0x00, 0x1A, 0x01, 0x8B, 0x00
.byte 0x1B, 0x01, 0x8C, 0x00, 0x1C, 0x01, 0x8D, 0x00, 0x1D, 0x01, 0x8E, 0x00, 0x1E, 0x01, 0x8F, 0x00
.byte 0x1F, 0x01, 0x90, 0x00, 0x20, 0x01, 0x91, 0x00, 0x21, 0x01, 0x92, 0x00, 0x22, 0x01, 0x93, 0x00
.byte 0x23, 0x01, 0x94, 0x00, 0x24, 0x01, 0x95, 0x00, 0x25, 0x01, 0x96, 0x00, 0x26, 0x01, 0x97, 0x00
.byte 0x27, 0x01, 0x98, 0x00, 0x28, 0x01, 0x99, 0x00, 0x29, 0x01, 0x9A, 0x00, 0x2A, 0x01, 0x9B, 0x00
.byte 0x2B, 0x01, 0x9C, 0x00, 0x2C, 0x01, 0x9D, 0x00, 0x2D, 0x01, 0x9E, 0x00, 0x2F, 0x01, 0x9F, 0x00
.byte 0x32, 0x01, 0xA0, 0x00, 0x33, 0x01, 0xA1, 0x00, 0x40, 0x01, 0xEA, 0x00, 0x41, 0x01, 0xEB, 0x00
.byte 0x42, 0x01, 0xE8, 0x00, 0x43, 0x01, 0xE9, 0x00, 0x46, 0x01, 0xE6, 0x00, 0x47, 0x01, 0xE5, 0x00
.byte 0x48, 0x01, 0xEE, 0x00, 0x49, 0x01, 0xEF, 0x00, 0x4A, 0x01, 0xE4, 0x00, 0x4B, 0x01, 0x12, 0x01
.byte 0x4D, 0x01, 0x1C, 0x01, 0x4E, 0x01, 0x1E, 0x01, 0x4F, 0x01, 0x1D, 0x01, 0x50, 0x01, 0x1B, 0x01
.byte 0x7C, 0x01, 0x9F, 0x01, 0x7D, 0x01, 0xA0, 0x01, 0x80, 0x01, 0x5F, 0x01, 0x81, 0x01, 0x60, 0x01
.byte 0x82, 0x01, 0x61, 0x01, 0x84, 0x01, 0x63, 0x01, 0x87, 0x01, 0x66, 0x01, 0x89, 0x01, 0x68, 0x01
.byte 0x8A, 0x01, 0x69, 0x01, 0x8B, 0x01, 0x6A, 0x01, 0x8C, 0x01, 0x6B, 0x01, 0x8D, 0x01, 0x6C, 0x01
.byte 0x8E, 0x01, 0x6D, 0x01, 0x8F, 0x01, 0x6E, 0x01, 0x93, 0x01, 0x72, 0x01, 0x94, 0x01, 0x73, 0x01
.byte 0x96, 0x01, 0x75, 0x01, 0x9A, 0x01, 0x79, 0x01, 0x9B, 0x01, 0x7A, 0x01, 0x9C, 0x01, 0x7B, 0x01
.byte 0x9F, 0x01, 0x7E, 0x01, 0xA0, 0x01, 0x7F, 0x01, 0xA1, 0x01, 0x80, 0x01, 0xA2, 0x01, 0x81, 0x01
.byte 0xA4, 0x01, 0x83, 0x01, 0xA7, 0x01, 0x86, 0x01, 0xA9, 0x01, 0x88, 0x01, 0xAA, 0x01, 0x89, 0x01
.byte 0xAB, 0x01, 0x8A, 0x01, 0xAC, 0x01, 0x8B, 0x01, 0xAD, 0x01, 0x8C, 0x01, 0xAE, 0x01, 0x8D, 0x01
.byte 0xAF, 0x01, 0x8E, 0x01, 0xB3, 0x01, 0x92, 0x01, 0xB4, 0x01, 0x93, 0x01, 0xB6, 0x01, 0x95, 0x01
.byte 0xBA, 0x01, 0x99, 0x01, 0xBB, 0x01, 0x9A, 0x01, 0xBC, 0x01, 0x9B, 0x01, 0x00, 0x01, 0x02, 0x03
.byte 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0xAD, 0x00, 0x23, 0x02
.byte 0x13, 0x00, 0x00, 0x00, 0xE9, 0xFD, 0x22, 0x02, 0x12, 0x00, 0x00, 0x00, 0x11, 0x00, 0x23, 0x02
.byte 0x13, 0x00, 0x00, 0x00, 0xE9, 0xFD, 0x22, 0x02, 0x12, 0x00, 0x00, 0x00, 0x49, 0x00, 0x23, 0x02
.byte 0x13, 0x00, 0x00, 0x00, 0x85, 0x00, 0x23, 0x02, 0x12, 0x00, 0x00, 0x00, 0x5D, 0xFB, 0x22, 0x02
.byte 0x13, 0x00, 0x00, 0x00, 0xE9, 0xFD, 0x22, 0x02, 0x12, 0x00, 0x00, 0x00, 0xBD, 0xFB, 0x22, 0x02
.byte 0x13, 0x00, 0x00, 0x00, 0xD9, 0xFF, 0x22, 0x02, 0x0C, 0x00, 0x00, 0x00, 0x19, 0x01, 0x23, 0x02
.byte 0x0D, 0x00, 0x00, 0x00, 0x9D, 0x01, 0x23, 0x02, 0x0E, 0x00, 0x00, 0x00, 0xD5, 0x01, 0x23, 0x02
.byte 0x00, 0x00, 0x00, 0x00, 0x15, 0x94, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x2F, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x0F, 0x00, 0x00, 0x00, 0x25, 0xFE, 0x22, 0x02, 0x14, 0x00, 0x00, 0x00, 0x11, 0xFF, 0x22, 0x02
.byte 0x10, 0x00, 0x00, 0x00, 0xA1, 0xFE, 0x22, 0x02, 0x11, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x23, 0x02
.byte 0x40, 0x00, 0x00, 0x00, 0x31, 0x19, 0x23, 0x02, 0x41, 0x00, 0x00, 0x00, 0xD1, 0x19, 0x23, 0x02
.byte 0x40, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xD1, 0x19, 0x23, 0x02
.byte 0x40, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0xD1, 0x19, 0x23, 0x02
.byte 0x2A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0xB1, 0x18, 0x23, 0x02
.byte 0x2C, 0x00, 0x00, 0x00, 0xE1, 0x18, 0x23, 0x02, 0x2D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x15, 0x94, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x04, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x2F, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x24, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x28, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x00, 0x00, 0x00, 0x00, 0xA1, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x00, 0x00, 0x00, 0x00, 0x4D, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x31, 0x00, 0x00, 0x00, 0x1D, 0x1B, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x00, 0x00, 0x00, 0x00, 0x85, 0x1B, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x29, 0x00, 0x00, 0x00, 0xD9, 0x1B, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x0F, 0x00, 0x00, 0x00
.byte 0x24, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x59, 0x1C, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x4D, 0x1D, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x61, 0x1D, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x34, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x37, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x39, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x3A, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x38, 0x00, 0x00, 0x00, 0x9D, 0x1D, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
.byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x00, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x0E, 0x00, 0x00, 0x00
.byte 0x3B, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x0E, 0x00, 0x00, 0x00
.byte 0x3C, 0x00, 0x00, 0x00, 0x49, 0x1A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x01, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00
.byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x02, 0x01, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
.byte 0x12, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
.byte 0x39, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x00, 0x00
.byte 0x7F, 0x00, 0x00, 0x00, 0x23, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00
.byte 0x1F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x07, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x05, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00
.byte 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3A, 0x00, 0x3B, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3E, 0x00
.byte 0x48, 0x00, 0x52, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5A, 0x00, 0x5B, 0x00, 0x5C, 0x00
.byte 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x69, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00
.byte 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7A, 0x00
.byte 0x7B, 0x00, 0x7C, 0x00, 0x7D, 0x00, 0x7E, 0x00, 0x7F, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00
.byte 0x83, 0x00, 0x84, 0x00, 0xB0, 0x00, 0xB1, 0x00, 0xB2, 0x00, 0xE2, 0x00, 0xE3, 0x00, 0xE4, 0x00
.byte 0xE5, 0x00, 0xE6, 0x00, 0xE7, 0x00, 0xE8, 0x00, 0xE9, 0x00, 0xEA, 0x00, 0xEB, 0x00, 0xEC, 0x00
.byte 0xED, 0x00, 0xEE, 0x00, 0xEF, 0x00, 0xF0, 0x00, 0xF1, 0x00, 0xF2, 0x00, 0xF3, 0x00, 0xF4, 0x00
.byte 0xF5, 0x00, 0xF6, 0x00, 0xF7, 0x00, 0xF8, 0x00, 0xF9, 0x00, 0xFA, 0x00, 0xFB, 0x00, 0xFC, 0x00
.byte 0xFD, 0x00, 0x03, 0x01, 0x04, 0x01, 0x05, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x01
.byte 0x0A, 0x01, 0x0B, 0x01, 0x0C, 0x01, 0x0D, 0x01, 0x0E, 0x01, 0x0F, 0x01, 0x10, 0x01, 0x11, 0x01
.byte 0x12, 0x01, 0x13, 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x18, 0x01, 0x19, 0x01
.byte 0x1A, 0x01, 0x1B, 0x01, 0x1C, 0x01, 0x1D, 0x01, 0x1E, 0x01, 0x1F, 0x01, 0x20, 0x01, 0x53, 0x01
.byte 0x54, 0x01, 0x55, 0x01, 0x56, 0x01, 0x57, 0x01, 0x58, 0x01, 0x59, 0x01, 0x5A, 0x01, 0x5B, 0x01
.byte 0x5C, 0x01, 0x5D, 0x01, 0x5E, 0x01, 0x5F, 0x01, 0x60, 0x01, 0x61, 0x01, 0x62, 0x01, 0x63, 0x01
.byte 0x64, 0x01, 0x65, 0x01, 0x66, 0x01, 0x67, 0x01, 0x68, 0x01, 0x69, 0x01, 0x6A, 0x01, 0x6B, 0x01
.byte 0x6C, 0x01, 0x6D, 0x01, 0x6E, 0x01, 0x6F, 0x01, 0x70, 0x01, 0x71, 0x01, 0x72, 0x01, 0x73, 0x01
.byte 0x74, 0x01, 0x75, 0x01, 0x76, 0x01, 0x77, 0x01, 0x78, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x24, 0xFF, 0xAE, 0x51, 0x69, 0x9A, 0xA2, 0x21, 0x3D, 0x84, 0x82, 0x0A
.byte 0x84, 0xE4, 0x09, 0xAD, 0x11, 0x24, 0x8B, 0x98, 0xC0, 0x81, 0x7F, 0x21, 0xA3, 0x52, 0xBE, 0x19
.byte 0x93, 0x09, 0xCE, 0x20, 0x10, 0x46, 0x4A, 0x4A, 0xF8, 0x27, 0x31, 0xEC, 0x58, 0xC7, 0xE8, 0x33
.byte 0x82, 0xE3, 0xCE, 0xBF, 0x85, 0xF4, 0xDF, 0x94, 0xCE, 0x4B, 0x09, 0xC1, 0x94, 0x56, 0x8A, 0xC0
.byte 0x13, 0x72, 0xA7, 0xFC, 0x9F, 0x84, 0x4D, 0x73, 0xA3, 0xCA, 0x9A, 0x61, 0x58, 0x97, 0xA3, 0x27
.byte 0xFC, 0x03, 0x98, 0x76, 0x23, 0x1D, 0xC7, 0x61, 0x03, 0x04, 0xAE, 0x56, 0xBF, 0x38, 0x84, 0x00
.byte 0x40, 0xA7, 0x0E, 0xFD, 0xFF, 0x52, 0xFE, 0x03, 0x6F, 0x95, 0x30, 0xF1, 0x97, 0xFB, 0xC0, 0x85
.byte 0x60, 0xD6, 0x80, 0x25, 0xA9, 0x63, 0xBE, 0x03, 0x01, 0x4E, 0x38, 0xE2, 0xF9, 0xA2, 0x34, 0xFF
.byte 0xBB, 0x3E, 0x03, 0x44, 0x78, 0x00, 0x90, 0xCB, 0x88, 0x11, 0x3A, 0x94, 0x65, 0xC0, 0x7C, 0x63
.byte 0x87, 0xF0, 0x3C, 0xAF, 0xD6, 0x25, 0xE4, 0x8B, 0x38, 0x0A, 0xAC, 0x72, 0x21, 0xD4, 0xF8, 0x07
.byte 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x20, 0x00, 0x21, 0x00
.byte 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x2E, 0x00, 0x2F, 0x00, 0x30, 0x00, 0x31, 0x00, 0x34, 0x00
.byte 0x35, 0x00, 0x38, 0x00, 0x39, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x56, 0x00, 0x57, 0x00
.byte 0x5A, 0x00, 0x5B, 0x00, 0x60, 0x00, 0x61, 0x00, 0x6A, 0x00, 0x6B, 0x00, 0x72, 0x00, 0x73, 0x00
.byte 0x74, 0x00, 0x75, 0x00, 0x7A, 0x00, 0x7B, 0x00, 0x7C, 0x00, 0x7F, 0x00, 0x80, 0x00, 0x85, 0x00
.byte 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, 0x00, 0xAD, 0x00, 0xBB, 0x00, 0xBC, 0x00, 0xBD, 0x00
.byte 0xBF, 0x00, 0xC0, 0x00, 0xC4, 0x00, 0xC5, 0x00, 0xC6, 0x00, 0xD2, 0x00, 0xD4, 0x00, 0xD5, 0x00
.byte 0xD8, 0x00, 0xD9, 0x00, 0xDC, 0x00, 0xDD, 0x00, 0xDF, 0x00, 0xE0, 0x00, 0xE6, 0x00, 0xE9, 0x00
.byte 0xEA, 0x00, 0xEB, 0x00, 0xEC, 0x00, 0xED, 0x00, 0xEE, 0x00, 0xF1, 0x00, 0x05, 0x01, 0x06, 0x01
.byte 0x07, 0x01, 0x08, 0x01, 0x1D, 0x01, 0x1E, 0x01, 0x2C, 0x01, 0x2D, 0x01, 0x2E, 0x01, 0x3A, 0x01
.byte 0x42, 0x01, 0x43, 0x01, 0x47, 0x01, 0x53, 0x01, 0x54, 0x01, 0x61, 0x01, 0x62, 0x01, 0x65, 0x01
.byte 0x67, 0x01, 0x69, 0x01, 0x6A, 0x01, 0x6B, 0x01, 0x6C, 0x01, 0x6D, 0x01, 0xFC, 0x00, 0xFD, 0x00
.byte 0xFE, 0x00, 0xFF, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x01
.byte 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x01, 0x0A, 0x01, 0x0B, 0x01, 0x0C, 0x01, 0x0D, 0x01
.byte 0x0E, 0x01, 0x0F, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x01, 0x13, 0x01, 0x22, 0x01, 0x23, 0x01
.byte 0x24, 0x01, 0x14, 0x01, 0x15, 0x01, 0x1D, 0x01, 0x1E, 0x01, 0x47, 0x01, 0x16, 0x01, 0x17, 0x01
.byte 0x1B, 0x01, 0x1C, 0x01, 0x40, 0x01, 0x41, 0x01, 0x2C, 0x01, 0x2D, 0x01, 0x60, 0x01, 0x57, 0x01
.byte 0x58, 0x01, 0x2B, 0x01, 0x44, 0x01, 0x2E, 0x01, 0x53, 0x01, 0x54, 0x01, 0x72, 0x01, 0x55, 0x01
.byte 0x56, 0x01, 0x5D, 0x01, 0x5E, 0x01, 0x3E, 0x01, 0x3F, 0x01, 0x48, 0x01, 0x49, 0x01, 0x4A, 0x01
.byte 0x28, 0x01, 0x29, 0x01, 0x35, 0x01, 0x36, 0x01, 0x42, 0x01, 0x43, 0x01, 0x6B, 0x01, 0x6C, 0x01
.byte 0x6D, 0x01, 0x4B, 0x01, 0x4C, 0x01, 0x69, 0x01, 0x6A, 0x01, 0x51, 0x01, 0x52, 0x01, 0x2A, 0x01
.byte 0x45, 0x01, 0x46, 0x01, 0x37, 0x01, 0x38, 0x01, 0x2F, 0x01, 0x33, 0x01, 0x34, 0x01, 0x4D, 0x01
.byte 0x4E, 0x01, 0x68, 0x01, 0x63, 0x01, 0x64, 0x01, 0x3B, 0x01, 0x1F, 0x01, 0x20, 0x01, 0x21, 0x01
.byte 0x3C, 0x01, 0x3D, 0x01, 0x65, 0x01, 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x6E, 0x01, 0x6F, 0x01
.byte 0x70, 0x01, 0x67, 0x01, 0x61, 0x01, 0x62, 0x01, 0x50, 0x01, 0x4F, 0x01, 0x71, 0x01, 0x30, 0x01
.byte 0x31, 0x01, 0x32, 0x01, 0x5F, 0x01, 0x39, 0x01, 0x3A, 0x01, 0x59, 0x01, 0x5A, 0x01, 0x5B, 0x01
.byte 0x5C, 0x01, 0x18, 0x01, 0x19, 0x01, 0x1A, 0x01, 0x73, 0x01, 0x74, 0x01, 0x75, 0x01, 0x76, 0x01
.byte 0x77, 0x01, 0x78, 0x01, 0x79, 0x01, 0x7A, 0x01, 0x7B, 0x01, 0x7E, 0x01, 0x7F, 0x01, 0x80, 0x01
.byte 0x7C, 0x01, 0x7D, 0x01, 0x81, 0x01, 0x82, 0x01, 0x66, 0x01, 0x9C, 0x01, 0x9D, 0x01, 0x9E, 0x01
.byte 0x9F, 0x01, 0xA0, 0x01, 0xA1, 0x01, 0xA2, 0x01, 0xA3, 0x01, 0xA4, 0x01, 0x45, 0x42, 0x35, 0x42
.byte 0x45, 0x43, 0x35, 0x42, 0x45, 0x44, 0x35, 0x42, 0x45, 0x45, 0x35, 0x42, 0x45, 0x46, 0x35, 0x42
.byte 0x45, 0x47, 0x35, 0x42, 0x45, 0x48, 0x35, 0x42, 0x45, 0x49, 0x35, 0x42, 0x45, 0x4A, 0x35, 0x42
.byte 0x45, 0x4B, 0x35, 0x42, 0x45, 0x4C, 0x35, 0x42, 0x45, 0x4D, 0x35, 0x42, 0x45, 0x50, 0x35, 0x42
.byte 0x45, 0x51, 0x35, 0x42, 0x45, 0x52, 0x35, 0x42, 0x45, 0x53, 0x35, 0x42, 0x45, 0x54, 0x35, 0x42
.byte 0x45, 0x55, 0x35, 0x42, 0x45, 0x56, 0x35, 0x42, 0x45, 0x57, 0x35, 0x42, 0x00, 0x00, 0x00, 0x00
.byte 0x6D, 0x79, 0x77, 0x68, 0x5F, 0x53, 0x59, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5F, 0x49, 0x44
.byte 0x4C, 0x45, 0x00, 0x00, 0x6D, 0x79, 0x77, 0x68, 0x5F, 0x53, 0x59, 0x53, 0x53, 0x54, 0x41, 0x54
.byte 0x45, 0x5F, 0x42, 0x55, 0x53, 0x59, 0x00, 0x00, 0x6D, 0x79, 0x77, 0x68, 0x5F, 0x53, 0x59, 0x53
.byte 0x53, 0x54, 0x41, 0x54, 0x45, 0x5F, 0x53, 0x54, 0x4F, 0x50, 0x00, 0x00, 0x6D, 0x79, 0x77, 0x68
.byte 0x5F, 0x53, 0x59, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5F, 0x45, 0x52, 0x52, 0x4F, 0x52, 0x00
.byte 0x6D, 0x79, 0x77, 0x68, 0x5F, 0x53, 0x59, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5F, 0x53, 0x43
.byte 0x41, 0x4E, 0x4E, 0x49, 0x4E, 0x47, 0x00, 0x00, 0x6D, 0x79, 0x77, 0x68, 0x5F, 0x53, 0x59, 0x53
.byte 0x53, 0x54, 0x41, 0x54, 0x45, 0x5F, 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x43, 0x54, 0x45, 0x44, 0x00
.byte 0x6D, 0x79, 0x77, 0x68, 0x5F, 0x53, 0x59, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5F, 0x4B, 0x45
.byte 0x59, 0x53, 0x48, 0x41, 0x52, 0x49, 0x4E, 0x47, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x79, 0x77, 0x68
.byte 0x5F, 0x53, 0x59, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5F, 0x44, 0x41, 0x54, 0x41, 0x53, 0x48
.byte 0x41, 0x52, 0x49, 0x4E, 0x47, 0x00, 0x00, 0x00, 0x6D, 0x79, 0x77, 0x68, 0x5F, 0x53, 0x59, 0x53
.byte 0x53, 0x54, 0x41, 0x54, 0x45, 0x5F, 0x43, 0x4F, 0x4E, 0x4E, 0x45, 0x43, 0x54, 0x5F, 0x46, 0x41
.byte 0x49, 0x4C, 0x00, 0x00, 0x6D, 0x79, 0x77, 0x68, 0x5F, 0x53, 0x59, 0x53, 0x53, 0x54, 0x41, 0x54
.byte 0x45, 0x5F, 0x4D, 0x45, 0x41, 0x53, 0x55, 0x52, 0x45, 0x43, 0x48, 0x41, 0x4E, 0x4E, 0x45, 0x4C
.byte 0x00, 0x00, 0x00, 0x00, 0x18, 0xB7, 0x23, 0x02, 0xF0, 0xB6, 0x23, 0x02, 0x40, 0xB7, 0x23, 0x02
.byte 0x04, 0xB7, 0x23, 0x02, 0x58, 0xB7, 0x23, 0x02, 0x8C, 0xB7, 0x23, 0x02, 0x70, 0xB7, 0x23, 0x02
.byte 0xC4, 0xB7, 0x23, 0x02, 0xA8, 0xB7, 0x23, 0x02, 0x2C, 0xB7, 0x23, 0x02, 0x25, 0x73, 0x20, 0x2D
.byte 0x3E, 0x20, 0x00, 0x00, 0x25, 0x73, 0x0A, 0x00, 0x6E, 0x6F, 0x74, 0x20, 0x6D, 0x79, 0x20, 0x70
.byte 0x61, 0x72, 0x65, 0x6E, 0x74, 0x20, 0x67, 0x67, 0x69, 0x64, 0x20, 0x28, 0x25, 0x64, 0x20, 0x21
.byte 0x3D, 0x20, 0x25, 0x64, 0x29, 0x0A, 0x00, 0x00, 0x41, 0x44, 0x41, 0x45, 0x00, 0x00, 0x00, 0x00
.byte 0x53, 0x78, 0x34, 0x33, 0x39, 0x74, 0x43, 0x6B, 0x62, 0x72, 0x57, 0x79, 0x52, 0x38, 0x58, 0x32
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.section .bss
; 0x0223B860
.space 0x1980