pokeheartgold/asm/scrcmd.s
2021-09-06 09:41:18 -04:00

97845 lines
1.7 MiB

.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start sub_02040890
sub_02040890: ; 0x02040890
mov r0, #0
bx lr
thumb_func_end sub_02040890
thumb_func_start sub_02040894
sub_02040894: ; 0x02040894
mov r0, #0
bx lr
thumb_func_end sub_02040894
thumb_func_start sub_02040898
sub_02040898: ; 0x02040898
push {r3, lr}
bl sub_0203FD60
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02040898
thumb_func_start sub_020408A4
sub_020408A4: ; 0x020408A4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r6, [r1]
bl sub_0203FE2C
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r4, r0, #0
add r0, r6, #0
add r1, r4, #0
bl sub_02040374
strh r7, [r0]
ldr r1, _020408D4 ; =sub_020408D8
add r0, r5, #0
str r4, [r5, #0x64]
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020408D4: .word sub_020408D8
thumb_func_end sub_020408A4
thumb_func_start sub_020408D8
sub_020408D8: ; 0x020408D8
push {r3, lr}
add r1, r0, #0
ldr r1, [r1, #0x64]
add r0, #0x80
lsl r1, r1, #0x10
ldr r0, [r0]
lsr r1, r1, #0x10
bl sub_02040374
ldrh r1, [r0]
sub r1, r1, #1
strh r1, [r0]
ldrh r0, [r0]
cmp r0, #0
bne _020408FA
mov r0, #1
pop {r3, pc}
_020408FA:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020408D8
thumb_func_start sub_02040900
sub_02040900: ; 0x02040900
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02040900
thumb_func_start sub_02040918
sub_02040918: ; 0x02040918
ldr r1, [r0, #8]
add r2, r1, #1
str r2, [r0, #8]
ldrb r3, [r1]
add r1, r2, #1
str r1, [r0, #8]
ldrb r2, [r2]
lsl r1, r3, #2
add r0, r0, r1
str r2, [r0, #0x64]
mov r0, #0
bx lr
thumb_func_end sub_02040918
thumb_func_start sub_02040930
sub_02040930: ; 0x02040930
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r2, [r4, #8]
add r1, r2, #1
str r1, [r4, #8]
ldrb r5, [r2]
bl sub_0203FE44
lsl r1, r5, #2
add r1, r4, r1
str r0, [r1, #0x64]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02040930
thumb_func_start sub_0204094C
sub_0204094C: ; 0x0204094C
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r4, [r2]
bl sub_0203FE44
ldrb r1, [r0]
lsl r0, r4, #2
add r0, r5, r0
str r1, [r0, #0x64]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0204094C
thumb_func_start sub_02040968
sub_02040968: ; 0x02040968
push {r4, lr}
add r4, r0, #0
bl sub_0203FE44
ldr r2, [r4, #8]
add r1, r2, #1
str r1, [r4, #8]
ldrb r1, [r2]
strb r1, [r0]
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02040968
thumb_func_start sub_02040980
sub_02040980: ; 0x02040980
push {r4, lr}
add r4, r0, #0
bl sub_0203FE44
ldr r2, [r4, #8]
add r1, r2, #1
str r1, [r4, #8]
ldrb r1, [r2]
lsl r1, r1, #2
add r1, r4, r1
ldr r1, [r1, #0x64]
strb r1, [r0]
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02040980
thumb_func_start sub_0204099C
sub_0204099C: ; 0x0204099C
ldr r1, [r0, #8]
add r2, r1, #1
str r2, [r0, #8]
ldrb r3, [r1]
add r1, r2, #1
str r1, [r0, #8]
ldrb r1, [r2]
lsl r1, r1, #2
add r1, r0, r1
ldr r2, [r1, #0x64]
lsl r1, r3, #2
add r0, r0, r1
str r2, [r0, #0x64]
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end sub_0204099C
thumb_func_start sub_020409BC
sub_020409BC: ; 0x020409BC
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE44
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE44
ldrb r0, [r0]
strb r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_020409BC
thumb_func_start sub_020409D4
sub_020409D4: ; 0x020409D4
cmp r0, r1
bhs _020409DC
mov r0, #0
bx lr
_020409DC:
cmp r0, r1
bne _020409E4
mov r0, #1
bx lr
_020409E4:
mov r0, #2
bx lr
thumb_func_end sub_020409D4
thumb_func_start sub_020409E8
sub_020409E8: ; 0x020409E8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #8]
add r1, r0, #1
str r1, [r4, #8]
ldrb r0, [r0]
add r2, r1, #1
lsl r0, r0, #2
add r0, r4, r0
ldr r0, [r0, #0x64]
str r2, [r4, #8]
ldrb r1, [r1]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
lsl r1, r1, #2
add r1, r4, r1
ldr r1, [r1, #0x64]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
bl sub_020409D4
strb r0, [r4, #2]
mov r0, #0
pop {r4, pc}
thumb_func_end sub_020409E8
thumb_func_start sub_02040A18
sub_02040A18: ; 0x02040A18
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #8]
add r1, r0, #1
str r1, [r4, #8]
ldrb r0, [r0]
add r2, r1, #1
lsl r0, r0, #2
add r0, r4, r0
ldr r0, [r0, #0x64]
str r2, [r4, #8]
ldrb r1, [r1]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_020409D4
strb r0, [r4, #2]
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02040A18
thumb_func_start sub_02040A40
sub_02040A40: ; 0x02040A40
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r2, [r4, #8]
add r1, r2, #1
str r1, [r4, #8]
ldrb r1, [r2]
lsl r1, r1, #2
add r1, r4, r1
ldr r1, [r1, #0x64]
lsl r1, r1, #0x18
lsr r5, r1, #0x18
bl sub_0203FE44
ldrb r1, [r0]
add r0, r5, #0
bl sub_020409D4
strb r0, [r4, #2]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02040A40
thumb_func_start sub_02040A68
sub_02040A68: ; 0x02040A68
push {r4, lr}
add r4, r0, #0
bl sub_0203FE44
ldr r2, [r4, #8]
ldrb r0, [r0]
add r1, r2, #1
str r1, [r4, #8]
ldrb r1, [r2]
lsl r1, r1, #2
add r1, r4, r1
ldr r1, [r1, #0x64]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
bl sub_020409D4
strb r0, [r4, #2]
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02040A68
thumb_func_start sub_02040A90
sub_02040A90: ; 0x02040A90
push {r4, lr}
add r4, r0, #0
bl sub_0203FE44
ldr r2, [r4, #8]
ldrb r0, [r0]
add r1, r2, #1
str r1, [r4, #8]
ldrb r1, [r2]
bl sub_020409D4
strb r0, [r4, #2]
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02040A90
thumb_func_start sub_02040AAC
sub_02040AAC: ; 0x02040AAC
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE44
ldrb r4, [r0]
add r0, r5, #0
bl sub_0203FE44
ldrb r1, [r0]
add r0, r4, #0
bl sub_020409D4
strb r0, [r5, #2]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02040AAC
thumb_func_start sub_02040ACC
sub_02040ACC: ; 0x02040ACC
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
ldrh r5, [r0]
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
bl sub_020409D4
strb r0, [r4, #2]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02040ACC
thumb_func_start sub_02040AF8
sub_02040AF8: ; 0x02040AF8
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r1, r0, #0
ldrh r0, [r4]
ldrh r1, [r1]
bl sub_020409D4
strb r0, [r5, #2]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02040AF8
thumb_func_start sub_02040B30
sub_02040B30: ; 0x02040B30
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r0, #0x80
ldr r5, [r0]
mov r1, #7
add r0, r5, #0
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
mov r1, #0xe
bl sub_020402F0
add r6, r0, #0
add r0, r7, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
bl sub_020400AC
str r0, [r6]
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02040B30
thumb_func_start sub_02040B68
sub_02040B68: ; 0x02040B68
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
add r0, #0x80
ldr r7, [r0]
mov r1, #5
add r0, r7, #0
bl sub_020402F0
add r5, r0, #0
add r0, r7, #0
mov r1, #7
bl sub_020402F0
add r4, r0, #0
ldrb r1, [r4]
add r0, r7, #0
add r1, #0xd
bl sub_020402F0
str r0, [sp]
add r0, r6, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r7, #0
bl sub_020400AC
ldr r1, [sp]
str r0, [r1]
ldrb r1, [r4]
strb r1, [r0, #3]
ldrb r0, [r4]
mov r1, #1
add r0, r0, #1
strb r0, [r4]
ldrb r0, [r6, #3]
ldrb r2, [r5]
lsl r1, r0
add r0, r2, #0
orr r0, r1
strb r0, [r5]
ldr r1, _02040BC8 ; =sub_02040BCC
add r0, r6, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
nop
_02040BC8: .word sub_02040BCC
thumb_func_end sub_02040B68
thumb_func_start sub_02040BCC
sub_02040BCC: ; 0x02040BCC
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r6, [r0]
mov r1, #5
add r0, r6, #0
bl sub_020402F0
add r4, r0, #0
add r0, r6, #0
mov r1, #7
bl sub_020402F0
mov r0, #1
ldrb r1, [r5, #3]
add r2, r0, #0
ldrb r3, [r4]
lsl r2, r1
add r1, r3, #0
tst r1, r2
beq _02040BF8
mov r0, #0
_02040BF8:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02040BCC
thumb_func_start sub_02040BFC
sub_02040BFC: ; 0x02040BFC
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r6, [r0]
mov r1, #5
add r0, r6, #0
bl sub_020402F0
add r4, r0, #0
add r0, r6, #0
mov r1, #7
bl sub_020402F0
ldrb r0, [r5, #3]
ldrb r2, [r4]
mov r1, #1
sub r0, r0, #1
lsl r1, r0
add r0, r2, #0
eor r0, r1
strb r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02040BFC
thumb_func_start sub_02040C2C
sub_02040C2C: ; 0x02040C2C
push {r4, lr}
add r4, r0, #0
bl sub_0203FE44
add r2, r0, #0
ldr r1, [r4, #8]
add r0, r4, #0
add r1, r1, r2
bl sub_0203FE0C
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02040C2C
thumb_func_start sub_02040C44
sub_02040C44: ; 0x02040C44
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0xa
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE44
add r7, r0, #0
ldr r0, [r6]
bl sub_0205F24C
cmp r4, r0
bne _02040C78
ldr r1, [r5, #8]
add r0, r5, #0
add r1, r1, r7
bl sub_0203FE0C
_02040C78:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02040C44
thumb_func_start sub_02040C7C
sub_02040C7C: ; 0x02040C7C
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0x74]
bl sub_02050658
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
ldrb r4, [r1]
add r0, r5, #0
bl sub_0203FE44
add r2, r0, #0
cmp r6, r4
bne _02040CA6
ldr r1, [r5, #8]
add r0, r5, #0
add r1, r1, r2
bl sub_0203FE0C
_02040CA6:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02040C7C
thumb_func_start sub_02040CAC
sub_02040CAC: ; 0x02040CAC
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #9
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
ldrb r4, [r1]
add r0, r5, #0
bl sub_0203FE44
add r2, r0, #0
ldr r0, [r6]
cmp r0, r4
bne _02040CDC
ldr r1, [r5, #8]
add r0, r5, #0
add r1, r1, r2
bl sub_0203FE0C
_02040CDC:
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02040CAC
thumb_func_start sub_02040CE0
sub_02040CE0: ; 0x02040CE0
push {r4, lr}
add r4, r0, #0
bl sub_0203FE44
add r2, r0, #0
ldr r1, [r4, #8]
add r0, r4, #0
add r1, r1, r2
bl sub_0203FE10
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02040CE0
thumb_func_start sub_02040CF8
sub_02040CF8: ; 0x02040CF8
push {r3, lr}
bl sub_0203FE20
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02040CF8
thumb_func_start sub_02040D04
sub_02040D04: ; 0x02040D04
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r4, [r2]
bl sub_0203FE44
add r1, r0, #0
lsl r0, r4, #1
add r3, r4, r0
ldr r0, _02040D34 ; =0x020FAC9C
ldrb r2, [r5, #2]
add r0, r0, r3
ldrb r0, [r2, r0]
cmp r0, #1
bne _02040D30
ldr r2, [r5, #8]
add r0, r5, #0
add r1, r2, r1
bl sub_0203FE0C
_02040D30:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
_02040D34: .word 0x020FAC9C
thumb_func_end sub_02040D04
thumb_func_start sub_02040D38
sub_02040D38: ; 0x02040D38
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r4, [r2]
bl sub_0203FE44
add r1, r0, #0
lsl r0, r4, #1
add r3, r4, r0
ldr r0, _02040D68 ; =0x020FAC9C
ldrb r2, [r5, #2]
add r0, r0, r3
ldrb r0, [r2, r0]
cmp r0, #1
bne _02040D64
ldr r2, [r5, #8]
add r0, r5, #0
add r1, r2, r1
bl sub_0203FE10
_02040D64:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
_02040D68: .word 0x020FAC9C
thumb_func_end sub_02040D38
thumb_func_start sub_02040D6C
sub_02040D6C: ; 0x02040D6C
push {r4, lr}
add r1, r0, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
bl sub_02040410
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02040D6C
thumb_func_start sub_02040D84
sub_02040D84: ; 0x02040D84
push {r4, lr}
add r1, r0, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
bl sub_02040424
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02040D84
thumb_func_start sub_02040D9C
sub_02040D9C: ; 0x02040D9C
push {r3, r4, r5, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
bl sub_020403FC
strb r0, [r4, #2]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02040D9C
thumb_func_start sub_02040DB8
sub_02040DB8: ; 0x02040DB8
push {r4, r5, r6, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
ldrh r1, [r6]
add r0, r5, #0
bl sub_020403FC
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02040DB8
thumb_func_start sub_02040DF4
sub_02040DF4: ; 0x02040DF4
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r1, r0, #0
ldrh r1, [r1]
add r0, r4, #0
bl sub_02040410
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02040DF4
thumb_func_start sub_02040E1C
sub_02040E1C: ; 0x02040E1C
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r1, r0, #0
ldrh r1, [r1]
add r0, r4, #0
bl sub_02040424
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02040E1C
thumb_func_start sub_02040E44
sub_02040E44: ; 0x02040E44
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl sub_0204052C
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02040E44
thumb_func_start sub_02040E68
sub_02040E68: ; 0x02040E68
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl sub_02040544
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02040E68
thumb_func_start sub_02040E8C
sub_02040E8C: ; 0x02040E8C
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r1, r0, #0
ldr r0, [r4, #0xc]
bl sub_02040514
strb r0, [r5, #2]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02040E8C
thumb_func_start sub_02040EB4
sub_02040EB4: ; 0x02040EB4
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
ldrh r1, [r4]
add r0, r1, r0
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02040EB4
thumb_func_start sub_02040EE4
sub_02040EE4: ; 0x02040EE4
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
ldrh r1, [r4]
sub r0, r1, r0
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02040EE4
thumb_func_start sub_02040F14
sub_02040F14: ; 0x02040F14
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02040F14
thumb_func_start sub_02040F38
sub_02040F38: ; 0x02040F38
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
ldrh r0, [r0]
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02040F38
thumb_func_start sub_02040F68
sub_02040F68: ; 0x02040F68
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02040F68
thumb_func_start sub_02040F94
sub_02040F94: ; 0x02040F94
push {r3, r4, r5, lr}
sub sp, #8
add r5, r0, #0
ldr r1, [r5, #8]
add r0, r1, #1
str r0, [r5, #8]
ldrb r4, [r1]
bl sub_02037474
cmp r0, #0
bne _02040FBC
mov r0, #0
str r0, [sp]
ldr r1, [r5, #0x78]
add r0, r5, #0
add r2, r4, #0
mov r3, #1
bl ov01_021EF4DC
b _02040FDC
_02040FBC:
add r0, sp, #4
add r1, r5, #0
bl ov01_021EF4C4
mov r1, #1
add r0, sp, #4
strb r1, [r0]
strb r1, [r0, #1]
add r0, sp, #4
str r0, [sp]
ldr r1, [r5, #0x78]
add r0, r5, #0
add r2, r4, #0
mov r3, #0
bl ov01_021EF4DC
_02040FDC:
ldr r1, _02040FEC ; =0x021EF349
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
add sp, #8
pop {r3, r4, r5, pc}
nop
_02040FEC: .word 0x021EF349
thumb_func_end sub_02040F94
thumb_func_start sub_02040FF0
sub_02040FF0: ; 0x02040FF0
push {r3, lr}
ldr r1, _02040FFC ; =sub_02041000
bl sub_0203FD58
mov r0, #1
pop {r3, pc}
.balign 4, 0
_02040FFC: .word sub_02041000
thumb_func_end sub_02040FF0
thumb_func_start sub_02041000
sub_02041000: ; 0x02041000
ldr r0, _02041014 ; =gMain
ldr r1, [r0, #0x48]
mov r0, #3
tst r0, r1
beq _0204100E
mov r0, #1
bx lr
_0204100E:
mov r0, #0
bx lr
nop
_02041014: .word gMain
thumb_func_end sub_02041000
thumb_func_start sub_02041018
sub_02041018: ; 0x02041018
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [r4, #0x64]
ldr r1, _0204103C ; =sub_02041040
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
nop
_0204103C: .word sub_02041040
thumb_func_end sub_02041018
thumb_func_start sub_02041040
sub_02041040: ; 0x02041040
ldr r1, _02041060 ; =gMain
ldr r2, [r1, #0x48]
mov r1, #3
tst r1, r2
beq _0204104E
mov r0, #1
bx lr
_0204104E:
ldr r1, [r0, #0x64]
sub r1, r1, #1
str r1, [r0, #0x64]
bne _0204105A
mov r0, #1
bx lr
_0204105A:
mov r0, #0
bx lr
nop
_02041060: .word gMain
thumb_func_end sub_02041040
thumb_func_start sub_02041064
sub_02041064: ; 0x02041064
push {r3, lr}
ldr r1, _02041070 ; =sub_02041074
bl sub_0203FD58
mov r0, #1
pop {r3, pc}
.balign 4, 0
_02041070: .word sub_02041074
thumb_func_end sub_02041064
thumb_func_start sub_02041074
sub_02041074: ; 0x02041074
push {r3, lr}
ldr r1, _020410DC ; =gMain
ldr r2, [r1, #0x48]
mov r1, #3
add r3, r2, #0
tst r3, r1
beq _02041086
mov r0, #1
pop {r3, pc}
_02041086:
mov r3, #0x40
tst r3, r2
beq _0204109A
add r0, #0x80
ldr r0, [r0]
mov r1, #0
ldr r0, [r0, #0x40]
bl sub_0205C660
b _020410D8
_0204109A:
mov r3, #0x80
tst r3, r2
beq _020410AE
add r0, #0x80
ldr r0, [r0]
mov r1, #1
ldr r0, [r0, #0x40]
bl sub_0205C660
b _020410D8
_020410AE:
mov r3, #0x20
tst r3, r2
beq _020410C2
add r0, #0x80
ldr r0, [r0]
mov r1, #2
ldr r0, [r0, #0x40]
bl sub_0205C660
b _020410D8
_020410C2:
mov r3, #0x10
tst r2, r3
beq _020410D4
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x40]
bl sub_0205C660
b _020410D8
_020410D4:
mov r0, #0
pop {r3, pc}
_020410D8:
mov r0, #1
pop {r3, pc}
.balign 4, 0
_020410DC: .word gMain
thumb_func_end sub_02041074
thumb_func_start sub_020410E0
sub_020410E0: ; 0x020410E0
push {r3, lr}
ldr r1, _020410EC ; =sub_020410F0
bl sub_0203FD58
mov r0, #1
pop {r3, pc}
.balign 4, 0
_020410EC: .word sub_020410F0
thumb_func_end sub_020410E0
thumb_func_start sub_020410F0
sub_020410F0: ; 0x020410F0
ldr r0, _0204110C ; =gMain
ldr r1, [r0, #0x48]
mov r0, #3
tst r0, r1
beq _020410FE
mov r0, #1
bx lr
_020410FE:
mov r0, #0xf0
tst r0, r1
beq _02041108
mov r0, #1
bx lr
_02041108:
mov r0, #0
bx lr
.balign 4, 0
_0204110C: .word gMain
thumb_func_end sub_020410F0
thumb_func_start sub_02041110
sub_02041110: ; 0x02041110
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r4, [r0]
mov r1, #6
add r0, r4, #0
bl sub_020402F0
add r6, r0, #0
add r0, r4, #0
mov r1, #1
bl sub_020402F0
add r1, r0, #0
ldr r0, [r4, #8]
mov r2, #3
bl sub_0205B514
add r0, r4, #0
mov r1, #1
bl sub_020402F0
add r5, #0x80
add r7, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
add r1, r0, #0
add r0, r7, #0
bl sub_0205B564
add r0, r4, #0
add r0, #0xd2
ldrb r1, [r0]
mov r0, #0x40
add r4, #0xd2
orr r0, r1
strb r0, [r4]
mov r0, #1
strb r0, [r6]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02041110
thumb_func_start sub_02041168
sub_02041168: ; 0x02041168
push {r4, r5, r6, lr}
add r0, #0x80
ldr r5, [r0]
mov r1, #1
add r0, r5, #0
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
mov r1, #6
bl sub_020402F0
add r6, r0, #0
add r0, r4, #0
mov r1, #0
bl sub_0200E9BC
add r0, r4, #0
bl RemoveWindow
add r0, r5, #0
add r0, #0xd2
ldrb r1, [r0]
mov r0, #0x40
add r5, #0xd2
bic r1, r0
strb r1, [r5]
mov r0, #0
strb r0, [r6]
pop {r4, r5, r6, pc}
thumb_func_end sub_02041168
thumb_func_start sub_020411A4
sub_020411A4: ; 0x020411A4
push {r4, r5, r6, lr}
add r0, #0x80
ldr r5, [r0]
mov r1, #1
add r0, r5, #0
bl sub_020402F0
add r6, r0, #0
add r0, r5, #0
mov r1, #6
bl sub_020402F0
add r4, r0, #0
add r0, r6, #0
bl RemoveWindow
add r0, r5, #0
add r0, #0xd2
ldrb r1, [r0]
mov r0, #0x40
add r5, #0xd2
bic r1, r0
strb r1, [r5]
mov r0, #0
strb r0, [r4]
pop {r4, r5, r6, pc}
thumb_func_end sub_020411A4
thumb_func_start sub_020411D8
sub_020411D8: ; 0x020411D8
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
add r0, #0x80
ldr r4, [r0]
mov r1, #0x32
add r0, r4, #0
bl sub_020402F0
add r6, r0, #0
add r0, r4, #0
mov r1, #0x2e
bl sub_020402F0
add r7, r0, #0
add r0, r4, #0
mov r1, #0x33
bl sub_020402F0
str r0, [sp]
add r0, r4, #0
mov r1, #0x34
bl sub_020402F0
str r0, [sp, #4]
add r0, r4, #0
mov r1, #0x2f
bl sub_020402F0
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x35
bl sub_020402F0
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r1, [r2]
strh r1, [r6]
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r1, [r2]
strh r1, [r7]
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r2, [r2]
ldr r1, [sp]
strh r2, [r1]
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r2, [r2]
ldr r1, [sp, #4]
strh r2, [r1]
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r2, [r2]
ldr r1, [sp, #8]
strh r2, [r1]
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r1, [r2]
strh r1, [r0]
ldr r1, _0204126C ; =sub_02041270
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0204126C: .word sub_02041270
thumb_func_end sub_020411D8
thumb_func_start sub_02041270
sub_02041270: ; 0x02041270
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r0, #0x80
ldr r4, [r0]
mov r1, #0x32
add r0, r4, #0
bl sub_020402F0
add r7, r0, #0
add r0, r4, #0
mov r1, #0x33
bl sub_020402F0
str r0, [sp, #8]
add r0, r4, #0
mov r1, #0x34
bl sub_020402F0
str r0, [sp, #4]
add r0, r4, #0
mov r1, #0x35
bl sub_020402F0
str r0, [sp]
add r0, r4, #0
mov r1, #0x2e
bl sub_020402F0
add r6, r0, #0
add r0, r4, #0
mov r1, #0x2f
bl sub_020402F0
add r5, r0, #0
ldrh r0, [r6]
cmp r0, #0
bne _020412C6
ldrh r0, [r5]
cmp r0, #0
bne _020412C6
add sp, #0xc
mov r0, #1
pop {r4, r5, r6, r7, pc}
_020412C6:
ldrh r3, [r7]
cmp r3, #0
beq _020412E8
ldr r0, [sp, #8]
ldrh r0, [r0]
cmp r0, #0
ldr r0, [r4, #8]
bne _020412E0
mov r1, #3
mov r2, #1
bl sub_0201BC8C
b _020412E8
_020412E0:
mov r1, #3
mov r2, #2
bl sub_0201BC8C
_020412E8:
ldr r0, [sp, #4]
ldrh r3, [r0]
cmp r3, #0
beq _0204130C
ldr r0, [sp]
ldrh r0, [r0]
cmp r0, #0
ldr r0, [r4, #8]
bne _02041304
mov r1, #3
mov r2, #4
bl sub_0201BC8C
b _0204130C
_02041304:
mov r1, #3
mov r2, #5
bl sub_0201BC8C
_0204130C:
ldrh r0, [r6]
cmp r0, #0
beq _02041316
sub r0, r0, #1
strh r0, [r6]
_02041316:
ldrh r0, [r5]
cmp r0, #0
beq _02041320
sub r0, r0, #1
strh r0, [r5]
_02041320:
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02041270
thumb_func_start sub_02041328
sub_02041328: ; 0x02041328
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r0, #0
add r0, #0x80
ldr r4, [r0]
mov r1, #0x12
add r0, r4, #0
bl sub_020402F0
add r6, r0, #0
add r0, r4, #0
mov r1, #0x11
bl sub_020402F0
add r7, r0, #0
add r0, r4, #0
mov r1, #0x10
bl sub_020402F0
str r0, [sp, #0x18]
ldr r0, [r5, #8]
add r1, r0, #1
str r1, [r5, #8]
ldrb r0, [r0]
str r0, [sp, #0x10]
add r0, r1, #1
str r0, [r5, #8]
ldrb r0, [r1]
str r0, [sp, #0x14]
add r0, r5, #0
bl sub_0203FE2C
str r0, [sp, #0x1c]
add r0, r5, #0
bl sub_0203FE2C
add r0, r4, #0
add r0, #0xd2
ldrb r1, [r0]
mov r0, #0x40
ldr r2, [sp, #0x1c]
orr r1, r0
add r0, r4, #0
add r0, #0xd2
strb r1, [r0]
ldr r0, [r4, #0x68]
ldr r1, [sp, #0x14]
bl ov01_021F3D68
ldr r0, [r4, #0x68]
mov r1, #1
bl ov01_021F3D70
add r0, r4, #0
bl ov01_021F3D98
ldr r0, [r5, #0x78]
ldr r1, [sp, #0x10]
ldr r2, [r6]
bl ReadMsgDataIntoString
ldr r0, [sp, #0x18]
ldr r1, [r7]
ldr r0, [r0]
ldr r2, [r6]
bl StringExpandPlaceholders
ldr r0, [r4, #0x68]
bl ov01_021F3D80
mov r3, #0
str r3, [sp]
ldr r1, _020413D0 ; =0x00020A0F
str r3, [sp, #4]
str r1, [sp, #8]
str r3, [sp, #0xc]
ldr r2, [r7]
mov r1, #1
bl sub_020200FC
mov r0, #1
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
nop
_020413D0: .word 0x00020A0F
thumb_func_end sub_02041328
thumb_func_start sub_020413D4
sub_020413D4: ; 0x020413D4
push {r3, r4, r5, lr}
add r1, r0, #0
add r1, #0x80
ldr r2, [r0, #8]
ldr r4, [r1]
add r1, r2, #1
str r1, [r0, #8]
ldrb r5, [r2]
bl sub_0203FE2C
add r2, r0, #0
add r0, r4, #0
add r0, #0xd2
ldrb r1, [r0]
mov r0, #0x40
orr r1, r0
add r0, r4, #0
add r0, #0xd2
strb r1, [r0]
ldr r0, [r4, #0x68]
add r1, r5, #0
bl ov01_021F3D68
ldr r0, [r4, #0x68]
mov r1, #1
bl ov01_021F3D70
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020413D4
thumb_func_start sub_02041410
sub_02041410: ; 0x02041410
push {r3, lr}
add r1, r0, #0
add r1, #0x80
ldr r2, [r0, #8]
ldr r3, [r1]
add r1, r2, #1
str r1, [r0, #8]
ldrb r1, [r2]
ldr r0, [r3, #0x68]
bl ov01_021F3D70
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02041410
thumb_func_start sub_0204142C
sub_0204142C: ; 0x0204142C
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x68]
bl ov01_021F3D88
cmp r0, #1
bne _02041442
mov r0, #0
pop {r4, pc}
_02041442:
ldr r1, _02041450 ; =sub_02041454
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
nop
_02041450: .word sub_02041454
thumb_func_end sub_0204142C
thumb_func_start sub_02041454
sub_02041454: ; 0x02041454
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x68]
bl ov01_021F3D88
cmp r0, #1
bne _02041468
mov r0, #1
pop {r3, pc}
_02041468:
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02041454
thumb_func_start sub_0204146C
sub_0204146C: ; 0x0204146C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r0, #0
add r0, #0x80
ldr r4, [r0]
mov r1, #3
add r0, r4, #0
bl sub_020402F0
str r0, [sp, #0x14]
add r0, r4, #0
mov r1, #0x12
bl sub_020402F0
add r6, r0, #0
add r0, r4, #0
mov r1, #0x11
bl sub_020402F0
add r7, r0, #0
add r0, r4, #0
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
str r0, [sp, #0x18]
add r0, r1, #1
str r0, [r5, #8]
ldrb r0, [r1]
str r0, [sp, #0x10]
add r0, r5, #0
bl sub_0203FE2C
str r0, [sp, #0x1c]
ldr r0, [r5, #0x78]
ldr r1, [sp, #0x10]
ldr r2, [r6]
bl ReadMsgDataIntoString
ldr r0, [sp, #0x18]
ldr r1, [r7]
ldr r0, [r0]
ldr r2, [r6]
bl StringExpandPlaceholders
mov r0, #1
bl TextFlags_SetCanABSpeedUpPrint
mov r0, #0
bl sub_02002B50
mov r0, #0
bl sub_02002B8C
ldr r0, [r4, #0x68]
bl ov01_021F3D80
add r6, r0, #0
ldr r0, [r4, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
bl sub_0202AD3C
mov r3, #0
str r3, [sp]
str r0, [sp, #4]
ldr r0, _02041518 ; =0x00020A0F
mov r1, #1
str r0, [sp, #8]
str r3, [sp, #0xc]
ldr r2, [r7]
add r0, r6, #0
bl sub_020200FC
ldr r1, [sp, #0x14]
strb r0, [r1]
ldr r0, [sp, #0x1c]
ldr r1, _0204151C ; =sub_02041520
str r0, [r5, #0x64]
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
nop
_02041518: .word 0x00020A0F
_0204151C: .word sub_02041520
thumb_func_end sub_0204146C
thumb_func_start sub_02041520
sub_02041520: ; 0x02041520
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r4, [r0]
mov r1, #3
add r0, r4, #0
bl sub_020402F0
ldr r1, [r5, #0x64]
add r7, r0, #0
lsl r1, r1, #0x10
add r0, r4, #0
lsr r1, r1, #0x10
bl sub_02040374
add r6, r0, #0
ldr r0, [r4, #0x68]
bl ov01_021F3D84
ldrb r0, [r7]
ldr r4, _020415BC ; =0x0000FFFF
bl sub_0205B624
cmp r0, #1
bne _0204155A
mov r0, #2
strh r0, [r6]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0204155A:
ldr r0, _020415C0 ; =gMain
mov r1, #0x40
ldr r0, [r0, #0x48]
tst r1, r0
beq _02041568
mov r4, #0
b _02041584
_02041568:
mov r1, #0x80
tst r1, r0
beq _02041572
mov r4, #1
b _02041584
_02041572:
mov r1, #0x20
tst r1, r0
beq _0204157C
mov r4, #2
b _02041584
_0204157C:
mov r1, #0x10
tst r0, r1
beq _02041584
mov r4, #3
_02041584:
ldr r0, _020415BC ; =0x0000FFFF
cmp r4, r0
beq _020415B8
ldrb r0, [r7]
bl sub_020200A0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r1, r4, #0
ldr r0, [r0, #0x40]
bl sub_0205C660
mov r0, #0
strh r0, [r6]
add r5, #0x80
ldr r2, [r5]
add r0, r2, #0
add r0, #0xd2
ldrb r1, [r0]
mov r0, #0x40
add r2, #0xd2
bic r1, r0
strb r1, [r2]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_020415B8:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020415BC: .word 0x0000FFFF
_020415C0: .word gMain
thumb_func_end sub_02041520
thumb_func_start sub_020415C4
sub_020415C4: ; 0x020415C4
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
str r0, [r4, #0x64]
ldr r1, _020415DC ; =sub_020415E0
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
nop
_020415DC: .word sub_020415E0
thumb_func_end sub_020415C4
thumb_func_start sub_020415E0
sub_020415E0: ; 0x020415E0
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r1, [r5, #0x64]
ldr r4, [r0]
lsl r1, r1, #0x10
add r0, r4, #0
lsr r1, r1, #0x10
bl sub_02040374
add r6, r0, #0
ldr r0, _0204166C ; =gMain
ldr r1, _02041670 ; =0x0000FFFF
ldr r2, [r0, #0x48]
mov r0, #3
add r3, r2, #0
tst r3, r0
beq _0204161A
mov r0, #0
strh r0, [r6]
add r0, r4, #0
add r0, #0xd2
ldrb r1, [r0]
mov r0, #0x40
add r4, #0xd2
bic r1, r0
strb r1, [r4]
mov r0, #1
pop {r4, r5, r6, pc}
_0204161A:
mov r3, #0x40
tst r3, r2
beq _02041624
mov r1, #0
b _02041640
_02041624:
mov r3, #0x80
tst r3, r2
beq _0204162E
mov r1, #1
b _02041640
_0204162E:
mov r3, #0x20
tst r3, r2
beq _02041638
mov r1, #2
b _02041640
_02041638:
mov r3, #0x10
tst r2, r3
beq _02041640
add r1, r0, #0
_02041640:
ldr r0, _02041670 ; =0x0000FFFF
cmp r1, r0
beq _02041666
add r5, #0x80
ldr r0, [r5]
ldr r0, [r0, #0x40]
bl sub_0205C660
mov r0, #0
strh r0, [r6]
add r0, r4, #0
add r0, #0xd2
ldrb r1, [r0]
mov r0, #0x40
add r4, #0xd2
bic r1, r0
strb r1, [r4]
mov r0, #1
pop {r4, r5, r6, pc}
_02041666:
mov r0, #0
pop {r4, r5, r6, pc}
nop
_0204166C: .word gMain
_02041670: .word 0x0000FFFF
thumb_func_end sub_020415E0
thumb_func_start sub_02041674
sub_02041674: ; 0x02041674
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_0204031C
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02041674
thumb_func_start sub_02041684
sub_02041684: ; 0x02041684
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
add r0, #0x80
ldr r4, [r0]
mov r1, #2
add r0, r4, #0
bl sub_020402F0
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r7, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #4
str r0, [sp, #4]
ldr r0, [r4, #8]
ldr r2, _020416D8 ; =0x000003D9
mov r1, #3
mov r3, #0xb
bl sub_0200E3DC
mov r0, #4
str r0, [sp]
ldr r0, [r4, #8]
ldr r1, _020416DC ; =0x020FAC94
ldr r2, _020416D8 ; =0x000003D9
mov r3, #0xb
bl Std_CreateYesNoMenu
str r0, [r6]
ldr r1, _020416E0 ; =sub_020416E4
add r0, r5, #0
str r7, [r5, #0x64]
bl sub_0203FD58
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_020416D8: .word 0x000003D9
_020416DC: .word 0x020FAC94
_020416E0: .word sub_020416E4
thumb_func_end sub_02041684
thumb_func_start sub_020416E4
sub_020416E4: ; 0x020416E4
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r6, [r0]
mov r1, #2
add r0, r6, #0
bl sub_020402F0
ldr r1, [r5, #0x64]
add r4, r0, #0
lsl r1, r1, #0x10
add r0, r6, #0
lsr r1, r1, #0x10
bl sub_02040374
add r5, r0, #0
ldr r0, [r4]
mov r1, #4
bl sub_02001FDC
mov r1, #0
mvn r1, r1
cmp r0, r1
bne _02041718
mov r0, #0
pop {r4, r5, r6, pc}
_02041718:
cmp r0, #0
bne _02041720
mov r0, #0
b _02041722
_02041720:
mov r0, #1
_02041722:
strh r0, [r5]
mov r0, #1
pop {r4, r5, r6, pc}
thumb_func_end sub_020416E4
thumb_func_start sub_02041728
sub_02041728: ; 0x02041728
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #1
bl sub_020402F0
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
mov r1, #0x13
bl sub_020402F0
add r5, r0, #0
ldr r1, _02041754 ; =0x000003E2
add r0, r4, #0
bl sub_0200F0AC
str r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
nop
_02041754: .word 0x000003E2
thumb_func_end sub_02041728
thumb_func_start sub_02041758
sub_02041758: ; 0x02041758
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
mov r1, #0x13
bl sub_020402F0
ldr r0, [r0]
bl sub_0200F450
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02041758
thumb_func_start sub_02041770
sub_02041770: ; 0x02041770
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
add r6, r1, #0
mov r1, #0x10
add r7, r2, #0
str r0, [sp, #0x20]
bl sub_020402F0
str r0, [sp, #0x24]
ldr r0, [r5, #8]
add r1, r0, #1
str r1, [r5, #8]
ldrb r0, [r0]
add r2, r1, #1
str r0, [sp, #0x1c]
str r2, [r5, #8]
ldrb r0, [r1]
add r1, r2, #1
str r0, [sp, #0x18]
str r1, [r5, #8]
ldrb r0, [r2]
str r0, [sp, #0x14]
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
str r0, [sp, #0x28]
ldr r0, [sp, #0x20]
ldr r1, [sp, #0x28]
bl sub_02040374
str r0, [sp, #0x2c]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #1
bl sub_020402F0
ldr r1, [sp, #0x2c]
str r4, [sp]
str r1, [sp, #4]
ldr r1, [sp, #0x24]
ldr r1, [r1]
str r1, [sp, #8]
str r0, [sp, #0xc]
str r7, [sp, #0x10]
ldr r0, [sp, #0x20]
ldr r1, [sp, #0x1c]
ldr r2, [sp, #0x18]
ldr r3, [sp, #0x14]
bl ov01_021EDF78
str r0, [r6]
ldr r0, [sp, #0x28]
str r0, [r5, #0x64]
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02041770
thumb_func_start sub_020417EC
sub_020417EC: ; 0x020417EC
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0
bl sub_020402F0
add r1, r0, #0
add r0, r4, #0
mov r2, #0
bl sub_02041770
mov r0, #1
pop {r4, pc}
thumb_func_end sub_020417EC
thumb_func_start sub_02041808
sub_02041808: ; 0x02041808
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0
bl sub_020402F0
add r1, r0, #0
ldr r2, [r4, #0x78]
add r0, r4, #0
bl sub_02041770
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02041808
thumb_func_start sub_02041824
sub_02041824: ; 0x02041824
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0
bl sub_020402F0
ldr r1, [r4, #8]
add r3, r1, #1
str r3, [r4, #8]
ldrb r1, [r1]
add r2, r3, #1
str r2, [r4, #8]
ldrb r2, [r3]
ldr r0, [r0]
bl ov01_021EDC7C
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02041824
thumb_func_start sub_0204184C
sub_0204184C: ; 0x0204184C
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r4]
add r1, r6, #0
bl ov01_021EDC7C
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204184C
thumb_func_start sub_02041890
sub_02041890: ; 0x02041890
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0
bl sub_020402F0
ldr r0, [r0]
bl ov01_021EDC84
ldr r1, _020418B0 ; =sub_020418B4
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
.balign 4, 0
_020418B0: .word sub_020418B4
thumb_func_end sub_02041890
thumb_func_start sub_020418B4
sub_020418B4: ; 0x020418B4
push {r3, lr}
add r1, r0, #0
ldr r1, [r1, #0x64]
add r0, #0x80
lsl r1, r1, #0x10
ldr r0, [r0]
lsr r1, r1, #0x10
bl sub_02040374
ldrh r1, [r0]
ldr r0, _020418D8 ; =0x0000EEEE
cmp r1, r0
beq _020418D2
mov r0, #1
pop {r3, pc}
_020418D2:
mov r0, #0
pop {r3, pc}
nop
_020418D8: .word 0x0000EEEE
thumb_func_end sub_020418B4
thumb_func_start sub_020418DC
sub_020418DC: ; 0x020418DC
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0
bl sub_020402F0
ldr r0, [r0]
bl ov01_021EDC84
ldr r1, _020418FC ; =sub_02041900
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
.balign 4, 0
_020418FC: .word sub_02041900
thumb_func_end sub_020418DC
thumb_func_start sub_02041900
sub_02041900: ; 0x02041900
push {r4, r5, r6, lr}
add r1, r0, #0
add r0, #0x80
ldr r1, [r1, #0x64]
ldr r5, [r0]
lsl r1, r1, #0x10
add r0, r5, #0
lsr r1, r1, #0x10
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
mov r1, #0
bl sub_020402F0
add r6, r0, #0
ldrh r1, [r4]
ldr r0, _0204194C ; =0x0000EEEE
cmp r1, r0
bne _02041946
add r5, #0x80
ldr r0, [r5]
bl sub_0205A478
cmp r0, #0
beq _02041942
mov r0, #8
strh r0, [r4]
ldr r0, [r6]
bl ov01_021EDF38
mov r0, #1
pop {r4, r5, r6, pc}
_02041942:
mov r0, #0
pop {r4, r5, r6, pc}
_02041946:
mov r0, #1
pop {r4, r5, r6, pc}
nop
_0204194C: .word 0x0000EEEE
thumb_func_end sub_02041900
thumb_func_start sub_02041950
sub_02041950: ; 0x02041950
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0
bl sub_020402F0
add r1, r0, #0
add r0, r4, #0
mov r2, #0
bl sub_02041770
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02041950
thumb_func_start sub_0204196C
sub_0204196C: ; 0x0204196C
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0
bl sub_020402F0
add r1, r0, #0
ldr r2, [r4, #0x78]
add r0, r4, #0
bl sub_02041770
mov r0, #1
pop {r4, pc}
thumb_func_end sub_0204196C
thumb_func_start sub_02041988
sub_02041988: ; 0x02041988
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r3, r0, #0
lsl r1, r6, #0x18
lsl r2, r7, #0x18
lsl r3, r3, #0x18
ldr r0, [r4]
lsr r1, r1, #0x18
lsr r2, r2, #0x18
lsr r3, r3, #0x18
bl ov01_021EDF9C
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02041988
thumb_func_start sub_020419E8
sub_020419E8: ; 0x020419E8
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0
bl sub_020402F0
ldr r0, [r0]
bl ov01_021EDFA4
ldr r1, _02041A08 ; =sub_020418B4
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
.balign 4, 0
_02041A08: .word sub_020418B4
thumb_func_end sub_020419E8
thumb_func_start sub_02041A0C
sub_02041A0C: ; 0x02041A0C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r1, r0, #0
ldr r0, [r4]
bl ov01_021EE014
ldr r1, _02041A44 ; =sub_020418B4
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, pc}
nop
_02041A44: .word sub_020418B4
thumb_func_end sub_02041A0C
thumb_func_start sub_02041A48
sub_02041A48: ; 0x02041A48
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r2, r0, #0
ldr r0, [r4]
add r1, r6, #0
bl ov01_021EE0EC
ldr r1, _02041A94 ; =sub_020418B4
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
_02041A94: .word sub_020418B4
thumb_func_end sub_02041A48
thumb_func_start sub_02041A98
sub_02041A98: ; 0x02041A98
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0
bl sub_020402F0
ldr r2, [r4, #8]
add r1, r2, #1
str r1, [r4, #8]
ldrb r1, [r2]
ldr r0, [r0]
bl ov01_021EE974
ldr r1, _02041AC0 ; =sub_020418B4
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
.balign 4, 0
_02041AC0: .word sub_020418B4
thumb_func_end sub_02041A98
thumb_func_start sub_02041AC4
sub_02041AC4: ; 0x02041AC4
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0
bl sub_020402F0
ldr r2, [r4, #8]
add r1, r2, #1
str r1, [r4, #8]
ldrb r1, [r2]
ldr r0, [r0]
bl ov01_021EF018
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02041AC4
thumb_func_start sub_02041AE4
sub_02041AE4: ; 0x02041AE4
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0
bl sub_020402F0
ldr r2, [r4, #8]
add r1, r2, #1
str r1, [r4, #8]
ldrb r1, [r2]
ldr r0, [r0]
bl ov01_021EF034
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02041AE4
thumb_func_start sub_02041B04
sub_02041B04: ; 0x02041B04
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE44
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r1, r4, #0
bl sub_02041C70
add r7, r0, #0
bne _02041B3E
cmp r4, #0xfd
beq _02041B3A
bl GF_AssertFail
_02041B3A:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02041B3E:
cmp r4, #0xfd
bne _02041B46
bl ov01_021F7704
_02041B46:
ldr r1, [r5, #8]
add r0, r7, #0
add r1, r1, r6
bl sub_02062214
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #4
bl sub_020402F0
ldrb r1, [r0]
add r5, #0x80
mov r2, #0
add r1, r1, #1
strb r1, [r0]
ldr r0, [r5]
add r1, r4, #0
bl sub_02041CC4
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02041B04
thumb_func_start sub_02041B74
sub_02041B74: ; 0x02041B74
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r1, r4, #0
bl sub_02041C70
str r0, [sp, #4]
cmp r0, #0
bne _02041BCA
bl GF_AssertFail
_02041BCA:
mov r0, #4
add r1, r0, #0
add r1, #0xfc
bl AllocFromHeap
add r4, r0, #0
ldr r0, [sp, #4]
bl sub_0205F914
lsl r0, r0, #0x10
lsr r6, r0, #0x10
ldr r0, [sp, #4]
bl sub_0205F934
lsl r0, r0, #0x10
ldr r2, [sp]
lsr r0, r0, #0x10
mov r1, #0
cmp r6, r2
bhs _02041C00
mov r2, #0xf
strh r2, [r4]
ldr r2, [sp]
add r1, r1, #1
sub r2, r2, r6
strh r2, [r4, #2]
b _02041C10
_02041C00:
cmp r6, r2
bls _02041C10
mov r2, #0xe
strh r2, [r4]
ldr r2, [sp]
add r1, r1, #1
sub r2, r6, r2
strh r2, [r4, #2]
_02041C10:
cmp r0, r7
bhs _02041C24
lsl r2, r1, #2
mov r3, #0xc
strh r3, [r4, r2]
sub r3, r7, r0
add r0, r4, r2
strh r3, [r0, #2]
add r1, r1, #1
b _02041C36
_02041C24:
cmp r0, r7
bls _02041C36
lsl r2, r1, #2
mov r3, #0xd
strh r3, [r4, r2]
sub r3, r0, r7
add r0, r4, r2
strh r3, [r0, #2]
add r1, r1, #1
_02041C36:
lsl r2, r1, #2
mov r0, #0xfe
strh r0, [r4, r2]
mov r1, #0
add r0, r4, r2
strh r1, [r0, #2]
ldr r0, [sp, #4]
add r1, r4, #0
bl sub_02062214
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #4
bl sub_020402F0
ldrb r1, [r0]
add r5, #0x80
add r2, r4, #0
add r1, r1, #1
strb r1, [r0]
ldr r0, [r5]
add r1, r6, #0
bl sub_02041CC4
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02041B74
thumb_func_start sub_02041C70
sub_02041C70: ; 0x02041C70
push {r3, lr}
cmp r1, #0xf2
bne _02041C80
ldr r0, [r0, #0x3c]
mov r1, #0x30
bl sub_0205EEB4
pop {r3, pc}
_02041C80:
cmp r1, #0xf1
bne _02041C8E
mov r1, #0xb
bl sub_020402F0
ldr r0, [r0]
pop {r3, pc}
_02041C8E:
ldr r0, [r0, #0x3c]
bl sub_0205EE60
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02041C70
thumb_func_start sub_02041C98
sub_02041C98: ; 0x02041C98
push {r3, lr}
ldr r1, _02041CA4 ; =sub_02041CA8
bl sub_0203FD58
mov r0, #1
pop {r3, pc}
.balign 4, 0
_02041CA4: .word sub_02041CA8
thumb_func_end sub_02041C98
thumb_func_start sub_02041CA8
sub_02041CA8: ; 0x02041CA8
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
mov r1, #4
bl sub_020402F0
ldrb r0, [r0]
cmp r0, #0
bne _02041CBE
mov r0, #1
pop {r3, pc}
_02041CBE:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02041CA8
thumb_func_start sub_02041CC4
sub_02041CC4: ; 0x02041CC4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
mov r0, #4
mov r1, #0x10
add r7, r2, #0
bl AllocFromHeap
add r4, r0, #0
bne _02041CDE
bl GF_AssertFail
pop {r3, r4, r5, r6, r7, pc}
_02041CDE:
str r5, [r4, #0xc]
str r6, [r4, #4]
ldr r0, _02041CF4 ; =sub_02041CF8
add r1, r4, #0
mov r2, #0
str r7, [r4, #8]
bl sub_0200E320
str r0, [r4]
pop {r3, r4, r5, r6, r7, pc}
nop
_02041CF4: .word sub_02041CF8
thumb_func_end sub_02041CC4
thumb_func_start sub_02041CF8
sub_02041CF8: ; 0x02041CF8
push {r3, r4, r5, lr}
add r5, r1, #0
ldr r0, [r5, #0xc]
mov r1, #4
bl sub_020402F0
add r4, r0, #0
ldr r0, [r5, #4]
bl sub_02062260
cmp r0, #1
bne _02041D3C
ldr r0, [r5, #4]
bl sub_0206226C
ldr r0, [r5]
bl sub_0200E390
ldr r0, [r5, #8]
cmp r0, #0
beq _02041D26
bl FreeToHeap
_02041D26:
add r0, r5, #0
bl FreeToHeap
ldrb r0, [r4]
cmp r0, #0
bne _02041D38
bl GF_AssertFail
pop {r3, r4, r5, pc}
_02041D38:
sub r0, r0, #1
strb r0, [r4]
_02041D3C:
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02041CF8
thumb_func_start sub_02041D40
sub_02041D40: ; 0x02041D40
push {r4, r5, r6, lr}
add r6, r0, #0
add r0, #0x80
ldr r5, [r0]
mov r1, #0xa
add r0, r5, #0
bl sub_020402F0
ldr r0, [r0]
cmp r0, #0
bne _02041D8A
ldr r0, [r5, #0x3c]
bl sub_0205F574
add r0, r5, #0
bl sub_02069D68
add r4, r0, #0
add r0, r5, #0
bl sub_02069F88
cmp r0, #0
beq _02041D90
add r0, r4, #0
bl sub_0205F648
cmp r0, #0
beq _02041D90
add r0, r4, #0
bl sub_0205F708
ldr r1, _02041D94 ; =sub_02041E60
add r0, r6, #0
bl sub_0203FD58
mov r0, #1
pop {r4, r5, r6, pc}
_02041D8A:
add r0, r6, #0
bl sub_02041E84
_02041D90:
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
_02041D94: .word sub_02041E60
thumb_func_end sub_02041D40
thumb_func_start sub_02041D98
sub_02041D98: ; 0x02041D98
push {r4, r5, r6, lr}
add r0, #0x80
ldr r4, [r0]
mov r1, #0xa
add r0, r4, #0
bl sub_020402F0
add r5, r0, #0
ldr r0, [r4, #0x40]
bl sub_0205C6DC
ldr r1, _02041E5C ; =0x021D415C
add r6, r0, #0
ldrb r2, [r1]
mov r1, #1
tst r1, r2
beq _02041DD2
bl sub_02062198
cmp r0, #1
bne _02041DD2
add r0, r6, #0
bl sub_0205F6FC
ldr r1, _02041E5C ; =0x021D415C
mov r0, #0xfe
ldrb r2, [r1]
and r0, r2
strb r0, [r1]
_02041DD2:
ldr r0, _02041E5C ; =0x021D415C
ldrb r1, [r0]
mov r0, #4
tst r0, r1
beq _02041DF6
ldr r0, [r5]
bl sub_0205F648
cmp r0, #0
bne _02041DF6
ldr r0, [r5]
bl sub_0205F6FC
ldr r1, _02041E5C ; =0x021D415C
mov r0, #0xfb
ldrb r2, [r1]
and r0, r2
strb r0, [r1]
_02041DF6:
ldr r0, _02041E5C ; =0x021D415C
ldrb r1, [r0]
mov r0, #2
tst r0, r1
beq _02041E22
ldr r0, [r4, #0x3c]
mov r1, #0x30
bl sub_0205EEB4
add r4, r0, #0
bl sub_0205F648
cmp r0, #0
bne _02041E22
add r0, r4, #0
bl sub_0205F6FC
ldr r1, _02041E5C ; =0x021D415C
mov r0, #0xfd
ldrb r2, [r1]
and r0, r2
strb r0, [r1]
_02041E22:
ldr r0, _02041E5C ; =0x021D415C
ldrb r1, [r0]
mov r0, #8
tst r0, r1
beq _02041E4C
ldr r0, [r5]
bl sub_020660C0
add r4, r0, #0
bl sub_0205F648
cmp r0, #0
bne _02041E4C
add r0, r4, #0
bl sub_0205F6FC
ldr r1, _02041E5C ; =0x021D415C
mov r0, #0xf7
ldrb r2, [r1]
and r0, r2
strb r0, [r1]
_02041E4C:
ldr r0, _02041E5C ; =0x021D415C
ldrb r0, [r0]
cmp r0, #0
bne _02041E58
mov r0, #1
pop {r4, r5, r6, pc}
_02041E58:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_02041E5C: .word 0x021D415C
thumb_func_end sub_02041D98
thumb_func_start sub_02041E60
sub_02041E60: ; 0x02041E60
push {r4, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_02069D68
add r4, r0, #0
bl sub_0205F648
cmp r0, #0
bne _02041E7E
add r0, r4, #0
bl sub_0205F6FC
mov r0, #1
pop {r4, pc}
_02041E7E:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02041E60
thumb_func_start sub_02041E84
sub_02041E84: ; 0x02041E84
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
str r0, [sp]
add r0, #0x80
ldr r4, [r0]
mov r1, #0xa
add r0, r4, #0
bl sub_020402F0
add r5, r0, #0
ldr r0, [r4, #0x40]
bl sub_0205C6DC
str r0, [sp, #4]
ldr r0, [r4, #0x3c]
mov r1, #0x30
bl sub_0205EEB4
add r7, r0, #0
ldr r0, [r5]
bl sub_020660C0
add r6, r0, #0
ldr r0, [r4, #0x3c]
ldr r1, _02041F48 ; =0x021D415C
mov r2, #0
strb r2, [r1]
bl sub_0205F574
ldr r0, [sp, #4]
bl sub_02062198
cmp r0, #0
bne _02041ED8
ldr r1, _02041F48 ; =0x021D415C
mov r0, #1
ldrb r2, [r1]
orr r0, r2
strb r0, [r1]
ldr r0, [sp, #4]
bl sub_0205F708
_02041ED8:
ldr r0, [r5]
bl sub_0205F648
cmp r0, #0
beq _02041EF2
ldr r1, _02041F48 ; =0x021D415C
mov r0, #4
ldrb r2, [r1]
orr r0, r2
strb r0, [r1]
ldr r0, [r5]
bl sub_0205F708
_02041EF2:
cmp r7, #0
beq _02041F1A
add r0, r4, #0
bl sub_02069F88
cmp r0, #0
beq _02041F1A
add r0, r7, #0
bl sub_0205F648
cmp r0, #0
bne _02041F1A
ldr r1, _02041F48 ; =0x021D415C
mov r0, #2
ldrb r2, [r1]
orr r0, r2
strb r0, [r1]
add r0, r7, #0
bl sub_0205F708
_02041F1A:
cmp r6, #0
beq _02041F38
add r0, r6, #0
bl sub_0205F648
cmp r0, #0
beq _02041F38
ldr r1, _02041F48 ; =0x021D415C
mov r0, #8
ldrb r2, [r1]
orr r0, r2
strb r0, [r1]
add r0, r6, #0
bl sub_0205F708
_02041F38:
ldr r0, [sp]
ldr r1, _02041F4C ; =sub_02041D98
bl sub_0203FD58
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_02041F48: .word 0x021D415C
_02041F4C: .word sub_02041D98
thumb_func_end sub_02041E84
thumb_func_start sub_02041F50
sub_02041F50: ; 0x02041F50
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x3c]
bl sub_0205F5A4
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02041F50
thumb_func_start sub_02041F60
sub_02041F60: ; 0x02041F60
push {r3, r4, r5, lr}
add r1, r0, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r4, r0, #0
ldr r0, [r5, #0x3c]
add r1, r4, #0
bl sub_0205EE60
cmp r0, #0
beq _02041F80
bl sub_0205F6FC
b _02041F88
_02041F80:
cmp r4, #0xfd
beq _02041F88
bl GF_AssertFail
_02041F88:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02041F60
thumb_func_start sub_02041F8C
sub_02041F8C: ; 0x02041F8C
push {r3, r4, r5, lr}
add r1, r0, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r4, r0, #0
ldr r0, [r5, #0x3c]
add r1, r4, #0
bl sub_0205EE60
cmp r0, #0
beq _02041FAC
bl sub_0205F708
b _02041FB4
_02041FAC:
cmp r4, #0xfd
beq _02041FB4
bl GF_AssertFail
_02041FB4:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02041F8C
thumb_func_start sub_02041FB8
sub_02041FB8: ; 0x02041FB8
push {r3, r4, r5, r6, lr}
sub sp, #4
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203B74C
add r6, r0, #0
add r0, r5, #0
bl sub_0203B754
str r0, [sp]
ldr r3, [r5, #0x20]
ldr r0, [r5, #0x3c]
ldr r3, [r3]
add r1, r4, #0
add r2, r6, #0
bl sub_0205E34C
cmp r0, #0
bne _02041FFA
bl GF_AssertFail
_02041FFA:
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
thumb_func_end sub_02041FB8
thumb_func_start sub_02042000
sub_02042000: ; 0x02042000
push {r3, r4, r5, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r1, r0, #0
ldr r0, [r5, #0x3c]
bl sub_0205EE60
cmp r0, #0
bne _0204202A
bl GF_AssertFail
b _0204202E
_0204202A:
bl sub_0205E400
_0204202E:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02042000
thumb_func_start sub_02042034
sub_02042034: ; 0x02042034
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0xb
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
mov r1, #2
ldr r0, [r0]
lsl r1, r1, #0xc
str r1, [sp]
mov r3, #0
str r3, [sp, #4]
ldr r1, [r0, #0x20]
add r2, r7, #0
ldr r1, [r1]
str r1, [sp, #8]
ldr r0, [r0, #0x3c]
add r1, r6, #0
bl sub_0205E294
str r0, [r4]
bl sub_02061070
ldr r0, [r4]
mov r1, #1
bl sub_0205F690
ldr r0, [r4]
mov r1, #0
bl sub_0205F6AC
ldr r0, [r4]
bl sub_0205F964
add r1, r5, #0
add r1, #0x80
ldr r1, [r1]
add r4, r0, #0
ldr r1, [r1, #0x2c]
bl ov01_021F62E8
add r5, #0x80
ldr r1, [r5]
add r0, r4, #0
ldr r1, [r1, #0x24]
bl sub_02023214
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02042034
thumb_func_start sub_020420CC
sub_020420CC: ; 0x020420CC
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0xb
bl sub_020402F0
ldr r0, [r0]
bl sub_0205E3CC
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0xff
ldr r0, [r0, #0x3c]
bl sub_0205EE60
bl sub_0205F964
add r1, r5, #0
add r1, #0x80
ldr r1, [r1]
add r4, r0, #0
ldr r1, [r1, #0x2c]
bl ov01_021F62E8
add r5, #0x80
ldr r1, [r5]
add r0, r4, #0
ldr r1, [r1, #0x24]
bl sub_02023214
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_020420CC
thumb_func_start sub_02042110
sub_02042110: ; 0x02042110
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0xb
bl sub_020402F0
mov r1, #2
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
lsl r1, r1, #0xc
str r1, [sp]
mov r3, #0
str r3, [sp, #4]
ldr r1, [r0, #0x20]
add r2, r7, #0
ldr r1, [r1]
str r1, [sp, #8]
ldr r0, [r0, #0x3c]
add r1, r6, #0
bl sub_0205E294
str r0, [r4]
bl sub_02061070
ldr r0, [r4]
mov r1, #1
bl sub_0205F690
ldr r0, [r4]
mov r1, #0
bl sub_0205F6AC
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_02042110
thumb_func_start sub_02042184
sub_02042184: ; 0x02042184
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
mov r1, #0xb
bl sub_020402F0
ldr r0, [r0]
bl sub_0205E3CC
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02042184
thumb_func_start sub_0204219C
sub_0204219C: ; 0x0204219C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r0, #0x80
ldr r5, [r0]
ldr r0, [r5, #0x40]
bl sub_0205C654
bl sub_020611F4
add r6, r0, #0
add r0, r5, #0
mov r1, #0xa
bl sub_020402F0
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
bne _020421C6
add sp, #0xc
mov r0, #0
pop {r4, r5, r6, r7, pc}
_020421C6:
bl sub_0205F2A8
add r7, r0, #0
ldr r0, [r4]
add r1, r6, #0
bl ov01_021F9408
ldr r0, [r4]
bl sub_0205F24C
cmp r0, #0xfd
bne _020422AC
ldr r0, [r4]
bl ov01_022055DC
cmp r0, #0
beq _020422AC
cmp r7, r6
beq _020422AC
ldr r0, [r4]
add r1, sp, #8
add r2, sp, #4
bl ov01_02205604
ldr r1, [sp, #8]
ldr r2, [sp, #4]
add r0, r5, #0
bl sub_02054918
add r5, r0, #0
sub r0, r6, #2
cmp r0, #1
bhi _02042242
lsl r0, r5, #0x18
lsr r0, r0, #0x18
bl sub_0205B6E8
cmp r0, #1
bne _02042226
mov r0, #1
str r0, [sp]
ldr r0, [r4]
ldr r2, [sp, #8]
ldr r3, [sp, #4]
mov r1, #0
bl ov01_021FF0E4
b _02042242
_02042226:
lsl r0, r5, #0x18
lsr r0, r0, #0x18
bl sub_0205B6F4
cmp r0, #1
bne _02042242
mov r0, #1
str r0, [sp]
ldr r0, [r4]
ldr r2, [sp, #8]
ldr r3, [sp, #4]
mov r1, #0
bl ov01_021FF964
_02042242:
lsl r0, r5, #0x18
lsr r0, r0, #0x18
bl sub_0205B6E8
cmp r0, #0
bne _020422AC
lsl r0, r5, #0x18
lsr r0, r0, #0x18
bl sub_0205B6F4
cmp r0, #0
bne _020422AC
ldr r0, [r4]
add r1, r5, #0
bl sub_02060E54
cmp r0, #0
bne _020422AC
lsl r0, r5, #0x18
lsr r0, r0, #0x18
bl sub_0205B984
cmp r0, #0
bne _020422AC
lsl r0, r5, #0x18
lsr r0, r0, #0x18
bl sub_0205B7A4
cmp r0, #0
bne _020422AC
ldr r0, [r4]
add r1, r5, #0
bl sub_02060EBC
cmp r0, #0
bne _020422AC
lsl r0, r5, #0x18
lsr r0, r0, #0x18
bl sub_0205B8AC
cmp r0, #0
bne _020422AC
lsl r0, r5, #0x18
lsr r0, r0, #0x18
bl sub_0205BA70
cmp r0, #0
bne _020422AC
mov r1, #1
ldr r0, [r4]
lsl r1, r1, #0x14
bl sub_0205F214
_020422AC:
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204219C
thumb_func_start sub_020422B4
sub_020422B4: ; 0x020422B4
push {r4, r5, r6, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
ldr r0, [r5, #0x40]
bl sub_0205C67C
strh r0, [r6]
ldr r0, [r5, #0x40]
bl sub_0205C688
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020422B4
thumb_func_start sub_020422F8
sub_020422F8: ; 0x020422F8
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
ldr r0, [r5, #0x3c]
add r1, r7, #0
bl sub_0205EE60
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
cmp r5, #0
beq _0204235A
add r0, r5, #0
bl sub_0205F914
strh r0, [r6]
add r0, r5, #0
bl sub_0205F934
strh r0, [r4]
b _02042368
_0204235A:
mov r0, #0xff
strh r0, [r6]
strh r0, [r4]
cmp r7, #0xfd
beq _02042368
bl GF_AssertFail
_02042368:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020422F8
thumb_func_start sub_0204236C
sub_0204236C: ; 0x0204236C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0x40]
bl sub_0205C654
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204236C
thumb_func_start sub_02042394
sub_02042394: ; 0x02042394
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
cmp r7, #0
beq _020423EA
lsl r0, r7, #0xc
bl _itof
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _020423F8
_020423EA:
lsl r0, r7, #0xc
bl _itof
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_020423F8:
bl _ftoi
str r0, [sp]
cmp r6, #0
beq _02042414
lsl r0, r6, #0xc
bl _itof
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _02042422
_02042414:
lsl r0, r6, #0xc
bl _itof
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_02042422:
bl _ftoi
str r0, [sp, #4]
cmp r4, #0
beq _0204243E
lsl r0, r4, #0xc
bl _itof
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _0204244C
_0204243E:
lsl r0, r4, #0xc
bl _itof
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_0204244C:
bl _ftoi
str r0, [sp, #8]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x40]
bl sub_0205C6DC
add r1, sp, #0
bl sub_0205F9A0
add r5, #0x80
ldr r1, [r5]
add r0, sp, #0
ldr r1, [r1, #0x24]
bl sub_02023514
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02042394
thumb_func_start sub_02042478
sub_02042478: ; 0x02042478
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x3c]
bl sub_0205EE60
ldr r2, [r4, #8]
add r1, r2, #1
str r1, [r4, #8]
ldrb r1, [r2]
bl sub_0205F79C
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02042478
thumb_func_start sub_020424AC
sub_020424AC: ; 0x020424AC
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x3c]
bl sub_0205EE60
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
cmp r5, #0
beq _020424E2
add r0, r5, #0
bl sub_0205FC94
_020424E2:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020424AC
thumb_func_start sub_020424E8
sub_020424E8: ; 0x020424E8
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
mov r0, #0
strh r0, [r4]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0x3c]
bl sub_0205EE60
cmp r0, #0
beq _0204252A
bl sub_0205F264
strh r0, [r4]
_0204252A:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020424E8
thumb_func_start sub_02042530
sub_02042530: ; 0x02042530
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r6, #0
bl GetPartyMonByIndex
bl sub_02070D98
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02042530
thumb_func_start sub_02042574
sub_02042574: ; 0x02042574
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r1, r5, #0
add r1, #0x80
add r4, r0, #0
ldr r1, [r1]
mov r0, #0x20
bl sub_0203E580
str r0, [r4]
ldr r1, _020425A0 ; =sub_020429F8
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, pc}
nop
_020425A0: .word sub_020429F8
thumb_func_end sub_02042574
thumb_func_start sub_020425A4
sub_020425A4: ; 0x020425A4
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r1, r5, #0
add r1, #0x80
add r4, r0, #0
ldr r1, [r1]
mov r0, #0x20
bl sub_0203E5A4
str r0, [r4]
ldr r1, _020425D0 ; =sub_020429F8
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, pc}
nop
_020425D0: .word sub_020429F8
thumb_func_end sub_020425A4
thumb_func_start sub_020425D4
sub_020425D4: ; 0x020425D4
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
mov r1, #0x20
ldr r0, [r0, #0x10]
bl sub_0203E6D4
str r0, [r4]
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020425D4
thumb_func_start sub_020425F8
sub_020425F8: ; 0x020425F8
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
bne _02042624
bl GF_AssertFail
_02042624:
ldr r0, [r4]
bl sub_0203E5C8
strh r0, [r5]
ldrh r0, [r5]
cmp r0, #7
bne _02042636
mov r0, #0xff
strh r0, [r5]
_02042636:
ldr r0, [r4]
bl FreeToHeap
mov r0, #0
str r0, [r4]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020425F8
thumb_func_start sub_02042644
sub_02042644: ; 0x02042644
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
add r6, r0, #0
ldr r0, [r4]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
ldr r7, [r4]
cmp r7, #0
bne _02042684
bl GF_AssertFail
_02042684:
ldr r0, [r4]
bl sub_0203E5C8
cmp r0, #7
bne _02042694
mov r0, #0xff
strh r0, [r5]
b _020426B6
_02042694:
cmp r0, #6
bne _020426B6
add r0, r7, #0
add r0, #0x30
ldrb r0, [r0]
add r7, #0x31
strh r0, [r5]
ldrh r0, [r5]
sub r0, r0, #1
strh r0, [r5]
ldrb r0, [r7]
strh r0, [r6]
ldrh r0, [r6]
cmp r0, #0
beq _020426B6
sub r0, r0, #1
strh r0, [r6]
_020426B6:
ldr r0, [r4]
bl FreeToHeap
mov r0, #0
str r0, [r4]
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02042644
thumb_func_start sub_020426C4
sub_020426C4: ; 0x020426C4
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp]
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
add r7, r0, #0
ldr r0, [r4]
mov r1, #0x14
bl sub_020402F0
add r6, r0, #0
ldr r4, [r6]
cmp r4, #0
bne _02042718
bl GF_AssertFail
_02042718:
ldr r0, [r6]
bl sub_0203E5C8
cmp r0, #7
bne _02042728
mov r0, #0xff
strh r0, [r5]
b _0204275C
_02042728:
cmp r0, #6
bne _0204275C
add r0, r4, #0
add r0, #0x30
ldrb r0, [r0]
strh r0, [r5]
ldrh r0, [r5]
sub r0, r0, #1
strh r0, [r5]
add r0, r4, #0
add r0, #0x31
ldrb r1, [r0]
ldr r0, [sp]
add r4, #0x32
strh r1, [r0]
ldrh r0, [r0]
sub r1, r0, #1
ldr r0, [sp]
strh r1, [r0]
ldrb r0, [r4]
strh r0, [r7]
ldrh r0, [r7]
cmp r0, #0
beq _0204275C
sub r0, r0, #1
strh r0, [r7]
_0204275C:
ldr r0, [r6]
bl FreeToHeap
mov r0, #0
str r0, [r6]
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020426C4
thumb_func_start sub_02042768
sub_02042768: ; 0x02042768
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp]
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
add r7, r0, #0
ldr r0, [r4]
mov r1, #0x14
bl sub_020402F0
add r6, r0, #0
ldr r4, [r6]
cmp r4, #0
bne _020427BC
bl GF_AssertFail
_020427BC:
ldr r0, [r6]
bl sub_0203E5C8
cmp r0, #7
bne _020427CC
mov r0, #0xff
strh r0, [r5]
b _02042800
_020427CC:
cmp r0, #6
bne _02042800
add r0, r4, #0
add r0, #0x30
ldrb r0, [r0]
strh r0, [r5]
ldrh r0, [r5]
sub r0, r0, #1
strh r0, [r5]
add r0, r4, #0
add r0, #0x31
ldrb r1, [r0]
ldr r0, [sp]
add r4, #0x32
strh r1, [r0]
ldrh r0, [r0]
sub r1, r0, #1
ldr r0, [sp]
strh r1, [r0]
ldrb r0, [r4]
strh r0, [r7]
ldrh r0, [r7]
cmp r0, #0
beq _02042800
sub r0, r0, #1
strh r0, [r7]
_02042800:
ldr r0, [r6]
bl FreeToHeap
mov r0, #0
str r0, [r6]
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02042768
thumb_func_start sub_0204280C
sub_0204280C: ; 0x0204280C
push {r4, r5, r6, lr}
add r4, r0, #0
ldr r2, [r4, #8]
add r1, r2, #1
str r1, [r4, #8]
ldrb r6, [r2]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
bne _02042840
bl GF_AssertFail
_02042840:
cmp r6, #1
ldr r0, [r4]
bne _0204284C
bl sub_0203E864
b _02042850
_0204284C:
bl sub_0203E600
_02042850:
strh r0, [r5]
ldr r0, [r4]
bl FreeToHeap
mov r0, #0
str r0, [r4]
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204280C
thumb_func_start sub_02042860
sub_02042860: ; 0x02042860
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
ldr r1, [r5, #8]
add r4, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r6, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r3, r0, #0
cmp r6, #1
bne _020428B6
add r1, r5, #0
add r1, #0x80
lsl r2, r7, #0x18
ldr r1, [r1]
mov r0, #0x20
lsr r2, r2, #0x18
bl sub_0203E7F4
b _020428C4
_020428B6:
add r1, r5, #0
add r1, #0x80
ldr r1, [r1]
mov r0, #0x20
add r2, r7, #0
bl sub_0203FB94
_020428C4:
ldr r1, _020428D4 ; =sub_020429F8
str r0, [r4]
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
nop
_020428D4: .word sub_020429F8
thumb_func_end sub_02042860
thumb_func_start sub_020428D8
sub_020428D8: ; 0x020428D8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
mov r0, #0x20
bl sub_02095EF8
add r7, r0, #0
ldr r0, _02042944 ; =SDK_OVERLAY_OVY_26_ID
mov r1, #2
bl HandleLoadOverlay
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020555F0
add r3, r0, #0
add r5, #0x80
ldr r1, [r5]
lsl r0, r4, #0x18
lsl r3, r3, #0x18
ldr r1, [r1, #0xc]
lsr r0, r0, #0x18
add r2, r7, #0
lsr r3, r3, #0x18
bl sub_020932A4
strh r0, [r6]
ldr r0, _02042944 ; =SDK_OVERLAY_OVY_26_ID
bl UnloadOverlayByID
add r0, r7, #0
bl sub_02095F68
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02042944: .word SDK_OVERLAY_OVY_26_ID
thumb_func_end sub_020428D8
thumb_func_start sub_02042948
sub_02042948: ; 0x02042948
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0203B9C4
bl sub_0203B984
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02042948
thumb_func_start sub_02042974
sub_02042974: ; 0x02042974
push {r3, r4, r5, lr}
add r0, #0x80
ldr r5, [r0]
mov r1, #0x14
add r0, r5, #0
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_020505A0
cmp r0, #0
beq _02042992
mov r0, #0
pop {r3, r4, r5, pc}
_02042992:
ldr r0, [r4]
bl FreeToHeap
mov r0, #0
str r0, [r4]
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end sub_02042974
thumb_func_start sub_020429A0
sub_020429A0: ; 0x020429A0
push {r3, r4, r5, lr}
add r0, #0x80
ldr r5, [r0]
mov r1, #0x14
add r0, r5, #0
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_020505A0
cmp r0, #0
beq _020429BE
mov r0, #0
pop {r3, r4, r5, pc}
_020429BE:
add r0, r5, #0
bl sub_02093070
ldr r0, [r4]
bl FreeToHeap
mov r0, #0
str r0, [r4]
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020429A0
thumb_func_start sub_020429D4
sub_020429D4: ; 0x020429D4
push {r4, lr}
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
ldr r0, [r4]
bl sub_020970C0
cmp r0, #0
bne _020429F0
mov r0, #0
pop {r4, pc}
_020429F0:
mov r0, #0
str r0, [r4]
mov r0, #1
pop {r4, pc}
thumb_func_end sub_020429D4
thumb_func_start sub_020429F8
sub_020429F8: ; 0x020429F8
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_020505A0
cmp r0, #0
bne _02042A0A
mov r0, #1
pop {r3, pc}
_02042A0A:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020429F8
thumb_func_start sub_02042A10
sub_02042A10: ; 0x02042A10
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x10]
bl sub_020552A4
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02042A10
thumb_func_start sub_02042A20
sub_02042A20: ; 0x02042A20
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x10]
bl sub_0205525C
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02042A20
thumb_func_start sub_02042A30
sub_02042A30: ; 0x02042A30
push {r3, r4, r5, lr}
ldr r0, [r0, #0xc]
add r5, r1, #0
add r4, r2, #0
bl sub_0202C028
cmp r5, #0
bne _02042A4E
add r1, r4, #0
bl sub_0202B9EC
cmp r0, #0
bne _02042A5C
mov r0, #0
pop {r3, r4, r5, pc}
_02042A4E:
add r1, r4, #0
bl sub_0202BA08
cmp r0, #0
bne _02042A5C
mov r0, #0
pop {r3, r4, r5, pc}
_02042A5C:
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end sub_02042A30
thumb_func_start sub_02042A60
sub_02042A60: ; 0x02042A60
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
str r0, [sp]
ldr r0, [r5, #0xc]
add r4, r2, #0
add r6, r3, #0
bl sub_0202C028
add r7, r0, #0
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl sub_02042A30
cmp r0, #0
bne _02042A84
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02042A84:
ldr r0, [sp]
mov r1, #0xc
bl AllocFromHeap
mov r1, #0
strb r1, [r0]
strb r1, [r0, #1]
strb r1, [r0, #2]
strb r1, [r0, #3]
strb r1, [r0, #4]
strb r1, [r0, #5]
strb r1, [r0, #6]
strb r1, [r0, #7]
strb r1, [r0, #8]
strb r1, [r0, #9]
strb r1, [r0, #0xa]
strb r1, [r0, #0xb]
str r7, [r0]
str r4, [r0, #8]
str r6, [r0, #4]
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02042A60
thumb_func_start sub_02042AB0
sub_02042AB0: ; 0x02042AB0
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov01_021F729C
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02042AB0
thumb_func_start sub_02042AC0
sub_02042AC0: ; 0x02042AC0
push {r3, lr}
ldr r0, [r0, #0x74]
bl sub_02078B58
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02042AC0
thumb_func_start sub_02042ACC
sub_02042ACC: ; 0x02042ACC
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
ldr r1, [r4]
ldr r1, [r1, #4]
strh r1, [r0]
ldr r0, [r4]
bl FreeToHeap
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02042ACC
thumb_func_start sub_02042AFC
sub_02042AFC: ; 0x02042AFC
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
bl sub_0203769C
strh r0, [r4]
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02042AFC
thumb_func_start sub_02042B1C
sub_02042B1C: ; 0x02042B1C
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #4
str r0, [sp, #4]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r2, _02042BA8 ; =0x000003D9
ldr r0, [r0, #8]
mov r1, #3
mov r3, #0xb
bl sub_0200E3DC
mov r0, #0xb
str r0, [sp]
ldr r0, _02042BA8 ; =0x000003D9
mov r1, #3
str r0, [sp, #4]
lsl r0, r7, #0x18
str r4, [sp, #8]
lsr r0, r0, #0x18
str r0, [sp, #0xc]
mov r0, #4
str r0, [sp, #0x10]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r2, #0xa
ldr r0, [r0, #8]
mov r3, #5
bl sub_0200F4A0
add r5, #0x80
str r0, [r6]
ldr r0, [r5]
add r1, r4, #0
bl sub_020457D4
mov r0, #0
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02042BA8: .word 0x000003D9
thumb_func_end sub_02042B1C
thumb_func_start sub_02042BAC
sub_02042BAC: ; 0x02042BAC
push {r4, r5, r6, lr}
sub sp, #0x10
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r6, #0
bl GetPartyMonByIndex
add r6, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #4
str r0, [sp, #4]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r2, _02042C28 ; =0x000003D9
ldr r0, [r0, #8]
mov r1, #3
mov r3, #0xb
bl sub_0200E3DC
mov r0, #0xb
str r0, [sp]
ldr r0, _02042C28 ; =0x000003D9
add r5, #0x80
str r0, [sp, #4]
str r6, [sp, #8]
mov r0, #4
str r0, [sp, #0xc]
ldr r0, [r5]
mov r1, #3
ldr r0, [r0, #8]
mov r2, #0xa
mov r3, #5
bl sub_0200F4F8
str r0, [r4]
mov r0, #0
add sp, #0x10
pop {r4, r5, r6, pc}
nop
_02042C28: .word 0x000003D9
thumb_func_end sub_02042BAC
thumb_func_start sub_02042C2C
sub_02042C2C: ; 0x02042C2C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
ldr r0, [r0]
mov r1, #1
strb r1, [r0]
add r0, r1, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02042C2C
thumb_func_start sub_02042C44
sub_02042C44: ; 0x02042C44
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
ldr r0, [r0]
mov r1, #2
strb r1, [r0]
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02042C44
thumb_func_start sub_02042C5C
sub_02042C5C: ; 0x02042C5C
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
str r0, [r4, #0x64]
ldr r1, _02042C74 ; =sub_02042C78
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
nop
_02042C74: .word sub_02042C78
thumb_func_end sub_02042C5C
thumb_func_start sub_02042C78
sub_02042C78: ; 0x02042C78
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
ldr r1, [r5, #0x64]
add r0, #0x80
lsl r1, r1, #0x10
ldr r0, [r0]
lsr r1, r1, #0x10
bl sub_02040374
ldr r0, [r4]
ldrb r0, [r0]
cmp r0, #3
beq _02042CA4
mov r0, #1
pop {r3, r4, r5, pc}
_02042CA4:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02042C78
thumb_func_start sub_02042CA8
sub_02042CA8: ; 0x02042CA8
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0xa
bl sub_020402F0
ldr r6, _02042CDC ; =SDK_OVERLAY_OVY_26_ID
add r4, r0, #0
add r0, r6, #0
mov r1, #2
bl HandleLoadOverlay
ldr r1, [r4]
cmp r1, #0
beq _02042CD0
add r5, #0x80
ldr r0, [r5]
bl ov26_022599D8
_02042CD0:
add r0, r6, #0
bl UnloadOverlayByID
mov r0, #0
pop {r4, r5, r6, pc}
nop
_02042CDC: .word SDK_OVERLAY_OVY_26_ID
thumb_func_end sub_02042CA8
thumb_func_start sub_02042CE0
sub_02042CE0: ; 0x02042CE0
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r1, r0, #0
ldr r0, [r4, #0x74]
bl sub_020961D8
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02042CE0
thumb_func_start sub_02042D00
sub_02042D00: ; 0x02042D00
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
ldr r2, [r5]
add r1, r6, #0
str r0, [sp]
ldr r0, [r2, #0x10]
ldr r2, [r2, #0xc]
add r3, r4, #0
bl sub_0203F198
mov r0, #1
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02042D00
thumb_func_start sub_02042D58
sub_02042D58: ; 0x02042D58
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r1, r5, #0
add r1, #0x80
add r6, r0, #0
ldr r1, [r1]
mov r0, #0xb
mov r2, #0
add r3, r7, #0
bl sub_02042A60
str r0, [r4]
cmp r0, #0
bne _02042DA0
mov r0, #1
strh r0, [r6]
pop {r3, r4, r5, r6, r7, pc}
_02042DA0:
mov r0, #0
strh r0, [r6]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r1, [r4]
bl sub_0203F204
ldr r1, _02042DBC ; =sub_02042974
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02042DBC: .word sub_02042974
thumb_func_end sub_02042D58
thumb_func_start sub_02042DC0
sub_02042DC0: ; 0x02042DC0
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
mov r1, #0
add r2, r6, #0
bl sub_02042A30
cmp r0, #1
bne _02042DF4
mov r0, #1
strh r0, [r4]
pop {r4, r5, r6, pc}
_02042DF4:
mov r0, #0
strh r0, [r4]
mov r0, #1
pop {r4, r5, r6, pc}
thumb_func_end sub_02042DC0
thumb_func_start sub_02042DFC
sub_02042DFC: ; 0x02042DFC
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202C028
mov r1, #0
bl sub_0202B9B8
add r1, r4, #0
bl sub_0202BD7C
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end sub_02042DFC
thumb_func_start sub_02042E2C
sub_02042E2C: ; 0x02042E2C
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203F964
ldr r1, _02042E44 ; =sub_020429F8
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
.balign 4, 0
_02042E44: .word sub_020429F8
thumb_func_end sub_02042E2C
thumb_func_start sub_02042E48
sub_02042E48: ; 0x02042E48
push {r3, lr}
add r1, r0, #0
ldr r0, [r1, #0x74]
add r1, #0x80
ldr r1, [r1]
ldr r1, [r1, #0xc]
bl sub_0206B910
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02042E48
thumb_func_start sub_02042E5C
sub_02042E5C: ; 0x02042E5C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #1
bl Radio_new
str r0, [r4]
ldr r1, _02042E88 ; =sub_02042974
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, pc}
nop
_02042E88: .word sub_02042974
thumb_func_end sub_02042E5C
thumb_func_start sub_02042E8C
sub_02042E8C: ; 0x02042E8C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r6, r0, #0
mov r0, #0xb
mov r1, #8
bl AllocFromHeap
mov r1, #0
mov r2, #8
str r0, [r6]
add r4, r0, #0
bl MIi_CpuFill8
ldr r0, [sp]
strh r7, [r4, #4]
strh r0, [r4, #6]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
str r0, [r4]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r1, [r6]
bl sub_0203F0A8
ldr r1, _02042F00 ; =sub_02042974
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02042F00: .word sub_02042974
thumb_func_end sub_02042E8C
thumb_func_start sub_02042F04
sub_02042F04: ; 0x02042F04
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
mov r0, #0xb
mov r1, #0xc
bl AllocFromHeap
add r1, r5, #0
add r1, #0x80
ldr r1, [r1]
ldr r1, [r1, #0xc]
str r1, [r0]
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r1, [r2]
str r1, [r0, #8]
add r1, r5, #0
add r1, #0x80
ldr r2, [r1]
mov r1, #0x43
lsl r1, r1, #2
add r1, r2, r1
str r1, [r0, #4]
str r0, [r4]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r1, [r4]
bl sub_0203E868
ldr r1, _02042F58 ; =sub_020429A0
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_02042F58: .word sub_020429A0
thumb_func_end sub_02042F04
thumb_func_start sub_02042F5C
sub_02042F5C: ; 0x02042F5C
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203F4C8
ldr r1, _02042F74 ; =sub_020429F8
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
.balign 4, 0
_02042F74: .word sub_020429F8
thumb_func_end sub_02042F5C
thumb_func_start sub_02042F78
sub_02042F78: ; 0x02042F78
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_02069464
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02042F78
thumb_func_start sub_02042F88
sub_02042F88: ; 0x02042F88
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x10]
bl sub_0203F4A8
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02042F88
thumb_func_start sub_02042F98
sub_02042F98: ; 0x02042F98
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203F4F8
str r0, [r4]
ldr r1, _02042FC0 ; =sub_02042974
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_02042FC0: .word sub_02042974
thumb_func_end sub_02042F98
thumb_func_start sub_02042FC4
sub_02042FC4: ; 0x02042FC4
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
ldr r0, [r0, #0x10]
bl sub_02052CB4
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02042FC4
thumb_func_start sub_02042FDC
sub_02042FDC: ; 0x02042FDC
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203F984
str r0, [r4]
ldr r1, _02043004 ; =sub_02042974
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_02043004: .word sub_02042974
thumb_func_end sub_02042FDC
thumb_func_start sub_02043008
sub_02043008: ; 0x02043008
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #4
ldr r0, [r0, #0xc]
add r2, sp, #0
bl LoadHallOfFame
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
mov r1, #0
strh r1, [r0]
ldr r1, [sp]
cmp r1, #2
bne _0204303A
mov r1, #1
strh r1, [r0]
_0204303A:
add r0, r4, #0
bl FreeToHeap
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02043008
thumb_func_start sub_02043044
sub_02043044: ; 0x02043044
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0203A05C
cmp r0, #0
beq _02043098
mov r0, #1
strh r0, [r4]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r1, r6, #0
bl sub_0203F844
ldr r1, _020430A0 ; =sub_020429F8
add r0, r5, #0
bl sub_0203FD58
b _0204309C
_02043098:
mov r0, #0
strh r0, [r4]
_0204309C:
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
_020430A0: .word sub_020429F8
thumb_func_end sub_02043044
thumb_func_start sub_020430A4
sub_020430A4: ; 0x020430A4
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r1, r0, #0
ldr r0, [r4, #0x74]
bl sub_02078B78
mov r0, #1
pop {r4, pc}
thumb_func_end sub_020430A4
thumb_func_start sub_020430C4
sub_020430C4: ; 0x020430C4
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_0209600C
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020430C4
thumb_func_start sub_020430D4
sub_020430D4: ; 0x020430D4
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r1, [r5, #8]
add r0, r1, #1
str r0, [r5, #8]
ldrb r0, [r1]
cmp r0, #0
beq _020430E8
mov r0, #1
b _020430EA
_020430E8:
mov r0, #0
_020430EA:
lsl r0, r0, #0x18
lsr r4, r0, #0x18
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r6, r0, #0
ldr r0, [r6]
cmp r0, #0
beq _02043106
bl GF_AssertFail
_02043106:
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r1, r4, #0
bl sub_0203E460
str r0, [r6]
ldr r1, _02043120 ; =sub_020429F8
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
_02043120: .word sub_020429F8
thumb_func_end sub_020430D4
thumb_func_start sub_02043124
sub_02043124: ; 0x02043124
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
bne _02043150
bl GF_AssertFail
_02043150:
ldr r0, [r4]
bl sub_0203E4CC
strh r0, [r5]
ldr r0, [r4]
bl FreeToHeap
mov r0, #0
str r0, [r4]
pop {r3, r4, r5, pc}
thumb_func_end sub_02043124
thumb_func_start sub_02043164
sub_02043164: ; 0x02043164
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r1, [r5, #8]
add r0, r1, #1
str r0, [r5, #8]
ldrb r0, [r1]
cmp r0, #0
beq _02043178
mov r0, #1
b _0204317A
_02043178:
mov r0, #0
_0204317A:
lsl r0, r0, #0x18
lsr r4, r0, #0x18
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r6, r0, #0
ldr r0, [r6]
cmp r0, #0
beq _02043196
bl GF_AssertFail
_02043196:
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r1, r4, #0
bl sub_0203E460
str r0, [r6]
ldr r1, _020431B0 ; =sub_02042974
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
_020431B0: .word sub_02042974
thumb_func_end sub_02043164
thumb_func_start sub_020431B4
sub_020431B4: ; 0x020431B4
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
str r0, [sp, #8]
ldr r0, [r4, #0x74]
add r2, r1, #0
mov r3, #7
bl sub_0203F6E0
mov r0, #1
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end sub_020431B4
thumb_func_start sub_020431E4
sub_020431E4: ; 0x020431E4
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
mov r2, #0
str r2, [sp]
str r2, [sp, #4]
str r0, [sp, #8]
ldr r0, [r4, #0x74]
mov r1, #3
mov r3, #7
bl sub_0203F6E0
mov r0, #1
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end sub_020431E4
thumb_func_start sub_02043214
sub_02043214: ; 0x02043214
push {r4, r5, r6, r7, lr}
sub sp, #0x34
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
cmp r6, #0xff
bne _0204324E
add r0, r5, #0
bl sub_0206DB28
ldrb r1, [r0, #0x17]
lsl r1, r1, #0x1f
lsr r1, r1, #0x1f
bne _0204324A
add sp, #0x34
mov r0, #1
pop {r4, r5, r6, r7, pc}
_0204324A:
ldr r5, [r0, #0x10]
b _0204325C
_0204324E:
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
add r1, r6, #0
bl GetPartyMonByIndex
add r5, r0, #0
_0204325C:
add r0, r5, #0
mov r1, #0x75
add r2, sp, #0xc
bl GetMonData
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r7, r0, #0
add r0, r5, #0
mov r1, #5
mov r2, #0
bl GetMonData
add r2, r0, #0
str r6, [sp]
add r0, sp, #0xc
str r0, [sp, #4]
str r7, [sp, #8]
ldr r0, [r4, #0x74]
mov r1, #1
mov r3, #0xa
bl sub_0203F6E0
mov r0, #1
add sp, #0x34
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02043214
thumb_func_start sub_020432A0
sub_020432A0: ; 0x020432A0
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0209707C
str r0, [r4]
ldr r1, _020432C8 ; =sub_020429D4
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_020432C8: .word sub_020429D4
thumb_func_end sub_020432A0
thumb_func_start sub_020432CC
sub_020432CC: ; 0x020432CC
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
bl sub_0205A894
add r5, r0, #0
bl sub_02029084
cmp r5, r0
bne _020432F2
mov r0, #0
b _020432F4
_020432F2:
mov r0, #1
_020432F4:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020432CC
thumb_func_start sub_020432FC
sub_020432FC: ; 0x020432FC
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r3, r0, #0
ldr r0, _02043358 ; =0x0000FFFF
add r5, #0x80
strh r0, [r3]
mov r0, #0
str r0, [sp]
ldr r0, [r5]
add r1, r4, #0
ldr r0, [r0, #0x10]
add r2, r6, #0
bl sub_0203E960
mov r0, #1
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_02043358: .word 0x0000FFFF
thumb_func_end sub_020432FC
thumb_func_start sub_0204335C
sub_0204335C: ; 0x0204335C
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
ldr r1, _020433B8 ; =0x0000FFFF
add r5, #0x80
strh r1, [r4]
strh r1, [r0]
str r0, [sp]
ldr r0, [r5]
mov r1, #1
ldr r0, [r0, #0x10]
add r2, r6, #0
add r3, r4, #0
bl sub_0203E960
mov r0, #1
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_020433B8: .word 0x0000FFFF
thumb_func_end sub_0204335C
thumb_func_start sub_020433BC
sub_020433BC: ; 0x020433BC
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r4]
add r1, r6, #0
bl sub_0200C528
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020433BC
thumb_func_start sub_02043400
sub_02043400: ; 0x02043400
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
bl sub_0203FE2C
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
str r4, [sp]
add r3, r0, #0
str r6, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #0
add r1, r7, #0
add r2, r7, #0
bl sub_0200FA24
mov r0, #0
bl sub_0200FBDC
mov r0, #1
bl sub_0200FBDC
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_02043400
thumb_func_start sub_02043448
sub_02043448: ; 0x02043448
push {r3, lr}
ldr r1, _02043454 ; =sub_02043458
bl sub_0203FD58
mov r0, #1
pop {r3, pc}
.balign 4, 0
_02043454: .word sub_02043458
thumb_func_end sub_02043448
thumb_func_start sub_02043458
sub_02043458: ; 0x02043458
push {r3, lr}
bl sub_0200FB5C
cmp r0, #1
bne _02043466
mov r0, #1
pop {r3, pc}
_02043466:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02043458
thumb_func_start sub_0204346C
sub_0204346C: ; 0x0204346C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r4, [sp]
str r0, [sp, #4]
mov r2, #0
ldr r0, [r5, #0x74]
add r1, r6, #0
mvn r2, r2
add r3, r7, #0
bl sub_0205388C
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204346C
thumb_func_start sub_020434DC
sub_020434DC: ; 0x020434DC
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
bl sub_0203FE2C
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
str r4, [sp]
mov r2, #0
add r5, #0x80
str r0, [sp, #4]
ldr r0, [r5]
add r1, r6, #0
ldr r0, [r0, #0x10]
mvn r2, r2
add r3, r7, #0
bl sub_0205412C
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020434DC
thumb_func_start sub_02043538
sub_02043538: ; 0x02043538
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x10]
bl sub_02054190
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02043538
thumb_func_start sub_02043548
sub_02043548: ; 0x02043548
push {r3, r4, r5, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0203B9C4
bl sub_0203B960
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
ldr r1, [r5]
strh r1, [r0]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02043548
thumb_func_start sub_02043574
sub_02043574: ; 0x02043574
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
ldr r1, [r4]
ldr r1, [r1, #0x20]
ldr r1, [r1]
strh r1, [r0]
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02043574
thumb_func_start sub_02043598
sub_02043598: ; 0x02043598
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
mov r0, #0
strh r0, [r4]
add r0, r5, #0
bl sub_0203B5DC
cmp r0, #1
bne _020435D4
mov r0, #1
strh r0, [r4]
b _020435E2
_020435D4:
add r0, r5, #0
bl sub_0203B5FC
cmp r0, #1
bne _020435E2
mov r0, #2
strh r0, [r4]
_020435E2:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02043598
thumb_func_start sub_020435E8
sub_020435E8: ; 0x020435E8
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x40]
bl sub_0205C654
add r1, r0, #0
ldr r0, [r5, #0x74]
add r2, r4, #0
bl ov01_021F2590
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end sub_020435E8
thumb_func_start sub_02043618
sub_02043618: ; 0x02043618
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x40]
bl sub_0205C654
add r1, r0, #0
ldr r0, [r5, #0x74]
add r2, r4, #0
bl ov01_021F2068
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end sub_02043618
thumb_func_start sub_02043648
sub_02043648: ; 0x02043648
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x40]
bl sub_0205C654
add r1, r0, #0
ldr r0, [r5, #0x74]
add r2, r4, #0
bl ov01_021F2908
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end sub_02043648
thumb_func_start sub_02043678
sub_02043678: ; 0x02043678
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
bl sub_0203FE2C
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp]
mov r2, #1
str r2, [sp, #4]
add r5, #0x80
ldr r0, [r5]
add r1, r4, #0
sub r2, r2, #2
add r3, r6, #0
bl sub_020538C0
mov r0, #1
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end sub_02043678
thumb_func_start sub_020436C4
sub_020436C4: ; 0x020436C4
push {r3, r4, r5, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0203B9C4
add r5, r0, #0
mov r1, #0xc
bl sub_0203B98C
add r0, r5, #0
bl sub_0203B984
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
ldr r0, [r0, #4]
ldr r0, [r0, #0xc]
bl ov01_021EB2B8
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020436C4
thumb_func_start sub_020436F4
sub_020436F4: ; 0x020436F4
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x40]
bl sub_0205C654
add r1, r0, #0
ldr r0, [r5, #0x74]
add r2, r4, #0
bl ov01_021F2DA4
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end sub_020436F4
thumb_func_start sub_02043724
sub_02043724: ; 0x02043724
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r6, #0
bl GetPartyMonByIndex
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x40]
bl sub_0205C724
add r3, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0
add r2, r6, #0
bl ov02_02249458
str r0, [r4]
ldr r1, _02043788 ; =sub_0204378C
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r4, r5, r6, pc}
nop
_02043788: .word sub_0204378C
thumb_func_end sub_02043724
thumb_func_start sub_0204378C
sub_0204378C: ; 0x0204378C
push {r4, lr}
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
add r4, r0, #0
ldr r0, [r4]
bl ov02_0224953C
cmp r0, #1
bne _020437AE
ldr r0, [r4]
bl ov02_02249548
mov r0, #1
pop {r4, pc}
_020437AE:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0204378C
thumb_func_start sub_020437B4
sub_020437B4: ; 0x020437B4
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0x40]
bl sub_0205C700
cmp r0, #1
bne _020437DC
mov r0, #1
b _020437DE
_020437DC:
mov r0, #0
_020437DE:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_020437B4
thumb_func_start sub_020437E4
sub_020437E4: ; 0x020437E4
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #8]
add r0, r1, #1
str r0, [r4, #8]
ldrb r0, [r1]
cmp r0, #1
bne _02043828
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r1, _0204386C ; =0x000003F5
bl sub_02054F28
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r1, _0204386C ; =0x000003F5
mov r2, #1
bl sub_02054FDC
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #2
ldr r0, [r0, #0x40]
bl ov01_021F1AFC
add r4, #0x80
ldr r0, [r4]
ldr r0, [r0, #0x40]
bl ov01_021F1B04
b _02043868
_02043828:
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #1
ldr r0, [r0, #0x40]
bl ov01_021F1AFC
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x40]
bl ov01_021F1B04
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0
bl sub_02054F28
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r1, [r0, #0x20]
ldr r1, [r1]
bl sub_02054F60
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
mov r2, #1
bl sub_02054FDC
_02043868:
mov r0, #0
pop {r4, pc}
.balign 4, 0
_0204386C: .word 0x000003F5
thumb_func_end sub_020437E4
thumb_func_start sub_02043870
sub_02043870: ; 0x02043870
push {r3, lr}
add r0, #0x80
mov r1, #0x13
ldr r0, [r0]
lsl r1, r1, #6
bl sub_02054F28
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02043870
thumb_func_start sub_02043884
sub_02043884: ; 0x02043884
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
add r0, #0x80
ldr r0, [r0]
ldrb r1, [r2]
ldr r0, [r0, #0x40]
bl sub_0205CAA4
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02043884
thumb_func_start sub_0204389C
sub_0204389C: ; 0x0204389C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0x40]
bl sub_0205C700
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204389C
thumb_func_start sub_020438C4
sub_020438C4: ; 0x020438C4
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
ldr r0, [r0, #0x40]
bl sub_0205C710
mov r0, #1
pop {r4, pc}
thumb_func_end sub_020438C4
thumb_func_start sub_020438DC
sub_020438DC: ; 0x020438DC
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x40]
bl ov01_021F1B04
mov r0, #0
pop {r3, pc}
thumb_func_end sub_020438DC
thumb_func_start sub_020438EC
sub_020438EC: ; 0x020438EC
push {r4, r5, r6, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202D9C4
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
mov r1, #2
bl sub_0202D9A8
add r1, r6, #0
add r2, r4, #0
bl sub_02097F9C
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020438EC
thumb_func_start sub_02043938
sub_02043938: ; 0x02043938
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066AF0
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02043938
thumb_func_start sub_02043964
sub_02043964: ; 0x02043964
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_020503D0
add r1, r4, #0
bl sub_02066AE0
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02043964
thumb_func_start sub_02043990
sub_02043990: ; 0x02043990
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r4, [r0]
mov r1, #8
add r0, r4, #0
bl sub_020402F0
add r0, r4, #0
mov r1, #0x11
bl sub_020402F0
add r6, r0, #0
add r0, r4, #0
mov r1, #3
bl sub_020402F0
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r1, r0, #0
ldr r0, [sp]
ldr r2, [r6]
mov r3, #0xb
bl sub_02073548
add r0, r4, #0
mov r1, #1
bl sub_020402F0
mov r1, #0xf
bl FillWindowPixelBuffer
add r0, r4, #0
mov r1, #1
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
add r2, r0, #0
ldr r1, [r6]
add r0, r4, #0
mov r3, #1
bl sub_0205B5B4
strb r0, [r7]
ldr r1, _02043A24 ; =0x021EF349
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02043A24: .word 0x021EF349
thumb_func_end sub_02043990
thumb_func_start sub_02043A28
sub_02043A28: ; 0x02043A28
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #4]
add r0, r5, #0
bl sub_0203FE2C
add r6, r0, #0
ldr r2, [sp]
ldr r3, [sp, #4]
add r0, r4, #0
add r1, r7, #0
bl ov03_02255BB0
ldr r1, _02043A94 ; =sub_02043A98
add r0, r5, #0
str r6, [r5, #0x64]
bl sub_0203FD58
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_02043A94: .word sub_02043A98
thumb_func_end sub_02043A28
thumb_func_start sub_02043A98
sub_02043A98: ; 0x02043A98
push {r4, lr}
add r1, r0, #0
ldr r1, [r1, #0x64]
add r0, #0x80
lsl r1, r1, #0x10
ldr r0, [r0]
lsr r1, r1, #0x10
bl sub_02040374
add r4, r0, #0
bl ov03_02255BFC
cmp r0, #0
bne _02043AB8
mov r0, #0
pop {r4, pc}
_02043AB8:
strh r0, [r4]
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02043A98
thumb_func_start sub_02043AC0
sub_02043AC0: ; 0x02043AC0
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #4]
add r0, r5, #0
bl sub_0203FE2C
add r6, r0, #0
ldr r2, [sp]
ldr r3, [sp, #4]
add r0, r4, #0
add r1, r7, #0
bl ov03_02255C18
ldr r1, _02043B2C ; =sub_02043B30
add r0, r5, #0
str r6, [r5, #0x64]
bl sub_0203FD58
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_02043B2C: .word sub_02043B30
thumb_func_end sub_02043AC0
thumb_func_start sub_02043B30
sub_02043B30: ; 0x02043B30
push {r4, lr}
add r1, r0, #0
ldr r1, [r1, #0x64]
add r0, #0x80
lsl r1, r1, #0x10
ldr r0, [r0]
lsr r1, r1, #0x10
bl sub_02040374
add r4, r0, #0
bl ov03_02255C64
cmp r0, #0
bne _02043B50
mov r0, #0
pop {r4, pc}
_02043B50:
strh r0, [r4]
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02043B30
thumb_func_start sub_02043B58
sub_02043B58: ; 0x02043B58
push {r3, lr}
bl sub_0203FE2C
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02043B58
thumb_func_start sub_02043B64
sub_02043B64: ; 0x02043B64
push {r3, lr}
bl sub_0203FE2C
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02043B64
thumb_func_start sub_02043B70
sub_02043B70: ; 0x02043B70
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r6, r0, #0
add r5, #0x80
ldr r4, [r6]
ldr r0, [r5]
add r1, r4, #0
ldr r0, [r0, #0x10]
add r1, #0x30
mov r2, #5
bl sub_02051428
add r0, r4, #0
bl FreeToHeap
mov r0, #0
str r0, [r6]
mov r0, #1
pop {r4, r5, r6, pc}
thumb_func_end sub_02043B70
thumb_func_start sub_02043BA0
sub_02043BA0: ; 0x02043BA0
mov r0, #1
bx lr
thumb_func_end sub_02043BA0
thumb_func_start sub_02043BA4
sub_02043BA4: ; 0x02043BA4
push {r3, r4, lr}
sub sp, #0x14
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp]
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #4]
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #8]
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #0xc]
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, #0x80
str r0, [sp, #0x10]
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl sub_0203B9C4
add r1, sp, #0
bl sub_0203B96C
mov r0, #0
add sp, #0x14
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end sub_02043BA4
thumb_func_start sub_02043C24
sub_02043C24: ; 0x02043C24
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0203B9C4
bl sub_0203B968
ldr r0, [r0]
bl ov01_021EE81C
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02043C24
thumb_func_start sub_02043C54
sub_02043C54: ; 0x02043C54
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
str r0, [sp, #8]
bl sub_020402F0
add r7, r0, #0
ldr r0, [r5, #8]
add r1, r0, #1
str r1, [r5, #8]
ldrb r6, [r0]
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp, #0xc]
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
ldr r1, [r7]
ldr r3, [sp, #0xc]
str r1, [sp]
str r0, [sp, #4]
ldr r0, [sp, #8]
add r1, r6, #0
add r2, r4, #0
bl ov01_021EE664
mov r0, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02043C54
thumb_func_start sub_02043CB4
sub_02043CB4: ; 0x02043CB4
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202A634
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_02029EF4
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02043CB4
thumb_func_start sub_02043CE4
sub_02043CE4: ; 0x02043CE4
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202A634
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_02029EA0
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02043CE4
thumb_func_start sub_02043D14
sub_02043D14: ; 0x02043D14
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202A634
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_02029E48
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02043D14
thumb_func_start sub_02043D44
sub_02043D44: ; 0x02043D44
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202A634
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_02029E0C
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02043D44
thumb_func_start sub_02043D74
sub_02043D74: ; 0x02043D74
mov r0, #0
bx lr
thumb_func_end sub_02043D74
thumb_func_start sub_02043D78
sub_02043D78: ; 0x02043D78
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202A634
add r7, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
ldr r1, [r5, #8]
str r0, [sp]
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r6, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
cmp r6, #0
bne _02043DE6
add r0, r7, #0
bl sub_02029FAC
add r6, r0, #0
ldr r0, [sp]
bl PlayerProfile_GetTrainerGender
add r1, r0, #0
lsl r1, r1, #0x10
add r0, r6, #0
lsr r1, r1, #0x10
add r2, r5, #0
bl sub_0205BBD0
b _02043E02
_02043DE6:
add r0, r7, #0
bl sub_02029F74
add r6, r0, #0
ldr r0, [sp]
bl PlayerProfile_GetTrainerGender
add r1, r0, #0
lsl r1, r1, #0x10
add r0, r6, #0
lsr r1, r1, #0x10
add r2, r5, #0
bl sub_0205BC78
_02043E02:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02043D78
thumb_func_start sub_02043E08
sub_02043E08: ; 0x02043E08
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x18
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r2, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
lsl r2, r2, #0x18
ldr r0, [r5, #0x74]
add r1, r6, #0
lsr r2, r2, #0x18
add r3, r4, #0
bl sub_02051020
mov r0, #1
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end sub_02043E08
thumb_func_start sub_02043E5C
sub_02043E5C: ; 0x02043E5C
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x18
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r2, r0, #0
ldr r1, [r5, #8]
lsl r2, r2, #0x18
add r0, r1, #1
str r0, [r5, #8]
mov r0, #1
str r0, [sp]
ldrb r0, [r1]
add r1, r6, #0
lsr r2, r2, #0x18
str r0, [sp, #4]
ldr r0, [r5, #0x74]
add r3, r4, #0
bl sub_02051020
mov r0, #1
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end sub_02043E5C
thumb_func_start sub_02043EB8
sub_02043EB8: ; 0x02043EB8
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x18
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r2, r0, #0
mov r0, #1
str r0, [sp]
lsl r2, r2, #0x18
ldr r0, [r5, #0x74]
add r1, r6, #0
lsr r2, r2, #0x18
add r3, r4, #0
bl sub_02051090
mov r0, #1
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02043EB8
thumb_func_start sub_02043F0C
sub_02043F0C: ; 0x02043F0C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r2, r0, #0
lsl r2, r2, #0x18
ldr r0, [r5, #0x74]
add r1, r4, #0
lsr r2, r2, #0x18
bl sub_02051228
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02043F0C
thumb_func_start sub_02043F48
sub_02043F48: ; 0x02043F48
push {r3, lr}
ldr r0, [r0, #0x74]
bl sub_02051334
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02043F48
thumb_func_start sub_02043F54
sub_02043F54: ; 0x02043F54
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203F818
ldr r1, _02043F6C ; =sub_020429F8
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
.balign 4, 0
_02043F6C: .word sub_020429F8
thumb_func_end sub_02043F54
thumb_func_start sub_02043F70
sub_02043F70: ; 0x02043F70
push {r3, r4, r5, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r1, [r1]
ldr r5, [r1, #0xc]
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_02027500
cmp r0, #0
beq _02043F9C
mov r0, #0
strh r0, [r4]
b _02043FC0
_02043F9C:
add r0, r5, #0
bl sub_020274E0
cmp r0, #0
bne _02043FAC
mov r0, #1
strh r0, [r4]
b _02043FC0
_02043FAC:
add r0, r5, #0
bl sub_02027520
cmp r0, #0
beq _02043FBC
mov r0, #2
strh r0, [r4]
b _02043FC0
_02043FBC:
mov r0, #3
strh r0, [r4]
_02043FC0:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02043F70
thumb_func_start sub_02043FC4
sub_02043FC4: ; 0x02043FC4
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl ov01_021F43E8
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02043FC4
thumb_func_start sub_02043FEC
sub_02043FEC: ; 0x02043FEC
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_02027FFC
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02043FEC
thumb_func_start sub_02043FFC
sub_02043FFC: ; 0x02043FFC
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_020274E8
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02043FFC
thumb_func_start sub_02044024
sub_02044024: ; 0x02044024
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [r4, #0x64]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_02037AC0
ldr r1, _02044050 ; =sub_02044054
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
nop
_02044050: .word sub_02044054
thumb_func_end sub_02044024
thumb_func_start sub_02044054
sub_02044054: ; 0x02044054
push {r4, lr}
add r4, r0, #0
bl sub_02037454
cmp r0, #2
bge _02044064
mov r0, #1
pop {r4, pc}
_02044064:
ldr r0, [r4, #0x64]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_02037B38
pop {r4, pc}
thumb_func_end sub_02044054
thumb_func_start sub_02044070
sub_02044070: ; 0x02044070
push {r3, lr}
bl sub_02037BEC
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02044070
thumb_func_start sub_0204407C
sub_0204407C: ; 0x0204407C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
ldr r0, [r4]
bl sub_0205A6AC
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204407C
thumb_func_start sub_020440AC
sub_020440AC: ; 0x020440AC
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
add r1, r0, #0
add r5, #0x80
ldr r0, [r5]
ldr r1, [r1]
add r0, #0x80
ldr r0, [r0]
bl sub_0205A9A0
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_020440AC
thumb_func_start sub_020440E4
sub_020440E4: ; 0x020440E4
push {r4, lr}
bl sub_0203FE2C
add r4, r0, #0
cmp r4, #5
beq _02044104
cmp r4, #7
beq _02044104
cmp r4, #9
beq _02044104
cmp r4, #6
beq _02044104
cmp r4, #0xc
beq _02044104
cmp r4, #0xa
bne _0204410A
_02044104:
bl sub_020380F4
b _02044112
_0204410A:
cmp r4, #0xb
bne _02044112
bl sub_02038104
_02044112:
bl sub_0203769C
cmp r0, #0
bne _02044120
add r0, r4, #0
bl sub_0205A904
_02044120:
mov r0, #0
pop {r4, pc}
thumb_func_end sub_020440E4
thumb_func_start sub_02044124
sub_02044124: ; 0x02044124
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0xa
bl sub_020402F0
add r7, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
add r5, #0x80
str r0, [sp, #4]
ldr r0, [r5]
bl sub_0203E344
bl sub_02015C28
add r5, r0, #0
cmp r4, #0
bne _0204417A
ldr r0, [r7]
bl sub_0205F24C
lsl r0, r0, #0x10
lsr r2, r0, #0x10
b _0204417C
_0204417A:
mov r2, #0
_0204417C:
str r5, [sp]
ldr r0, [r6]
ldr r3, [sp, #4]
add r1, r4, #0
bl sub_0205AA9C
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02044124
thumb_func_start sub_02044190
sub_02044190: ; 0x02044190
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_02091574
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02044190
thumb_func_start sub_020441A0
sub_020441A0: ; 0x020441A0
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
add r0, #0x84
ldr r0, [r0]
bl sub_0205AD0C
bl sub_02037FF0
ldr r1, _020441C0 ; =sub_020441C4
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
.balign 4, 0
_020441C0: .word sub_020441C4
thumb_func_end sub_020441A0
thumb_func_start sub_020441C4
sub_020441C4: ; 0x020441C4
push {r3, lr}
bl sub_02037454
cmp r0, #2
bge _020441D2
mov r0, #1
pop {r3, pc}
_020441D2:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020441C4
thumb_func_start sub_020441D8
sub_020441D8: ; 0x020441D8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0xa
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
str r0, [sp]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
add r7, r0, #0
ldr r0, [r4]
bl sub_0205F24C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
ldr r2, [sp]
add r0, #0x80
ldr r0, [r0]
ldr r3, [r7]
bl sub_0205A750
strh r0, [r6]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020441D8
thumb_func_start sub_02044230
sub_02044230: ; 0x02044230
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r0, #0x80
ldr r0, [r0]
bl sub_0205A4D8
strh r0, [r4]
ldrh r0, [r4]
cmp r0, #0
beq _0204426C
add r5, #0x80
ldr r0, [r5]
mov r1, #0x14
bl sub_020402F0
ldr r0, [r0]
bl FreeToHeap
_0204426C:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02044230
thumb_func_start sub_02044270
sub_02044270: ; 0x02044270
push {r4, r5, r6, lr}
add r4, r0, #0
add r0, #0x80
ldr r5, [r0]
mov r1, #0xa
add r0, r5, #0
bl sub_020402F0
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
ldr r0, [r6]
bl sub_0205F24C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_0205A200
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02044270
thumb_func_start sub_020442AC
sub_020442AC: ; 0x020442AC
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r0, #0x80
ldr r5, [r0]
mov r1, #0xa
add r0, r5, #0
bl sub_020402F0
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
ldr r0, [r6]
bl sub_0205F24C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
add r2, r7, #0
bl sub_0205A284
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020442AC
thumb_func_start sub_020442FC
sub_020442FC: ; 0x020442FC
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
str r0, [r4, #0x64]
ldr r1, _02044314 ; =sub_02044318
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
nop
_02044314: .word sub_02044318
thumb_func_end sub_020442FC
thumb_func_start sub_02044318
sub_02044318: ; 0x02044318
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r6, [r0]
add r0, r6, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0205A358
ldr r1, [r5, #0x64]
add r4, r0, #0
lsl r1, r1, #0x10
add r0, r6, #0
lsr r1, r1, #0x10
bl sub_02040374
cmp r4, #0
bne _02044340
mov r0, #0
pop {r4, r5, r6, pc}
_02044340:
strh r4, [r0]
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02044318
thumb_func_start sub_02044348
sub_02044348: ; 0x02044348
push {r3, lr}
add r0, #0x80
ldr r1, [r0]
ldr r0, [r1, #0x3c]
add r1, #0x84
ldr r1, [r1]
bl sub_0205B27C
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02044348
thumb_func_start sub_0204435C
sub_0204435C: ; 0x0204435C
push {r3, lr}
mov r0, #4
bl sub_0205A904
bl sub_020380CC
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0204435C
thumb_func_start sub_0204436C
sub_0204436C: ; 0x0204436C
push {r3, lr}
bl sub_02038104
bl sub_02037FF0
mov r0, #0
bl sub_0205A904
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0204436C
thumb_func_start sub_02044380
sub_02044380: ; 0x02044380
push {r4, r5, r6, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r4, #0x80
add r2, r0, #0
ldr r0, [r4]
add r1, r6, #0
bl sub_0205A3B0
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02044380
thumb_func_start sub_020443BC
sub_020443BC: ; 0x020443BC
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
str r0, [r4, #0x64]
ldr r1, _020443D4 ; =sub_020443D8
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
nop
_020443D4: .word sub_020443D8
thumb_func_end sub_020443BC
thumb_func_start sub_020443D8
sub_020443D8: ; 0x020443D8
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r1, [r5, #0x64]
add r0, #0x80
lsl r1, r1, #0x10
ldr r0, [r0]
lsr r1, r1, #0x10
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r0, #0x80
ldr r0, [r0]
bl sub_0205A35C
cmp r0, #1
blo _02044410
add r5, #0x80
strh r0, [r4]
ldr r0, [r5]
add r0, #0x80
ldr r0, [r0]
bl sub_0205ABB0
mov r0, #1
pop {r3, r4, r5, pc}
_02044410:
mov r0, #0
strh r0, [r4]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020443D8
thumb_func_start sub_02044418
sub_02044418: ; 0x02044418
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
str r0, [r4, #0x64]
ldr r1, _02044430 ; =sub_02044434
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
nop
_02044430: .word sub_02044434
thumb_func_end sub_02044418
thumb_func_start sub_02044434
sub_02044434: ; 0x02044434
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r1, [r5, #0x64]
add r0, #0x80
lsl r1, r1, #0x10
ldr r0, [r0]
lsr r1, r1, #0x10
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r0, #0x80
ldr r0, [r0]
bl sub_0205A39C
ldr r1, _0204447C ; =gMain
ldr r2, [r1, #0x48]
mov r1, #2
tst r1, r2
beq _0204446E
add r5, #0x80
ldr r0, [r5]
mov r1, #8
add r0, #0x80
ldr r0, [r0]
bl sub_0205A47C
_0204446E:
cmp r0, #0
beq _02044478
strh r0, [r4]
mov r0, #1
pop {r3, r4, r5, pc}
_02044478:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
_0204447C: .word gMain
thumb_func_end sub_02044434
thumb_func_start sub_02044480
sub_02044480: ; 0x02044480
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x10]
bl sub_02054030
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02044480
thumb_func_start sub_02044490
sub_02044490: ; 0x02044490
push {r4, r5, r6, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
mov r1, #0x10
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl PlayerProfile_GetTrainerID
add r6, r0, #0
add r0, r5, #0
bl PlayerProfile_GetTrainerGender
add r1, r0, #0
ldr r2, [r4]
add r0, r6, #0
bl sub_0205B3DC
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02044490
thumb_func_start sub_020444CC
sub_020444CC: ; 0x020444CC
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl PlayerProfile_GetTrainerID
add r6, r0, #0
add r0, r5, #0
bl PlayerProfile_GetTrainerGender
add r1, r0, #0
add r0, r6, #0
add r2, r7, #0
bl sub_0205B418
strh r0, [r4]
add r0, r5, #0
bl PlayerProfile_GetTrainerGender
ldrh r1, [r4]
mov r2, #2
bl sub_0205B46C
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020444CC
thumb_func_start sub_02044534
sub_02044534: ; 0x02044534
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl PlayerProfile_GetTrainerID
add r6, r0, #0
add r0, r5, #0
bl PlayerProfile_GetTrainerGender
add r1, r0, #0
add r0, r6, #0
add r2, r7, #0
bl sub_0205B418
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02044534
thumb_func_start sub_0204458C
sub_0204458C: ; 0x0204458C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r1, r0, #0
lsl r1, r1, #0x18
add r0, r4, #0
lsr r1, r1, #0x18
bl sub_02029040
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204458C
thumb_func_start sub_020445C0
sub_020445C0: ; 0x020445C0
push {r3, lr}
ldr r0, [r0, #0x74]
bl sub_0205297C
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020445C0
thumb_func_start sub_020445CC
sub_020445CC: ; 0x020445CC
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0203B9C4
add r1, r4, #0
bl sub_0203B99C
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020445CC
thumb_func_start sub_020445F8
sub_020445F8: ; 0x020445F8
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl PlayerProfile_GetTrainerGender
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_020445F8
thumb_func_start sub_02044628
sub_02044628: ; 0x02044628
push {r3, lr}
ldr r0, [r0, #0x74]
bl sub_0205064C
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
bl sub_02090C1C
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02044628
thumb_func_start sub_02044640
sub_02044640: ; 0x02044640
push {r4, lr}
add r4, r0, #0
bl sub_02058284
ldr r1, _02044654 ; =sub_02044658
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
.balign 4, 0
_02044654: .word sub_02044658
thumb_func_end sub_02044640
thumb_func_start sub_02044658
sub_02044658: ; 0x02044658
push {r3, lr}
bl sub_02037D78
cmp r0, #1
beq _0204466E
bl sub_02035650
cmp r0, #1
beq _0204466E
mov r0, #1
pop {r3, pc}
_0204466E:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02044658
thumb_func_start sub_02044674
sub_02044674: ; 0x02044674
push {r4, lr}
add r4, r0, #0
bl sub_020582A8
ldr r1, _02044688 ; =sub_02044658
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
.balign 4, 0
_02044688: .word sub_02044658
thumb_func_end sub_02044674
thumb_func_start sub_0204468C
sub_0204468C: ; 0x0204468C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_02058190
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0204468C
thumb_func_start sub_0204469C
sub_0204469C: ; 0x0204469C
push {r3, lr}
bl sub_0203FE2C
bl sub_02057F28
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0204469C
thumb_func_start sub_020446AC
sub_020446AC: ; 0x020446AC
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0207879C
add r1, r6, #0
bl sub_020784C4
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_020446AC
thumb_func_start sub_020446EC
sub_020446EC: ; 0x020446EC
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r3, r0, #0
ldr r0, [r5]
add r1, r4, #0
add r2, r6, #0
bl sub_0203B75C
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020446EC
thumb_func_start sub_0204473C
sub_0204473C: ; 0x0204473C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #4]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #8]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
add r1, r6, #0
ldr r0, [r0, #0x3c]
bl sub_0205EE60
ldr r2, [sp, #4]
ldr r3, [sp, #8]
add r5, r0, #0
add r1, r7, #0
str r4, [sp]
bl sub_0205FC2C
add r0, r5, #0
bl sub_02061070
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204473C
thumb_func_start sub_020447CC
sub_020447CC: ; 0x020447CC
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r2, r0, #0
ldr r0, [r5]
add r1, r4, #0
bl sub_0203B7C4
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_020447CC
thumb_func_start sub_02044804
sub_02044804: ; 0x02044804
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r2, r0, #0
ldr r0, [r5]
add r1, r4, #0
bl sub_0203B794
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02044804
thumb_func_start sub_0204483C
sub_0204483C: ; 0x0204483C
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r3, r0, #0
ldr r0, [r5]
add r1, r4, #0
add r2, r6, #0
bl sub_0203B7F4
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204483C
thumb_func_start sub_0204488C
sub_0204488C: ; 0x0204488C
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r3, r0, #0
ldr r0, [r5]
add r1, r4, #0
add r2, r6, #0
bl sub_0203B80C
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204488C
thumb_func_start sub_020448DC
sub_020448DC: ; 0x020448DC
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
add r1, r6, #0
ldr r0, [r0, #0x3c]
bl sub_0205EE60
add r5, r0, #0
bne _0204491A
bl GF_AssertFail
_0204491A:
add r0, r5, #0
add r1, r4, #0
bl ov01_021F9408
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020448DC
thumb_func_start sub_02044928
sub_02044928: ; 0x02044928
push {r3, r4, r5, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0xc
bl sub_020402F0
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
ldr r1, [r5]
cmp r1, #0
beq _02044950
strh r0, [r1]
_02044950:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02044928
thumb_func_start sub_02044954
sub_02044954: ; 0x02044954
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0203FE2C
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
lsl r1, r4, #5
ldr r3, [r5, #8]
add r2, r0, #0
add r0, r3, #1
str r0, [r5, #8]
add r5, #0x80
lsl r4, r6, #5
ldrb r3, [r3]
ldr r0, [r5]
add r1, r7, r1
add r2, r2, r4
bl ov01_021E9AE8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02044954
thumb_func_start sub_020449AC
sub_020449AC: ; 0x020449AC
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
add r0, #0x80
ldrb r1, [r2]
ldr r0, [r0]
bl ov01_021E9C00
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020449AC
thumb_func_start sub_020449C4
sub_020449C4: ; 0x020449C4
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
add r0, #0x80
ldrb r1, [r2]
ldr r0, [r0]
bl ov01_021E9C20
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020449C4
thumb_func_start sub_020449DC
sub_020449DC: ; 0x020449DC
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
add r0, #0x80
ldrb r1, [r2]
ldr r0, [r0]
bl ov01_021E9BB8
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020449DC
thumb_func_start sub_020449F4
sub_020449F4: ; 0x020449F4
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
add r0, #0x80
ldrb r1, [r2]
ldr r0, [r0]
bl ov01_021E9BDC
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020449F4
thumb_func_start sub_02044A0C
sub_02044A0C: ; 0x02044A0C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_02068DE0
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02044A0C
thumb_func_start sub_02044A1C
sub_02044A1C: ; 0x02044A1C
push {r4, lr}
add r0, #0x80
ldr r4, [r0]
add r0, r4, #0
bl sub_0203E344
bl sub_0202A998
bl sub_0202AEBC
cmp r0, #1
beq _02044A38
mov r0, #0
pop {r4, pc}
_02044A38:
add r0, r4, #0
bl ov04_02254D98
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02044A1C
thumb_func_start sub_02044A44
sub_02044A44: ; 0x02044A44
push {r4, lr}
add r0, #0x80
ldr r4, [r0]
add r0, r4, #0
bl sub_0203E344
bl sub_0202A998
bl sub_0202AEBC
cmp r0, #1
beq _02044A60
mov r0, #0
pop {r4, pc}
_02044A60:
add r0, r4, #0
bl ov04_02254DD0
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02044A44
thumb_func_start sub_02044A6C
sub_02044A6C: ; 0x02044A6C
push {r3, r4, r5, lr}
add r1, r0, #0
add r1, #0x80
ldr r2, [r0, #8]
ldr r4, [r1]
add r1, r2, #1
str r1, [r0, #8]
add r0, r4, #0
ldrb r5, [r2]
bl sub_0203E344
bl sub_0202A998
bl sub_0202AEBC
cmp r0, #1
beq _02044A92
mov r0, #1
pop {r3, r4, r5, pc}
_02044A92:
cmp r5, #0
beq _02044A9A
mov r1, #0xa
b _02044A9C
_02044A9A:
mov r1, #0x1e
_02044A9C:
add r0, r4, #0
bl ov04_02254DE0
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02044A6C
thumb_func_start sub_02044AA8
sub_02044AA8: ; 0x02044AA8
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_02068E08
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02044AA8
thumb_func_start sub_02044AB8
sub_02044AB8: ; 0x02044AB8
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl ov04_02256058
strh r0, [r5]
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02044AB8
thumb_func_start sub_02044AE0
sub_02044AE0: ; 0x02044AE0
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_02068E24
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02044AE0
thumb_func_start sub_02044AF0
sub_02044AF0: ; 0x02044AF0
push {r4, lr}
add r1, r0, #0
add r1, #0x80
ldr r4, [r1]
ldr r1, [r0, #8]
add r3, r1, #1
str r3, [r0, #8]
ldrb r1, [r1]
add r2, r3, #1
str r2, [r0, #8]
ldrb r2, [r3]
add r0, r4, #0
bl ov04_0225640C
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02044AF0
thumb_func_start sub_02044B10
sub_02044B10: ; 0x02044B10
push {r4, r5, r6, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r2, [r4, #8]
ldr r6, [r1]
add r1, r2, #1
str r1, [r4, #8]
ldrb r5, [r2]
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
add r0, r6, #0
add r1, r5, #0
bl ov04_022563C4
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02044B10
thumb_func_start sub_02044B40
sub_02044B40: ; 0x02044B40
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_02068E70
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02044B40
thumb_func_start sub_02044B50
sub_02044B50: ; 0x02044B50
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_02068EB0
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02044B50
thumb_func_start sub_02044B60
sub_02044B60: ; 0x02044B60
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov04_02253ED4
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02044B60
thumb_func_start sub_02044B70
sub_02044B70: ; 0x02044B70
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_02068ED0
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02044B70
thumb_func_start sub_02044B80
sub_02044B80: ; 0x02044B80
push {r3, lr}
add r1, r0, #0
add r1, #0x80
ldr r2, [r0, #8]
ldr r3, [r1]
add r1, r2, #1
str r1, [r0, #8]
ldrb r1, [r2]
add r0, r3, #0
bl ov04_02254568
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02044B80
thumb_func_start sub_02044B9C
sub_02044B9C: ; 0x02044B9C
push {r3, lr}
add r1, r0, #0
add r1, #0x80
ldr r2, [r0, #8]
ldr r3, [r1]
add r1, r2, #1
str r1, [r0, #8]
ldrb r1, [r2]
add r0, r3, #0
bl ov04_02254404
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02044B9C
thumb_func_start sub_02044BB8
sub_02044BB8: ; 0x02044BB8
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_02068F00
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02044BB8
thumb_func_start sub_02044BC8
sub_02044BC8: ; 0x02044BC8
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_02068F40
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02044BC8
thumb_func_start sub_02044BD8
sub_02044BD8: ; 0x02044BD8
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_02068F54
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02044BD8
thumb_func_start sub_02044BE8
sub_02044BE8: ; 0x02044BE8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
ldr r0, [r4, #0x40]
bl sub_0205C6DC
add r4, r0, #0
bl sub_0205F914
strh r0, [r6]
add r0, r4, #0
bl sub_0205F924
lsr r1, r0, #0x1f
add r1, r0, r1
asr r0, r1, #1
strh r0, [r7]
add r0, r4, #0
bl sub_0205F934
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02044BE8
thumb_func_start sub_02044C54
sub_02044C54: ; 0x02044C54
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_0203F9F4
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02044C54
thumb_func_start sub_02044C64
sub_02044C64: ; 0x02044C64
push {r3, r4, r5, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r1, r0, #0
ldr r0, [r5, #0x3c]
bl sub_0205EE60
add r4, r0, #0
bne _02044C8C
bl GF_AssertFail
_02044C8C:
add r0, r4, #0
mov r1, #0
bl sub_0205F690
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02044C64
thumb_func_start sub_02044C98
sub_02044C98: ; 0x02044C98
push {r3, r4, r5, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r1, r0, #0
ldr r0, [r5, #0x3c]
bl sub_0205EE60
add r4, r0, #0
bne _02044CC0
bl GF_AssertFail
_02044CC0:
add r0, r4, #0
mov r1, #1
bl sub_0205F690
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02044C98
thumb_func_start sub_02044CCC
sub_02044CCC: ; 0x02044CCC
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0xb
bl sub_0203F074
str r0, [r4]
ldr r1, _02044CF8 ; =sub_02042974
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, pc}
nop
_02044CF8: .word sub_02042974
thumb_func_end sub_02044CCC
thumb_func_start sub_02044CFC
sub_02044CFC: ; 0x02044CFC
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
ldr r0, [r4, #0xc]
bl Sav2_Mailbox_get
mov r1, #0
bl Mailbox_CountMessages
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02044CFC
thumb_func_start sub_02044D28
sub_02044D28: ; 0x02044D28
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r2, r0, #0
add r5, #0x80
lsl r1, r4, #0x18
lsl r2, r2, #0x18
ldr r0, [r5]
lsr r1, r1, #0x18
lsr r2, r2, #0x18
bl sub_02097D3C
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02044D28
thumb_func_start sub_02044D68
sub_02044D68: ; 0x02044D68
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
bl sub_020555E0
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02044D68
thumb_func_start sub_02044D8C
sub_02044D8C: ; 0x02044D8C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r5, r0, #0
bl LCRandom
add r1, r5, #0
bl _s32_div_f
strh r1, [r4]
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end sub_02044D8C
thumb_func_start sub_02044DC4
sub_02044DC4: ; 0x02044DC4
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r5, r0, #0
bl LCRandom
add r1, r5, #0
bl _s32_div_f
strh r1, [r4]
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end sub_02044DC4
thumb_func_start sub_02044DFC
sub_02044DFC: ; 0x02044DFC
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202C028
bl sub_0202B9E0
add r1, r4, #0
add r2, r6, #0
bl sub_0202BB08
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02044DFC
thumb_func_start sub_02044E40
sub_02044E40: ; 0x02044E40
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202C028
bl sub_0202B9E0
add r1, r6, #0
add r2, r7, #0
bl sub_0202BA2C
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02044E40
thumb_func_start sub_02044E9C
sub_02044E9C: ; 0x02044E9C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202C028
bl sub_0202B9E0
add r1, r7, #0
bl sub_0202BA70
cmp r6, r0
bhi _02044EF6
mov r0, #1
b _02044EF8
_02044EF6:
mov r0, #0
_02044EF8:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02044E9C
thumb_func_start sub_02044F00
sub_02044F00: ; 0x02044F00
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202C028
bl sub_0202B9E0
add r1, r4, #0
bl sub_0202BBD8
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02044F00
thumb_func_start sub_02044F30
sub_02044F30: ; 0x02044F30
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202C028
bl sub_0202B9E0
add r1, r6, #0
bl sub_0202BA5C
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02044F30
thumb_func_start sub_02044F74
sub_02044F74: ; 0x02044F74
push {r3, r4, r5, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202A634
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
mov r0, #0
strh r0, [r4]
add r0, r5, #0
bl sub_02029F60
cmp r0, #1
bne _02044FA8
mov r0, #1
strh r0, [r4]
_02044FA8:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02044F74
thumb_func_start sub_02044FAC
sub_02044FAC: ; 0x02044FAC
push {r3, r4, r5, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202A634
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
mov r0, #0
strh r0, [r4]
add r0, r5, #0
bl sub_02029F48
cmp r0, #1
bne _02044FE0
mov r0, #1
strh r0, [r4]
_02044FE0:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02044FAC
thumb_func_start sub_02044FE4
sub_02044FE4: ; 0x02044FE4
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r2, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x20
bl sub_0203FA8C
str r0, [r4]
ldr r1, _02045024 ; =sub_02042974
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, pc}
nop
_02045024: .word sub_02042974
thumb_func_end sub_02044FE4
thumb_func_start sub_02045028
sub_02045028: ; 0x02045028
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02045028
thumb_func_start sub_02045040
sub_02045040: ; 0x02045040
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202CF54
add r1, r4, #0
bl sub_0202D0FC
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02045040
thumb_func_start sub_02045060
sub_02045060: ; 0x02045060
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0203FE2C
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r1, r4, #0
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r1, r6, #0
bl sub_02040374
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202CF54
add r1, r7, #0
bl sub_0202D18C
ldr r1, _020450B4 ; =0xFFFF0000
and r1, r0
lsr r1, r1, #0x10
strh r1, [r4]
strh r0, [r6]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020450B4: .word 0xFFFF0000
thumb_func_end sub_02045060
thumb_func_start sub_020450B8
sub_020450B8: ; 0x020450B8
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
ldr r1, [r5, #8]
add r2, r1, #1
str r2, [r5, #8]
lsl r2, r4, #0x10
add r4, r2, #0
orr r4, r0
ldrb r0, [r1]
cmp r0, #0
beq _020450EC
cmp r0, #1
beq _02045100
cmp r0, #2
beq _02045114
b _02045126
_020450EC:
add r5, #0x80
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202CF54
add r1, r6, #0
add r2, r4, #0
bl sub_0202D144
b _02045126
_02045100:
add r5, #0x80
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202CF54
add r1, r6, #0
add r2, r4, #0
bl sub_0202D064
b _02045126
_02045114:
add r5, #0x80
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202CF54
add r1, r6, #0
add r2, r4, #0
bl sub_0202D0A4
_02045126:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020450B8
thumb_func_start sub_0204512C
sub_0204512C: ; 0x0204512C
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202CF54
add r1, r4, #0
add r2, r6, #0
bl sub_0202D144
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_0204512C
thumb_func_start sub_02045160
sub_02045160: ; 0x02045160
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE44
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202CF54
add r1, r4, #0
add r2, r6, #0
bl sub_0202D144
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02045160
thumb_func_start sub_02045188
sub_02045188: ; 0x02045188
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0203B9C4
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
str r0, [sp, #4]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202F57C
str r0, [sp, #8]
ldr r0, [r5, #8]
add r1, r0, #1
str r1, [r5, #8]
ldrb r4, [r0]
add r0, r1, #1
str r0, [r5, #8]
ldrb r0, [r1]
str r0, [sp]
add r0, r6, #0
bl sub_0203B9B8
add r7, r0, #0
add r0, r6, #0
bl sub_0203B9BC
add r6, r0, #0
cmp r4, #0
beq _020451E0
cmp r4, #1
beq _020451F8
b _02045228
_020451E0:
ldr r0, [sp, #4]
bl sub_02066840
ldr r0, [sp, #8]
ldr r1, [sp]
bl sub_0202F5F8
mov r0, #0x1e
strh r0, [r7]
mov r0, #0
strh r0, [r6]
b _02045228
_020451F8:
ldr r0, [sp, #4]
bl sub_02066850
ldr r0, [sp, #8]
mov r1, #1
bl sub_0202F5F8
ldr r0, [sp, #8]
bl sub_0202F6AC
add r1, r0, #0
beq _02045222
add r5, #0x80
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0209730C
ldr r0, [sp, #8]
mov r1, #0
bl sub_0202F6A0
_02045222:
mov r0, #0
strh r0, [r7]
strh r0, [r6]
_02045228:
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02045188
thumb_func_start sub_02045230
sub_02045230: ; 0x02045230
push {r3, lr}
ldr r0, [r0, #0x74]
bl ov02_02245B80
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02045230
thumb_func_start sub_0204523C
sub_0204523C: ; 0x0204523C
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
add r0, #0x80
ldr r0, [r0]
ldrb r1, [r2]
ldr r0, [r0, #0x40]
bl sub_0205C858
mov r0, #1
pop {r3, pc}
thumb_func_end sub_0204523C
thumb_func_start sub_02045254
sub_02045254: ; 0x02045254
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202D9D0
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02045254
thumb_func_start sub_02045264
sub_02045264: ; 0x02045264
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
add r0, #0x80
ldr r0, [r0]
ldrb r1, [r2]
ldr r0, [r0, #0xc]
bl sub_020676EC
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02045264
thumb_func_start sub_0204527C
sub_0204527C: ; 0x0204527C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
ldr r1, [r5, #8]
add r4, r0, #0
add r0, r1, #1
str r0, [r5, #8]
ldrb r5, [r1]
ldr r0, _020452AC ; =SDK_OVERLAY_OVY_23_ID
mov r1, #2
bl HandleLoadOverlay
mov r0, #0xb
add r1, r5, #0
bl ov23_022598C0
str r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
nop
_020452AC: .word SDK_OVERLAY_OVY_23_ID
thumb_func_end sub_0204527C
thumb_func_start sub_020452B0
sub_020452B0: ; 0x020452B0
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
ldr r0, [r4]
bl ov23_02259B50
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020452B0
thumb_func_start sub_020452E0
sub_020452E0: ; 0x020452E0
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
ldr r0, [r4]
bl ov23_02259B58
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020452E0
thumb_func_start sub_02045310
sub_02045310: ; 0x02045310
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
ldr r0, [r4]
bl ov23_02259B60
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02045310
thumb_func_start sub_02045340
sub_02045340: ; 0x02045340
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r5, #0x74]
ldr r1, [r4]
mov r3, #0xb
bl sub_02067A1C
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02045340
thumb_func_start sub_02045374
sub_02045374: ; 0x02045374
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
ldr r0, [r0]
bl ov23_02259944
ldr r0, _02045390 ; =SDK_OVERLAY_OVY_23_ID
bl UnloadOverlayByID
mov r0, #0
pop {r3, pc}
.balign 4, 0
_02045390: .word SDK_OVERLAY_OVY_23_ID
thumb_func_end sub_02045374
thumb_func_start sub_02045394
sub_02045394: ; 0x02045394
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r1, [r5, #8]
add r2, r1, #1
str r2, [r5, #8]
ldrb r6, [r1]
add r1, r2, #1
str r1, [r5, #8]
ldrb r4, [r2]
bl sub_0203FE2C
add r7, r0, #0
ldr r0, _020453CC ; =SDK_OVERLAY_OVY_23_ID
mov r1, #2
bl HandleLoadOverlay
add r5, #0x80
ldr r0, [r5]
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl ov23_02259964
ldr r0, _020453CC ; =SDK_OVERLAY_OVY_23_ID
bl UnloadOverlayByID
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020453CC: .word SDK_OVERLAY_OVY_23_ID
thumb_func_end sub_02045394
thumb_func_start sub_020453D0
sub_020453D0: ; 0x020453D0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r4, [r2]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r7, r0, #0
ldr r0, _02045424 ; =SDK_OVERLAY_OVY_23_ID
mov r1, #2
bl HandleLoadOverlay
add r5, #0x80
lsl r2, r6, #0x18
ldr r0, [r5]
add r1, r4, #0
lsr r2, r2, #0x18
bl ov23_02259AA0
strh r0, [r7]
ldr r0, _02045424 ; =SDK_OVERLAY_OVY_23_ID
bl UnloadOverlayByID
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02045424: .word SDK_OVERLAY_OVY_23_ID
thumb_func_end sub_020453D0
thumb_func_start sub_02045428
sub_02045428: ; 0x02045428
mov r0, #0
bx lr
thumb_func_end sub_02045428
thumb_func_start sub_0204542C
sub_0204542C: ; 0x0204542C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202A634
bl sub_0202A57C
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0204542C
thumb_func_start sub_02045440
sub_02045440: ; 0x02045440
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r4, [r2]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
mov r0, #0
strh r0, [r6]
cmp r4, #1
bne _02045486
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202A634
bl sub_0202A53C
add r5, #0x80
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
bl sub_020290A8
b _020454A0
_02045486:
cmp r4, #2
bne _0204549C
add r5, #0x80
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202A634
bl sub_0202A55C
strh r0, [r6]
b _020454A0
_0204549C:
bl GF_AssertFail
_020454A0:
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02045440
thumb_func_start sub_020454A4
sub_020454A4: ; 0x020454A4
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r4, #0
bl GetPartyMonByIndex
add r5, r0, #0
mov r1, #0xd
mov r2, #0
bl GetMonData
add r4, r0, #0
add r0, r5, #0
mov r1, #0xe
mov r2, #0
bl GetMonData
add r6, r0, #0
add r0, r5, #0
mov r1, #0xf
mov r2, #0
bl GetMonData
add r7, r0, #0
add r0, r5, #0
mov r1, #0x10
mov r2, #0
bl GetMonData
str r0, [sp, #4]
add r0, r5, #0
mov r1, #0x11
mov r2, #0
bl GetMonData
str r0, [sp, #8]
add r0, r5, #0
mov r1, #0x12
mov r2, #0
bl GetMonData
add r1, r4, r6
add r2, r7, r1
ldr r1, [sp, #4]
add r2, r1, r2
ldr r1, [sp, #8]
add r1, r1, r2
add r1, r0, r1
ldr r0, [sp]
strh r1, [r0]
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020454A4
thumb_func_start sub_02045540
sub_02045540: ; 0x02045540
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
add r0, sp, #0
bl GF_RTC_CopyDate
ldr r0, [sp, #0xc]
strh r0, [r4]
mov r0, #0
add sp, #0x10
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02045540
thumb_func_start sub_02045568
sub_02045568: ; 0x02045568
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r1, r0, #0
ldr r0, [r4, #0x74]
bl ov03_022566B0
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02045568
thumb_func_start sub_02045588
sub_02045588: ; 0x02045588
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r1, r0, #0
add r4, #0x80
lsl r1, r1, #0x18
ldr r0, [r4]
lsr r1, r1, #0x18
bl ov02_0224BB18
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02045588
thumb_func_start sub_020455B0
sub_020455B0: ; 0x020455B0
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r2, r0, #0
add r5, #0x80
lsl r1, r4, #0x18
lsl r2, r2, #0x18
ldr r0, [r5]
lsr r1, r1, #0x18
lsr r2, r2, #0x18
bl ov02_0224BDE8
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020455B0
thumb_func_start sub_020455F0
sub_020455F0: ; 0x020455F0
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
mov r1, #GAME_VERSION
strh r1, [r0]
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020455F0
thumb_func_start sub_0204560C
sub_0204560C: ; 0x0204560C
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
add r0, #0x80
ldr r6, [r0]
add r0, r6, #0
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
str r0, [sp, #8]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
ldr r0, [r6, #0xc]
bl sub_020270D8
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #0xc]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #0x10]
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
str r0, [sp]
mov r0, #4
str r0, [sp, #4]
ldr r0, [sp, #8]
ldr r2, [sp, #0xc]
ldr r3, [sp, #0x10]
add r1, r7, #0
bl ov02_0224CD38
add r5, r0, #0
mov r0, #0
mvn r0, r0
cmp r5, r0
beq _020456AA
cmp r5, #7
ble _020456B4
_020456AA:
mov r0, #0xff
strh r0, [r4]
add sp, #0x14
mov r0, #0
pop {r4, r5, r6, r7, pc}
_020456B4:
add r0, r6, #0
add r1, r5, #0
bl sub_020740B4
cmp r0, #0
beq _020456C4
mov r0, #0
b _020456CE
_020456C4:
add r0, r6, #0
add r1, r5, #0
bl sub_02074094
add r0, r5, #1
_020456CE:
strh r0, [r4]
mov r0, #0
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204560C
thumb_func_start sub_020456D8
sub_020456D8: ; 0x020456D8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
add r0, #0x80
ldr r6, [r0]
add r0, r6, #0
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
str r0, [sp, #8]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
ldr r0, [r6, #0xc]
bl sub_020270D8
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #0xc]
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
str r0, [sp]
mov r0, #4
str r0, [sp, #4]
ldr r0, [sp, #8]
ldr r3, [sp, #0xc]
add r1, r6, #0
add r2, r7, #0
bl ov02_0224CD74
mov r1, #0
mvn r1, r1
cmp r0, r1
bne _02045778
mov r0, #0xff
strh r0, [r4]
add sp, #0x10
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02045778:
strh r0, [r4]
mov r0, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020456D8
thumb_func_start sub_02045780
sub_02045780: ; 0x02045780
push {r3, lr}
add r1, r0, #0
add r1, #0x80
ldr r2, [r0, #8]
ldr r3, [r1]
add r1, r2, #1
str r1, [r0, #8]
ldrb r1, [r2]
add r0, r3, #0
bl ov02_0224BF58
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02045780
thumb_func_start sub_0204579C
sub_0204579C: ; 0x0204579C
push {r3, lr}
add r1, r0, #0
add r1, #0x80
ldr r2, [r0, #8]
ldr r3, [r1]
add r1, r2, #1
str r1, [r0, #8]
ldrb r1, [r2]
add r0, r3, #0
bl ov02_0224BFC0
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0204579C
thumb_func_start sub_020457B8
sub_020457B8: ; 0x020457B8
push {r3, lr}
add r1, r0, #0
add r1, #0x80
ldr r2, [r0, #8]
ldr r3, [r1]
add r1, r2, #1
str r1, [r0, #8]
ldrb r1, [r2]
add r0, r3, #0
bl ov02_0224BFCC
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020457B8
thumb_func_start sub_020457D4
sub_020457D4: ; 0x020457D4
push {r4, r5, r6, lr}
sub sp, #0x10
ldr r0, [r0, #0xc]
add r5, r1, #0
bl sub_0202A634
add r6, r0, #0
mov r0, #0x20
bl AllocMonZeroed
add r4, r0, #0
bl ZeroMonData
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
str r0, [sp, #0xc]
add r0, r4, #0
add r1, r5, #0
mov r2, #0x32
mov r3, #0x20
bl sub_0206DE38
add r0, r6, #0
add r1, r4, #0
bl sub_0202A36C
add r0, r4, #0
bl FreeToHeap
add sp, #0x10
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020457D4
thumb_func_start sub_02045818
sub_02045818: ; 0x02045818
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020457D4
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02045818
thumb_func_start sub_0204583C
sub_0204583C: ; 0x0204583C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_020270D8
bl sub_02073DFC
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204583C
thumb_func_start sub_02045868
sub_02045868: ; 0x02045868
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x17
bl sub_020402F0
add r4, r0, #0
mov r0, #0
add r5, #0x80
str r0, [r4]
ldr r0, [r5]
bl ov01_021F2F70
str r0, [r4]
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02045868
thumb_func_start sub_0204588C
sub_0204588C: ; 0x0204588C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
mov r1, #0x17
bl sub_020402F0
ldr r0, [r0]
bl ov01_021F2FF0
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0204588C
thumb_func_start sub_020458A4
sub_020458A4: ; 0x020458A4
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r1, r0, #0
add r4, #0x80
lsl r1, r1, #0x18
ldr r0, [r4]
lsr r1, r1, #0x18
bl ov02_0224CDB0
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020458A4
thumb_func_start sub_020458CC
sub_020458CC: ; 0x020458CC
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202CF54
add r1, r4, #0
bl sub_0202D1C0
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020458CC
thumb_func_start sub_020458EC
sub_020458EC: ; 0x020458EC
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r6, #0
bl sub_020748CC
strh r0, [r4]
mov r0, #1
pop {r4, r5, r6, pc}
thumb_func_end sub_020458EC
thumb_func_start sub_0204592C
sub_0204592C: ; 0x0204592C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r1, sp, #4
strh r0, [r1]
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
str r0, [sp]
bl GetPartyCount
add r4, #0x80
add r6, r0, #0
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl sub_0202A634
add r7, r0, #0
mov r5, #0
cmp r6, #0
ble _020459A2
_0204596C:
ldr r0, [sp]
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #5
mov r2, #0
add r4, r0, #0
bl GetMonData
ldr r1, _020459A8 ; =0x00000182
cmp r0, r1
bne _0204599C
add r0, r4, #0
mov r1, #0x70
add r2, sp, #4
bl sub_0206EC40
add r0, r4, #0
bl sub_0206E250
add r0, r7, #0
add r1, r4, #0
bl sub_0202A434
_0204599C:
add r5, r5, #1
cmp r5, r6
blt _0204596C
_020459A2:
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020459A8: .word 0x00000182
thumb_func_end sub_0204592C
thumb_func_start sub_020459AC
sub_020459AC: ; 0x020459AC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
str r0, [sp]
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
str r0, [sp, #0xc]
bl GetPartyCount
add r2, sp, #0x18
mov r4, #0
ldr r3, _02045A5C ; =0x020FACC4
str r0, [sp, #8]
add r7, r2, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [sp, #8]
str r4, [sp, #4]
cmp r0, #0
ble _02045A50
mov r5, #1
str r7, [sp, #0x14]
_020459F6:
ldr r0, [sp, #0xc]
add r1, r4, #0
bl GetPartyMonByIndex
add r6, r0, #0
mov r1, #5
mov r2, #0
bl GetMonData
str r0, [sp, #0x10]
add r0, r6, #0
mov r1, #0x70
mov r2, #0
bl GetMonData
add r3, r0, #0
mov r0, #0x67
ldr r1, [sp, #0x10]
lsl r0, r0, #2
cmp r1, r0
bne _02045A46
mov r2, #0
add r1, r2, #0
str r3, [r7]
cmp r4, #0
ble _02045A3C
ldr r6, [sp, #0x14]
_02045A2C:
ldr r0, [r6]
cmp r3, r0
bne _02045A34
add r2, r5, #0
_02045A34:
add r1, r1, #1
add r6, r6, #4
cmp r1, r4
blt _02045A2C
_02045A3C:
cmp r2, #0
bne _02045A46
ldr r0, [sp, #4]
add r0, r0, #1
str r0, [sp, #4]
_02045A46:
ldr r0, [sp, #8]
add r4, r4, #1
add r7, r7, #4
cmp r4, r0
blt _020459F6
_02045A50:
ldr r1, [sp, #4]
ldr r0, [sp]
strh r1, [r0]
mov r0, #1
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02045A5C: .word 0x020FACC4
thumb_func_end sub_020459AC
thumb_func_start sub_02045A60
sub_02045A60: ; 0x02045A60
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066820
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02045A60
thumb_func_start sub_02045A74
sub_02045A74: ; 0x02045A74
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066830
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02045A74
thumb_func_start sub_02045A88
sub_02045A88: ; 0x02045A88
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
bl sub_02055618
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02045A88
thumb_func_start sub_02045AAC
sub_02045AAC: ; 0x02045AAC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #0xc]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #8]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r1, r7, #0
ldr r0, [r0, #0x3c]
bl sub_0205EE60
add r7, r0, #0
bne _02045B2A
bl GF_AssertFail
_02045B2A:
str r6, [sp]
str r4, [sp, #4]
ldr r0, [r5, #0x74]
ldr r2, [sp, #0xc]
ldr r3, [sp, #8]
add r1, r7, #0
bl sub_0205BED8
mov r0, #1
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02045AAC
thumb_func_start sub_02045B40
sub_02045B40: ; 0x02045B40
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
add r1, r5, #0
ldr r0, [r0, #0x3c]
bl sub_0205EE60
add r5, r0, #0
bne _02045B94
bl GF_AssertFail
_02045B94:
ldr r0, [r4, #0x74]
add r1, r5, #0
add r2, r7, #0
add r3, r6, #0
bl sub_0205BFB4
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02045B40
thumb_func_start sub_02045BA4
sub_02045BA4: ; 0x02045BA4
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0205BDB8
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02045BA4
thumb_func_start sub_02045BCC
sub_02045BCC: ; 0x02045BCC
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
str r0, [sp]
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl sub_0202C028
bl sub_0202B9E0
mov r6, #0
add r7, r0, #0
add r4, r6, #0
add r5, sp, #4
_02045BFA:
add r1, r4, #0
add r0, r7, #0
add r1, #0x22
mov r2, #1
bl sub_0202BA2C
cmp r0, #1
bne _02045C10
mov r0, #1
strh r0, [r5]
add r6, r6, #1
_02045C10:
add r4, r4, #1
add r5, r5, #2
cmp r4, #0x10
blt _02045BFA
cmp r6, #0
bne _02045C28
ldr r0, [sp]
ldr r1, _02045C60 ; =0x0000FFFF
add sp, #0x24
strh r1, [r0]
mov r0, #0
pop {r4, r5, r6, r7, pc}
_02045C28:
bl LCRandom
add r1, r6, #0
bl _s32_div_f
mov r4, #0
add r2, sp, #4
_02045C36:
ldrh r0, [r2]
cmp r0, #1
bne _02045C42
cmp r1, #0
beq _02045C4A
sub r1, r1, #1
_02045C42:
add r4, r4, #1
add r2, r2, #2
cmp r4, #0x10
blt _02045C36
_02045C4A:
cmp r4, #0x10
blt _02045C52
bl GF_AssertFail
_02045C52:
ldr r0, [sp]
add r4, #0x22
strh r4, [r0]
mov r0, #0
add sp, #0x24
pop {r4, r5, r6, r7, pc}
nop
_02045C60: .word 0x0000FFFF
thumb_func_end sub_02045BCC
thumb_func_start sub_02045C64
sub_02045C64: ; 0x02045C64
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
ldr r1, _02045C80 ; =gMain + 0x60
ldrb r1, [r1, #0xa]
strh r1, [r0]
mov r0, #1
pop {r4, pc}
.balign 4, 0
_02045C80: .word gMain + 0x60
thumb_func_end sub_02045C64
thumb_func_start sub_02045C84
sub_02045C84: ; 0x02045C84
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r5, #0x80
ldr r0, [r5]
ldrb r4, [r1]
ldr r0, [r0, #0xc]
bl sub_020503D0
cmp r4, #0
beq _02045CB8
add r1, r6, #0
bl sub_02066C1C
b _02045CBE
_02045CB8:
add r1, r6, #0
bl sub_02066C4C
_02045CBE:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02045C84
thumb_func_start sub_02045CC4
sub_02045CC4: ; 0x02045CC4
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferContestBackgroundName
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02045CC4
thumb_func_start sub_02045CFC
sub_02045CFC: ; 0x02045CFC
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066D40
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02045CFC
thumb_func_start sub_02045D28
sub_02045D28: ; 0x02045D28
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202C028
bl sub_0202B9E0
add r1, r4, #0
add r2, r6, #0
bl sub_0202BB7C
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02045D28
thumb_func_start sub_02045D6C
sub_02045D6C: ; 0x02045D6C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_02066D60
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02045D6C
thumb_func_start sub_02045D7C
sub_02045D7C: ; 0x02045D7C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_02015C28
bl sub_02015C48
cmp r0, #0x20
bne _02045DCE
ldr r0, _02045DE4 ; =0x0000FFFF
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02045DCE:
strh r0, [r4]
bl sub_02015CC8
add r2, r0, #0
ldr r0, [r6]
add r1, r7, #0
bl sub_0200C528
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_02045DE4: .word 0x0000FFFF
thumb_func_end sub_02045D7C
thumb_func_start sub_02045DE8
sub_02045DE8: ; 0x02045DE8
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_02015C28
bl sub_02015CAC
cmp r0, #1
bne _02045E14
mov r0, #1
b _02045E16
_02045E14:
mov r0, #0
_02045E16:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02045DE8
thumb_func_start sub_02045E1C
sub_02045E1C: ; 0x02045E1C
push {r3, r4, r5, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_02066DA8
cmp r0, #5
blo _02045E4C
mov r0, #1
b _02045E4E
_02045E4C:
mov r0, #0
_02045E4E:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02045E1C
thumb_func_start sub_02045E54
sub_02045E54: ; 0x02045E54
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
ldr r6, [r4]
add r5, r0, #0
ldr r0, [r6, #0xc]
bl Sav2_SysInfo_get
add r7, r0, #0
bl Sav2_SysInfo_GetBirthMonth
add r4, r0, #0
add r0, r6, #0
bl sub_02055600
cmp r4, r0
bne _02045E9E
add r0, r7, #0
bl Sav2_SysInfo_GetBirthDay
add r4, r0, #0
add r0, r6, #0
bl sub_0205560C
cmp r4, r0
bne _02045E9E
mov r0, #1
strh r0, [r5]
b _02045EA2
_02045E9E:
mov r0, #0
strh r0, [r5]
_02045EA2:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02045E54
thumb_func_start sub_02045EA8
sub_02045EA8: ; 0x02045EA8
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202A634
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
mov r1, #1
bl sub_0202A14C
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02045EA8
thumb_func_start sub_02045ED8
sub_02045ED8: ; 0x02045ED8
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r4, [r2]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_020503D0
add r5, r0, #0
cmp r4, #1
bls _02045F0A
bl GF_AssertFail
_02045F0A:
add r0, r5, #0
add r1, r4, #0
bl sub_02066BC0
strh r0, [r6]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02045ED8
thumb_func_start sub_02045F18
sub_02045F18: ; 0x02045F18
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
mov r1, #0x20
ldr r0, [r0, #0xc]
add r2, sp, #0
bl LoadHallOfFame
ldr r1, [sp]
add r4, r0, #0
cmp r1, #0
bne _02045F50
mov r1, #0
strh r1, [r5]
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, pc}
_02045F50:
cmp r1, #1
bne _02045F66
mov r1, #0
bl sub_0202E2C4
strh r0, [r5]
add r0, r4, #0
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, pc}
_02045F66:
cmp r1, #2
bne _02045F76
mov r1, #0
strh r1, [r5]
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, pc}
_02045F76:
mov r0, #0
strh r0, [r5]
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02045F18
thumb_func_start sub_02045F80
sub_02045F80: ; 0x02045F80
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r1, r5, #0
add r1, #0x80
add r4, r0, #0
ldr r1, [r1]
mov r0, #0x20
add r2, r6, #0
bl sub_0203E5D0
str r0, [r4]
ldr r1, _02045FC0 ; =sub_020429F8
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
_02045FC0: .word sub_020429F8
thumb_func_end sub_02045F80
thumb_func_start sub_02045FC4
sub_02045FC4: ; 0x02045FC4
push {r4, r5, r6, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
bne _02046004
bl GF_AssertFail
_02046004:
ldr r0, [r4]
bl sub_0203E5C8
strh r0, [r6]
ldrh r0, [r6]
cmp r0, #7
bne _02046016
mov r0, #0xff
strh r0, [r6]
_02046016:
ldr r0, [r4]
bl sub_0203E5F8
strh r0, [r5]
ldrh r0, [r5]
cmp r0, #1
bne _02046028
mov r0, #1
b _0204602A
_02046028:
mov r0, #0
_0204602A:
strh r0, [r5]
ldr r0, [r4]
bl FreeToHeap
mov r0, #0
str r0, [r4]
pop {r4, r5, r6, pc}
thumb_func_end sub_02045FC4
thumb_func_start sub_02046038
sub_02046038: ; 0x02046038
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r4, [r2]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
cmp r4, #0x64
bls _0204605A
mov r4, #0x64
_0204605A:
bl LCRandom
mov r1, #0x65
bl _s32_div_f
lsl r0, r1, #0x10
lsr r0, r0, #0x10
cmp r0, r4
bgt _02046070
mov r0, #1
b _02046072
_02046070:
mov r0, #0
_02046072:
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02046038
thumb_func_start sub_02046078
sub_02046078: ; 0x02046078
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
cmp r5, #5
bhi _020460FE
add r2, r5, r5
add r2, pc
ldrh r2, [r2, #6]
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
_020460B6: ; jump table
.short _020460C2 - _020460B6 - 2 ; case 0
.short _020460CC - _020460B6 - 2 ; case 1
.short _020460D6 - _020460B6 - 2 ; case 2
.short _020460E0 - _020460B6 - 2 ; case 3
.short _020460EA - _020460B6 - 2 ; case 4
.short _020460F4 - _020460B6 - 2 ; case 5
_020460C2:
mov r2, #0
mov r3, #0x20
bl ov02_0224E074
b _02046102
_020460CC:
mov r2, #1
mov r3, #0x20
bl ov02_0224E074
b _02046102
_020460D6:
mov r2, #2
mov r3, #0x20
bl ov02_0224E074
b _02046102
_020460E0:
mov r2, #3
mov r3, #0x20
bl ov02_0224E074
b _02046102
_020460EA:
mov r2, #4
mov r3, #0x20
bl ov02_0224E074
b _02046102
_020460F4:
mov r2, #5
mov r3, #0x20
bl ov02_0224E074
b _02046102
_020460FE:
bl GF_AssertFail
_02046102:
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02046078
thumb_func_start sub_02046108
sub_02046108: ; 0x02046108
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0203A05C
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02046108
thumb_func_start sub_02046130
sub_02046130: ; 0x02046130
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202C6F4
bl sub_0202C2F8
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02046130
thumb_func_start sub_0204615C
sub_0204615C: ; 0x0204615C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
mov r1, #0
strh r1, [r0]
ldr r1, _0204619C ; =0x0000012A
cmp r4, r1
blo _02046196
add r1, #0xf
cmp r4, r1
bhi _02046196
mov r1, #1
strh r1, [r0]
_02046196:
mov r0, #0
pop {r3, r4, r5, pc}
nop
_0204619C: .word 0x0000012A
thumb_func_end sub_0204615C
thumb_func_start sub_020461A0
sub_020461A0: ; 0x020461A0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #4]
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #8]
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #0xc]
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r7, r0, #0
mov r0, #0x20
bl ScrStrBufs_new
add r4, r0, #0
mov r0, #0
mov r1, #0x1b
mov r2, #0xca
mov r3, #0x20
bl NewMsgDataFromNarc
add r5, r0, #0
ldr r2, [sp, #4]
add r0, r4, #0
mov r1, #0
bl sub_0200C528
ldr r2, [sp, #8]
add r0, r4, #0
mov r1, #1
bl sub_0200C528
ldr r2, [sp, #0xc]
add r0, r4, #0
mov r1, #2
bl sub_0200C528
add r0, r4, #0
mov r1, #3
add r2, r7, #0
bl sub_0200C528
add r0, r4, #0
add r1, r5, #0
mov r2, #1
mov r3, #0x20
bl ReadMsgData_ExpandPlaceholders
add r7, r0, #0
add r0, r5, #0
mov r1, #0
bl NewString_ReadMsgData
str r0, [sp]
ldr r1, [sp]
add r0, r7, #0
bl StringCompare
cmp r0, #0
bne _0204626C
mov r0, #1
b _0204626E
_0204626C:
mov r0, #0
_0204626E:
strh r0, [r6]
add r0, r7, #0
bl String_dtor
ldr r0, [sp]
bl String_dtor
add r0, r5, #0
bl DestroyMsgData
add r0, r4, #0
bl ScrStrBufs_delete
mov r0, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020461A0
thumb_func_start sub_02046290
sub_02046290: ; 0x02046290
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl Sav2_SysInfo_get
mov r1, #1
bl sub_02028DD0
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02046290
thumb_func_start sub_020462A8
sub_020462A8: ; 0x020462A8
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
mov r1, #0x10
bl sub_020402F0
ldr r0, [r0]
bl sub_0205A6AC
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020462A8
thumb_func_start sub_020462D8
sub_020462D8: ; 0x020462D8
push {r3, lr}
bl sub_0203A880
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020462D8
thumb_func_start sub_020462E4
sub_020462E4: ; 0x020462E4
push {r3, lr}
bl sub_0203A914
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020462E4
thumb_func_start sub_020462F0
sub_020462F0: ; 0x020462F0
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_0203B9DC
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020462F0
thumb_func_start sub_02046300
sub_02046300: ; 0x02046300
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r7, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0203B9C4
bl sub_0203B964
str r4, [r0]
str r6, [r0, #8]
mov r1, #0
str r7, [r0, #0xc]
mvn r1, r1
str r1, [r0, #4]
mov r1, #1
str r1, [r0, #0x10]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02046300
thumb_func_start sub_02046360
sub_02046360: ; 0x02046360
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
ldr r2, [r5, #8]
add r1, r0, #0
add r0, r2, #1
str r0, [r5, #8]
add r5, #0x80
ldr r0, [r5]
ldrb r4, [r2]
ldr r0, [r0, #0x3c]
bl sub_0205EE60
add r5, r0, #0
bne _02046390
bl GF_AssertFail
_02046390:
add r0, r5, #0
add r1, r4, #0
bl sub_0205F6AC
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02046360
thumb_func_start sub_0204639C
sub_0204639C: ; 0x0204639C
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_020691E8
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204639C
thumb_func_start sub_020463C4
sub_020463C4: ; 0x020463C4
push {r3, r4, r5, lr}
add r0, #0x80
ldr r5, [r0]
mov r1, #0x29
add r0, r5, #0
bl sub_020402F0
add r4, r0, #0
ldr r0, [r5, #0xc]
bl sub_02027500
cmp r0, #0
bne _020463EE
add r0, r5, #0
mov r1, #4
mov r2, #3
bl ov01_021F41C0
str r0, [r4]
bl ov01_021F412C
_020463EE:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020463C4
thumb_func_start sub_020463F4
sub_020463F4: ; 0x020463F4
push {r3, r4, r5, lr}
add r0, #0x80
ldr r5, [r0]
mov r1, #0x29
add r0, r5, #0
bl sub_020402F0
add r4, r0, #0
ldr r0, [r5, #0xc]
bl sub_02027500
cmp r0, #0
bne _0204641A
ldr r0, [r4]
bl ov01_021F41A4
ldr r0, [r4]
bl ov01_021F421C
_0204641A:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020463F4
thumb_func_start sub_02046420
sub_02046420: ; 0x02046420
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
add r0, #0x80
ldrb r1, [r2]
ldr r0, [r0]
bl sub_02067A80
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02046420
thumb_func_start sub_02046438
sub_02046438: ; 0x02046438
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
ldr r1, [r5, #8]
add r7, r0, #0
add r0, r1, #1
str r0, [r5, #8]
ldrb r6, [r1]
mov r0, #0xb
mov r1, #0x28
bl AllocFromHeapAtEnd
mov r1, #0
mov r2, #0x28
add r4, r0, #0
bl MIi_CpuFill8
add r0, r6, #0
add r0, #0xfb
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r4, [r7]
cmp r0, #1
bhi _0204647C
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r0, #0xa0
ldr r0, [r0]
b _0204647E
_0204647C:
mov r0, #0
_0204647E:
str r0, [r4]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #4]
add r0, r4, #0
add r0, #0x20
strb r6, [r0]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r1, _020464D8 ; =0x02108584
ldr r0, [r0, #0xc]
add r2, r4, #0
str r0, [r4, #8]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x20]
ldr r0, [r0]
str r0, [r4, #0x18]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r0, #0x94
ldr r0, [r0]
str r0, [r4, #0xc]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r0, #0xb0
ldr r0, [r0]
str r0, [r4, #0x1c]
ldr r0, [r5, #0x74]
bl sub_02050624
ldr r1, _020464DC ; =sub_02042974
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020464D8: .word 0x02108584
_020464DC: .word sub_02042974
thumb_func_end sub_02046438
thumb_func_start sub_020464E0
sub_020464E0: ; 0x020464E0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r3, r0, #0
mov r0, #0x20
str r0, [sp]
add r0, r5, #0
add r0, #0x80
lsl r1, r6, #0x18
lsl r2, r7, #0x18
ldr r0, [r0]
lsr r1, r1, #0x18
lsr r2, r2, #0x18
bl sub_0203FAB4
str r0, [r4]
ldr r1, _02046550 ; =sub_02042974
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02046550: .word sub_02042974
thumb_func_end sub_020464E0
thumb_func_start sub_02046554
sub_02046554: ; 0x02046554
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x20
bl sub_0203FB60
str r0, [r4]
ldr r1, _02046580 ; =sub_020429F8
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, pc}
nop
_02046580: .word sub_020429F8
thumb_func_end sub_02046554
thumb_func_start sub_02046584
sub_02046584: ; 0x02046584
push {r4, lr}
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
ldr r0, [r4]
bl FreeToHeap
mov r0, #0
str r0, [r4]
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02046584
thumb_func_start sub_020465A0
sub_020465A0: ; 0x020465A0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r7, r0, #0
ldr r0, [r5]
mov r1, #0x14
bl sub_020402F0
ldr r1, [r0]
lsl r0, r4, #1
add r1, r1, r0
ldrh r0, [r1, #8]
strh r0, [r6]
ldrh r0, [r1, #0xe]
strh r0, [r7]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020465A0
thumb_func_start sub_020465FC
sub_020465FC: ; 0x020465FC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0203A05C
cmp r0, #0
beq _02046666
mov r0, #1
strh r0, [r4]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r1, r7, #0
add r2, r6, #0
bl sub_0203FC14
ldr r1, _02046670 ; =sub_020429F8
add r0, r5, #0
bl sub_0203FD58
b _0204666A
_02046666:
mov r0, #0
strh r0, [r4]
_0204666A:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
nop
_02046670: .word sub_020429F8
thumb_func_end sub_020465FC
thumb_func_start sub_02046674
sub_02046674: ; 0x02046674
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0203A05C
cmp r0, #0
beq _020466A2
ldrh r1, [r4]
ldr r0, [r5, #0x74]
bl sub_02056D00
_020466A2:
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02046674
thumb_func_start sub_020466A8
sub_020466A8: ; 0x020466A8
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
mov r1, #0
strh r1, [r0]
ldr r1, _020466DC ; =gMain
ldr r2, [r1, #0x44]
mov r1, #1
tst r2, r1
beq _020466CA
strh r1, [r0]
_020466CA:
ldr r1, _020466DC ; =gMain
ldr r2, [r1, #0x44]
mov r1, #2
tst r1, r2
beq _020466D8
mov r1, #1
strh r1, [r0]
_020466D8:
mov r0, #0
pop {r4, pc}
.balign 4, 0
_020466DC: .word gMain
thumb_func_end sub_020466A8
thumb_func_start sub_020466E0
sub_020466E0: ; 0x020466E0
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r1, [r1]
str r1, [sp]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp, #4]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
ldr r0, [sp, #4]
mov r1, #0
strh r1, [r0]
strh r1, [r7]
strh r1, [r6]
strh r1, [r4]
ldr r0, [sp]
strh r1, [r5]
ldr r0, [r0, #0xc]
bl sub_020467A8
lsr r1, r0, #1
mov r2, #1
and r1, r2
cmp r1, #1
bne _02046772
ldr r1, [sp, #4]
strh r2, [r1]
_02046772:
lsr r2, r0, #2
mov r1, #1
and r2, r1
cmp r2, #1
bne _0204677E
strh r1, [r7]
_0204677E:
lsr r2, r0, #3
mov r1, #1
and r2, r1
cmp r2, #1
bne _0204678A
strh r1, [r6]
_0204678A:
lsr r2, r0, #4
mov r1, #1
and r2, r1
cmp r2, #1
bne _02046796
strh r1, [r4]
_02046796:
lsr r1, r0, #5
mov r0, #1
and r1, r0
cmp r1, #1
bne _020467A2
strh r0, [r5]
_020467A2:
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020466E0
thumb_func_start sub_020467A8
sub_020467A8: ; 0x020467A8
push {r4, r5, r6, r7, lr}
sub sp, #0xc
str r0, [sp]
mov r6, #0
bl SavArray_PlayerParty_get
str r0, [sp, #8]
bl GetPartyCount
add r7, r0, #0
add r4, r6, #0
cmp r7, #0
ble _020467FE
_020467C2:
ldr r0, [sp, #8]
add r1, r4, #0
bl GetPartyMonByIndex
mov r1, #5
mov r2, #0
add r5, r0, #0
bl GetMonData
ldr r1, _020468F0 ; =0x000001DF
cmp r0, r1
bne _020467F8
add r0, r5, #0
mov r1, #0x4c
mov r2, #0
bl GetMonData
cmp r0, #0
bne _020467F8
add r0, r5, #0
mov r1, #0x70
mov r2, #0
bl GetMonData
mov r1, #1
lsl r1, r0
orr r6, r1
_020467F8:
add r4, r4, #1
cmp r4, r7
blt _020467C2
_020467FE:
ldr r0, [sp]
bl sub_020293D4
add r7, r0, #0
mov r4, #0
_02046808:
add r0, r7, #0
add r1, r4, #0
bl sub_020292DC
bl sub_020292E4
mov r1, #5
mov r2, #0
add r5, r0, #0
bl GetBoxMonData
ldr r1, _020468F0 ; =0x000001DF
cmp r0, r1
bne _02046842
add r0, r5, #0
mov r1, #0x4c
mov r2, #0
bl GetBoxMonData
cmp r0, #0
bne _02046842
add r0, r5, #0
mov r1, #0x70
mov r2, #0
bl GetBoxMonData
mov r1, #1
lsl r1, r0
orr r6, r1
_02046842:
add r4, r4, #1
cmp r4, #2
blt _02046808
ldr r0, [sp]
bl sub_020270D8
str r0, [sp, #4]
mov r7, #0
_02046852:
mov r5, #0
_02046854:
ldr r0, [sp, #4]
add r1, r7, #0
add r2, r5, #0
bl sub_02074058
mov r1, #5
mov r2, #0
add r4, r0, #0
bl GetBoxMonData
ldr r1, _020468F0 ; =0x000001DF
cmp r0, r1
bne _0204688C
add r0, r4, #0
mov r1, #0x4c
mov r2, #0
bl GetBoxMonData
cmp r0, #0
bne _0204688C
add r0, r4, #0
mov r1, #0x70
mov r2, #0
bl GetBoxMonData
mov r1, #1
lsl r1, r0
orr r6, r1
_0204688C:
add r5, r5, #1
cmp r5, #0x1e
blt _02046854
add r7, r7, #1
cmp r7, #0x12
blo _02046852
mov r0, #0x20
bl AllocMonZeroed
add r5, r0, #0
bl sub_02070DB0
add r4, r0, #0
ldr r0, [sp]
bl sub_020325EC
add r1, r4, #0
bl sub_020326DC
cmp r0, #0
beq _020468E4
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetBoxMonData
ldr r1, _020468F0 ; =0x000001DF
cmp r0, r1
bne _020468E4
add r0, r4, #0
mov r1, #0x4c
mov r2, #0
bl GetBoxMonData
cmp r0, #0
bne _020468E4
add r0, r4, #0
mov r1, #0x70
mov r2, #0
bl GetBoxMonData
mov r1, #1
lsl r1, r0
orr r6, r1
_020468E4:
add r0, r5, #0
bl FreeToHeap
add r0, r6, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_020468F0: .word 0x000001DF
thumb_func_end sub_020467A8
thumb_func_start sub_020468F4
sub_020468F4: ; 0x020468F4
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202CF54
add r1, r4, #0
bl sub_0202D1C0
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020468F4
thumb_func_start sub_02046914
sub_02046914: ; 0x02046914
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r6, r0, #0
mov r0, #0xb
bl sub_0201ABEC
add r4, r0, #0
mov r0, #4
bl sub_0201ABEC
add r7, r0, #0
mov r0, #0x20
bl sub_0201ABEC
add r5, r0, #0
cmp r6, #0
bne _0204694E
ldr r0, _0204696C ; =0x021D415C
str r4, [r0, #8]
str r7, [r0, #4]
str r5, [r0, #0xc]
b _02046966
_0204694E:
ldr r0, _0204696C ; =0x021D415C
ldr r0, [r0, #8]
cmp r4, r0
beq _0204695A
bl GF_AssertFail
_0204695A:
ldr r0, _0204696C ; =0x021D415C
ldr r0, [r0, #0xc]
cmp r5, r0
beq _02046966
bl GF_AssertFail
_02046966:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_0204696C: .word 0x021D415C
thumb_func_end sub_02046914
thumb_func_start sub_02046970
sub_02046970: ; 0x02046970
push {r3, r4, r5, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
bl GF_RTC_DateTimeToSec
add r2, r5, #0
add r2, #0xb4
add r5, #0xb8
ldr r3, [r2]
ldr r2, [r5]
sub r3, r0, r3
sbc r1, r2
mov r2, #0
mov r0, #0x78
sub r0, r3, r0
sbc r1, r2
blt _020469AA
mov r0, #1
b _020469AC
_020469AA:
mov r0, #0
_020469AC:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02046970
thumb_func_start sub_020469B4
sub_020469B4: ; 0x020469B4
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r6, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
str r0, [sp]
add r1, r5, #0
bl sub_02071D3C
ldr r0, [sp]
bl GetPartyCount
add r7, r0, #0
mov r5, #0
cmp r7, #0
ble _02046A18
_020469F0:
ldr r0, [sp]
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r4, r0, #0
bl GetMonData
cmp r0, #0
bne _02046A12
ldr r0, [r6, #0xc]
bl sub_0202A634
add r1, r4, #0
bl sub_0202A434
_02046A12:
add r5, r5, #1
cmp r5, r7
blt _020469F0
_02046A18:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020469B4
thumb_func_start sub_02046A1C
sub_02046A1C: ; 0x02046A1C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r4, [r2]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
mov r0, #0
strh r0, [r6]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r7, #0
bl GetPartyMonByIndex
add r7, r0, #0
cmp r4, #4
blo _02046A6E
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02046A6E:
mov r1, #0x4c
mov r2, #0
bl GetMonData
cmp r0, #0
bne _02046A88
add r0, r7, #0
mov r1, #3
mov r2, #0
bl GetMonData
cmp r0, #0
beq _02046A8C
_02046A88:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02046A8C:
add r0, r7, #0
mov r1, #7
mov r2, #0
bl GetMonData
add r5, #0x80
str r0, [sp]
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
bl PlayerProfile_GetTrainerID
ldr r1, [sp]
cmp r1, r0
bne _02046AB0
mov r2, #1
b _02046AB2
_02046AB0:
mov r2, #0
_02046AB2:
add r0, r4, #0
add r1, r7, #0
bl sub_0208E9E0
cmp r0, #0
bne _02046AC2
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02046AC2:
add r0, r7, #0
mov r1, #5
mov r2, #0
bl GetMonData
cmp r4, #3
bhi _02046B12
add r1, r4, r4
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02046ADC: ; jump table
.short _02046AE4 - _02046ADC - 2 ; case 0
.short _02046AFE - _02046ADC - 2 ; case 1
.short _02046AFE - _02046ADC - 2 ; case 2
.short _02046B0A - _02046ADC - 2 ; case 3
_02046AE4:
cmp r0, #0xac
beq _02046AEE
sub r0, #0x19
cmp r0, #1
bhi _02046B12
_02046AEE:
add r0, r7, #0
bl sub_0207003C
cmp r0, #0
beq _02046B12
mov r0, #1
strh r0, [r6]
b _02046B12
_02046AFE:
ldr r1, _02046B18 ; =0x000001ED
cmp r0, r1
bne _02046B12
mov r0, #1
strh r0, [r6]
b _02046B12
_02046B0A:
cmp r0, #0xfb
bne _02046B12
mov r0, #1
strh r0, [r6]
_02046B12:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_02046B18: .word 0x000001ED
thumb_func_end sub_02046A1C
thumb_func_start sub_02046B1C
sub_02046B1C: ; 0x02046B1C
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
ldr r0, [r4, #0x3c]
mov r1, #0xfd
bl sub_0205EE60
bl ov01_022055DC
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02046B1C
thumb_func_start sub_02046B48
sub_02046B48: ; 0x02046B48
push {r4, lr}
add r0, #0x80
ldr r4, [r0]
mov r1, #0xfd
ldr r0, [r4, #0x3c]
bl sub_0205EE60
add r1, r0, #0
add r0, r4, #0
mov r2, #0
bl ov01_02203AB4
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02046B48
thumb_func_start sub_02046B64
sub_02046B64: ; 0x02046B64
push {r4, r5, r6, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
cmp r0, #1
bne _02046B88
ldr r0, [r4, #0x40]
bl sub_0205C6DC
add r6, r0, #0
add r0, r4, #0
bl sub_02069D68
add r1, r0, #0
b _02046BA6
_02046B88:
cmp r0, #2
bne _02046B9E
add r0, r4, #0
bl sub_02069D68
add r6, r0, #0
ldr r0, [r4, #0x40]
bl sub_0205C6DC
add r1, r0, #0
b _02046BA6
_02046B9E:
bl GF_AssertFail
mov r0, #0
pop {r4, r5, r6, pc}
_02046BA6:
ldr r2, [r5, #0x74]
add r0, r6, #0
bl ov02_0224E0BC
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02046B64
thumb_func_start sub_02046BB4
sub_02046BB4: ; 0x02046BB4
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov01_02205AEC
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02046BB4
thumb_func_start sub_02046BC4
sub_02046BC4: ; 0x02046BC4
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov01_02205D68
cmp r0, #0
beq _02046BD6
mov r0, #1
pop {r3, pc}
_02046BD6:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02046BC4
thumb_func_start sub_02046BDC
sub_02046BDC: ; 0x02046BDC
push {r4, r5, r6, r7, lr}
sub sp, #0x24
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, [sp, #4]
add r0, #0x80
ldr r0, [r0]
bl sub_02069F88
cmp r0, #0
beq _02046CAC
ldr r0, [sp, #4]
add r0, #0x80
ldr r0, [r0]
bl sub_02069D68
bl ov01_022055DC
cmp r0, #0
beq _02046C9C
ldr r0, [sp, #4]
add r0, #0x80
ldr r0, [r0]
bl sub_0205CA1C
bl sub_0205C6DC
str r0, [sp, #0xc]
ldr r0, [sp, #4]
add r0, #0x80
ldr r0, [r0]
bl sub_0205CA1C
bl sub_0205C654
add r4, r0, #0
ldr r0, [sp, #0xc]
bl sub_0205F914
add r6, r0, #0
add r0, r4, #0
bl sub_02060F0C
lsl r5, r0, #1
ldr r0, [sp, #0xc]
bl sub_0205F924
str r0, [sp, #0x10]
ldr r0, [sp, #0xc]
bl sub_0205F934
add r7, r0, #0
add r0, r4, #0
bl sub_02060F18
lsl r4, r0, #1
ldr r0, [sp, #4]
add r1, r6, r5
add r0, #0x80
ldr r0, [r0]
add r2, r7, r4
bl sub_02054918
str r0, [sp, #0x14]
ldr r0, [sp, #0xc]
add r1, sp, #0x18
bl sub_0205F944
mov r0, #0
str r0, [sp]
ldr r0, [sp, #4]
add r1, sp, #0x18
add r0, #0x80
ldr r0, [r0]
add r2, r6, r5
add r3, r7, r4
bl sub_020549A8
cmp r0, #0
bne _02046C98
ldr r0, [sp, #0x14]
bl sub_0205B778
cmp r0, #0
bne _02046C98
ldr r0, [sp, #0xc]
ldr r2, [sp, #0x10]
add r1, r6, r5
add r3, r7, r4
bl sub_02060BFC
cmp r0, #0
beq _02046C9C
_02046C98:
mov r0, #0
str r0, [sp, #8]
_02046C9C:
ldr r0, [sp, #8]
cmp r0, #0
beq _02046CAC
ldr r0, [sp, #4]
bl sub_0204219C
add sp, #0x24
pop {r4, r5, r6, r7, pc}
_02046CAC:
mov r0, #0
add sp, #0x24
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02046BDC
thumb_func_start sub_02046CB4
sub_02046CB4: ; 0x02046CB4
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02069F88
cmp r0, #0
beq _02046CEA
cmp r4, #0
beq _02046CDE
add r5, #0x80
ldr r0, [r5]
bl sub_02069D68
bl sub_0205F6FC
b _02046CEA
_02046CDE:
add r5, #0x80
ldr r0, [r5]
bl sub_02069D68
bl sub_0205F708
_02046CEA:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02046CB4
thumb_func_start sub_02046CF0
sub_02046CF0: ; 0x02046CF0
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02069F88
cmp r0, #0
beq _02046D08
ldr r1, _02046D0C ; =sub_02046D40
add r0, r4, #0
bl sub_0203FD58
_02046D08:
mov r0, #1
pop {r4, pc}
.balign 4, 0
_02046D0C: .word sub_02046D40
thumb_func_end sub_02046CF0
thumb_func_start sub_02046D10
sub_02046D10: ; 0x02046D10
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02069F88
cmp r0, #0
beq _02046D3A
add r5, #0x80
ldr r0, [r5]
mov r1, #0xfd
ldr r0, [r0, #0x3c]
bl sub_0205EE60
add r1, r4, #0
bl sub_0205FC94
_02046D3A:
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02046D10
thumb_func_start sub_02046D40
sub_02046D40: ; 0x02046D40
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_02069D68
bl sub_02062198
cmp r0, #0
beq _02046D56
mov r0, #1
pop {r3, pc}
_02046D56:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02046D40
thumb_func_start sub_02046D5C
sub_02046D5C: ; 0x02046D5C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #8]
add r1, r0, #1
str r1, [r5, #8]
ldrb r6, [r0]
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldrb r4, [r1]
bl sub_02069F88
cmp r0, #0
beq _02046DA2
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x40]
bl sub_0205C6DC
add r5, #0x80
add r7, r0, #0
ldr r0, [r5]
mov r1, #0xfd
ldr r0, [r0, #0x3c]
bl sub_0205EE60
add r1, r0, #0
add r0, r7, #0
add r2, r6, #0
add r3, r4, #0
bl ov01_02205720
_02046DA2:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02046D5C
thumb_func_start sub_02046DA8
sub_02046DA8: ; 0x02046DA8
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02069F88
cmp r0, #0
beq _02046DF4
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02069D68
add r4, r0, #0
bl sub_02069F7C
add r1, r5, #0
add r1, #0x80
ldr r1, [r1]
ldr r1, [r1, #0x20]
ldr r1, [r1]
bl sub_02069FF4
cmp r0, #0
beq _02046DF4
add r0, r4, #0
mov r1, #1
bl sub_02069E84
add r0, r4, #0
mov r1, #1
bl sub_02069DEC
add r5, #0x80
ldr r0, [r5]
mov r1, #1
bl ov01_02205790
_02046DF4:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02046DA8
thumb_func_start sub_02046DF8
sub_02046DF8: ; 0x02046DF8
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02069F88
cmp r0, #0
beq _02046E32
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02069D68
bl sub_02069F7C
add r1, r4, #0
add r1, #0x80
ldr r1, [r1]
ldr r1, [r1, #0x20]
ldr r1, [r1]
bl sub_02069FF4
cmp r0, #0
beq _02046E32
add r4, #0x80
ldr r0, [r4]
mov r1, #1
bl ov01_02205790
_02046E32:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02046DF8
thumb_func_start sub_02046E38
sub_02046E38: ; 0x02046E38
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02069F88
cmp r0, #0
beq _02046E58
add r4, #0x80
ldr r0, [r4]
mov r1, #0xfd
ldr r0, [r0, #0x3c]
bl sub_0205EE60
bl ov01_02205784
_02046E58:
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02046E38
thumb_func_start sub_02046E5C
sub_02046E5C: ; 0x02046E5C
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02069F88
cmp r0, #0
beq _02046E7C
add r4, #0x80
ldr r0, [r4]
mov r1, #0xfd
ldr r0, [r0, #0x3c]
bl sub_0205EE60
bl sub_020659CC
_02046E7C:
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02046E5C
thumb_func_start sub_02046E80
sub_02046E80: ; 0x02046E80
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r4, #0x80
ldr r0, [r4]
lsl r1, r1, #0x18
ldr r0, [r0, #0x28]
lsr r1, r1, #0x18
bl ov01_021EACBC
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02046E80
thumb_func_start sub_02046E9C
sub_02046E9C: ; 0x02046E9C
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r5, r0, #0
ldr r1, [r5, #8]
add r2, r1, #1
str r2, [r5, #8]
ldrb r6, [r1]
add r1, r2, #1
str r1, [r5, #8]
ldrb r4, [r2]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp, #0x10]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp, #0x14]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp, #0x18]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
ldr r1, [sp, #0x10]
lsl r3, r7, #0x18
str r1, [sp]
ldr r1, [sp, #0x14]
add r5, #0x80
str r1, [sp, #4]
ldr r1, [sp, #0x18]
add r2, r4, #0
str r1, [sp, #8]
str r0, [sp, #0xc]
ldr r0, [r5]
add r1, r6, #0
lsr r3, r3, #0x18
bl sub_02095DF4
mov r0, #1
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_02046E9C
thumb_func_start sub_02046F34
sub_02046F34: ; 0x02046F34
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
bl PlayerProfile_GetTrainerGender
cmp r0, #0
beq _02046F62
mov r0, #0
b _02046F64
_02046F62:
mov r0, #0x61
_02046F64:
strh r0, [r4]
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02046F34
thumb_func_start sub_02046F6C
sub_02046F6C: ; 0x02046F6C
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203E344
bl sub_0202ED7C
ldr r2, [r4, #8]
add r1, r2, #1
str r1, [r4, #8]
ldrb r1, [r2]
cmp r1, #0
beq _02046FA2
cmp r1, #1
beq _02046F92
cmp r1, #2
beq _02046F9A
b _02046FA2
_02046F92:
mov r1, #1
bl sub_0202EE00
b _02046FA8
_02046F9A:
mov r1, #2
bl sub_0202EE00
b _02046FA8
_02046FA2:
mov r1, #0
bl sub_0202EE00
_02046FA8:
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02046F6C
thumb_func_start sub_02046FAC
sub_02046FAC: ; 0x02046FAC
push {r4, lr}
ldr r4, [r0, #8]
add r1, r4, #1
str r1, [r0, #8]
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202ED7C
ldrb r1, [r4]
bl sub_0202EE58
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02046FAC
thumb_func_start sub_02046FC8
sub_02046FC8: ; 0x02046FC8
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203E344
bl sub_0202ED7C
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
lsl r0, r0, #0x18
lsr r1, r0, #0x18
cmp r1, #0x4b
bhs _02046FF8
add r0, r4, #0
bl sub_0202EF18
_02046FF8:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02046FC8
thumb_func_start sub_02046FFC
sub_02046FFC: ; 0x02046FFC
push {r4, r5, r6, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203E344
bl sub_0202ED7C
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
lsl r0, r0, #0x18
lsr r5, r0, #0x18
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
cmp r5, #0x4b
bhs _02047056
add r0, r6, #0
add r1, r5, #0
bl sub_0202EEE4
strh r0, [r4]
ldrh r0, [r4]
cmp r0, #0xff
bne _02047050
mov r0, #0
strh r0, [r4]
b _0204705A
_02047050:
mov r0, #1
strh r0, [r4]
b _0204705A
_02047056:
mov r0, #0
strh r0, [r4]
_0204705A:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02046FFC
thumb_func_start sub_02047060
sub_02047060: ; 0x02047060
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02092DEC
bl sub_02092DF4
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r5, #0x80
add r1, r0, #0
add r1, #0xd2
ldrb r2, [r1]
mov r1, #0x80
add r0, #0xd2
orr r1, r2
strb r1, [r0]
ldr r0, [r5]
bl sub_02092DEC
lsl r1, r6, #0x18
lsr r1, r1, #0x18
str r1, [sp]
lsl r1, r7, #0x18
lsr r1, r1, #0x18
str r1, [sp, #4]
lsl r1, r4, #0x18
lsr r1, r1, #0x18
mov r2, #0xff
mov r3, #0
bl ov02_02251EB8
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02047060
thumb_func_start sub_020470F4
sub_020470F4: ; 0x020470F4
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203EA84
str r0, [r4]
ldr r1, _0204711C ; =sub_02042974
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_0204711C: .word sub_02042974
thumb_func_end sub_020470F4
thumb_func_start sub_02047120
sub_02047120: ; 0x02047120
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
bl sub_02092DEC
bl sub_02092E10
add r1, r0, #0
add r0, r6, #0
mov r2, #0x20
bl sub_02095F94
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02047120
thumb_func_start sub_02047168
sub_02047168: ; 0x02047168
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #8
bl sub_020402F0
ldr r1, [r5, #8]
add r7, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r6, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
bl sub_02092DEC
bl sub_02092E10
add r5, r0, #0
ldrb r0, [r5]
bl sub_02095FEC
ldr r1, [sp]
strh r0, [r1]
ldrb r0, [r5]
cmp r0, #0xff
bne _020471CE
mov r0, #0
strh r0, [r4]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_020471CE:
cmp r6, #4
bls _020471D4
mov r6, #0
_020471D4:
ldrh r0, [r7]
bl sub_020404C8
add r1, r6, #1
lsl r1, r1, #0x10
lsr r5, r1, #0x10
mov r1, #0xb9
lsl r1, r1, #2
cmp r0, r1
blo _020471EC
strh r5, [r4]
b _02047208
_020471EC:
ldrh r0, [r7]
bl sub_020404C8
bl sub_02040500
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bne _02047200
strh r5, [r4]
b _02047208
_02047200:
ldrh r0, [r7]
bl sub_020404EC
strh r5, [r4]
_02047208:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02047168
thumb_func_start sub_0204720C
sub_0204720C: ; 0x0204720C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202ED88
lsl r1, r4, #0x18
lsr r1, r1, #0x18
mov r2, #0
bl sub_0202F0C4
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204720C
thumb_func_start sub_0204723C
sub_0204723C: ; 0x0204723C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
bl sub_02092DEC
bl sub_02092E10
ldrh r0, [r0, #8]
cmp r0, #0x95
bne _02047274
bl LCRandom
mov r1, #0xa
bl _s32_div_f
add r1, #0x95
strh r1, [r4]
b _02047276
_02047274:
strh r0, [r4]
_02047276:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204723C
thumb_func_start sub_0204727C
sub_0204727C: ; 0x0204727C
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02092DEC
bl sub_02092E10
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202ED88
ldrb r1, [r4]
add r5, r0, #0
bl sub_0202F128
strh r0, [r6]
ldrb r1, [r4]
add r0, r5, #0
mov r2, #0
bl sub_0202F100
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_0204727C
thumb_func_start sub_020472C4
sub_020472C4: ; 0x020472C4
push {r3, r4, r5, lr}
ldr r1, [r0, #8]
add r5, r1, #1
str r5, [r0, #8]
ldrb r4, [r1]
add r1, r5, #1
str r1, [r0, #8]
add r0, #0x80
ldr r0, [r0]
bl sub_02092DEC
ldrb r2, [r5]
add r1, r4, #0
bl sub_02092E14
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020472C4
thumb_func_start sub_020472E8
sub_020472E8: ; 0x020472E8
push {r4, lr}
ldr r4, [r0, #8]
add r1, r4, #1
str r1, [r0, #8]
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202ED88
ldrb r1, [r4]
bl sub_0202F050
mov r0, #0
pop {r4, pc}
thumb_func_end sub_020472E8
thumb_func_start sub_02047304
sub_02047304: ; 0x02047304
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_0206A798
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02047304
thumb_func_start sub_0204731C
sub_0204731C: ; 0x0204731C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202FA64
bl sub_0202FAB0
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204731C
thumb_func_start sub_02047348
sub_02047348: ; 0x02047348
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_0206A860
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047348
thumb_func_start sub_02047358
sub_02047358: ; 0x02047358
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
add r0, #0x80
ldr r4, [r0]
ldr r5, _020473D4 ; =0x020FACDC
add r3, sp, #4
mov r2, #4
_02047366:
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _02047366
ldr r0, [r5]
str r0, [r3]
ldr r0, [r4, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
add r5, r0, #0
add r0, r4, #0
mov r1, #0x73
bl sub_020403FC
cmp r0, #0
beq _0204738E
mov r7, #0
b _020473A8
_0204738E:
add r0, r4, #0
mov r1, #0x99
bl sub_020403FC
cmp r0, #0
beq _0204739E
mov r7, #1
b _020473A8
_0204739E:
cmp r5, #0
ble _020473A6
mov r7, #2
b _020473A8
_020473A6:
mov r7, #3
_020473A8:
mov r6, #0
cmp r7, #0
ble _020473CC
add r5, sp, #4
_020473B0:
ldr r0, [r4, #0x54]
mov r1, #0x8d
str r0, [sp]
add r0, r4, #0
add r0, #0x9c
ldr r0, [r0]
add r2, r5, #0
mov r3, #0
bl ov01_021F3C0C
add r6, r6, #1
add r5, #0xc
cmp r6, r7
blt _020473B0
_020473CC:
mov r0, #0
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
nop
_020473D4: .word 0x020FACDC
thumb_func_end sub_02047358
thumb_func_start sub_020473D8
sub_020473D8: ; 0x020473D8
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
add r1, r6, #0
ldr r0, [r0, #0x3c]
bl sub_0205EE60
cmp r0, #0
beq _0204740C
bl sub_0205F2A8
b _0204740E
_0204740C:
mov r0, #0
_0204740E:
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_020473D8
thumb_func_start sub_02047414
sub_02047414: ; 0x02047414
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_0224EF80
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047414
thumb_func_start sub_02047424
sub_02047424: ; 0x02047424
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
ldr r1, [r5, #8]
add r4, r0, #0
add r0, r1, #1
str r0, [r5, #8]
ldrb r0, [r1]
cmp r0, #3
bhi _0204747E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0204744C: ; jump table
.short _0204747E - _0204744C - 2 ; case 0
.short _02047454 - _0204744C - 2 ; case 1
.short _02047462 - _0204744C - 2 ; case 2
.short _02047470 - _0204744C - 2 ; case 3
_02047454:
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203EEE4
str r0, [r4]
b _0204748A
_02047462:
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203EF40
str r0, [r4]
b _0204748A
_02047470:
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203EFA0
str r0, [r4]
b _0204748A
_0204747E:
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203EEA0
str r0, [r4]
_0204748A:
ldr r1, _02047498 ; =sub_02042974
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, pc}
nop
_02047498: .word sub_02042974
thumb_func_end sub_02047424
thumb_func_start sub_0204749C
sub_0204749C: ; 0x0204749C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
ldr r1, [r5, #8]
add r4, r0, #0
add r0, r1, #1
str r0, [r5, #8]
ldrb r1, [r1]
cmp r1, #4
bls _020474BA
mov r1, #0
_020474BA:
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203EC04
str r0, [r4]
ldr r1, _020474D4 ; =sub_02042974
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, pc}
nop
_020474D4: .word sub_02042974
thumb_func_end sub_0204749C
thumb_func_start sub_020474D8
sub_020474D8: ; 0x020474D8
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
ldr r1, [r5, #8]
add r2, r1, #1
str r2, [r5, #8]
ldrb r7, [r1]
add r1, r2, #1
str r1, [r5, #8]
ldrb r6, [r2]
bl sub_0203FE2C
str r0, [sp, #8]
add r0, r5, #0
bl sub_0203FE2C
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
str r4, [sp]
add r5, #0x80
str r0, [sp, #4]
ldr r0, [r5]
ldr r3, [sp, #8]
add r1, r7, #0
add r2, r6, #0
bl sub_020977CC
mov r0, #1
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_020474D8
thumb_func_start sub_02047518
sub_02047518: ; 0x02047518
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
ldr r1, [r5, #8]
add r2, r1, #1
str r2, [r5, #8]
ldrb r7, [r1]
add r1, r2, #1
str r1, [r5, #8]
ldrb r6, [r2]
bl sub_0203FE2C
str r0, [sp, #8]
add r0, r5, #0
bl sub_0203FE2C
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
str r4, [sp]
add r5, #0x80
str r0, [sp, #4]
ldr r0, [r5]
ldr r3, [sp, #8]
add r1, r7, #0
add r2, r6, #0
bl sub_020979A8
mov r0, #1
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_02047518
thumb_func_start sub_02047558
sub_02047558: ; 0x02047558
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02097BE0
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02047558
thumb_func_start sub_02047570
sub_02047570: ; 0x02047570
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
bl sub_020543BC
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02047570
thumb_func_start sub_0204759C
sub_0204759C: ; 0x0204759C
push {r3, lr}
ldr r1, [r0, #8]
add r3, r1, #1
str r3, [r0, #8]
ldrb r1, [r1]
add r2, r3, #1
str r2, [r0, #8]
add r0, #0x80
ldrb r2, [r3]
ldr r0, [r0]
bl ov01_022060B8
cmp r0, #0
beq _020475BC
mov r0, #1
pop {r3, pc}
_020475BC:
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0204759C
thumb_func_start sub_020475C0
sub_020475C0: ; 0x020475C0
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
bl sub_02069F88
cmp r0, #0
beq _020475E6
mov r0, #1
b _020475E8
_020475E6:
mov r0, #0
_020475E8:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020475C0
thumb_func_start sub_020475F0
sub_020475F0: ; 0x020475F0
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02069F88
cmp r0, #0
bne _0204761A
mov r0, #1
strh r0, [r4]
b _02047630
_0204761A:
add r5, #0x80
ldr r0, [r5]
bl ov01_022057C4
cmp r0, #0
beq _0204762C
mov r0, #1
strh r0, [r4]
b _02047630
_0204762C:
mov r0, #0
strh r0, [r4]
_02047630:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_020475F0
thumb_func_start sub_02047634
sub_02047634: ; 0x02047634
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_022508B4
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047634
thumb_func_start sub_02047644
sub_02047644: ; 0x02047644
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
add r0, #0x80
ldr r1, [r0]
mov r0, #0x42
lsl r0, r0, #2
ldr r0, [r1, r0]
mov r1, #0
ldrsb r1, [r2, r1]
bl sub_0206A1F4
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047644
thumb_func_start sub_02047664
sub_02047664: ; 0x02047664
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r6, [r2]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
add r1, r6, #0
bl ov02_02250780
cmp r0, #0
beq _02047694
mov r0, #1
b _02047696
_02047694:
mov r0, #0
_02047696:
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02047664
thumb_func_start sub_0204769C
sub_0204769C: ; 0x0204769C
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
add r0, #0x80
ldrb r1, [r2]
ldr r0, [r0]
bl ov02_022507B4
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0204769C
thumb_func_start sub_020476B4
sub_020476B4: ; 0x020476B4
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r4, [r0]
add r0, r4, #0
bl ov01_021F6B00
cmp r0, #3
bne _020476CA
mov r0, #0
pop {r3, r4, r5, pc}
_020476CA:
add r0, r4, #0
mov r1, #3
mov r2, #0
bl ov01_021F6A9C
ldr r1, _020476E4 ; =sub_020476E8
add r0, r5, #0
bl sub_0203FD58
mov r0, #3
str r0, [r4, #0x1c]
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_020476E4: .word sub_020476E8
thumb_func_end sub_020476B4
thumb_func_start sub_020476E8
sub_020476E8: ; 0x020476E8
push {r3, r4, r5, lr}
add r1, r0, #0
add r0, #0x80
ldr r1, [r1, #0x64]
ldr r4, [r0]
lsl r1, r1, #0x10
add r0, r4, #0
lsr r1, r1, #0x10
bl sub_02040374
add r0, r4, #0
bl ov01_021F6B00
add r5, r0, #0
add r0, r4, #0
bl ov01_021F6B10
cmp r5, #3
bne _02047716
cmp r0, #1
bne _02047716
mov r0, #1
pop {r3, r4, r5, pc}
_02047716:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020476E8
thumb_func_start sub_0204771C
sub_0204771C: ; 0x0204771C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r4, [r0]
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl ov01_021F6A9C
ldr r1, _02047740 ; =sub_02047744
add r0, r5, #0
bl sub_0203FD58
mov r0, #0
str r0, [r4, #0x1c]
mov r0, #1
pop {r3, r4, r5, pc}
nop
_02047740: .word sub_02047744
thumb_func_end sub_0204771C
thumb_func_start sub_02047744
sub_02047744: ; 0x02047744
push {r3, r4, r5, lr}
add r1, r0, #0
add r0, #0x80
ldr r1, [r1, #0x64]
ldr r4, [r0]
lsl r1, r1, #0x10
add r0, r4, #0
lsr r1, r1, #0x10
bl sub_02040374
add r0, r4, #0
bl ov01_021F6B00
add r5, r0, #0
add r0, r4, #0
bl ov01_021F6B10
cmp r5, #0
bne _02047772
cmp r0, #1
bne _02047772
mov r0, #1
pop {r3, r4, r5, pc}
_02047772:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02047744
thumb_func_start sub_02047778
sub_02047778: ; 0x02047778
push {r4, lr}
add r1, r0, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
bl sub_0203E33C
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02047778
thumb_func_start sub_02047790
sub_02047790: ; 0x02047790
push {r3, r4, r5, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
mov r1, #3
add r3, r4, #0
str r0, [r4, #0x64]
add r0, r5, #0
add r2, r1, #0
add r3, #0x68
bl ov01_021F6ABC
ldr r1, _020477BC ; =sub_020477C0
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, pc}
nop
_020477BC: .word sub_020477C0
thumb_func_end sub_02047790
thumb_func_start sub_020477C0
sub_020477C0: ; 0x020477C0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r1, [r5, #0x64]
ldr r4, [r0]
lsl r1, r1, #0x10
add r0, r4, #0
lsr r1, r1, #0x10
bl sub_02040374
add r6, r0, #0
add r0, r4, #0
bl ov01_021F6B00
add r7, r0, #0
add r0, r4, #0
bl ov01_021F6AEC
cmp r7, #3
bne _020477F4
cmp r0, #6
bne _020477F4
ldr r0, [r5, #0x68]
strh r0, [r6]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_020477F4:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020477C0
thumb_func_start sub_020477F8
sub_020477F8: ; 0x020477F8
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl ov01_021F6B20
add r1, r0, #0
add r0, r4, #0
mov r2, #0
bl sub_02041770
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020477F8
thumb_func_start sub_02047814
sub_02047814: ; 0x02047814
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl ov01_021F6B20
add r1, r0, #0
ldr r2, [r4, #0x78]
add r0, r4, #0
bl sub_02041770
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02047814
thumb_func_start sub_02047830
sub_02047830: ; 0x02047830
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
bl ov01_021F6B20
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r3, r0, #0
ldr r0, [r4]
add r1, r6, #0
add r2, r7, #0
bl ov01_021EDF9C
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02047830
thumb_func_start sub_02047888
sub_02047888: ; 0x02047888
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r4, [r0]
add r0, r4, #0
bl ov01_021F6B20
ldr r1, [r5, #0x64]
add r6, r0, #0
lsl r1, r1, #0x10
add r0, r4, #0
lsr r1, r1, #0x10
bl sub_02040374
add r3, r0, #0
add r0, r4, #0
mov r1, #3
mov r2, #7
bl ov01_021F6ABC
ldr r1, _020478C8 ; =sub_02047908
ldr r2, [r6]
add r0, r4, #0
bl ov01_021F6B34
ldr r1, _020478CC ; =sub_020478D0
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r4, r5, r6, pc}
nop
_020478C8: .word sub_02047908
_020478CC: .word sub_020478D0
thumb_func_end sub_02047888
thumb_func_start sub_020478D0
sub_020478D0: ; 0x020478D0
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r6, [r0]
add r0, r6, #0
bl ov01_021F6B20
ldr r1, [r5, #0x64]
add r4, r0, #0
lsl r1, r1, #0x10
add r0, r6, #0
lsr r1, r1, #0x10
bl sub_02040374
ldrh r1, [r0]
ldr r0, _02047904 ; =0x0000EEEE
cmp r1, r0
bne _020478F8
mov r0, #0
pop {r4, r5, r6, pc}
_020478F8:
ldr r0, [r4]
bl ov01_021EDF00
mov r0, #1
pop {r4, r5, r6, pc}
nop
_02047904: .word 0x0000EEEE
thumb_func_end sub_020478D0
thumb_func_start sub_02047908
sub_02047908: ; 0x02047908
push {r3, lr}
bl ov01_021EEF9C
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047908
thumb_func_start sub_02047914
sub_02047914: ; 0x02047914
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #0xc]
add r6, r1, #0
bl Sav2_PlayerData_GetProfileAddr
bl sub_02029024
add r4, r0, #0
ldr r0, [r5, #0xc]
bl sub_0202ED88
mov r1, #0
add r2, r1, #0
bl sub_0202F14C
cmp r6, #0
beq _0204793E
cmp r6, #1
beq _0204794A
b _02047956
_0204793E:
ldr r1, _02047960 ; =0x000F423F
sub r7, r1, r0
cmp r4, r7
bhi _0204795A
add r7, r4, #0
b _0204795A
_0204794A:
ldr r1, _02047960 ; =0x000F423F
sub r7, r1, r4
cmp r0, r7
bhi _0204795A
add r7, r0, #0
b _0204795A
_02047956:
bl GF_AssertFail
_0204795A:
add r0, r7, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_02047960: .word 0x000F423F
thumb_func_end sub_02047914
thumb_func_start sub_02047964
sub_02047964: ; 0x02047964
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r7, r0, #0
mov r0, #4
mov r1, #8
bl AllocFromHeap
str r0, [r4]
add r4, r0, #0
mov r0, #4
mov r1, #8
bl AllocFromHeap
str r0, [r4]
add r0, r5, #0
str r6, [r4, #4]
add r0, #0x80
ldr r0, [r0]
add r1, r6, #0
bl sub_02047914
ldr r1, [r4]
str r0, [r1]
mov r1, #0
ldr r0, [r4]
mvn r1, r1
str r1, [r0, #4]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r2, [r4]
mov r1, #5
bl ov01_021F6A9C
ldr r1, _020479D0 ; =sub_020479D4
add r0, r5, #0
str r7, [r5, #0x64]
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020479D0: .word sub_020479D4
thumb_func_end sub_02047964
thumb_func_start sub_020479D4
sub_020479D4: ; 0x020479D4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
str r0, [sp]
add r0, r5, #0
ldr r1, [r5, #0x64]
add r0, #0x80
lsl r1, r1, #0x10
ldr r0, [r0]
lsr r1, r1, #0x10
bl sub_02040374
add r7, r0, #0
ldr r0, [sp]
ldr r4, [r0]
ldr r0, [r4]
ldr r6, [r0, #4]
mov r0, #0
mvn r0, r0
cmp r6, r0
bne _02047A0A
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02047A0A:
cmp r6, #0
bne _02047A14
mov r0, #1
strh r0, [r7]
b _02047A6A
_02047A14:
add r5, #0x80
ldr r0, [r5]
ldr r5, [r0, #0xc]
ldr r0, [r4, #4]
cmp r0, #0
beq _02047A26
cmp r0, #1
beq _02047A44
b _02047A62
_02047A26:
add r0, r5, #0
bl Sav2_PlayerData_GetProfileAddr
add r1, r6, #0
bl sub_02029068
add r0, r5, #0
bl sub_0202ED88
ldr r2, [r4]
mov r1, #2
ldr r2, [r2, #4]
bl sub_0202F14C
b _02047A66
_02047A44:
add r0, r5, #0
bl Sav2_PlayerData_GetProfileAddr
add r1, r6, #0
bl sub_02029044
add r0, r5, #0
bl sub_0202ED88
ldr r2, [r4]
mov r1, #3
ldr r2, [r2, #4]
bl sub_0202F14C
b _02047A66
_02047A62:
bl GF_AssertFail
_02047A66:
mov r0, #0
strh r0, [r7]
_02047A6A:
ldr r0, [r4]
bl FreeToHeap
ldr r0, [sp]
ldr r0, [r0]
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020479D4
thumb_func_start sub_02047A7C
sub_02047A7C: ; 0x02047A7C
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
cmp r6, #0
bne _02047AC2
add r5, #0x80
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202ED88
mov r1, #0
add r2, r1, #0
bl sub_0202F14C
ldr r1, _02047AE4 ; =0x000F423F
cmp r0, r1
bne _02047ABC
mov r0, #1
strh r0, [r4]
b _02047AE0
_02047ABC:
mov r0, #0
strh r0, [r4]
b _02047AE0
_02047AC2:
add r5, #0x80
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
bl sub_02029024
ldr r1, _02047AE4 ; =0x000F423F
cmp r0, r1
bne _02047ADC
mov r0, #1
strh r0, [r4]
b _02047AE0
_02047ADC:
mov r0, #0
strh r0, [r4]
_02047AE0:
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
_02047AE4: .word 0x000F423F
thumb_func_end sub_02047A7C
thumb_func_start sub_02047AE8
sub_02047AE8: ; 0x02047AE8
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
lsl r1, r4, #0x18
add r5, #0x80
add r3, r0, #0
ldr r0, [r5]
lsr r1, r1, #0x18
add r2, r6, #0
bl ov01_02204C44
mov r0, #1
pop {r4, r5, r6, pc}
thumb_func_end sub_02047AE8
thumb_func_start sub_02047B38
sub_02047B38: ; 0x02047B38
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl ov01_02204ED8
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02047B38
thumb_func_start sub_02047B5C
sub_02047B5C: ; 0x02047B5C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02250A60
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047B5C
thumb_func_start sub_02047B6C
sub_02047B6C: ; 0x02047B6C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02250AC8
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047B6C
thumb_func_start sub_02047B7C
sub_02047B7C: ; 0x02047B7C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02250AE8
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047B7C
thumb_func_start sub_02047B8C
sub_02047B8C: ; 0x02047B8C
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
lsl r0, r0, #0x18
add r4, #0x80
lsr r1, r0, #0x18
ldr r0, [r4]
bl ov02_02250AFC
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02047B8C
thumb_func_start sub_02047BA4
sub_02047BA4: ; 0x02047BA4
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02250B80
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047BA4
thumb_func_start sub_02047BB4
sub_02047BB4: ; 0x02047BB4
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02250B30
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047BB4
thumb_func_start sub_02047BC4
sub_02047BC4: ; 0x02047BC4
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
lsl r0, r0, #0x18
add r4, #0x80
lsr r1, r0, #0x18
ldr r0, [r4]
bl ov02_02251424
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02047BC4
thumb_func_start sub_02047BDC
sub_02047BDC: ; 0x02047BDC
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
lsl r0, r0, #0x18
add r4, #0x80
lsr r1, r0, #0x18
ldr r0, [r4]
bl ov02_022514C8
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02047BDC
thumb_func_start sub_02047BF4
sub_02047BF4: ; 0x02047BF4
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02251554
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047BF4
thumb_func_start sub_02047C04
sub_02047C04: ; 0x02047C04
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_022515A4
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047C04
thumb_func_start sub_02047C14
sub_02047C14: ; 0x02047C14
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_022518E0
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047C14
thumb_func_start sub_02047C24
sub_02047C24: ; 0x02047C24
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02251B14
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047C24
thumb_func_start sub_02047C34
sub_02047C34: ; 0x02047C34
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02251CF0
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047C34
thumb_func_start sub_02047C44
sub_02047C44: ; 0x02047C44
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02251DC4
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047C44
thumb_func_start sub_02047C54
sub_02047C54: ; 0x02047C54
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02251DE8
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047C54
thumb_func_start sub_02047C64
sub_02047C64: ; 0x02047C64
push {r4, lr}
ldr r4, [r0, #8]
add r1, r4, #1
str r1, [r0, #8]
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202ED34
ldrb r1, [r4]
bl sub_0202ED58
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02047C64
thumb_func_start sub_02047C80
sub_02047C80: ; 0x02047C80
push {r3, lr}
ldr r1, [r0, #8]
add r3, r1, #1
str r3, [r0, #8]
ldrb r2, [r1]
add r1, r3, #1
str r1, [r0, #8]
ldrb r0, [r3]
cmp r2, #5
blo _02047C98
mov r0, #0
pop {r3, pc}
_02047C98:
cmp r0, #0
bne _02047CAA
ldr r0, _02047CB8 ; =0x020FACB0
lsl r1, r2, #2
ldr r0, [r0, r1]
mov r1, #2
bl HandleLoadOverlay
b _02047CB4
_02047CAA:
ldr r0, _02047CB8 ; =0x020FACB0
lsl r1, r2, #2
ldr r0, [r0, r1]
bl UnloadOverlayByID
_02047CB4:
mov r0, #0
pop {r3, pc}
.balign 4, 0
_02047CB8: .word 0x020FACB0
thumb_func_end sub_02047C80
thumb_func_start sub_02047CBC
sub_02047CBC: ; 0x02047CBC
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE44
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202ED88
mov r1, #0
add r2, r1, #0
bl sub_0202F14C
cmp r0, r6
blo _02047CF4
mov r0, #1
b _02047CF6
_02047CF4:
mov r0, #0
_02047CF6:
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02047CBC
thumb_func_start sub_02047CFC
sub_02047CFC: ; 0x02047CFC
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
add r1, r0, #0
add r5, #0x80
ldr r0, [r5]
ldr r1, [r1]
add r2, r4, #0
bl ov03_022566D0
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02047CFC
thumb_func_start sub_02047D24
sub_02047D24: ; 0x02047D24
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
add r1, r0, #0
add r5, #0x80
ldrh r2, [r4]
ldr r0, [r5]
ldr r1, [r1]
bl ov03_022566D0
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02047D24
thumb_func_start sub_02047D58
sub_02047D58: ; 0x02047D58
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r1, r0, #0
add r4, #0x80
ldrh r1, [r1]
ldr r0, [r4]
bl ov03_02256710
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02047D58
thumb_func_start sub_02047D7C
sub_02047D7C: ; 0x02047D7C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x28
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r1, r0, #0
add r5, #0x80
ldrh r1, [r1]
ldr r0, [r5]
bl ov01_021EEF68
str r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02047D7C
thumb_func_start sub_02047DB0
sub_02047DB0: ; 0x02047DB0
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
mov r1, #0x28
bl sub_020402F0
ldr r0, [r0]
bl ov01_021EEF88
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047DB0
thumb_func_start sub_02047DC8
sub_02047DC8: ; 0x02047DC8
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
add r1, r0, #0
add r5, #0x80
ldrh r2, [r4]
ldr r0, [r5]
ldr r1, [r1]
bl ov03_02256A2C
strh r0, [r6]
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02047DC8
thumb_func_start sub_02047E14
sub_02047E14: ; 0x02047E14
push {r3, lr}
mov r0, #0x4b
bl sub_02004B24
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02047E14
thumb_func_start sub_02047E20
sub_02047E20: ; 0x02047E20
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x10]
bl ov02_022523B4
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02047E20
thumb_func_start sub_02047E30
sub_02047E30: ; 0x02047E30
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_02252534
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047E30
thumb_func_start sub_02047E40
sub_02047E40: ; 0x02047E40
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066A1C
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02047E40
thumb_func_start sub_02047E54
sub_02047E54: ; 0x02047E54
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov02_022529FC
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047E54
thumb_func_start sub_02047E64
sub_02047E64: ; 0x02047E64
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
add r0, #0x80
ldrb r1, [r2]
ldr r0, [r0]
bl ov02_02252EE4
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047E64
thumb_func_start sub_02047E7C
sub_02047E7C: ; 0x02047E7C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl sub_0206DCC4
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047E7C
thumb_func_start sub_02047E8C
sub_02047E8C: ; 0x02047E8C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov04_02256ED8
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047E8C
thumb_func_start sub_02047E9C
sub_02047E9C: ; 0x02047E9C
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
add r0, #0x80
ldrb r1, [r2]
ldr r0, [r0]
bl ov04_02256F00
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047E9C
thumb_func_start sub_02047EB4
sub_02047EB4: ; 0x02047EB4
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
bl ov03_02258910
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02047EB4
thumb_func_start sub_02047EC4
sub_02047EC4: ; 0x02047EC4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
add r7, r0, #0
mov r0, #4
bl sub_02028ED0
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202F57C
add r1, r4, #0
bl sub_0202F844
ldrh r1, [r6]
ldr r0, [r7]
add r2, r4, #0
bl BufferPlayersName
add r0, r4, #0
bl FreeToHeap
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02047EC4
thumb_func_start sub_02047F14
sub_02047F14: ; 0x02047F14
push {r3, r4, r5, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202F57C
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0202F890
add r0, r5, #0
bl sub_0202F888
cmp r0, #0
beq _02047F4A
mov r0, #1
b _02047F4C
_02047F4A:
mov r0, #0
_02047F4C:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02047F14
thumb_func_start sub_02047F54
sub_02047F54: ; 0x02047F54
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
bl ov01_02206268
cmp r0, #0
beq _02047F7A
mov r0, #1
b _02047F7C
_02047F7A:
mov r0, #0
_02047F7C:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02047F54
thumb_func_start sub_02047F84
sub_02047F84: ; 0x02047F84
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl ov02_02253134
cmp r0, #1
bne _02047FAC
mov r0, #1
b _02047FAE
_02047FAC:
mov r0, #0
_02047FAE:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02047F84
thumb_func_start sub_02047FB4
sub_02047FB4: ; 0x02047FB4
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
bl ov02_0225316C
strh r0, [r4]
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02047FB4
thumb_func_start sub_02047FD4
sub_02047FD4: ; 0x02047FD4
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl ov02_02253188
cmp r0, #1
bne _02047FFC
mov r0, #1
b _02047FFE
_02047FFC:
mov r0, #0
_02047FFE:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02047FD4
thumb_func_start sub_02048004
sub_02048004: ; 0x02048004
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl ov02_022531B4
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02048004
thumb_func_start sub_0204802C
sub_0204802C: ; 0x0204802C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
mov r1, #0
ldr r0, [r0, #0xc]
bl sub_020291A4
cmp r0, #0
beq _02048056
mov r0, #1
b _02048058
_02048056:
mov r0, #0
_02048058:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204802C
thumb_func_start sub_02048060
sub_02048060: ; 0x02048060
push {r4, r5, r6, r7, lr}
sub sp, #0x8c
add r7, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r7, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
mov r4, #0
add r6, r4, #0
add r5, r4, #0
_0204807C:
add r0, r7, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r1, r5, #0
bl sub_02028F98
cmp r0, #1
bne _02048098
add r0, r6, #1
lsl r0, r0, #0x18
lsr r6, r0, #0x18
_02048098:
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #0x10
blo _0204807C
cmp r6, #8
bhi _020480DC
add r0, r6, r6
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_020480B2: ; jump table
.short _020480C4 - _020480B2 - 2 ; case 0
.short _020480C8 - _020480B2 - 2 ; case 1
.short _020480C8 - _020480B2 - 2 ; case 2
.short _020480CC - _020480B2 - 2 ; case 3
.short _020480CC - _020480B2 - 2 ; case 4
.short _020480D0 - _020480B2 - 2 ; case 5
.short _020480D0 - _020480B2 - 2 ; case 6
.short _020480D4 - _020480B2 - 2 ; case 7
.short _020480D8 - _020480B2 - 2 ; case 8
_020480C4:
mov r1, #1
b _020480DE
_020480C8:
mov r1, #2
b _020480DE
_020480CC:
mov r1, #3
b _020480DE
_020480D0:
mov r1, #4
b _020480DE
_020480D4:
mov r1, #5
b _020480DE
_020480D8:
mov r1, #6
b _020480DE
_020480DC:
mov r1, #6
_020480DE:
ldr r0, _02048124 ; =0x020FBF22
mov r2, #0
add r6, sp, #0xc
_020480E4:
lsl r3, r2, #2
add r5, r0, r3
ldrh r3, [r5, #2]
cmp r1, r3
blt _020480FA
ldrh r5, [r5]
lsl r3, r4, #1
strh r5, [r6, r3]
add r3, r4, #1
lsl r3, r3, #0x18
lsr r4, r3, #0x18
_020480FA:
add r2, r2, #1
lsl r2, r2, #0x18
lsr r2, r2, #0x18
cmp r2, #0x13
blo _020480E4
ldr r1, _02048128 ; =0x0000FFFF
lsl r0, r4, #1
add r2, sp, #0xc
strh r1, [r2, r0]
mov r3, #0
str r3, [sp]
str r3, [sp, #4]
str r3, [sp, #8]
ldr r0, [r7, #0x74]
add r7, #0x80
ldr r1, [r7]
bl ov03_02256D34
mov r0, #1
add sp, #0x8c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02048124: .word 0x020FBF22
_02048128: .word 0x0000FFFF
thumb_func_end sub_02048060
thumb_func_start sub_0204812C
sub_0204812C: ; 0x0204812C
push {r3, lr}
sub sp, #0x10
ldr r1, _02048154 ; =0x0000FFFF
add r2, r0, #0
add r0, sp, #0xc
strh r1, [r0]
mov r0, #1
str r0, [sp]
mov r3, #0
str r3, [sp, #4]
str r3, [sp, #8]
ldr r0, [r2, #0x74]
add r2, #0x80
ldr r1, [r2]
add r2, sp, #0xc
bl ov03_02256D34
mov r0, #1
add sp, #0x10
pop {r3, pc}
.balign 4, 0
_02048154: .word 0x0000FFFF
thumb_func_end sub_0204812C
thumb_func_start sub_02048158
sub_02048158: ; 0x02048158
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
mov r3, #0
str r3, [sp]
str r3, [sp, #4]
str r3, [sp, #8]
add r2, r0, #0
ldr r0, [r4, #0x74]
add r4, #0x80
ldr r1, [r4]
lsl r4, r2, #2
ldr r2, _02048190 ; =0x0210FA3C
ldr r2, [r2, r4]
bl ov03_02256D34
mov r0, #1
add sp, #0xc
pop {r3, r4, pc}
nop
_02048190: .word 0x0210FA3C
thumb_func_end sub_02048158
thumb_func_start sub_02048194
sub_02048194: ; 0x02048194
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r2, r0, #0
cmp r2, #1
bhi _020481B4
mov r1, #1
b _020481B6
_020481B4:
mov r1, #0
_020481B6:
mov r0, #0
str r0, [sp]
str r1, [sp, #4]
lsl r3, r2, #2
str r0, [sp, #8]
ldr r2, _020481D8 ; =0x0210F9CC
ldr r0, [r4, #0x74]
add r4, #0x80
ldr r2, [r2, r3]
ldr r1, [r4]
mov r3, #1
bl ov03_02256D34
mov r0, #1
add sp, #0xc
pop {r3, r4, pc}
nop
_020481D8: .word 0x0210F9CC
thumb_func_end sub_02048194
thumb_func_start sub_020481DC
sub_020481DC: ; 0x020481DC
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r2, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
lsl r3, r2, #2
str r0, [sp, #8]
ldr r2, _02048214 ; =0x0210F9E8
ldr r0, [r4, #0x74]
add r4, #0x80
ldr r2, [r2, r3]
ldr r1, [r4]
mov r3, #2
bl ov03_02256D34
mov r0, #1
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
_02048214: .word 0x0210F9E8
thumb_func_end sub_020481DC
thumb_func_start sub_02048218
sub_02048218: ; 0x02048218
push {r3, r4, lr}
sub sp, #0x1c
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
add r0, sp, #0xc
bl GF_RTC_CopyDate
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202A634
bl sub_0202A55C
cmp r0, #0
beq _02048268
ldr r2, [sp, #0x18]
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
add r0, r2, #7
lsl r1, r0, #2
ldr r0, _02048290 ; =0x0210FA04
lsl r3, r2, #2
ldr r0, [r0, r1]
ldr r2, _02048294 ; =0x0210F9CC
str r0, [sp, #8]
ldr r0, [r4, #0x74]
add r4, #0x80
ldr r2, [r2, r3]
ldr r1, [r4]
mov r3, #3
bl ov03_02256D34
b _02048288
_02048268:
ldr r0, [sp, #0x18]
ldr r3, _02048294 ; =0x0210F9CC
lsl r2, r0, #2
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _02048290 ; =0x0210FA04
ldr r0, [r0, r2]
str r0, [sp, #8]
ldr r0, [r4, #0x74]
add r4, #0x80
ldr r2, [r3, r2]
ldr r1, [r4]
mov r3, #3
bl ov03_02256D34
_02048288:
mov r0, #1
add sp, #0x1c
pop {r3, r4, pc}
nop
_02048290: .word 0x0210FA04
_02048294: .word 0x0210F9CC
thumb_func_end sub_02048218
thumb_func_start sub_02048298
sub_02048298: ; 0x02048298
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r6, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_02031968
add r4, r0, #0
mov r5, #0
_020482AC:
add r0, r4, #0
add r1, r5, #0
bl sub_02031A78
cmp r0, #0
beq _020482BE
add r5, r5, #1
cmp r5, #0x1b
blt _020482AC
_020482BE:
add r0, r5, #0
mov r1, #6
bl _s32_div_f
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
lsl r1, r0, #2
ldr r0, _020482EC ; =0x0210F9D4
ldr r2, _020482F0 ; =0x0210F9CC
ldr r0, [r0, r1]
mov r3, #4
str r0, [sp, #8]
ldr r0, [r6, #0x74]
add r6, #0x80
ldr r1, [r6]
ldr r2, [r2]
bl ov03_02256D34
mov r0, #1
add sp, #0xc
pop {r3, r4, r5, r6, pc}
nop
_020482EC: .word 0x0210F9D4
_020482F0: .word 0x0210F9CC
thumb_func_end sub_02048298
thumb_func_start sub_020482F4
sub_020482F4: ; 0x020482F4
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_02031968
add r7, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r6, #0
ldr r0, [r0, #0xc]
add r4, r6, #0
bl sub_020503D0
add r0, sp, #4
bl GF_RTC_CopyDate
add r5, #0x80
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202A634
bl sub_0202A55C
cmp r0, #0
beq _0204834C
ldr r0, [sp, #0x10]
add r0, r0, #7
lsl r1, r0, #2
ldr r0, _02048394 ; =0x0210FA04
b _02048352
_0204834C:
ldr r0, [sp, #0x10]
lsl r1, r0, #2
ldr r0, _02048394 ; =0x0210FA04
_02048352:
ldr r3, [r0, r1]
ldr r0, _02048398 ; =0x0000FFFF
mov r2, #0
_02048358:
ldrh r1, [r3]
cmp r1, r0
beq _02048368
add r2, r2, #1
add r6, r6, #1
add r3, r3, #4
cmp r2, #0xc
blt _02048358
_02048368:
mov r5, #0
_0204836A:
add r0, r7, #0
add r1, r5, #0
bl sub_02031AB8
cmp r0, #0
beq _02048378
add r4, r4, #1
_02048378:
add r5, r5, #1
cmp r5, #0xc
blt _0204836A
cmp r6, r4
bgt _02048388
mov r1, #0
ldr r0, [sp]
b _0204838C
_02048388:
ldr r0, [sp]
mov r1, #1
_0204838C:
strh r1, [r0]
mov r0, #0
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02048394: .word 0x0210FA04
_02048398: .word 0x0000FFFF
thumb_func_end sub_020482F4
thumb_func_start sub_0204839C
sub_0204839C: ; 0x0204839C
push {r4, r5, r6, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
add r6, r0, #0
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl sub_02031968
add r5, r0, #0
mov r4, #0
_020483C0:
add r0, r5, #0
add r1, r4, #0
bl sub_02031A78
cmp r0, #0
beq _020483D2
add r4, r4, #1
cmp r4, #0x1b
blt _020483C0
_020483D2:
strh r4, [r6]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_0204839C
thumb_func_start sub_020483D8
sub_020483D8: ; 0x020483D8
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
lsl r2, r2, #0x18
ldr r0, [r6]
add r1, r4, #0
lsr r2, r2, #0x18
bl BufferStatName
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020483D8
thumb_func_start sub_02048414
sub_02048414: ; 0x02048414
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r6, [r0]
mov r1, #0x10
add r0, r6, #0
bl sub_020402F0
ldr r1, [r5, #8]
add r4, r0, #0
add r0, r1, #1
str r0, [r5, #8]
ldrb r5, [r1]
add r0, r6, #0
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
add r2, r0, #0
ldr r0, [r4]
add r1, r5, #0
bl BufferPlayersName
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02048414
thumb_func_start sub_02048448
sub_02048448: ; 0x02048448
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r4, [r0]
mov r1, #0x10
add r0, r4, #0
bl sub_020402F0
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r1, [r2]
ldr r0, [r0]
ldr r2, [r4, #0xc]
bl BufferRivalsName
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02048448
thumb_func_start sub_0204846C
sub_0204846C: ; 0x0204846C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r4, [r0]
mov r1, #0x10
add r0, r4, #0
bl sub_020402F0
ldr r2, [r5, #8]
add r1, r2, #1
str r1, [r5, #8]
ldrb r1, [r2]
ldr r0, [r0]
ldr r2, [r4, #0xc]
bl BufferFriendsName
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0204846C
thumb_func_start sub_02048490
sub_02048490: ; 0x02048490
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r6, [r0]
mov r1, #0x10
add r0, r6, #0
bl sub_020402F0
ldr r1, [r5, #8]
add r7, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r5, r0, #0
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
add r2, r0, #0
ldr r0, [r7]
add r1, r4, #0
bl BufferBoxMonSpeciesName
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02048490
thumb_func_start sub_020484D8
sub_020484D8: ; 0x020484D8
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferTypeName
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020484D8
thumb_func_start sub_02048510
sub_02048510: ; 0x02048510
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferItemName
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02048510
thumb_func_start sub_02048548
sub_02048548: ; 0x02048548
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferPocketName
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02048548
thumb_func_start sub_02048580
sub_02048580: ; 0x02048580
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
bl sub_02078000
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferMoveName
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02048580
thumb_func_start sub_020485BC
sub_020485BC: ; 0x020485BC
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferMoveName
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020485BC
thumb_func_start sub_020485F4
sub_020485F4: ; 0x020485F4
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r5, r0, #0
bl sub_0205BB1C
add r3, r0, #0
mov r0, #1
str r0, [sp]
str r0, [sp, #4]
ldr r0, [r6]
add r1, r4, #0
add r2, r5, #0
bl BufferIntegerAsString
mov r0, #0
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end sub_020485F4
thumb_func_start sub_0204863C
sub_0204863C: ; 0x0204863C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r7, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r6, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #8]
ldr r1, [r5, #8]
add r2, r1, #1
str r2, [r5, #8]
ldrb r4, [r1]
add r1, r2, #1
str r1, [r5, #8]
ldrb r3, [r2]
cmp r4, #0
bne _02048684
bl sub_0205BB1C
lsl r0, r0, #0x18
lsr r3, r0, #0x18
_02048684:
str r4, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r7]
ldr r2, [sp, #8]
add r1, r6, #0
bl BufferIntegerAsString
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204863C
thumb_func_start sub_0204869C
sub_0204869C: ; 0x0204869C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r7, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r6, [r1]
bl sub_0203FE44
ldr r1, [r5, #8]
str r0, [sp, #8]
add r2, r1, #1
str r2, [r5, #8]
ldrb r4, [r1]
add r1, r2, #1
str r1, [r5, #8]
ldrb r3, [r2]
cmp r4, #0
bne _020486D8
bl sub_0205BB1C
lsl r0, r0, #0x18
lsr r3, r0, #0x18
_020486D8:
str r4, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r7]
ldr r2, [sp, #8]
add r1, r6, #0
bl BufferIntegerAsString
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204869C
thumb_func_start sub_020486F0
sub_020486F0: ; 0x020486F0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r6, [r0]
mov r1, #0x10
add r0, r6, #0
bl sub_020402F0
ldr r1, [r5, #8]
add r7, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r5, r0, #0
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
add r2, r0, #0
ldr r0, [r7]
add r1, r4, #0
bl BufferBoxMonNickname
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020486F0
thumb_func_start sub_02048738
sub_02048738: ; 0x02048738
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r4, [r0]
ldr r0, [r4, #0xc]
bl sub_020270D8
str r0, [sp]
add r0, r4, #0
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r5, r0, #0
mov r1, #0x1e
bl _s32_div_f
add r7, r0, #0
add r0, r5, #0
mov r1, #0x1e
bl _s32_div_f
add r2, r1, #0
ldr r0, [sp]
add r1, r7, #0
bl sub_02074058
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferBoxMonNickname
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02048738
thumb_func_start sub_02048794
sub_02048794: ; 0x02048794
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferTrainerClassName
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02048794
thumb_func_start sub_020487CC
sub_020487CC: ; 0x020487CC
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r0, #0x80
ldr r5, [r0]
add r0, r5, #0
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
add r4, r0, #0
add r0, r5, #0
mov r1, #0x10
bl sub_020402F0
ldr r1, [r7, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r7, #8]
add r0, r4, #0
ldrb r5, [r1]
bl PlayerProfile_GetTrainerGender
add r7, r0, #0
add r0, r4, #0
bl sub_0202903C
add r1, r0, #0
add r0, r7, #0
mov r2, #2
bl sub_0205B46C
add r2, r0, #0
ldr r0, [r6]
add r1, r5, #0
bl BufferTrainerClassNameWithArticle
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020487CC
thumb_func_start sub_02048818
sub_02048818: ; 0x02048818
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r7, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
ldr r1, [r5, #8]
str r0, [sp, #8]
add r0, r1, #1
str r0, [r5, #8]
ldrb r5, [r1]
add r0, r6, #0
mov r1, #4
bl sub_02048880
add r6, r0, #0
str r5, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, [r7]
ldr r3, [sp, #8]
add r1, r4, #0
add r2, r6, #0
bl BufferString
add r0, r6, #0
bl String_dtor
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02048818
thumb_func_start sub_02048880
sub_02048880: ; 0x02048880
push {r3, r4, r5, lr}
add r4, r0, #0
add r3, r1, #0
mov r0, #1
mov r1, #0x1b
mov r2, #0xed
bl NewMsgDataFromNarc
add r5, r0, #0
add r1, r4, #0
bl NewString_ReadMsgData
add r4, r0, #0
add r0, r5, #0
bl DestroyMsgData
add r0, r4, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02048880
thumb_func_start sub_020488A4
sub_020488A4: ; 0x020488A4
push {r4, r5, r6, lr}
sub sp, #8
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r4, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r4, #8]
add r4, #0x80
ldr r0, [r4]
ldrb r5, [r1]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066AF0
mov r1, #4
bl sub_02048880
add r4, r0, #0
mov r0, #1
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, [r6]
add r1, r5, #0
add r2, r4, #0
mov r3, #0
bl BufferString
add r0, r4, #0
bl String_dtor
mov r0, #0
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end sub_020488A4
thumb_func_start sub_020488F4
sub_020488F4: ; 0x020488F4
push {r4, r5, r6, lr}
sub sp, #8
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r4, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r4, #8]
add r4, #0x80
ldr r0, [r4]
ldrb r5, [r1]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066B00
mov r1, #4
bl sub_02048880
add r4, r0, #0
mov r0, #1
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, [r6]
add r1, r5, #0
add r2, r4, #0
mov r3, #0
bl BufferString
add r0, r4, #0
bl String_dtor
mov r0, #0
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end sub_020488F4
thumb_func_start sub_02048944
sub_02048944: ; 0x02048944
push {r4, r5, r6, lr}
sub sp, #8
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r4, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r4, #8]
add r4, #0x80
ldr r0, [r4]
ldrb r5, [r1]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066B28
mov r1, #4
bl sub_02048880
add r4, r0, #0
mov r0, #1
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, [r6]
add r1, r5, #0
add r2, r4, #0
mov r3, #0
bl BufferString
add r0, r4, #0
bl String_dtor
mov r0, #0
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end sub_02048944
thumb_func_start sub_02048994
sub_02048994: ; 0x02048994
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl sub_0200C408
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02048994
thumb_func_start sub_020489CC
sub_020489CC: ; 0x020489CC
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
mov r0, #0
pop {r4, pc}
thumb_func_end sub_020489CC
thumb_func_start sub_020489F4
sub_020489F4: ; 0x020489F4
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
mov r0, #0
pop {r4, pc}
thumb_func_end sub_020489F4
thumb_func_start sub_02048A1C
sub_02048A1C: ; 0x02048A1C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
mov r0, #0x16
mov r1, #4
bl String_ctor
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r7, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r6, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
mov r1, #4
add r2, r4, #0
bl sub_02068F98
mov r0, #1
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, [r7]
add r1, r6, #0
add r2, r4, #0
mov r3, #0
bl BufferString
add r0, r4, #0
bl String_dtor
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02048A1C
thumb_func_start sub_02048A7C
sub_02048A7C: ; 0x02048A7C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r4, #8]
add r7, r0, #0
add r0, r1, #1
str r0, [r4, #8]
add r0, r4, #0
ldrb r6, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
sub r5, #0x95
add r4, r0, #0
lsl r0, r5, #0x10
lsr r0, r0, #0x10
mov r1, #0x20
bl sub_02078108
add r5, r0, #0
cmp r4, #2
bhs _02048AD2
mov r0, #1
b _02048AD4
_02048AD2:
mov r0, #0
_02048AD4:
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, [r7]
add r1, r6, #0
add r2, r5, #0
mov r3, #0
bl BufferString
add r0, r5, #0
bl String_dtor
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02048A7C
thumb_func_start sub_02048AF4
sub_02048AF4: ; 0x02048AF4
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferNatureName
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02048AF4
thumb_func_start sub_02048B2C
sub_02048B2C: ; 0x02048B2C
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferFashionName
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02048B2C
thumb_func_start sub_02048B64
sub_02048B64: ; 0x02048B64
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r0, #0x80
ldr r6, [r0]
mov r1, #0x10
add r0, r6, #0
bl sub_020402F0
ldr r1, [r4, #8]
add r7, r0, #0
add r0, r1, #1
str r0, [r4, #8]
add r0, r4, #0
ldrb r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp]
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r4, r0, #0
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
ldr r1, [sp]
bl GetPartyMonByIndex
add r4, #0x36
add r1, r4, #0
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r2, r0, #0x10
ldr r0, [r7]
add r1, r5, #0
bl BufferMoveName
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02048B64
thumb_func_start sub_02048BCC
sub_02048BCC: ; 0x02048BCC
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r1, #3
bl sub_0208E55C
lsl r0, r0, #0x10
lsr r2, r0, #0x10
ldr r0, [r6]
add r1, r4, #0
bl BufferRibbonNameOrDesc
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02048BCC
thumb_func_start sub_02048C10
sub_02048C10: ; 0x02048C10
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferSealName
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02048C10
thumb_func_start sub_02048C48
sub_02048C48: ; 0x02048C48
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferTrainerName
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02048C48
thumb_func_start sub_02048C80
sub_02048C80: ; 0x02048C80
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
lsl r2, r2, #0x18
ldr r0, [r6]
add r1, r4, #0
lsr r2, r2, #0x18
bl sub_0200CA0C
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02048C80
thumb_func_start sub_02048CBC
sub_02048CBC: ; 0x02048CBC
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferItemNameWithIndefArticle
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02048CBC
thumb_func_start sub_02048CF4
sub_02048CF4: ; 0x02048CF4
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferItemNamePlural
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02048CF4
thumb_func_start sub_02048D2C
sub_02048D2C: ; 0x02048D2C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r6, [r0]
mov r1, #0x10
add r0, r6, #0
bl sub_020402F0
ldr r1, [r5, #8]
add r7, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r5, r0, #0
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
add r2, r0, #0
ldr r0, [r7]
add r1, r4, #0
bl BufferBoxMonSpeciesNameWithArticle
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02048D2C
thumb_func_start sub_02048D74
sub_02048D74: ; 0x02048D74
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
ldr r0, [r5, #8]
add r1, r4, #0
add r0, r0, #1
str r0, [r5, #8]
ldr r0, [r6]
add r2, r7, #0
bl BufferSpeciesNameWithArticle
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02048D74
thumb_func_start sub_02048DBC
sub_02048DBC: ; 0x02048DBC
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r5, #0x80
ldr r0, [r5]
ldrb r4, [r1]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066B28
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferSpeciesNameWithArticle
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02048DBC
thumb_func_start sub_02048DF0
sub_02048DF0: ; 0x02048DF0
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferFashionNameWithArticle
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02048DF0
thumb_func_start sub_02048E28
sub_02048E28: ; 0x02048E28
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferTrainerClassNameWithArticle
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02048E28
thumb_func_start sub_02048E60
sub_02048E60: ; 0x02048E60
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r5, #8]
add r6, r0, #0
add r0, r1, #1
str r0, [r5, #8]
add r0, r5, #0
ldrb r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r6]
add r1, r4, #0
bl BufferSealNamePlural
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02048E60
thumb_func_start sub_02048E98
sub_02048E98: ; 0x02048E98
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r2, [r4, #8]
add r1, r2, #1
str r1, [r4, #8]
ldrb r1, [r2]
ldr r0, [r0]
bl ScrStrBufs_UpperFirstChar
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02048E98
thumb_func_start sub_02048EB8
sub_02048EB8: ; 0x02048EB8
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
ldr r1, [r4, #8]
add r3, r1, #1
str r3, [r4, #8]
ldrb r1, [r1]
add r2, r3, #1
str r2, [r4, #8]
ldrb r2, [r3]
ldr r0, [r0]
bl sub_0200CB70
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02048EB8
thumb_func_start sub_02048EE0
sub_02048EE0: ; 0x02048EE0
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_02066CD0
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02048EE0
thumb_func_start sub_02048F10
sub_02048F10: ; 0x02048F10
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r4, r0, #0
add r0, #0x80
ldr r7, [r0]
ldr r0, [r7, #0xc]
bl sub_020270D8
str r0, [sp, #0x20]
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp, #0xc]
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp, #8]
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp, #4]
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
str r0, [sp]
ldr r0, [r7, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
lsl r0, r0, #0x10
lsr r6, r0, #0x10
ldr r0, _02049088 ; =0x00000000
str r0, [sp, #0x1c]
str r0, [sp, #0x18]
ldr r5, [sp, #0x1c]
beq _02048FD2
_02048F88:
ldr r0, [r7, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r4, r0, #0
bl GetMonData
cmp r0, #0
bne _02048FC8
add r0, r4, #0
mov r1, #7
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r1, r0, #0x10
lsl r1, r1, #0x10
ldr r0, [sp]
lsr r1, r1, #0x10
bl sub_020490A0
cmp r0, #0
beq _02048FC8
ldr r1, [sp, #0x1c]
cmp r1, r0
bge _02048FC8
str r0, [sp, #0x1c]
str r5, [sp, #0x18]
_02048FC8:
add r0, r5, #1
lsl r0, r0, #0x10
lsr r5, r0, #0x10
cmp r5, r6
blo _02048F88
_02048FD2:
mov r6, #0
str r6, [sp, #0x14]
str r6, [sp, #0x10]
add r7, r6, #0
_02048FDA:
mov r5, #0
_02048FDC:
ldr r0, [sp, #0x20]
ldr r1, [sp, #0x10]
add r2, r5, #0
bl sub_02074058
mov r1, #5
mov r2, #0
add r4, r0, #0
bl GetBoxMonData
cmp r0, #0
beq _0204902C
add r0, r4, #0
mov r1, #0x4c
mov r2, #0
bl GetBoxMonData
cmp r0, #0
bne _0204902C
add r0, r4, #0
mov r1, #7
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x10
lsr r1, r0, #0x10
lsl r1, r1, #0x10
ldr r0, [sp]
lsr r1, r1, #0x10
bl sub_020490A0
cmp r0, #0
beq _0204902C
cmp r6, r0
bge _0204902C
add r6, r0, #0
add r0, r5, r7
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x14]
_0204902C:
add r5, r5, #1
cmp r5, #0x1e
blo _02048FDC
ldr r0, [sp, #0x10]
add r7, #0x1e
add r0, r0, #1
str r0, [sp, #0x10]
cmp r0, #0x12
blo _02048FDA
ldr r0, [sp, #0x1c]
cmp r0, #0
bne _02049058
cmp r6, #0
bne _02049058
ldr r0, [sp, #0xc]
mov r1, #0
strh r1, [r0]
ldr r0, [sp, #8]
strh r1, [r0]
ldr r0, [sp, #4]
strh r1, [r0]
b _02049082
_02049058:
ldr r0, [sp, #0x1c]
cmp r0, r6
blo _02049072
ldr r1, [sp, #0x18]
ldr r0, [sp, #0xc]
strh r1, [r0]
ldr r1, [sp, #0x1c]
ldr r0, [sp, #8]
strh r1, [r0]
ldr r0, [sp, #4]
mov r1, #0
strh r1, [r0]
b _02049082
_02049072:
ldr r1, [sp, #0x14]
ldr r0, [sp, #0xc]
strh r1, [r0]
ldr r0, [sp, #8]
mov r1, #1
strh r6, [r0]
ldr r0, [sp, #4]
strh r1, [r0]
_02049082:
mov r0, #0
add sp, #0x24
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02049088: .word 0x00000000
thumb_func_end sub_02048F10
thumb_func_start sub_0204908C
sub_0204908C: ; 0x0204908C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066CF4
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0204908C
thumb_func_start sub_020490A0
sub_020490A0: ; 0x020490A0
push {r4, r5, r6, r7, lr}
sub sp, #0xc
mov r6, #0
add r5, r0, #0
add r4, r1, #0
add r7, r6, #0
_020490AC:
add r0, r5, #0
mov r1, #0xa
bl _s32_div_f
lsl r0, r1, #0x10
lsr r0, r0, #0x10
str r1, [sp]
str r0, [sp, #4]
add r0, r4, #0
mov r1, #0xa
bl _s32_div_f
lsl r0, r1, #0x10
lsr r0, r0, #0x10
str r0, [sp, #8]
ldr r0, [sp]
cmp r0, r1
bne _020490F8
add r0, r5, #0
mov r1, #0xa
bl _s32_div_f
lsl r0, r0, #0x10
lsr r5, r0, #0x10
add r0, r4, #0
mov r1, #0xa
bl _s32_div_f
lsl r0, r0, #0x10
lsr r4, r0, #0x10
add r0, r6, #1
lsl r0, r0, #0x18
lsr r6, r0, #0x18
add r0, r7, #1
lsl r0, r0, #0x18
lsr r7, r0, #0x18
cmp r7, #5
blo _020490AC
_020490F8:
ldr r1, _02049108 ; =0x021D416C
ldr r0, [sp, #8]
strh r0, [r1, #2]
ldr r0, [sp, #4]
strh r0, [r1]
add r0, r6, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02049108: .word 0x021D416C
thumb_func_end sub_020490A0
thumb_func_start sub_0204910C
sub_0204910C: ; 0x0204910C
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0203FE2C
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_02005F94
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0204910C
thumb_func_start sub_02049134
sub_02049134: ; 0x02049134
push {r3, lr}
bl sub_0203FE2C
bl sub_02005D48
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02049134
thumb_func_start sub_02049144
sub_02049144: ; 0x02049144
push {r3, lr}
bl sub_0203FE2C
bl sub_02004A90
mov r1, #0
bl sub_02005EB4
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02049144
thumb_func_start sub_02049158
sub_02049158: ; 0x02049158
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r1, [r0, #0x20]
ldr r1, [r1]
bl sub_02054FA8
bl sub_02005D48
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02049158
thumb_func_start sub_02049170
sub_02049170: ; 0x02049170
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02054F28
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02049170
thumb_func_start sub_02049188
sub_02049188: ; 0x02049188
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
bl sub_02005F50
ldr r1, _020491AC ; =sub_020491B0
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_020491AC: .word sub_020491B0
thumb_func_end sub_02049188
thumb_func_start sub_020491B0
sub_020491B0: ; 0x020491B0
push {r3, lr}
bl sub_02005F88
cmp r0, #0
bne _020491BE
mov r0, #1
pop {r3, pc}
_020491BE:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020491B0
thumb_func_start sub_020491C4
sub_020491C4: ; 0x020491C4
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
mov r0, #0x7f
mov r2, #0
bl sub_02005F10
ldr r1, _020491E4 ; =sub_020491B0
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
nop
_020491E4: .word sub_020491B0
thumb_func_end sub_020491C4
thumb_func_start sub_020491E8
sub_020491E8: ; 0x020491E8
push {r3, lr}
ldr r1, [r0, #8]
add r3, r1, #1
str r3, [r0, #8]
ldrb r2, [r1]
add r1, r3, #1
str r1, [r0, #8]
ldrb r1, [r3]
add r0, r2, #0
bl sub_020053A8
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020491E8
thumb_func_start sub_02049204
sub_02049204: ; 0x02049204
push {r3, lr}
bl sub_0203FE2C
bl sub_02005E44
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02049204
thumb_func_start sub_02049214
sub_02049214: ; 0x02049214
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
ldrb r0, [r2]
bl sub_02004A44
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02049214
thumb_func_start sub_02049228
sub_02049228: ; 0x02049228
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
bl PlaySE
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02049228
thumb_func_start sub_02049244
sub_02049244: ; 0x02049244
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
mov r1, #0
bl sub_02006154
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02049244
thumb_func_start sub_02049260
sub_02049260: ; 0x02049260
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [r4, #0x64]
ldr r1, _02049284 ; =sub_02049288
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
nop
_02049284: .word sub_02049288
thumb_func_end sub_02049260
thumb_func_start sub_02049288
sub_02049288: ; 0x02049288
push {r3, lr}
ldr r0, [r0, #0x64]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_02006184
cmp r0, #0
bne _0204929C
mov r0, #1
pop {r3, pc}
_0204929C:
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02049288
thumb_func_start sub_020492A0
sub_020492A0: ; 0x020492A0
push {r3, r4, r5, lr}
sub sp, #8
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
mov r1, #0x20
str r1, [sp]
mov r2, #0
add r1, r4, #0
mov r3, #0x64
str r2, [sp, #4]
bl sub_020063A4
mov r0, #0
add sp, #8
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020492A0
thumb_func_start sub_020492E0
sub_020492E0: ; 0x020492E0
push {r3, lr}
ldr r1, _020492EC ; =sub_020492F0
bl sub_0203FD58
mov r0, #1
pop {r3, pc}
.balign 4, 0
_020492EC: .word sub_020492F0
thumb_func_end sub_020492E0
thumb_func_start sub_020492F0
sub_020492F0: ; 0x020492F0
push {r3, lr}
bl sub_02006360
cmp r0, #0
bne _020492FE
mov r0, #1
pop {r3, pc}
_020492FE:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020492F0
thumb_func_start sub_02049304
sub_02049304: ; 0x02049304
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
bl sub_02006B24
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02049304
thumb_func_start sub_02049320
sub_02049320: ; 0x02049320
push {r3, lr}
ldr r1, _0204932C ; =sub_02049330
bl sub_0203FD58
mov r0, #1
pop {r3, pc}
.balign 4, 0
_0204932C: .word sub_02049330
thumb_func_end sub_02049320
thumb_func_start sub_02049330
sub_02049330: ; 0x02049330
push {r3, lr}
bl sub_02006BCC
cmp r0, #0
bne _0204933E
mov r0, #1
pop {r3, pc}
_0204933E:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02049330
thumb_func_start sub_02049344
sub_02049344: ; 0x02049344
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_Chatot_get
bl sub_02006CC8
cmp r0, #1
bne _02049374
mov r0, #1
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
_02049374:
mov r0, #0
strh r0, [r4]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02049344
thumb_func_start sub_0204937C
sub_0204937C: ; 0x0204937C
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
bl sub_02005518
cmp r0, #0
bne _0204939C
bl GF_AssertFail
_0204939C:
bl sub_02006DE4
cmp r0, #0
bne _020493AC
mov r0, #1
strh r0, [r4]
mov r0, #0
pop {r4, pc}
_020493AC:
mov r0, #0
strh r0, [r4]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0204937C
thumb_func_start sub_020493B4
sub_020493B4: ; 0x020493B4
push {r3, lr}
bl sub_02006E20
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020493B4
thumb_func_start sub_020493C0
sub_020493C0: ; 0x020493C0
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl Sav2_Chatot_get
bl sub_02006E28
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020493C0
thumb_func_start sub_020493D4
sub_020493D4: ; 0x020493D4
push {r3, lr}
mov r1, #0
mov r0, #0x3f
add r2, r1, #0
bl sub_02004EC4
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020493D4
thumb_func_start sub_020493E4
sub_020493E4: ; 0x020493E4
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r1, r0, #0
add r0, r5, #0
bl sub_020054AC
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020493E4
thumb_func_start sub_02049418
sub_02049418: ; 0x02049418
mov r0, #1
bx lr
thumb_func_end sub_02049418
thumb_func_start sub_0204941C
sub_0204941C: ; 0x0204941C
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02055198
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0204941C
thumb_func_start sub_02049440
sub_02049440: ; 0x02049440
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
bl sub_02004A90
strh r0, [r4]
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02049440
thumb_func_start sub_02049460
sub_02049460: ; 0x02049460
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r5, r0, #0
bne _020494C0
add r0, r4, #0
mov r1, #0x19
bl sub_020402F0
str r0, [sp, #0x18]
add r0, r4, #0
mov r1, #0x1a
bl sub_020402F0
str r0, [sp, #0x10]
add r0, r4, #0
mov r1, #0x1b
bl sub_020402F0
add r0, r4, #0
mov r1, #0x1c
bl sub_020402F0
add r0, r4, #0
mov r1, #0x1d
bl sub_020402F0
str r0, [sp, #0x14]
add r0, r4, #0
mov r1, #0x1e
bl sub_020402F0
add r6, r0, #0
add r0, r4, #0
mov r1, #0x1f
bl sub_020402F0
b _02049500
_020494C0:
add r0, r4, #0
mov r1, #0x20
bl sub_020402F0
str r0, [sp, #0x18]
add r0, r4, #0
mov r1, #0x21
bl sub_020402F0
str r0, [sp, #0x10]
add r0, r4, #0
mov r1, #0x22
bl sub_020402F0
add r0, r4, #0
mov r1, #0x23
bl sub_020402F0
add r0, r4, #0
mov r1, #0x24
bl sub_020402F0
str r0, [sp, #0x14]
add r0, r4, #0
mov r1, #0x25
bl sub_020402F0
add r6, r0, #0
add r0, r4, #0
mov r1, #0x26
bl sub_020402F0
_02049500:
add r7, r0, #0
ldr r0, [sp, #0x18]
ldr r3, [sp, #0x10]
ldr r0, [r0]
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
ldr r0, [sp, #0x14]
ldr r0, [r0]
str r0, [sp, #8]
str r5, [sp, #0xc]
ldr r1, [r6]
ldr r2, [r4, #0x40]
ldr r3, [r3]
add r0, r4, #0
bl sub_0206457C
str r0, [r7]
mov r0, #0
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02049460
thumb_func_start sub_0204952C
sub_0204952C: ; 0x0204952C
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
mov r0, #0
strh r0, [r4]
cmp r6, #0
bne _0204956A
add r5, #0x80
ldr r0, [r5]
mov r1, #0x1f
bl sub_020402F0
b _02049574
_0204956A:
add r5, #0x80
ldr r0, [r5]
mov r1, #0x26
bl sub_020402F0
_02049574:
add r5, r0, #0
ldr r0, [r5]
cmp r0, #0
bne _02049582
mov r0, #1
strh r0, [r4]
pop {r4, r5, r6, pc}
_02049582:
bl sub_02064598
cmp r0, #1
bne _02049598
ldr r0, [r5]
bl sub_020645AC
mov r0, #0
str r0, [r5]
mov r0, #1
strh r0, [r4]
_02049598:
mov r0, #1
pop {r4, r5, r6, pc}
thumb_func_end sub_0204952C
thumb_func_start sub_0204959C
sub_0204959C: ; 0x0204959C
push {r3, r4, r5, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x1d
bl sub_020402F0
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
ldrh r1, [r5]
strh r1, [r0]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0204959C
thumb_func_start sub_020495C4
sub_020495C4: ; 0x020495C4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x1c
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x23
bl sub_020402F0
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
cmp r7, #0
bne _0204960E
ldrh r1, [r4]
b _02049610
_0204960E:
ldrh r1, [r6]
_02049610:
strh r1, [r0]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020495C4
thumb_func_start sub_02049618
sub_02049618: ; 0x02049618
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #8
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
ldrh r0, [r4]
bl sub_020404C8
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02049618
thumb_func_start sub_02049648
sub_02049648: ; 0x02049648
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r0, #0
add r0, #0x80
ldr r7, [r0]
mov r1, #8
add r0, r7, #0
bl sub_020402F0
add r0, r7, #0
mov r1, #0x18
bl sub_020402F0
str r0, [sp, #0x1c]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #0x14]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #0x10]
ldr r0, [r5, #8]
add r1, r0, #1
str r1, [r5, #8]
ldrb r6, [r0]
add r0, r1, #1
str r0, [r5, #8]
ldrb r4, [r1]
mov r0, #0
str r0, [sp, #0x18]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066644
cmp r0, #1
bne _020496BE
ldr r0, [r7, #0xc]
bl sub_020503D0
bl sub_02066AD0
str r0, [sp, #0x18]
_020496BE:
str r6, [sp]
str r4, [sp, #4]
mov r0, #0xb
str r0, [sp, #8]
ldr r0, [sp, #0x1c]
str r0, [sp, #0xc]
ldr r0, [r5, #0x74]
ldr r1, [sp, #0x14]
ldr r2, [sp, #0x10]
ldr r3, [sp, #0x18]
bl sub_02051370
mov r0, #1
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02049648
thumb_func_start sub_020496DC
sub_020496DC: ; 0x020496DC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x18
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r2, r0, #0
ldr r0, [r5, #8]
add r3, r6, #0
add r1, r0, #1
str r1, [r5, #8]
mov r1, #0
str r1, [sp]
ldrb r0, [r0]
add r1, r7, #0
str r0, [sp, #4]
mov r0, #0xb
str r0, [sp, #8]
str r4, [sp, #0xc]
ldr r0, [r5, #0x74]
bl sub_02051370
mov r0, #1
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020496DC
thumb_func_start sub_02049750
sub_02049750: ; 0x02049750
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #8
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
ldrh r0, [r4]
bl sub_020404C8
bl sub_02040500
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bne _020497B2
mov r0, #0
mov r1, #2
add r2, r0, #0
b _020497CC
_020497B2:
ldrh r0, [r4]
bl sub_020404EC
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bne _020497C6
mov r0, #3
mov r1, #5
mov r2, #6
b _020497CC
_020497C6:
mov r0, #7
mov r1, #9
mov r2, #0xa
_020497CC:
strh r0, [r7]
strh r1, [r6]
strh r2, [r5]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02049750
thumb_func_start sub_020497D8
sub_020497D8: ; 0x020497D8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #8
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
ldrh r0, [r4]
bl sub_020404C8
bl sub_02040500
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bne _0204983A
mov r1, #0
mov r0, #0x11
add r2, r1, #0
b _02049854
_0204983A:
ldrh r0, [r4]
bl sub_020404EC
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bne _0204984E
mov r0, #0x12
mov r1, #0
mov r2, #6
b _02049854
_0204984E:
mov r0, #0x13
mov r1, #0
mov r2, #0xa
_02049854:
strh r0, [r7]
strh r1, [r6]
strh r2, [r5]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020497D8
thumb_func_start sub_02049860
sub_02049860: ; 0x02049860
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #8
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
ldrh r0, [r4]
bl sub_020404C8
bl sub_02040500
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02049860
thumb_func_start sub_02049894
sub_02049894: ; 0x02049894
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0x20]
ldr r0, [r0]
bl sub_0203B3C8
add r1, r0, #0
add r0, r4, #0
bl sub_02055098
bl sub_02005304
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02049894
thumb_func_start sub_020498C8
sub_020498C8: ; 0x020498C8
push {r3, lr}
ldr r0, [r0, #0x74]
bl sub_0205297C
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020498C8
thumb_func_start sub_020498D4
sub_020498D4: ; 0x020498D4
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x18
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
ldr r0, [r4]
bl sub_02052554
strh r0, [r5]
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020498D4
thumb_func_start sub_02049904
sub_02049904: ; 0x02049904
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
ldr r1, [r5, #8]
add r4, r0, #0
add r0, r1, #1
str r0, [r5, #8]
ldrb r0, [r1]
cmp r0, #1
bne _02049936
add r5, #0x80
ldr r0, [r5]
ldr r1, _0204994C ; =0x00004013
bl sub_020403AC
bl sub_02052564
b _02049946
_02049936:
add r5, #0x80
ldr r0, [r5]
mov r1, #0x18
bl sub_020402F0
ldr r0, [r0]
bl sub_02052564
_02049946:
strh r0, [r4]
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
_0204994C: .word 0x00004013
thumb_func_end sub_02049904
thumb_func_start sub_02049950
sub_02049950: ; 0x02049950
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x18
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
ldr r0, [r4]
bl sub_02052574
strh r0, [r5]
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02049950
thumb_func_start sub_02049980
sub_02049980: ; 0x02049980
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
bl sub_0205442C
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02049980
thumb_func_start sub_020499AC
sub_020499AC: ; 0x020499AC
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x18
bl sub_020402F0
mov r2, #0
str r2, [sp]
str r2, [sp, #4]
mov r1, #0xb
str r1, [sp, #8]
str r0, [sp, #0xc]
ldr r0, [r4, #0x74]
mov r1, #1
add r3, r2, #0
bl sub_02051370
mov r0, #1
add sp, #0x10
pop {r4, pc}
thumb_func_end sub_020499AC
thumb_func_start sub_020499D8
sub_020499D8: ; 0x020499D8
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0xa
bl sub_020402F0
ldr r0, [r0]
bl sub_0205F24C
add r1, r0, #0
add r4, #0x80
ldr r0, [r4]
lsl r1, r1, #0x10
ldr r0, [r0, #0xc]
lsr r1, r1, #0x10
bl sub_0204052C
mov r0, #0
pop {r4, pc}
thumb_func_end sub_020499D8
thumb_func_start sub_02049A00
sub_02049A00: ; 0x02049A00
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r0, #0x80
ldr r5, [r0]
mov r1, #0xa
add r0, r5, #0
bl sub_020402F0
add r4, r0, #0
add r0, r7, #0
bl sub_0203FE44
add r6, r0, #0
ldr r0, [r4]
bl sub_0205F24C
add r1, r0, #0
lsl r1, r1, #0x10
ldr r0, [r5, #0xc]
lsr r1, r1, #0x10
bl sub_02040514
cmp r0, #1
bne _02049A3E
ldr r1, [r7, #8]
add r0, r7, #0
add r1, r1, r6
bl sub_0203FE0C
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02049A3E:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02049A00
thumb_func_start sub_02049A44
sub_02049A44: ; 0x02049A44
push {r3, r4, r5, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x18
bl sub_020402F0
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
ldr r1, [r5]
strh r1, [r0]
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end sub_02049A44
thumb_func_start sub_02049A6C
sub_02049A6C: ; 0x02049A6C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
add r6, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202C854
add r5, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r7, [r0, #0xc]
add r0, r4, #0
bl sub_0203FE2C
cmp r0, #7
bls _02049AA0
b _02049CA2
_02049AA0:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02049AAC: ; jump table
.short _02049ABC - _02049AAC - 2 ; case 0
.short _02049AF2 - _02049AAC - 2 ; case 1
.short _02049B28 - _02049AAC - 2 ; case 2
.short _02049B5E - _02049AAC - 2 ; case 3
.short _02049B94 - _02049AAC - 2 ; case 4
.short _02049BCA - _02049AAC - 2 ; case 5
.short _02049BF4 - _02049AAC - 2 ; case 6
.short _02049C56 - _02049AAC - 2 ; case 7
_02049ABC:
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
add r1, r6, #0
bl sub_0202C860
strh r0, [r4]
add sp, #0xc
mov r0, #0
pop {r4, r5, r6, r7, pc}
_02049AF2:
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
add r1, r6, #0
bl sub_0202C878
strh r0, [r4]
add sp, #0xc
mov r0, #0
pop {r4, r5, r6, r7, pc}
_02049B28:
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r3, r0, #0
mov r0, #0
str r0, [sp]
ldr r0, [r6]
add r1, r7, #0
add r2, r5, #0
bl BufferEasyChatWord
b _02049CA2
_02049B5E:
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r3, r0, #0
mov r0, #1
str r0, [sp]
ldr r0, [r6]
add r1, r7, #0
add r2, r5, #0
bl BufferEasyChatWord
b _02049CA2
_02049B94:
mov r1, #0
add r0, r5, #0
add r2, r1, #0
bl sub_0202C7E0
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
mov r2, #0
str r2, [sp]
str r5, [sp, #4]
str r0, [sp, #8]
ldr r0, [r4, #0x74]
mov r1, #5
mov r3, #7
bl sub_0203F6E0
add sp, #0xc
mov r0, #1
pop {r4, r5, r6, r7, pc}
_02049BCA:
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
mov r1, #1
bl sub_0202C860
add r0, r5, #0
add r1, r4, #0
mov r2, #1
bl sub_0202C738
add sp, #0xc
mov r0, #0
pop {r4, r5, r6, r7, pc}
_02049BF4:
mov r0, #0x40
mov r1, #0x20
bl String_ctor
add r4, #0x80
add r6, r0, #0
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r1, r6, #0
add r4, r0, #0
bl sub_02028F58
add r0, r5, #0
mov r1, #0
mov r2, #1
add r3, r6, #0
bl sub_0202C7F8
add r0, r4, #0
bl PlayerProfile_GetTrainerGender
add r2, r0, #0
add r0, r5, #0
mov r1, #0
bl sub_0202C824
add r0, r5, #0
mov r1, #0
mov r2, #2
bl sub_0202C848
bl MTRandom
add r2, r0, #0
add r0, r5, #0
mov r1, #0
bl sub_0202C7C0
add r0, r6, #0
bl String_dtor
add r0, r5, #0
mov r1, #0
mov r2, #1
bl sub_0202C738
b _02049CA2
_02049C56:
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
mov r6, #0
add r7, r0, #0
add r4, r6, #0
_02049C6C:
add r0, r5, #0
add r1, r4, #0
bl sub_0202C860
cmp r0, #0
beq _02049C8A
add r0, r5, #0
add r1, r4, #0
bl sub_0202C878
cmp r0, #1
beq _02049C8A
add r0, r6, #1
lsl r0, r0, #0x10
lsr r6, r0, #0x10
_02049C8A:
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, #6
blo _02049C6C
cmp r6, #4
blo _02049C9E
mov r0, #1
strh r0, [r7]
b _02049CA2
_02049C9E:
mov r0, #0
strh r0, [r7]
_02049CA2:
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_02049A6C
thumb_func_start sub_02049CA8
sub_02049CA8: ; 0x02049CA8
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203E344
add r1, r4, #0
add r2, r6, #0
bl sub_0204A824
add r5, #0x80
ldr r1, [r5]
add r1, #0xa0
str r0, [r1]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02049CA8
thumb_func_start sub_02049CD8
sub_02049CD8: ; 0x02049CD8
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
add r0, #0xa0
bl sub_0204A810
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02049CD8
thumb_func_start sub_02049CE8
sub_02049CE8: ; 0x02049CE8
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
add r0, #0xa0
ldr r0, [r0]
bl sub_0204AA2C
add r4, #0x80
ldr r1, [r4]
mov r0, #0
add r1, #0xa0
str r0, [r1]
pop {r4, pc}
thumb_func_end sub_02049CE8
thumb_func_start sub_02049D04
sub_02049D04: ; 0x02049D04
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r7, r0, #0
bl sub_0203FE2C
str r0, [sp]
add r0, r7, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r7, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r7, #0
bl sub_0203FE2C
str r0, [sp, #4]
add r0, r7, #0
add r0, #0x80
ldr r0, [r0]
ldr r1, [sp, #4]
bl sub_02040374
add r4, r0, #0
add r0, r7, #0
add r0, #0x80
ldr r1, [r0]
add r0, r1, #0
add r0, #0xa0
ldr r5, [r0]
ldr r0, [sp]
cmp r0, #0x3a
bgt _02049DD2
cmp r0, #0
blt _02049DDA
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02049D5C: ; jump table
.short _02049FB6 - _02049D5C - 2 ; case 0
.short _02049DDC - _02049D5C - 2 ; case 1
.short _02049DFC - _02049D5C - 2 ; case 2
.short _02049E02 - _02049D5C - 2 ; case 3
.short _02049E0E - _02049D5C - 2 ; case 4
.short _02049E1C - _02049D5C - 2 ; case 5
.short _02049E24 - _02049D5C - 2 ; case 6
.short _02049FB6 - _02049D5C - 2 ; case 7
.short _02049E2C - _02049D5C - 2 ; case 8
.short _02049E38 - _02049D5C - 2 ; case 9
.short _02049E46 - _02049D5C - 2 ; case 10
.short _02049E54 - _02049D5C - 2 ; case 11
.short _02049E60 - _02049D5C - 2 ; case 12
.short _02049FB6 - _02049D5C - 2 ; case 13
.short _02049E6A - _02049D5C - 2 ; case 14
.short _02049E74 - _02049D5C - 2 ; case 15
.short _02049E7E - _02049D5C - 2 ; case 16
.short _02049FB6 - _02049D5C - 2 ; case 17
.short _02049FB6 - _02049D5C - 2 ; case 18
.short _02049FB6 - _02049D5C - 2 ; case 19
.short _02049FB6 - _02049D5C - 2 ; case 20
.short _02049FB6 - _02049D5C - 2 ; case 21
.short _02049FB6 - _02049D5C - 2 ; case 22
.short _02049FB6 - _02049D5C - 2 ; case 23
.short _02049FB6 - _02049D5C - 2 ; case 24
.short _02049FB6 - _02049D5C - 2 ; case 25
.short _02049FB6 - _02049D5C - 2 ; case 26
.short _02049FB6 - _02049D5C - 2 ; case 27
.short _02049FB6 - _02049D5C - 2 ; case 28
.short _02049FB6 - _02049D5C - 2 ; case 29
.short _02049E90 - _02049D5C - 2 ; case 30
.short _02049EA8 - _02049D5C - 2 ; case 31
.short _02049EC2 - _02049D5C - 2 ; case 32
.short _02049FB6 - _02049D5C - 2 ; case 33
.short _02049FB6 - _02049D5C - 2 ; case 34
.short _02049ECE - _02049D5C - 2 ; case 35
.short _02049FB6 - _02049D5C - 2 ; case 36
.short _02049ED8 - _02049D5C - 2 ; case 37
.short _02049EE2 - _02049D5C - 2 ; case 38
.short _02049EEC - _02049D5C - 2 ; case 39
.short _02049FB6 - _02049D5C - 2 ; case 40
.short _02049EFC - _02049D5C - 2 ; case 41
.short _02049FB6 - _02049D5C - 2 ; case 42
.short _02049F08 - _02049D5C - 2 ; case 43
.short _02049FB6 - _02049D5C - 2 ; case 44
.short _02049F12 - _02049D5C - 2 ; case 45
.short _02049FB6 - _02049D5C - 2 ; case 46
.short _02049F1C - _02049D5C - 2 ; case 47
.short _02049F26 - _02049D5C - 2 ; case 48
.short _02049F32 - _02049D5C - 2 ; case 49
.short _02049F3E - _02049D5C - 2 ; case 50
.short _02049F52 - _02049D5C - 2 ; case 51
.short _02049F5C - _02049D5C - 2 ; case 52
.short _02049F66 - _02049D5C - 2 ; case 53
.short _02049F70 - _02049D5C - 2 ; case 54
.short _02049F7E - _02049D5C - 2 ; case 55
.short _02049EF4 - _02049D5C - 2 ; case 56
.short _02049F8C - _02049D5C - 2 ; case 57
.short _02049FA8 - _02049D5C - 2 ; case 58
_02049DD2:
ldr r0, [sp]
cmp r0, #0x64
bne _02049DDA
b _02049F98
_02049DDA:
b _02049FB6
_02049DDC:
cmp r6, #0
bne _02049DEE
ldrb r0, [r5, #0xe]
ldr r1, [r1, #0xc]
mov r2, #1
bl sub_0204A5B0
strh r0, [r4]
b _02049FBE
_02049DEE:
ldr r1, [r1, #0xc]
add r0, r6, #0
mov r2, #1
bl sub_0204A5B0
strh r0, [r4]
b _02049FBE
_02049DFC:
bl sub_0204A68C
b _02049FBE
_02049E02:
ldr r0, [r1, #0xc]
bl sub_0202D908
bl sub_0204A698
b _02049FBE
_02049E0E:
ldr r0, [r1, #0xc]
bl sub_0202D908
bl sub_0204A6A0
strh r0, [r4]
b _02049FBE
_02049E1C:
add r0, r1, #0
bl sub_0204A6A8
b _02049FBE
_02049E24:
add r0, r1, #0
bl sub_0204A6E8
b _02049FBE
_02049E2C:
ldr r0, [r1, #0xc]
add r1, r6, #0
bl sub_0204A6F8
strh r0, [r4]
b _02049FBE
_02049E38:
ldr r1, [r1, #0xc]
mov r0, #0
mov r2, #2
bl sub_0204B120
strh r0, [r4]
b _02049FBE
_02049E46:
mov r0, #0
ldr r1, [r1, #0xc]
add r2, r0, #0
bl sub_0204B120
strh r0, [r4]
b _02049FBE
_02049E54:
ldr r0, [r1, #0xc]
lsl r1, r6, #0x18
lsr r1, r1, #0x18
bl sub_0204A730
b _02049FBE
_02049E60:
ldr r0, [r1, #0xc]
bl sub_0204A750
strh r0, [r4]
b _02049FBE
_02049E6A:
ldr r0, [r1, #0xc]
bl sub_0204A764
strh r0, [r4]
b _02049FBE
_02049E74:
ldr r0, [r1, #0xc]
bl sub_0204A800
strh r0, [r4]
b _02049FBE
_02049E7E:
ldrh r3, [r4]
ldr r0, [r7, #0x74]
ldr r2, [sp, #4]
add r1, r6, #0
bl sub_02067200
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02049E90:
add r0, r1, #0
mov r1, #0x14
bl sub_020402F0
add r2, r0, #0
ldr r1, [r7, #0x74]
add r0, r5, #0
bl sub_0204AA58
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02049EA8:
add r0, r1, #0
mov r1, #0x14
bl sub_020402F0
add r7, #0x80
ldr r2, [r7]
add r1, r0, #0
ldr r2, [r2, #0xc]
add r0, r5, #0
bl sub_0204AA78
strh r0, [r4]
b _02049FBE
_02049EC2:
ldr r1, [r1, #0xc]
add r0, r5, #0
bl sub_0204AB10
strh r0, [r4]
b _02049FBE
_02049ECE:
add r0, r5, #0
bl sub_0204AC7C
strh r0, [r4]
b _02049FBE
_02049ED8:
ldr r1, [r1, #0xc]
add r0, r5, #0
bl sub_0204AD04
b _02049FBE
_02049EE2:
ldr r1, [r1, #0xc]
add r0, r5, #0
bl sub_0204AE20
b _02049FBE
_02049EEC:
add r0, r5, #0
bl sub_0204AF2C
b _02049FBE
_02049EF4:
add r0, r5, #0
bl sub_0204AFE0
b _02049FBE
_02049EFC:
add r0, r5, #0
add r1, r6, #0
bl sub_0204B044
strh r0, [r4]
b _02049FBE
_02049F08:
add r0, r5, #0
bl sub_0204B05C
strh r0, [r4]
b _02049FBE
_02049F12:
add r0, r5, #0
bl sub_0204B060
strh r0, [r4]
b _02049FBE
_02049F1C:
ldr r1, [r1, #0xc]
add r0, r5, #0
bl sub_0204B0E0
b _02049FBE
_02049F26:
ldr r1, [r1, #0xc]
add r0, r5, #0
bl sub_0204B1CC
strh r0, [r4]
b _02049FBE
_02049F32:
ldr r1, [r1, #0xc]
add r0, r5, #0
bl sub_0204B204
strh r0, [r4]
b _02049FBE
_02049F3E:
ldrb r1, [r5, #0x10]
mov r0, #0xe0
bic r1, r0
lsl r0, r6, #0x18
lsr r0, r0, #0x18
lsl r0, r0, #0x1d
lsr r0, r0, #0x18
orr r0, r1
strb r0, [r5, #0x10]
b _02049FBE
_02049F52:
ldrb r0, [r5, #0x10]
lsl r0, r0, #0x18
lsr r0, r0, #0x1d
strh r0, [r4]
b _02049FBE
_02049F5C:
ldr r1, [r1, #0xc]
add r0, r5, #0
bl sub_0204ABC8
b _02049FBE
_02049F66:
add r0, r5, r6
add r0, #0x2a
ldrb r0, [r0]
strh r0, [r4]
b _02049FBE
_02049F70:
ldr r1, [r1, #0xc]
add r0, r5, #0
mov r2, #1
bl sub_0204B120
strh r0, [r4]
b _02049FBE
_02049F7E:
lsl r1, r6, #0x18
add r0, r5, #0
lsr r1, r1, #0x18
bl sub_0204A2A8
strh r0, [r4]
b _02049FBE
_02049F8C:
ldr r1, [r1, #0xc]
add r0, r5, #0
bl sub_0204B258
strh r0, [r4]
b _02049FBE
_02049F98:
cmp r5, #0
bne _02049FA2
mov r0, #1
strh r0, [r4]
b _02049FBE
_02049FA2:
mov r0, #0
strh r0, [r4]
b _02049FBE
_02049FA8:
ldr r0, _02049FC4 ; =0x00000884
mov r1, #0
add r0, r5, r0
mov r2, #0x46
bl MIi_CpuFill8
b _02049FBE
_02049FB6:
bl GF_AssertFail
mov r0, #0
strh r0, [r4]
_02049FBE:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02049FC4: .word 0x00000884
thumb_func_end sub_02049D04
thumb_func_start sub_02049FC8
sub_02049FC8: ; 0x02049FC8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r1, [r1]
add r1, #0xa0
ldr r4, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp]
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
lsl r2, r6, #4
add r2, r6, r2
mov r1, #0x38
lsl r2, r2, #4
mul r1, r7
add r2, r4, r2
add r3, r2, r1
mov r2, #0xb2
lsl r2, r2, #2
ldrh r1, [r3, r2]
lsl r1, r1, #0x15
lsr r4, r1, #0x15
ldr r1, [sp]
strh r4, [r1]
add r1, r2, #4
ldrh r1, [r3, r1]
strh r1, [r0]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02049FC8
thumb_func_start sub_0204A048
sub_0204A048: ; 0x0204A048
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_020672D8
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204A048
thumb_func_start sub_0204A070
sub_0204A070: ; 0x0204A070
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_02067398
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204A070
thumb_func_start sub_0204A098
sub_0204A098: ; 0x0204A098
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #4]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r0, #0xa0
ldr r6, [r0]
mov r0, #0
strh r0, [r4]
cmp r7, #0
beq _0204A0F4
cmp r7, #1
beq _0204A10C
cmp r7, #2
beq _0204A120
b _0204A134
_0204A0F4:
mov r0, #0x3e
str r0, [sp]
add r0, r5, #0
add r0, #0x80
ldr r1, [r0]
add r0, r1, #0
add r0, #0xa0
ldr r0, [r0]
ldr r1, [r1, #0xc]
bl sub_0204B6AC
b _0204A134
_0204A10C:
mov r0, #0x3f
str r0, [sp]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r0, #0xa0
ldr r0, [r0]
bl sub_0204B708
b _0204A134
_0204A120:
mov r0, #0x40
str r0, [sp]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r1, [sp, #4]
add r0, #0xa0
ldr r0, [r0]
bl sub_0204B720
_0204A134:
add r5, #0x80
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0205C298
cmp r0, #1
bne _0204A15E
bl sub_0203769C
ldr r1, _0204A180 ; =0x0000083E
add r1, r6, r1
bl sub_02037C0C
cmp r0, #1
bne _0204A158
mov r0, #1
strh r0, [r4]
b _0204A178
_0204A158:
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0204A15E:
add r0, r6, #0
bl sub_02096910
ldr r1, _0204A180 ; =0x0000083E
ldr r0, [sp]
add r1, r6, r1
mov r2, #0x46
bl sub_02037030
cmp r0, #1
bne _0204A178
mov r0, #1
strh r0, [r4]
_0204A178:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_0204A180: .word 0x0000083E
thumb_func_end sub_0204A098
thumb_func_start sub_0204A184
sub_0204A184: ; 0x0204A184
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r1, [r1]
add r1, #0xa0
ldr r4, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r7, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0205C298
cmp r0, #1
bne _0204A1CC
add r5, #0x80
ldr r0, [r5]
add r1, r6, #0
ldr r0, [r0, #0x10]
add r2, r7, #0
bl sub_020672A4
b _0204A1DC
_0204A1CC:
ldr r0, _0204A1E0 ; =0x000008DA
ldr r1, _0204A1E4 ; =sub_0204A1E8
strh r7, [r4, r0]
sub r0, r0, #5
strb r6, [r4, r0]
add r0, r5, #0
bl sub_0203FD58
_0204A1DC:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0204A1E0: .word 0x000008DA
_0204A1E4: .word sub_0204A1E8
thumb_func_end sub_0204A184
thumb_func_start sub_0204A1E8
sub_0204A1E8: ; 0x0204A1E8
push {r4, lr}
add r0, #0x80
ldr r0, [r0]
add r1, r0, #0
add r1, #0xa0
ldr r4, [r1]
ldr r1, _0204A224 ; =0x000008DA
ldrh r1, [r4, r1]
bl sub_02040374
ldr r1, _0204A228 ; =0x000008D5
ldrb r1, [r4, r1]
cmp r1, #1
bne _0204A208
mov r3, #1
b _0204A20A
_0204A208:
mov r3, #2
_0204A20A:
ldr r1, _0204A22C ; =0x000008D4
ldrb r2, [r4, r1]
cmp r2, r3
bne _0204A220
mov r2, #0
strb r2, [r4, r1]
add r1, r1, #4
ldrh r1, [r4, r1]
strh r1, [r0]
mov r0, #1
pop {r4, pc}
_0204A220:
mov r0, #0
pop {r4, pc}
.balign 4, 0
_0204A224: .word 0x000008DA
_0204A228: .word 0x000008D5
_0204A22C: .word 0x000008D4
thumb_func_end sub_0204A1E8
thumb_func_start sub_0204A230
sub_0204A230: ; 0x0204A230
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202D928
add r1, sp, #0
bl sub_0202D8D0
add r0, sp, #0
ldrb r1, [r0]
strh r1, [r4]
ldrb r0, [r0, #1]
strh r0, [r6]
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
thumb_func_end sub_0204A230
thumb_func_start sub_0204A27C
sub_0204A27C: ; 0x0204A27C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202D928
bl sub_0202D7B8
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204A27C
thumb_func_start sub_0204A2A8
sub_0204A2A8: ; 0x0204A2A8
cmp r1, #2
bne _0204A2B4
ldrb r0, [r0, #0x10]
lsl r0, r0, #0x18
lsr r0, r0, #0x1d
bx lr
_0204A2B4:
cmp r1, #1
bne _0204A2DA
ldrb r1, [r0, #0xf]
cmp r1, #2
bne _0204A2CC
ldrb r0, [r0, #0x10]
lsl r0, r0, #0x18
lsr r0, r0, #0x1d
lsl r1, r0, #1
ldr r0, _0204A2E8 ; =0x020FBF70
ldrh r0, [r0, r1]
bx lr
_0204A2CC:
ldrb r0, [r0, #0x12]
cmp r0, #0
beq _0204A2D6
mov r0, #0x61
bx lr
_0204A2D6:
mov r0, #0
bx lr
_0204A2DA:
ldrb r0, [r0, #0x11]
cmp r0, #0
beq _0204A2E4
mov r0, #0x61
bx lr
_0204A2E4:
mov r0, #0
bx lr
.balign 4, 0
_0204A2E8: .word 0x020FBF70
thumb_func_end sub_0204A2A8
thumb_func_start sub_0204A2EC
sub_0204A2EC: ; 0x0204A2EC
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r1, [r1]
ldr r4, [r1, #0xc]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_0202D918
mov r1, #0
add r2, r1, #0
bl sub_0202D3F8
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0204A2EC
thumb_func_start sub_0204A31C
sub_0204A31C: ; 0x0204A31C
push {r4, r5, r6, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r1, [r1]
ldr r4, [r1, #0xc]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202CF54
mov r1, #0x45
add r2, r6, #0
bl sub_0202D144
add r0, r4, #0
bl sub_0202D918
add r1, r6, #0
mov r2, #5
bl sub_0202D3F8
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204A31C
thumb_func_start sub_0204A360
sub_0204A360: ; 0x0204A360
push {r4, r5, r6, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r1, [r1]
ldr r4, [r1, #0xc]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202CF54
mov r1, #0x46
add r2, r6, #0
bl sub_0202D144
add r0, r4, #0
bl sub_0202D918
add r1, r6, #0
mov r2, #6
bl sub_0202D3F8
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204A360
thumb_func_start sub_0204A3A4
sub_0204A3A4: ; 0x0204A3A4
push {r4, r5, r6, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r1, [r1]
ldr r5, [r1, #0xc]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0202D918
mov r1, #0
add r2, r1, #0
bl sub_0202D3F8
cmp r0, r6
bhs _0204A3EA
mov r0, #0
b _0204A3EC
_0204A3EA:
mov r0, #1
_0204A3EC:
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204A3A4
thumb_func_start sub_0204A3F4
sub_0204A3F4: ; 0x0204A3F4
cmp r0, #6
bhi _0204A41E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0204A404: ; jump table
.short _0204A412 - _0204A404 - 2 ; case 0
.short _0204A416 - _0204A404 - 2 ; case 1
.short _0204A41A - _0204A404 - 2 ; case 2
.short _0204A41A - _0204A404 - 2 ; case 3
.short _0204A412 - _0204A404 - 2 ; case 4
.short _0204A412 - _0204A404 - 2 ; case 5
.short _0204A41A - _0204A404 - 2 ; case 6
_0204A412:
mov r0, #3
bx lr
_0204A416:
mov r0, #4
bx lr
_0204A41A:
mov r0, #2
bx lr
_0204A41E:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end sub_0204A3F4
thumb_func_start sub_0204A424
sub_0204A424: ; 0x0204A424
push {r4, r5}
mov r5, #0
cmp r3, #0
ble _0204A44A
_0204A42C:
ldrh r4, [r0]
cmp r1, r4
bne _0204A442
cmp r2, #0
beq _0204A442
ldrh r4, [r0, #2]
cmp r2, r4
bne _0204A442
mov r0, #1
pop {r4, r5}
bx lr
_0204A442:
add r5, r5, #1
add r0, r0, #4
cmp r5, r3
blt _0204A42C
_0204A44A:
mov r0, #0
pop {r4, r5}
bx lr
thumb_func_end sub_0204A424
thumb_func_start sub_0204A450
sub_0204A450: ; 0x0204A450
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
mov lr, r0
sub r0, r5, #1
mov r7, #0
mov ip, r0
cmp r0, #0
ble _0204A49C
mov r3, lr
_0204A462:
add r2, r7, #1
cmp r2, r5
bge _0204A492
ldrh r6, [r3]
lsl r1, r2, #2
mov r0, lr
add r4, r0, r1
_0204A470:
ldrh r0, [r4]
cmp r6, r0
bne _0204A47A
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0204A47A:
ldrh r1, [r3, #2]
cmp r1, #0
beq _0204A48A
ldrh r0, [r4, #2]
cmp r1, r0
bne _0204A48A
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0204A48A:
add r2, r2, #1
add r4, r4, #4
cmp r2, r5
blt _0204A470
_0204A492:
add r7, r7, #1
mov r0, ip
add r3, r3, #4
cmp r7, r0
blt _0204A462
_0204A49C:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204A450
thumb_func_start sub_0204A4A0
sub_0204A4A0: ; 0x0204A4A0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
str r0, [sp]
add r7, r1, #0
add r6, r2, #0
add r0, sp, #0x20
mov r1, #0
mov r2, #0x10
str r3, [sp, #4]
bl MIi_CpuFill8
mov r0, #0
str r0, [sp, #0x1c]
ldr r0, [sp, #4]
cmp r0, #0
ble _0204A5A8
ldr r0, [sp]
str r0, [sp, #0x10]
_0204A4C4:
ldr r0, [sp, #0x10]
ldrh r1, [r0]
add r0, sp, #0x20
strh r1, [r0]
ldr r0, [sp, #0x10]
ldrh r1, [r0, #2]
add r0, sp, #0x20
strh r1, [r0, #2]
ldr r0, [sp, #0x1c]
add r0, r0, #1
str r0, [sp, #0x18]
cmp r0, r6
bge _0204A596
lsl r1, r0, #2
ldr r0, [sp]
add r0, r0, r1
str r0, [sp, #0xc]
_0204A4E6:
ldr r0, [sp, #0xc]
cmp r7, #2
ldrh r1, [r0]
add r0, sp, #0x20
strh r1, [r0, #4]
ldr r0, [sp, #0xc]
ldrh r1, [r0, #2]
add r0, sp, #0x20
strh r1, [r0, #6]
bne _0204A50C
add r0, sp, #0x20
add r1, r7, #0
bl sub_0204A450
cmp r0, #0
beq _0204A586
add sp, #0x30
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0204A50C:
ldr r0, [sp, #0x18]
add r0, r0, #1
str r0, [sp, #0x14]
cmp r0, r6
bge _0204A586
lsl r1, r0, #2
ldr r0, [sp]
add r0, r0, r1
str r0, [sp, #8]
_0204A51E:
ldr r0, [sp, #8]
cmp r7, #3
ldrh r1, [r0]
add r0, sp, #0x20
strh r1, [r0, #8]
ldr r0, [sp, #8]
ldrh r1, [r0, #2]
add r0, sp, #0x20
strh r1, [r0, #0xa]
bne _0204A544
add r0, sp, #0x20
add r1, r7, #0
bl sub_0204A450
cmp r0, #0
beq _0204A576
add sp, #0x30
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0204A544:
ldr r0, [sp, #0x14]
add r4, r0, #1
cmp r4, r6
bge _0204A576
ldr r0, [sp]
lsl r1, r4, #2
add r5, r0, r1
_0204A552:
ldrh r1, [r5]
add r0, sp, #0x20
strh r1, [r0, #0xc]
ldrh r1, [r5, #2]
strh r1, [r0, #0xe]
add r0, sp, #0x20
add r1, r7, #0
bl sub_0204A450
cmp r0, #0
beq _0204A56E
add sp, #0x30
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0204A56E:
add r4, r4, #1
add r5, r5, #4
cmp r4, r6
blt _0204A552
_0204A576:
ldr r0, [sp, #8]
add r0, r0, #4
str r0, [sp, #8]
ldr r0, [sp, #0x14]
add r0, r0, #1
str r0, [sp, #0x14]
cmp r0, r6
blt _0204A51E
_0204A586:
ldr r0, [sp, #0xc]
add r0, r0, #4
str r0, [sp, #0xc]
ldr r0, [sp, #0x18]
add r0, r0, #1
str r0, [sp, #0x18]
cmp r0, r6
blt _0204A4E6
_0204A596:
ldr r0, [sp, #0x10]
add r0, r0, #4
str r0, [sp, #0x10]
ldr r0, [sp, #0x1c]
add r1, r0, #1
ldr r0, [sp, #4]
str r1, [sp, #0x1c]
cmp r1, r0
blt _0204A4C4
_0204A5A8:
mov r0, #0
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204A4A0
thumb_func_start sub_0204A5B0
sub_0204A5B0: ; 0x0204A5B0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
str r0, [sp]
add r0, r1, #0
str r2, [sp, #4]
bl SavArray_PlayerParty_get
str r0, [sp, #8]
bl GetPartyCount
lsl r0, r0, #0x18
lsr r1, r0, #0x18
str r1, [sp, #0x10]
ldr r0, [sp]
cmp r1, r0
bge _0204A5D6
add sp, #0x30
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0204A5D6:
mov r4, #0
str r4, [sp, #0x14]
ldr r0, [sp, #0x10]
cmp r0, #0
bls _0204A66C
_0204A5E0:
ldr r0, [sp, #8]
ldr r1, [sp, #0x14]
bl GetPartyMonByIndex
mov r1, #5
mov r2, #0
add r6, r0, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r5, r0, #0x10
add r0, r6, #0
mov r1, #6
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r7, r0, #0x10
add r0, r6, #0
mov r1, #0x70
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0xc]
ldr r0, [sp, #4]
cmp r0, #0
bne _0204A61C
mov r7, #0
_0204A61C:
add r0, r6, #0
mov r1, #0x4c
mov r2, #0
bl GetMonData
cmp r0, #0
bne _0204A65C
ldr r1, [sp, #0xc]
add r0, r5, #0
bl sub_020726F8
cmp r0, #1
beq _0204A65C
ldr r0, [sp, #4]
cmp r0, #1
bne _0204A64C
add r0, sp, #0x18
add r1, r5, #0
add r2, r7, #0
add r3, r4, #0
bl sub_0204A424
cmp r0, #1
beq _0204A65C
_0204A64C:
lsl r1, r4, #2
add r0, sp, #0x18
add r2, r0, r1
strh r5, [r0, r1]
add r0, r4, #1
lsl r0, r0, #0x18
strh r7, [r2, #2]
lsr r4, r0, #0x18
_0204A65C:
ldr r0, [sp, #0x14]
add r0, r0, #1
lsl r0, r0, #0x18
lsr r1, r0, #0x18
str r1, [sp, #0x14]
ldr r0, [sp, #0x10]
cmp r1, r0
blo _0204A5E0
_0204A66C:
ldr r0, [sp]
cmp r4, r0
bge _0204A678
add sp, #0x30
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0204A678:
ldr r1, [sp]
add r0, sp, #0x18
add r3, r1, #0
sub r3, r4, r3
add r2, r4, #0
add r3, r3, #1
bl sub_0204A4A0
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204A5B0
thumb_func_start sub_0204A68C
sub_0204A68C: ; 0x0204A68C
ldr r3, _0204A694 ; =OS_ResetSystem
mov r0, #0
bx r3
nop
_0204A694: .word OS_ResetSystem
thumb_func_end sub_0204A68C
thumb_func_start sub_0204A698
sub_0204A698: ; 0x0204A698
ldr r3, _0204A69C ; =sub_0202D234
bx r3
.balign 4, 0
_0204A69C: .word sub_0202D234
thumb_func_end sub_0204A698
thumb_func_start sub_0204A6A0
sub_0204A6A0: ; 0x0204A6A0
ldr r3, _0204A6A4 ; =sub_0202D3DC
bx r3
.balign 4, 0
_0204A6A4: .word sub_0202D3DC
thumb_func_end sub_0204A6A0
thumb_func_start sub_0204A6A8
sub_0204A6A8: ; 0x0204A6A8
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0xc]
bl sub_0203B9C4
bl sub_0203B968
add r4, r0, #0
ldr r0, [r5, #0x40]
bl sub_0205C688
add r6, r0, #0
ldr r0, [r5, #0x40]
bl sub_0205C67C
ldr r1, [r5, #0x20]
ldr r1, [r1]
str r1, [r4]
mov r1, #0
mvn r1, r1
str r1, [r4, #4]
str r0, [r4, #8]
str r6, [r4, #0xc]
mov r0, #0
str r0, [r4, #0x10]
ldr r0, [r5, #0xc]
bl sub_020503D0
bl sub_020667E0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204A6A8
thumb_func_start sub_0204A6E8
sub_0204A6E8: ; 0x0204A6E8
push {r3, lr}
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_020667F0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0204A6E8
thumb_func_start sub_0204A6F8
sub_0204A6F8: ; 0x0204A6F8
push {r4, lr}
add r4, r1, #0
cmp r4, #5
bne _0204A704
mov r0, #0
pop {r4, pc}
_0204A704:
cmp r4, #6
bne _0204A720
bl sub_0203107C
add r4, r0, #0
mov r0, #0x71
bl sub_0205C268
add r2, r0, #0
add r0, r4, #0
mov r1, #0x71
bl sub_020310BC
pop {r4, pc}
_0204A720:
bl sub_0203107C
lsl r1, r4, #1
add r1, r1, #1
mov r2, #0xff
bl sub_020310BC
pop {r4, pc}
thumb_func_end sub_0204A6F8
thumb_func_start sub_0204A730
sub_0204A730: ; 0x0204A730
push {r4, lr}
add r4, r1, #0
bl sub_0202D918
cmp r4, #0
bne _0204A746
mov r1, #5
mov r2, #2
bl sub_0202D5DC
pop {r4, pc}
_0204A746:
mov r1, #5
mov r2, #1
bl sub_0202D5DC
pop {r4, pc}
thumb_func_end sub_0204A730
thumb_func_start sub_0204A750
sub_0204A750: ; 0x0204A750
push {r3, lr}
bl sub_0202D918
mov r1, #5
mov r2, #0
bl sub_0202D5DC
lsl r0, r0, #0x10
lsr r0, r0, #0x10
pop {r3, pc}
thumb_func_end sub_0204A750
thumb_func_start sub_0204A764
sub_0204A764: ; 0x0204A764
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0202D908
add r4, r0, #0
add r0, r5, #0
bl sub_0202D918
mov r1, #0
add r6, r0, #0
add r0, r4, #0
add r2, r1, #0
bl sub_0202D284
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, #5
bne _0204A78C
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_0204A78C:
cmp r4, #6
bne _0204A7AC
add r0, r5, #0
bl sub_0203107C
add r7, r0, #0
mov r0, #0x64
bl sub_0205C268
add r2, r0, #0
add r0, r7, #0
mov r1, #0x64
mov r3, #0
bl sub_02031108
b _0204A7BC
_0204A7AC:
add r1, r4, #0
add r1, #8
lsl r1, r1, #0x10
add r0, r6, #0
lsr r1, r1, #0x10
mov r2, #2
bl sub_0202D5DC
_0204A7BC:
add r0, r6, #0
add r1, r4, #0
mov r2, #2
bl sub_0202D57C
add r0, r5, #0
bl sub_0203107C
add r6, r0, #0
add r0, r4, #0
bl sub_0205C310
add r7, r0, #0
add r0, r4, #0
bl sub_0205C310
bl sub_0205C268
add r2, r0, #0
add r0, r6, #0
add r1, r7, #0
mov r3, #0
bl sub_02031108
cmp r4, #4
beq _0204A7FA
cmp r4, #6
beq _0204A7FA
add r0, r5, #0
bl sub_020674E0
_0204A7FA:
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204A764
thumb_func_start sub_0204A800
sub_0204A800: ; 0x0204A800
push {r3, lr}
bl sub_0202D928
bl sub_0202D7B0
lsl r0, r0, #0x10
lsr r0, r0, #0x10
pop {r3, pc}
thumb_func_end sub_0204A800
thumb_func_start sub_0204A810
sub_0204A810: ; 0x0204A810
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
beq _0204A81E
bl GF_AssertFail
_0204A81E:
mov r0, #0
str r0, [r4]
pop {r4, pc}
thumb_func_end sub_0204A810
thumb_func_start sub_0204A824
sub_0204A824: ; 0x0204A824
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r1, #0
add r6, r0, #0
ldr r1, _0204AA1C ; =0x000008DC
mov r0, #0xb
add r7, r2, #0
bl AllocFromHeap
ldr r2, _0204AA1C ; =0x000008DC
mov r1, #0
add r4, r0, #0
bl MIi_CpuFill8
mov r0, #0xb
str r0, [r4, #4]
add r0, r6, #0
bl sub_0202D908
str r0, [r4, #0x70]
add r0, r6, #0
bl sub_0202D918
str r0, [r4, #0x74]
ldr r0, _0204AA20 ; =0x12345678
mov r1, #0
str r0, [r4]
ldr r0, [r4, #0x70]
bl sub_0202D3E4
cmp r5, #0
bne _0204A8B4
strb r7, [r4, #0xf]
ldrb r0, [r4, #0xf]
bl sub_0204A3F4
strb r0, [r4, #0xe]
mov r0, #1
strb r0, [r4, #0xc]
mov r2, #0
strb r2, [r4, #0xd]
mov r1, #0xff
_0204A878:
add r0, r4, r2
add r0, #0x2a
strb r1, [r0]
add r0, r2, #1
lsl r0, r0, #0x10
lsr r2, r0, #0x10
cmp r2, #4
blo _0204A878
ldr r1, _0204AA24 ; =0x0000FFFF
mov r2, #0
_0204A88C:
lsl r0, r2, #1
add r0, r4, r0
strh r1, [r0, #0x3e]
add r0, r2, #1
lsl r0, r0, #0x10
lsr r2, r0, #0x10
cmp r2, #0xe
blo _0204A88C
ldr r0, [r4, #0x70]
bl sub_0202D234
ldrb r1, [r4, #0xf]
add r0, sp, #8
add r2, sp, #8
strb r1, [r0]
ldr r0, [r4, #0x70]
mov r1, #0
bl sub_0202D308
b _0204A972
_0204A8B4:
mov r1, #0
ldr r0, [r4, #0x70]
add r2, r1, #0
bl sub_0202D284
strb r0, [r4, #0xf]
ldr r0, [r4, #0x70]
mov r1, #1
mov r2, #0
bl sub_0202D284
strb r0, [r4, #0xc]
ldrb r0, [r4, #0xc]
sub r0, r0, #1
strb r0, [r4, #0xd]
ldrb r0, [r4, #0xf]
bl sub_0204A3F4
strb r0, [r4, #0xe]
add r2, r4, #0
ldr r0, [r4, #0x70]
mov r1, #5
add r2, #0x2a
bl sub_0202D284
add r2, r4, #0
ldr r0, [r4, #0x70]
mov r1, #8
add r2, #0x3e
bl sub_0202D284
ldr r0, [r4, #0x70]
mov r1, #0xa
mov r2, #0
bl sub_0202D284
str r0, [r4, #8]
ldrb r0, [r4, #0xf]
cmp r0, #2
bne _0204A972
ldr r0, [r4, #0x70]
mov r1, #9
mov r2, #0
bl sub_0202D284
lsl r0, r0, #0x18
lsr r0, r0, #0x18
lsl r0, r0, #0x1d
ldrb r1, [r4, #0x10]
mov r2, #0xe0
lsr r0, r0, #0x18
bic r1, r2
orr r0, r1
strb r0, [r4, #0x10]
ldrb r3, [r4, #0x10]
ldr r2, _0204AA28 ; =0x000007E8
ldr r0, [r4, #0x70]
lsl r3, r3, #0x18
lsr r3, r3, #0x1d
add r2, r4, r2
lsl r3, r3, #4
mov r1, #6
add r2, r2, r3
bl sub_0202D284
ldrb r0, [r4, #0x10]
mov r1, #7
mov r2, #0
lsl r0, r0, #0x18
lsr r5, r0, #0x1d
ldr r0, [r4, #0x70]
bl sub_0202D284
add r3, r0, #0
ldr r0, _0204AA28 ; =0x000007E8
mov r1, #0xa6
lsl r1, r1, #2
add r0, r4, r0
lsl r2, r5, #4
add r0, r0, r2
add r2, r5, r2
str r0, [sp]
ldr r0, [r4, #4]
add r1, r4, r1
lsl r2, r2, #4
add r1, r1, r2
mov r2, #0x4b
lsl r2, r2, #2
add r2, r5, r2
lsl r2, r2, #0x10
str r0, [sp, #4]
add r0, r4, #0
lsr r2, r2, #0x10
bl sub_0204BA50
_0204A972:
add r0, r6, #0
bl Sav2_PlayerData_GetProfileAddr
bl PlayerProfile_GetTrainerGender
strb r0, [r4, #0x11]
ldrb r0, [r4, #0xf]
cmp r0, #5
beq _0204A9F8
add r0, r6, #0
bl sub_0203107C
add r5, r0, #0
add r0, r6, #0
bl sub_0202CF54
ldrb r1, [r4, #0xf]
add r7, r0, #0
cmp r1, #6
bne _0204A9A6
add r0, r6, #0
bl sub_020503D0
bl sub_02066E48
b _0204A9B8
_0204A9A6:
add r1, #8
lsl r1, r1, #0x10
ldr r0, [r4, #0x74]
lsr r1, r1, #0x10
mov r2, #0
bl sub_0202D5DC
lsl r0, r0, #0x10
lsr r0, r0, #0x10
_0204A9B8:
cmp r0, #0
beq _0204A9EE
ldrb r1, [r4, #0xf]
cmp r1, #6
bne _0204A9D4
mov r0, #0x71
bl sub_0205C268
add r2, r0, #0
add r0, r5, #0
mov r1, #0x71
bl sub_020310BC
b _0204A9E0
_0204A9D4:
lsl r1, r1, #1
add r0, r5, #0
add r1, r1, #1
mov r2, #0xff
bl sub_020310BC
_0204A9E0:
strh r0, [r4, #0x1a]
ldrb r1, [r4, #0xf]
ldr r0, [r4, #0x74]
mov r2, #0
bl sub_0202D57C
strh r0, [r4, #0x1c]
_0204A9EE:
add r0, r7, #0
mov r1, #0x1e
bl sub_0202D18C
str r0, [r4, #0x20]
_0204A9F8:
ldrb r0, [r4, #0xf]
cmp r0, #6
bne _0204AA16
ldrh r0, [r4, #0x1a]
mov r1, #7
bl _s32_div_f
add r2, r0, #0
lsl r2, r2, #0x10
ldr r0, [r4, #0x74]
mov r1, #6
lsr r2, r2, #0x10
bl sub_0202D5C4
strh r0, [r4, #0x1c]
_0204AA16:
add r0, r4, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0204AA1C: .word 0x000008DC
_0204AA20: .word 0x12345678
_0204AA24: .word 0x0000FFFF
_0204AA28: .word 0x000007E8
thumb_func_end sub_0204A824
thumb_func_start sub_0204AA2C
sub_0204AA2C: ; 0x0204AA2C
push {r4, lr}
add r4, r0, #0
beq _0204AA4E
ldr r1, [r4]
ldr r0, _0204AA50 ; =0x12345678
cmp r1, r0
beq _0204AA3E
bl GF_AssertFail
_0204AA3E:
ldr r2, _0204AA54 ; =0x000008DC
add r0, r4, #0
mov r1, #0
bl MIi_CpuFill8
add r0, r4, #0
bl FreeToHeap
_0204AA4E:
pop {r4, pc}
.balign 4, 0
_0204AA50: .word 0x12345678
_0204AA54: .word 0x000008DC
thumb_func_end sub_0204AA2C
thumb_func_start sub_0204AA58
sub_0204AA58: ; 0x0204AA58
push {r3, lr}
sub sp, #0x10
ldrb r0, [r0, #0xe]
mov r3, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #0x64
str r0, [sp, #8]
add r0, r1, #0
add r1, r2, #0
mov r2, #0x11
str r3, [sp, #0xc]
bl sub_02067118
add sp, #0x10
pop {r3, pc}
thumb_func_end sub_0204AA58
thumb_func_start sub_0204AA78
sub_0204AA78: ; 0x0204AA78
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
ldr r0, [r1]
str r1, [sp]
str r0, [sp, #4]
add r0, #0x27
ldrb r0, [r0]
cmp r0, #0
bne _0204AA96
ldr r0, [sp, #4]
add r0, #0x26
ldrb r0, [r0]
cmp r0, #7
bne _0204AAA6
_0204AA96:
ldr r0, [sp, #4]
bl FreeToHeap
ldr r1, [sp]
mov r0, #0
str r0, [r1]
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0204AAA6:
add r0, r2, #0
bl SavArray_PlayerParty_get
str r0, [sp, #8]
ldrb r0, [r5, #0xe]
mov r4, #0
cmp r0, #0
ble _0204AAFA
_0204AAB6:
ldr r0, [sp, #4]
add r0, r0, r4
add r0, #0x30
ldrb r0, [r0]
sub r1, r0, #1
add r0, r5, r4
add r0, #0x2a
strb r1, [r0]
add r1, r5, r4
add r1, #0x2a
ldrb r1, [r1]
ldr r0, [sp, #8]
bl GetPartyMonByIndex
lsl r1, r4, #1
add r6, r5, r1
add r7, r0, #0
mov r1, #5
mov r2, #0
bl GetMonData
strh r0, [r6, #0x2e]
add r0, r7, #0
mov r1, #6
mov r2, #0
bl GetMonData
strh r0, [r6, #0x36]
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
ldrb r0, [r5, #0xe]
cmp r4, r0
blt _0204AAB6
_0204AAFA:
ldr r0, [sp]
ldr r0, [r0]
bl FreeToHeap
ldr r0, [sp]
mov r1, #0
str r1, [r0]
mov r0, #1
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204AA78
thumb_func_start sub_0204AB10
sub_0204AB10: ; 0x0204AB10
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
str r0, [sp]
add r0, r1, #0
bl SavArray_PlayerParty_get
str r0, [sp, #4]
ldr r0, [sp]
mov r5, #0
ldrb r0, [r0, #0xe]
cmp r0, #0
ble _0204AB98
add r7, sp, #0xc
add r4, sp, #0x14
_0204AB2C:
ldr r1, [sp]
ldr r0, [sp, #4]
add r1, r1, r5
add r1, #0x2a
ldrb r1, [r1]
bl GetPartyMonByIndex
str r0, [sp, #8]
lsl r6, r5, #1
mov r1, #5
mov r2, #0
bl GetMonData
strh r0, [r4, r6]
ldr r0, [sp, #8]
mov r1, #6
mov r2, #0
bl GetMonData
strh r0, [r7, r6]
cmp r5, #0
beq _0204AB8A
mov r0, #0
cmp r5, #0
bls _0204AB8A
ldrh r1, [r4, r6]
ldrh r2, [r7, r6]
_0204AB62:
lsl r6, r0, #1
ldrh r3, [r4, r6]
cmp r1, r3
bne _0204AB70
add sp, #0x1c
mov r0, #1
pop {r4, r5, r6, r7, pc}
_0204AB70:
cmp r2, #0
beq _0204AB80
ldrh r3, [r7, r6]
cmp r2, r3
bne _0204AB80
add sp, #0x1c
mov r0, #2
pop {r4, r5, r6, r7, pc}
_0204AB80:
add r0, r0, #1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
cmp r0, r5
blo _0204AB62
_0204AB8A:
add r0, r5, #1
lsl r0, r0, #0x10
lsr r5, r0, #0x10
ldr r0, [sp]
ldrb r0, [r0, #0xe]
cmp r5, r0
blt _0204AB2C
_0204AB98:
mov r0, #0
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204AB10
thumb_func_start sub_0204ABA0
sub_0204ABA0: ; 0x0204ABA0
push {r3, r4}
mov r4, #0
cmp r2, #0
bls _0204ABC0
_0204ABA8:
lsl r3, r4, #1
ldrh r3, [r0, r3]
cmp r1, r3
bne _0204ABB6
mov r0, #1
pop {r3, r4}
bx lr
_0204ABB6:
add r3, r4, #1
lsl r3, r3, #0x10
lsr r4, r3, #0x10
cmp r4, r2
blo _0204ABA8
_0204ABC0:
mov r0, #0
pop {r3, r4}
bx lr
.balign 4, 0
thumb_func_end sub_0204ABA0
thumb_func_start sub_0204ABC8
sub_0204ABC8: ; 0x0204ABC8
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
ldrb r1, [r5, #0xf]
cmp r1, #2
beq _0204ABDC
cmp r1, #6
beq _0204ABDC
cmp r1, #3
bne _0204AC3A
_0204ABDC:
cmp r1, #3
bne _0204ABE8
ldrh r2, [r5, #0x14]
ldrh r0, [r5, #0x1c]
cmp r2, r0
bhi _0204ABF6
_0204ABE8:
cmp r1, #6
bne _0204ABF4
ldrh r2, [r5, #0x14]
ldrh r0, [r5, #0x1c]
cmp r2, r0
bhi _0204ABF6
_0204ABF4:
ldrh r2, [r5, #0x1c]
_0204ABF6:
lsl r0, r2, #0x18
lsr r0, r0, #0x18
str r0, [sp]
add r0, r5, #0
str r0, [sp, #4]
add r0, #0x3e
mov r4, #0
add r6, r5, #0
str r0, [sp, #4]
_0204AC08:
lsr r2, r4, #0x1f
add r2, r4, r2
lsl r2, r2, #0x17
ldrb r3, [r5, #0xf]
ldr r1, [sp]
add r0, r5, #0
lsr r2, r2, #0x18
bl sub_0204B73C
add r7, r0, #0
lsl r2, r4, #0x10
ldr r0, [sp, #4]
add r1, r7, #0
lsr r2, r2, #0x10
bl sub_0204ABA0
cmp r0, #0
bne _0204AC08
add r4, r4, #1
strh r7, [r6, #0x3e]
add r6, r6, #2
cmp r4, #0xe
blt _0204AC08
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0204AC3A:
str r0, [sp, #8]
add r0, #0x3e
mov r4, #0
add r6, r5, #0
str r0, [sp, #8]
_0204AC44:
ldrh r1, [r5, #0x1c]
lsl r2, r4, #0x18
ldrb r3, [r5, #0xf]
lsl r1, r1, #0x18
add r0, r5, #0
lsr r1, r1, #0x18
lsr r2, r2, #0x18
bl sub_0204B73C
add r7, r0, #0
lsl r2, r4, #0x10
ldr r0, [sp, #8]
add r1, r7, #0
lsr r2, r2, #0x10
bl sub_0204ABA0
cmp r0, #0
bne _0204AC44
add r4, r4, #1
strh r7, [r6, #0x3e]
add r6, r6, #2
cmp r4, #7
blt _0204AC44
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204ABC8
thumb_func_start sub_0204AC78
sub_0204AC78: ; 0x0204AC78
ldrb r0, [r0, #0xc]
bx lr
thumb_func_end sub_0204AC78
thumb_func_start sub_0204AC7C
sub_0204AC7C: ; 0x0204AC7C
ldrb r2, [r0, #0x10]
lsl r1, r2, #0x1f
lsr r1, r1, #0x1f
beq _0204AC88
mov r0, #1
bx lr
_0204AC88:
ldrb r1, [r0, #0xc]
cmp r1, #7
bls _0204AC9C
mov r1, #1
bic r2, r1
mov r1, #1
orr r2, r1
strb r2, [r0, #0x10]
add r0, r1, #0
bx lr
_0204AC9C:
mov r0, #0
bx lr
thumb_func_end sub_0204AC7C
thumb_func_start sub_0204ACA0
sub_0204ACA0: ; 0x0204ACA0
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldrb r2, [r4, #0xf]
cmp r2, #0
beq _0204ACB8
cmp r2, #1
beq _0204AD00
cmp r2, #4
beq _0204ACC2
add sp, #4
pop {r3, r4, pc}
_0204ACB8:
mov r2, #0
bl sub_0204B470
add sp, #4
pop {r3, r4, pc}
_0204ACC2:
mov r2, #1
bl sub_0204B470
ldrh r1, [r4, #0x28]
ldrh r2, [r4, #0x24]
ldrh r3, [r4, #0x26]
lsl r1, r1, #0x18
ldr r0, [r4, #0x70]
lsr r1, r1, #0x18
bl sub_0202D3B0
ldrb r1, [r4, #0xf]
add r0, sp, #0
add r2, sp, #0
strb r1, [r0]
ldr r0, [r4, #0x70]
mov r1, #0
bl sub_0202D308
ldrb r1, [r4, #0xc]
add r0, sp, #0
add r2, sp, #0
strb r1, [r0]
ldr r0, [r4, #0x70]
mov r1, #1
bl sub_0202D308
ldr r0, [r4, #0x74]
ldr r1, [r4, #0x70]
bl sub_0202D4FC
_0204AD00:
add sp, #4
pop {r3, r4, pc}
thumb_func_end sub_0204ACA0
thumb_func_start sub_0204AD04
sub_0204AD04: ; 0x0204AD04
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r7, r1, #0
add r5, r0, #0
add r0, r7, #0
bl sub_0202CF54
str r0, [sp, #4]
add r0, r7, #0
bl sub_0203107C
str r0, [sp]
ldrb r0, [r5, #0xf]
cmp r0, #5
beq _0204AE16
cmp r0, #6
bne _0204AD2A
mov r4, #0x70
b _0204AD2C
_0204AD2A:
lsl r4, r0, #1
_0204AD2C:
add r0, r4, #0
bl sub_0205C268
add r2, r0, #0
ldr r0, [sp]
add r1, r4, #0
bl sub_020310BC
add r0, r4, #0
bl sub_0205C268
add r2, r0, #0
ldrh r6, [r5, #0x1a]
ldrb r3, [r5, #0xd]
ldr r0, [sp]
add r1, r4, #0
add r3, r6, r3
lsl r3, r3, #0x10
lsr r3, r3, #0x10
bl sub_0203126C
ldrb r1, [r5, #0xf]
cmp r1, #6
bne _0204AD76
add r0, r7, #0
bl sub_0203107C
add r6, r0, #0
mov r0, #0x64
bl sub_0205C268
add r2, r0, #0
add r0, r6, #0
mov r1, #0x64
bl sub_020310BC
b _0204AD84
_0204AD76:
add r1, #8
lsl r1, r1, #0x10
ldr r0, [r5, #0x74]
lsr r1, r1, #0x10
mov r2, #0
bl sub_0202D5DC
_0204AD84:
add r0, r4, #1
bl sub_0205C268
add r1, r4, #1
add r2, r0, #0
ldrh r4, [r5, #0x1a]
ldrb r3, [r5, #0xd]
ldr r0, [sp]
add r3, r4, r3
lsl r3, r3, #0x10
lsr r3, r3, #0x10
bl sub_02031108
ldrb r1, [r5, #0xf]
add r4, r0, #0
cmp r1, #6
bne _0204ADC2
add r0, r7, #0
bl sub_0203107C
add r6, r0, #0
mov r0, #0x64
bl sub_0205C268
add r2, r0, #0
add r0, r6, #0
mov r1, #0x64
mov r3, #0
bl sub_02031108
b _0204ADD0
_0204ADC2:
add r1, #8
lsl r1, r1, #0x10
ldr r0, [r5, #0x74]
lsr r1, r1, #0x10
mov r2, #2
bl sub_0202D5DC
_0204ADD0:
ldrb r2, [r5, #0xd]
ldr r0, [sp, #4]
mov r1, #0x1e
bl sub_0202D144
ldrb r1, [r5, #0xf]
ldr r0, [r5, #0x74]
mov r2, #2
bl sub_0202D57C
ldrb r0, [r5, #0xf]
cmp r0, #6
beq _0204ADF8
add r0, r7, #0
bl sub_0202CF54
mov r1, #0x10
mov r2, #1
bl sub_0202D144
_0204ADF8:
add r0, r5, #0
bl sub_0204B318
ldr r0, _0204AE1C ; =0x0000270F
add r4, r4, #1
cmp r4, r0
bls _0204AE08
add r4, r0, #0
_0204AE08:
lsl r3, r4, #0x10
add r0, r5, #0
add r1, r7, #0
mov r2, #0
lsr r3, r3, #0x10
bl sub_0204ACA0
_0204AE16:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_0204AE1C: .word 0x0000270F
thumb_func_end sub_0204AD04
thumb_func_start sub_0204AE20
sub_0204AE20: ; 0x0204AE20
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
ldrb r0, [r5, #0xf]
add r7, r1, #0
cmp r0, #5
beq _0204AF26
add r0, r7, #0
bl sub_0202CF54
str r0, [sp, #4]
add r0, r7, #0
bl sub_0203107C
ldrb r1, [r5, #0xf]
str r0, [sp]
cmp r1, #6
bne _0204AE48
mov r4, #0x70
b _0204AE4A
_0204AE48:
lsl r4, r1, #1
_0204AE4A:
cmp r1, #6
bne _0204AE68
add r0, r7, #0
bl sub_0203107C
add r6, r0, #0
mov r0, #0x64
bl sub_0205C268
add r2, r0, #0
add r0, r6, #0
mov r1, #0x64
bl sub_020310BC
b _0204AE76
_0204AE68:
add r1, #8
lsl r1, r1, #0x10
ldr r0, [r5, #0x74]
lsr r1, r1, #0x10
mov r2, #0
bl sub_0202D5DC
_0204AE76:
add r0, r4, #1
bl sub_0205C268
add r2, r0, #0
ldrh r6, [r5, #0x1a]
ldrb r3, [r5, #0xd]
ldr r0, [sp]
add r1, r4, #1
add r3, r6, r3
lsl r3, r3, #0x10
lsr r3, r3, #0x10
bl sub_02031108
ldrb r1, [r5, #0xf]
add r6, r0, #0
cmp r1, #6
bne _0204AEB4
add r0, r7, #0
bl sub_0203107C
str r0, [sp, #8]
mov r0, #0x64
bl sub_0205C268
add r2, r0, #0
ldr r0, [sp, #8]
mov r1, #0x64
mov r3, #1
bl sub_02031108
b _0204AEC2
_0204AEB4:
add r1, #8
lsl r1, r1, #0x10
ldr r0, [r5, #0x74]
lsr r1, r1, #0x10
mov r2, #1
bl sub_0202D5DC
_0204AEC2:
add r0, r4, #0
bl sub_0205C268
add r2, r0, #0
ldr r0, [sp]
add r1, r4, #0
bl sub_020310BC
add r0, r4, #0
bl sub_0205C268
add r2, r0, #0
lsl r3, r6, #0x10
ldr r0, [sp]
add r1, r4, #0
lsr r3, r3, #0x10
bl sub_0203126C
ldr r0, [sp, #4]
mov r1, #0x1e
mov r2, #7
bl sub_0202D144
ldrb r1, [r5, #0xf]
ldr r0, [r5, #0x74]
mov r2, #3
bl sub_0202D57C
ldrb r0, [r5, #0xf]
cmp r0, #6
beq _0204AF0A
ldr r0, [sp, #4]
mov r1, #0x10
mov r2, #1
bl sub_0202D144
_0204AF0A:
ldr r0, [sp, #4]
mov r1, #0xe
bl sub_0202D1C0
add r0, r5, #0
bl sub_0204B318
lsl r3, r6, #0x10
add r0, r5, #0
add r1, r7, #0
mov r2, #1
lsr r3, r3, #0x10
bl sub_0204ACA0
_0204AF26:
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204AE20
thumb_func_start sub_0204AF2C
sub_0204AF2C: ; 0x0204AF2C
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldrb r1, [r4, #0xf]
add r0, sp, #0
add r2, sp, #0
strb r1, [r0]
ldr r0, [r4, #0x70]
mov r1, #0
bl sub_0202D308
ldrb r1, [r4, #0xc]
add r0, sp, #0
add r2, sp, #0
strb r1, [r0]
ldr r0, [r4, #0x70]
mov r1, #1
bl sub_0202D308
add r2, r4, #0
ldr r0, [r4, #0x70]
mov r1, #5
add r2, #0x2a
bl sub_0202D308
ldrh r1, [r4, #0x28]
ldrh r2, [r4, #0x24]
ldrh r3, [r4, #0x26]
lsl r1, r1, #0x18
ldr r0, [r4, #0x70]
lsr r1, r1, #0x18
bl sub_0202D3B0
add r2, r4, #0
ldr r0, [r4, #0x70]
mov r1, #8
add r2, #0x3e
bl sub_0202D308
add r2, r4, #0
ldr r0, [r4, #0x70]
mov r1, #0xa
add r2, #8
bl sub_0202D308
ldr r0, [r4, #0x70]
mov r1, #1
bl sub_0202D3E4
ldrb r0, [r4, #0xf]
cmp r0, #2
bne _0204AFD2
ldrb r0, [r4, #0x10]
add r2, sp, #0
lsl r0, r0, #0x18
lsr r1, r0, #0x1d
add r0, sp, #0
strb r1, [r0]
ldr r0, [r4, #0x70]
mov r1, #9
bl sub_0202D308
ldrb r3, [r4, #0x10]
ldr r2, _0204AFD8 ; =0x000007E8
ldr r0, [r4, #0x70]
lsl r3, r3, #0x18
lsr r3, r3, #0x1d
add r2, r4, r2
lsl r3, r3, #4
mov r1, #6
add r2, r2, r3
bl sub_0202D308
ldr r2, _0204AFDC ; =0x00000838
ldr r0, [r4, #0x70]
add r3, r4, r2
ldrb r2, [r4, #0x10]
mov r1, #7
lsl r2, r2, #0x18
lsr r2, r2, #0x1d
add r2, r3, r2
bl sub_0202D308
_0204AFD2:
add sp, #4
pop {r3, r4, pc}
nop
_0204AFD8: .word 0x000007E8
_0204AFDC: .word 0x00000838
thumb_func_end sub_0204AF2C
thumb_func_start sub_0204AFE0
sub_0204AFE0: ; 0x0204AFE0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
ldr r0, _0204B03C ; =0x000007E8
mov r4, #0
add r6, r5, r0
mov r0, #0xa6
lsl r0, r0, #2
add r7, r5, r0
add r0, r5, #0
str r0, [sp, #0x10]
add r0, #0x2e
str r0, [sp, #0x10]
add r0, r5, #0
str r0, [sp, #0x14]
add r0, #0x36
str r0, [sp, #0x14]
_0204B002:
ldr r0, [sp, #0x10]
mov r2, #0x4b
str r0, [sp]
ldr r0, [sp, #0x14]
lsl r2, r2, #2
str r0, [sp, #4]
str r6, [sp, #8]
ldr r0, [r5, #4]
add r2, r4, r2
str r0, [sp, #0xc]
lsl r2, r2, #0x10
ldrb r3, [r5, #0xe]
add r0, r5, #0
add r1, r7, #0
lsr r2, r2, #0x10
bl sub_0204BA04
add r2, r5, r4
ldr r1, _0204B040 ; =0x00000838
add r4, r4, #1
strb r0, [r2, r1]
mov r0, #0x11
lsl r0, r0, #4
add r6, #0x10
add r7, r7, r0
cmp r4, #5
blt _0204B002
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0204B03C: .word 0x000007E8
_0204B040: .word 0x00000838
thumb_func_end sub_0204AFE0
thumb_func_start sub_0204B044
sub_0204B044: ; 0x0204B044
lsl r2, r1, #4
add r1, r1, r2
lsl r1, r1, #4
add r0, r0, r1
add r0, #0x7c
ldrh r0, [r0]
ldr r3, _0204B058 ; =sub_0204B5E8
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bx r3
.balign 4, 0
_0204B058: .word sub_0204B5E8
thumb_func_end sub_0204B044
thumb_func_start sub_0204B05C
sub_0204B05C: ; 0x0204B05C
ldrb r0, [r0, #0xf]
bx lr
thumb_func_end sub_0204B05C
thumb_func_start sub_0204B060
sub_0204B060: ; 0x0204B060
ldrb r0, [r0, #0x10]
lsl r0, r0, #0x1d
lsr r0, r0, #0x1e
bx lr
thumb_func_end sub_0204B060
thumb_func_start sub_0204B068
sub_0204B068: ; 0x0204B068
push {r3, r4, r5, lr}
add r4, r0, #0
ldrb r1, [r4, #0xf]
cmp r1, #5
bne _0204B076
mov r0, #0
pop {r3, r4, r5, pc}
_0204B076:
cmp r1, #4
bne _0204B088
ldr r0, [r4, #0x74]
mov r1, #0
bl sub_0202D488
ldr r1, _0204B0D4 ; =0x020FBF98
ldrb r5, [r1, r0]
b _0204B0C6
_0204B088:
cmp r1, #3
beq _0204B090
cmp r1, #6
bne _0204B0A6
_0204B090:
ldr r0, [r4, #0x74]
mov r2, #0
bl sub_0202D57C
cmp r0, #7
blo _0204B0A0
mov r5, #0x12
b _0204B0C6
_0204B0A0:
ldr r1, _0204B0D8 ; =0x020FBF7C
ldrb r5, [r1, r0]
b _0204B0C6
_0204B0A6:
ldr r0, [r4, #0x74]
mov r2, #0
bl sub_0202D57C
ldrb r1, [r4, #0x10]
lsl r1, r1, #0x1d
lsr r1, r1, #0x1e
beq _0204B0BA
mov r5, #0x14
b _0204B0C6
_0204B0BA:
cmp r0, #7
blo _0204B0C2
mov r5, #7
b _0204B0C6
_0204B0C2:
ldr r1, _0204B0DC ; =0x020FBF84
ldrb r5, [r1, r0]
_0204B0C6:
ldr r0, [r4, #0x74]
add r1, r5, #0
mov r2, #5
bl sub_0202D3F8
add r0, r5, #0
pop {r3, r4, r5, pc}
.balign 4, 0
_0204B0D4: .word 0x020FBF98
_0204B0D8: .word 0x020FBF7C
_0204B0DC: .word 0x020FBF84
thumb_func_end sub_0204B068
thumb_func_start sub_0204B0E0
sub_0204B0E0: ; 0x0204B0E0
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
ldrb r1, [r4, #0xf]
bl sub_0204A6F8
cmp r0, #0x32
bhs _0204B0F4
mov r0, #0
pop {r4, pc}
_0204B0F4:
cmp r0, #0x64
ldr r0, [r4, #0x74]
blo _0204B10A
mov r1, #1
mov r2, #0
bl sub_0202D5DC
cmp r0, #0
beq _0204B11A
mov r0, #0
pop {r4, pc}
_0204B10A:
mov r1, #0
add r2, r1, #0
bl sub_0202D5DC
cmp r0, #0
beq _0204B11A
mov r0, #0
pop {r4, pc}
_0204B11A:
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0204B0E0
thumb_func_start sub_0204B120
sub_0204B120: ; 0x0204B120
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, r1, #0
add r4, r2, #0
bl sub_0202D918
add r6, r0, #0
cmp r4, #0
beq _0204B13C
cmp r4, #1
beq _0204B144
cmp r4, #2
beq _0204B180
b _0204B1C4
_0204B13C:
mov r1, #0
bl sub_0202D488
pop {r4, r5, r6, pc}
_0204B144:
mov r1, #4
mov r2, #2
bl sub_0202D5DC
add r0, r6, #0
mov r1, #0
bl sub_0202D488
add r4, r0, #0
cmp r4, #0xa
bne _0204B166
ldrb r1, [r5, #0x10]
mov r0, #0x10
orr r0, r1
strb r0, [r5, #0x10]
mov r0, #0
pop {r4, r5, r6, pc}
_0204B166:
add r0, r6, #0
mov r1, #3
bl sub_0202D488
add r0, r4, #1
cmp r0, #5
blt _0204B17C
ldrb r1, [r5, #0x10]
mov r0, #0x10
orr r0, r1
strb r0, [r5, #0x10]
_0204B17C:
mov r0, #1
pop {r4, r5, r6, pc}
_0204B180:
mov r1, #3
bl sub_0202D450
add r4, r0, #0
add r0, r6, #0
mov r1, #0
bl sub_0202D488
cmp r0, #1
bne _0204B198
mov r0, #0
pop {r4, r5, r6, pc}
_0204B198:
sub r1, r0, #1
ldr r0, _0204B1C8 ; =0x020FBF8C
ldrb r0, [r0, r1]
cmp r4, r0
blo _0204B1C0
add r0, r6, #0
mov r1, #4
bl sub_0202D488
add r0, r6, #0
mov r1, #2
bl sub_0202D450
add r0, r6, #0
mov r1, #4
mov r2, #2
bl sub_0202D5DC
mov r0, #1
pop {r4, r5, r6, pc}
_0204B1C0:
mov r0, #0
pop {r4, r5, r6, pc}
_0204B1C4:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_0204B1C8: .word 0x020FBF8C
thumb_func_end sub_0204B120
thumb_func_start sub_0204B1CC
sub_0204B1CC: ; 0x0204B1CC
push {r3, lr}
add r2, r0, #0
ldrb r0, [r2, #0xf]
cmp r0, #0
beq _0204B1DA
mov r0, #0
pop {r3, pc}
_0204B1DA:
ldrb r0, [r2, #0x10]
lsl r0, r0, #0x1d
lsr r0, r0, #0x1e
cmp r0, #1
beq _0204B1EA
cmp r0, #2
beq _0204B1F4
b _0204B1FE
_0204B1EA:
add r0, r1, #0
mov r1, #0x1a
bl sub_0204B2B8
pop {r3, pc}
_0204B1F4:
add r0, r1, #0
mov r1, #0x1b
bl sub_0204B2B8
pop {r3, pc}
_0204B1FE:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0204B1CC
thumb_func_start sub_0204B204
sub_0204B204: ; 0x0204B204
push {r4, lr}
add r2, r0, #0
ldrb r0, [r2, #0xf]
cmp r0, #5
bne _0204B212
mov r0, #0
pop {r4, pc}
_0204B212:
cmp r0, #6
bne _0204B21A
mov r0, #0
pop {r4, pc}
_0204B21A:
ldrb r4, [r2, #0x10]
lsl r4, r4, #0x1b
lsr r4, r4, #0x1f
bne _0204B226
mov r0, #0
pop {r4, pc}
_0204B226:
cmp r0, #4
bhi _0204B24E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0204B236: ; jump table
.short _0204B24E - _0204B236 - 2 ; case 0
.short _0204B240 - _0204B236 - 2 ; case 1
.short _0204B244 - _0204B236 - 2 ; case 2
.short _0204B248 - _0204B236 - 2 ; case 3
.short _0204B24C - _0204B236 - 2 ; case 4
_0204B240:
mov r3, #0x1c
b _0204B24E
_0204B244:
mov r3, #0x1d
b _0204B24E
_0204B248:
mov r3, #0x1e
b _0204B24E
_0204B24C:
mov r3, #0x1f
_0204B24E:
add r0, r1, #0
add r1, r3, #0
bl sub_0204B2B8
pop {r4, pc}
thumb_func_end sub_0204B204
thumb_func_start sub_0204B258
sub_0204B258: ; 0x0204B258
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
ldrb r1, [r5, #0xf]
cmp r1, #6
bne _0204B27E
add r0, r4, #0
bl sub_0203107C
add r6, r0, #0
mov r0, #0x64
bl sub_0205C268
add r2, r0, #0
add r0, r6, #0
mov r1, #0x64
bl sub_020310BC
b _0204B28C
_0204B27E:
add r1, #8
lsl r1, r1, #0x10
ldr r0, [r5, #0x74]
lsr r1, r1, #0x10
mov r2, #0
bl sub_0202D5DC
_0204B28C:
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r0, #0
bne _0204B29C
add r0, r4, #0
bl sub_020674E0
b _0204B2A2
_0204B29C:
add r0, r4, #0
bl sub_0206751C
_0204B2A2:
str r0, [r5, #8]
ldr r0, [r5, #8]
ldr r1, _0204B2B4 ; =0x0000FFFF
bl _u32_div_f
lsl r0, r0, #0x10
lsr r0, r0, #0x10
pop {r4, r5, r6, pc}
nop
_0204B2B4: .word 0x0000FFFF
thumb_func_end sub_0204B258
thumb_func_start sub_0204B2B8
sub_0204B2B8: ; 0x0204B2B8
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r6, r1, #0
add r5, r2, #0
mov r2, #1
add r1, sp, #8
strb r2, [r1]
bl SavArray_PlayerParty_get
str r0, [sp]
mov r7, #0
ldrb r0, [r5, #0xe]
add r4, r7, #0
cmp r0, #0
ble _0204B308
_0204B2D6:
add r1, r5, r4
add r1, #0x2a
ldrb r1, [r1]
ldr r0, [sp]
bl GetPartyMonByIndex
add r1, r6, #0
mov r2, #0
str r0, [sp, #4]
bl GetMonData
cmp r0, #0
bne _0204B300
ldr r0, [sp, #4]
add r1, r6, #0
add r2, sp, #8
bl sub_0206EC40
add r0, r7, #1
lsl r0, r0, #0x18
lsr r7, r0, #0x18
_0204B300:
ldrb r0, [r5, #0xe]
add r4, r4, #1
cmp r4, r0
blt _0204B2D6
_0204B308:
cmp r7, #0
bne _0204B312
add sp, #0xc
mov r0, #0
pop {r4, r5, r6, r7, pc}
_0204B312:
mov r0, #1
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_0204B2B8
thumb_func_start sub_0204B318
sub_0204B318: ; 0x0204B318
ldrb r1, [r0, #0xf]
cmp r1, #5
beq _0204B32A
cmp r1, #0
beq _0204B32A
cmp r1, #6
beq _0204B32A
cmp r1, #4
bne _0204B32E
_0204B32A:
mov r0, #0
bx lr
_0204B32E:
ldrh r2, [r0, #0x1a]
ldrb r1, [r0, #0xd]
add r1, r2, r1
lsl r1, r1, #0x10
lsr r1, r1, #0x10
cmp r1, #0x32
bhs _0204B340
mov r0, #0
bx lr
_0204B340:
ldrb r2, [r0, #0x10]
mov r1, #0x10
orr r1, r2
strb r1, [r0, #0x10]
mov r0, #1
bx lr
thumb_func_end sub_0204B318
thumb_func_start sub_0204B34C
sub_0204B34C: ; 0x0204B34C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r1, #0
str r0, [sp]
add r0, r5, #0
mov r1, #5
mov r2, #0
bl GetMonData
ldr r1, [sp]
lsl r0, r0, #0x10
ldrh r1, [r1]
ldr r2, _0204B468 ; =0xFFFFF800
lsr r3, r0, #0x10
lsr r0, r2, #0x15
and r1, r2
and r0, r3
orr r1, r0
ldr r0, [sp]
mov r2, #0
strh r1, [r0]
add r0, r5, #0
mov r1, #0x70
bl GetMonData
ldr r1, [sp]
lsl r0, r0, #0x10
ldrh r2, [r1]
ldr r1, _0204B46C ; =0xFFFF07FF
lsr r0, r0, #0x10
lsl r0, r0, #0x1b
and r1, r2
lsr r0, r0, #0x10
orr r1, r0
ldr r0, [sp]
mov r2, #0
strh r1, [r0]
add r0, r5, #0
mov r1, #6
bl GetMonData
ldr r1, [sp]
mov r4, #0
strh r0, [r1, #2]
add r0, r1, #0
str r0, [sp, #4]
add r0, #0x1e
add r6, r1, #0
add r7, r4, #0
str r0, [sp, #4]
_0204B3B0:
add r1, r4, #0
add r0, r5, #0
add r1, #0x36
mov r2, #0
bl GetMonData
add r1, r4, #0
strh r0, [r6, #4]
add r0, r5, #0
add r1, #0x3e
mov r2, #0
bl GetMonData
ldr r1, [sp, #4]
lsl r0, r7
ldrb r1, [r1]
add r4, r4, #1
add r6, r6, #2
orr r1, r0
ldr r0, [sp, #4]
add r7, r7, #2
strb r1, [r0]
cmp r4, #4
blt _0204B3B0
add r0, r5, #0
mov r1, #0xc
mov r2, #0
bl GetMonData
ldr r1, [sp]
mov r2, #0
strb r0, [r1, #0x1f]
add r0, r5, #0
mov r1, #7
bl GetMonData
ldr r1, [sp]
str r0, [r1, #0xc]
mov r1, #0
add r0, r5, #0
add r2, r1, #0
bl GetMonData
ldr r1, [sp]
mov r2, #0
str r0, [r1, #0x10]
add r0, r5, #0
mov r1, #0xaf
bl GetMonData
ldr r1, [sp]
mov r4, #0
str r0, [r1, #0x14]
add r6, r4, #0
_0204B41C:
add r1, r4, #0
add r0, r5, #0
add r1, #0xd
add r2, r6, #0
bl GetMonData
ldr r1, [sp]
add r1, r1, r4
add r4, r4, #1
strb r0, [r1, #0x18]
cmp r4, #6
blt _0204B41C
add r0, r5, #0
mov r1, #0xa
mov r2, #0
bl GetMonData
ldr r1, [sp]
mov r2, #0
add r1, #0x20
strb r0, [r1]
add r0, r5, #0
mov r1, #9
bl GetMonData
ldr r1, [sp]
ldr r2, [sp]
add r1, #0x21
strb r0, [r1]
add r2, #0x22
add r0, r5, #0
mov r1, #0x75
str r2, [sp]
bl GetMonData
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_0204B468: .word 0xFFFFF800
_0204B46C: .word 0xFFFF07FF
thumb_func_end sub_0204B34C
thumb_func_start sub_0204B470
sub_0204B470: ; 0x0204B470
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r6, r0, #0
ldr r0, [r6, #4]
add r4, r1, #0
mov r1, #0xa8
str r2, [sp]
bl AllocFromHeapAtEnd
mov r1, #0
mov r2, #0xa8
str r0, [sp, #4]
bl MIi_CpuFill8
add r0, r4, #0
bl SavArray_PlayerParty_get
ldr r5, [sp, #4]
add r7, r0, #0
mov r4, #0
_0204B498:
add r1, r6, r4
add r1, #0x2a
ldrb r1, [r1]
add r0, r7, #0
bl GetPartyMonByIndex
add r1, r0, #0
add r0, r5, #0
bl sub_0204B34C
add r4, r4, #1
add r5, #0x38
cmp r4, #3
blt _0204B498
ldr r0, [r6, #0x74]
ldr r1, [sp]
ldr r2, [sp, #4]
bl sub_0202D4B8
ldr r0, [sp, #4]
mov r1, #0
mov r2, #0xa8
bl MIi_CpuFill8
ldr r0, [sp, #4]
bl FreeToHeap
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204B470
thumb_func_start sub_0204B4D4
sub_0204B4D4: ; 0x0204B4D4
cmp r0, #0x64
bhs _0204B4DC
mov r0, #3
bx lr
_0204B4DC:
cmp r0, #0x78
bhs _0204B4E4
mov r0, #6
bx lr
_0204B4E4:
cmp r0, #0x8c
bhs _0204B4EC
mov r0, #9
bx lr
_0204B4EC:
cmp r0, #0xa0
bhs _0204B4F4
mov r0, #0xc
bx lr
_0204B4F4:
cmp r0, #0xb4
bhs _0204B4FC
mov r0, #0xf
bx lr
_0204B4FC:
cmp r0, #0xc8
bhs _0204B504
mov r0, #0x12
bx lr
_0204B504:
cmp r0, #0xdc
bhs _0204B50C
mov r0, #0x15
bx lr
_0204B50C:
mov r0, #0x1f
bx lr
thumb_func_end sub_0204B4D4
thumb_func_start sub_0204B510
sub_0204B510: ; 0x0204B510
push {r4, lr}
add r4, r0, #0
ldrb r0, [r4, #0xf]
cmp r0, #6
bne _0204B520
bl LCRandom
pop {r4, pc}
_0204B520:
ldr r0, [r4, #8]
bl sub_020674A4
ldr r1, _0204B534 ; =0x0000FFFF
str r0, [r4, #8]
bl _u32_div_f
lsl r0, r0, #0x10
lsr r0, r0, #0x10
pop {r4, pc}
.balign 4, 0
_0204B534: .word 0x0000FFFF
thumb_func_end sub_0204B510
thumb_func_start sub_0204B538
sub_0204B538: ; 0x0204B538
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r4, r0, #0
add r7, r1, #0
str r2, [sp, #8]
mov r0, #0xe
mov r1, #4
str r3, [sp, #0xc]
ldr r5, [sp, #0x38]
bl String_ctor
add r6, r0, #0
mov r0, #2
mov r1, #4
bl String_ctor
str r0, [sp, #0x1c]
add r0, r4, #0
bl sub_0202A634
str r0, [sp, #0x18]
mov r0, #1
mov r1, #0x1b
mov r2, #0xed
mov r3, #4
bl NewMsgDataFromNarc
str r0, [sp, #0x10]
mov r0, #0x13
mov r1, #0xe
mov r2, #4
bl ScrStrBufs_new_custom
mov r1, #0
str r1, [sp]
mov r3, #1
add r2, r7, #0
str r0, [sp, #0x14]
str r3, [sp, #4]
bl BufferIntegerAsString
mov r4, #0
_0204B58C:
add r0, r4, #0
bl sub_0207272C
add r7, r0, #0
ldr r0, [sp, #0x18]
add r1, r7, #0
bl sub_0202A044
cmp r0, #0
beq _0204B5C6
ldr r0, [sp, #0x10]
add r1, r7, #0
add r2, r6, #0
bl ReadMsgDataIntoString
ldr r0, [sp, #0xc]
add r2, r6, #0
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldrb r1, [r5]
ldr r0, [sp, #0x14]
ldr r3, [sp, #8]
add r1, r1, #1
bl BufferString
ldrb r0, [r5]
add r0, r0, #1
strb r0, [r5]
_0204B5C6:
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, #0x12
blo _0204B58C
ldr r0, [sp, #0x10]
bl DestroyMsgData
ldr r0, [sp, #0x1c]
bl String_dtor
add r0, r6, #0
bl String_dtor
ldr r0, [sp, #0x14]
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204B538
thumb_func_start sub_0204B5E8
sub_0204B5E8: ; 0x0204B5E8
ldr r3, _0204B608 ; =0x020FBFEC
mov r2, #0
_0204B5EC:
ldrh r1, [r3]
cmp r0, r1
bne _0204B5FA
ldr r0, _0204B60C ; =0x020FBFEE
lsl r1, r2, #2
ldrh r0, [r0, r1]
bx lr
_0204B5FA:
add r2, r2, #1
add r3, r3, #4
cmp r2, #0x3f
blo _0204B5EC
mov r0, #3
bx lr
nop
_0204B608: .word 0x020FBFEC
_0204B60C: .word 0x020FBFEE
thumb_func_end sub_0204B5E8
thumb_func_start sub_0204B610
sub_0204B610: ; 0x0204B610
push {r3, r4}
add r0, #0xa0
ldr r3, [r0]
ldrh r0, [r1]
mov r2, #0
strb r0, [r3, #0x12]
ldrh r0, [r1, #2]
strh r0, [r3, #0x16]
ldrh r0, [r1, #4]
strh r0, [r3, #0x18]
ldrh r0, [r1, #6]
mov r1, #0xe0
strh r0, [r3, #0x14]
ldrb r0, [r3, #0x10]
bic r0, r1
ldrb r1, [r3, #0x12]
add r1, r1, #5
lsl r1, r1, #0x18
lsr r1, r1, #0x18
lsl r1, r1, #0x1d
lsr r1, r1, #0x18
orr r0, r1
strb r0, [r3, #0x10]
ldrh r4, [r3, #0x16]
ldrh r1, [r3, #0x2e]
cmp r1, r4
beq _0204B64C
ldrh r0, [r3, #0x18]
cmp r1, r0
bne _0204B652
_0204B64C:
add r0, r2, #1
lsl r0, r0, #0x10
lsr r2, r0, #0x10
_0204B652:
ldrh r1, [r3, #0x30]
cmp r1, r4
beq _0204B65E
ldrh r0, [r3, #0x18]
cmp r1, r0
bne _0204B664
_0204B65E:
add r0, r2, #2
lsl r0, r0, #0x10
lsr r2, r0, #0x10
_0204B664:
add r0, r2, #0
pop {r3, r4}
bx lr
.balign 4, 0
thumb_func_end sub_0204B610
thumb_func_start sub_0204B66C
sub_0204B66C: ; 0x0204B66C
push {r3, r4, r5, lr}
add r0, #0xa0
add r5, r1, #0
ldr r4, [r0]
bl sub_0203769C
cmp r0, #0
bne _0204B680
mov r0, #0
pop {r3, r4, r5, pc}
_0204B680:
add r4, #0x3e
add r0, r5, #0
add r1, r4, #0
mov r2, #0x1c
bl MIi_CpuCopy8
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end sub_0204B66C
thumb_func_start sub_0204B690
sub_0204B690: ; 0x0204B690
add r0, #0xa0
ldr r0, [r0]
ldrb r0, [r0, #0x10]
lsl r0, r0, #0x1c
lsr r0, r0, #0x1f
bne _0204B6A2
ldrh r0, [r1]
cmp r0, #0
beq _0204B6A6
_0204B6A2:
mov r0, #1
bx lr
_0204B6A6:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end sub_0204B690
thumb_func_start sub_0204B6AC
sub_0204B6AC: ; 0x0204B6AC
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r6, r0, #0
add r0, r4, #0
bl Sav2_PlayerData_GetProfileAddr
bl PlayerProfile_GetTrainerGender
ldr r1, _0204B700 ; =0x0000083E
strh r0, [r6, r1]
add r0, r4, #0
bl SavArray_PlayerParty_get
add r7, r0, #0
mov r4, #0
add r5, r6, #0
_0204B6CC:
add r1, r6, r4
add r1, #0x2a
ldrb r1, [r1]
add r0, r7, #0
bl GetPartyMonByIndex
mov r1, #5
mov r2, #0
bl GetMonData
mov r1, #0x21
lsl r1, r1, #6
strh r0, [r5, r1]
add r4, r4, #1
add r5, r5, #2
cmp r4, #2
blt _0204B6CC
ldr r0, [r6, #0x74]
mov r1, #3
mov r2, #0
bl sub_0202D57C
ldr r1, _0204B704 ; =0x00000844
strh r0, [r6, r1]
pop {r3, r4, r5, r6, r7, pc}
nop
_0204B700: .word 0x0000083E
_0204B704: .word 0x00000844
thumb_func_end sub_0204B6AC
thumb_func_start sub_0204B708
sub_0204B708: ; 0x0204B708
ldr r1, _0204B718 ; =0x0000083E
add r2, r0, #0
add r1, r2, r1
ldr r3, _0204B71C ; =MIi_CpuCopy8
add r0, #0x3e
mov r2, #0x1c
bx r3
nop
_0204B718: .word 0x0000083E
_0204B71C: .word MIi_CpuCopy8
thumb_func_end sub_0204B708
thumb_func_start sub_0204B720
sub_0204B720: ; 0x0204B720
ldrb r3, [r0, #0x10]
mov r2, #8
bic r3, r2
lsl r2, r1, #0x18
lsr r2, r2, #0x18
lsl r2, r2, #0x1f
lsr r2, r2, #0x1c
orr r2, r3
strb r2, [r0, #0x10]
ldr r2, _0204B738 ; =0x0000083E
strh r1, [r0, r2]
bx lr
.balign 4, 0
_0204B738: .word 0x0000083E
thumb_func_end sub_0204B720
thumb_func_start sub_0204B73C
sub_0204B73C: ; 0x0204B73C
push {r3, r4, r5, lr}
cmp r3, #0
bne _0204B75A
cmp r1, #2
bne _0204B74E
cmp r2, #6
bne _0204B74E
ldr r0, _0204B7B8 ; =0x00000131
pop {r3, r4, r5, pc}
_0204B74E:
cmp r1, #6
bne _0204B75A
cmp r2, #6
bne _0204B75A
ldr r0, _0204B7BC ; =0x00000132
pop {r3, r4, r5, pc}
_0204B75A:
cmp r1, #7
bhs _0204B7A6
cmp r2, #6
bne _0204B784
lsl r5, r1, #2
ldr r1, _0204B7C0 ; =0x020FBFCC
ldrh r4, [r1, r5]
bl sub_0204B510
ldr r1, _0204B7C4 ; =0x020FBFCE
ldrh r1, [r1, r5]
sub r1, r1, r4
add r1, r1, #1
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl _s32_div_f
add r0, r4, r1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
pop {r3, r4, r5, pc}
_0204B784:
lsl r4, r1, #2
ldr r1, _0204B7C8 ; =0x020FBFAC
ldrh r5, [r1, r4]
bl sub_0204B510
ldr r1, _0204B7CC ; =0x020FBFAE
ldrh r1, [r1, r4]
sub r1, r1, r5
add r1, r1, #1
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl _s32_div_f
add r0, r5, r1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
pop {r3, r4, r5, pc}
_0204B7A6:
bl sub_0204B510
mov r1, #0x64
bl _s32_div_f
add r1, #0xc8
lsl r0, r1, #0x10
lsr r0, r0, #0x10
pop {r3, r4, r5, pc}
.balign 4, 0
_0204B7B8: .word 0x00000131
_0204B7BC: .word 0x00000132
_0204B7C0: .word 0x020FBFCC
_0204B7C4: .word 0x020FBFCE
_0204B7C8: .word 0x020FBFAC
_0204B7CC: .word 0x020FBFAE
thumb_func_end sub_0204B73C
thumb_func_start sub_0204B7D0
sub_0204B7D0: ; 0x0204B7D0
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r6, r2, #0
mov r1, #0x1b
add r5, r0, #0
mov r0, #1
add r2, r1, #0
add r3, r6, #0
bl NewMsgDataFromNarc
mov r2, #0x11
add r7, r0, #0
add r0, r5, #0
mov r1, #0
lsl r2, r2, #4
bl MIi_CpuFill8
add r0, r4, #0
add r1, r6, #0
bl sub_0204BC7C
add r6, r0, #0
ldr r0, _0204B830 ; =0x0000FFFF
str r4, [r5]
strh r0, [r5, #0x18]
lsl r0, r4, #1
add r0, r4, r0
strh r0, [r5, #0x1a]
ldrh r0, [r6]
add r1, r4, #0
strh r0, [r5, #4]
add r0, r7, #0
bl NewString_ReadMsgData
add r5, #8
add r4, r0, #0
add r1, r5, #0
mov r2, #8
bl CopyStringToU16Array
add r0, r4, #0
bl String_dtor
add r0, r7, #0
bl DestroyMsgData
add r0, r6, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0204B830: .word 0x0000FFFF
thumb_func_end sub_0204B7D0
thumb_func_start sub_0204B834
sub_0204B834: ; 0x0204B834
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r1, #0
add r4, r0, #0
add r6, r2, #0
add r0, r5, #0
mov r1, #0
mov r2, #0x38
str r3, [sp]
bl MIi_CpuFill8
add r0, sp, #8
add r1, r6, #0
bl sub_0204BC8C
add r2, sp, #8
ldrh r0, [r5]
ldr r1, _0204B9DC ; =0xFFFFF800
ldrh r3, [r2]
and r0, r1
lsr r1, r1, #0x15
and r1, r3
orr r0, r1
strh r0, [r5]
ldrh r1, [r5]
ldr r0, _0204B9E0 ; =0xFFFF07FF
and r1, r0
ldrh r0, [r2, #0xe]
lsl r0, r0, #0x1b
lsr r0, r0, #0x10
orr r0, r1
strh r0, [r5]
ldr r0, [sp, #0x3c]
cmp r0, #0
beq _0204B886
add r0, sp, #0x20
ldrb r0, [r0, #0x18]
lsl r1, r0, #1
ldr r0, _0204B9E4 ; =0x020FBFA4
ldrh r0, [r0, r1]
b _0204B888
_0204B886:
ldrh r0, [r2, #0xc]
_0204B888:
strh r0, [r5, #2]
mov r0, #0xff
str r0, [sp, #4]
mov r0, #0
add r1, sp, #8
add r2, r5, #0
add r3, r0, #0
_0204B896:
ldrh r6, [r1, #2]
strh r6, [r2, #4]
ldrh r6, [r1, #2]
cmp r6, #0xda
bne _0204B8A2
str r3, [sp, #4]
_0204B8A2:
add r0, r0, #1
add r1, r1, #2
add r2, r2, #2
cmp r0, #4
blt _0204B896
ldr r0, [sp]
ldr r7, [sp, #0x30]
str r0, [r5, #0xc]
cmp r7, #0
bne _0204B8E8
_0204B8B6:
add r0, r4, #0
bl sub_0204B510
add r6, r0, #0
add r0, r4, #0
bl sub_0204B510
lsl r0, r0, #0x10
add r7, r6, #0
orr r7, r0
add r0, r7, #0
bl sub_0206FE2C
add r1, sp, #8
ldrb r1, [r1, #0xb]
cmp r1, r0
bne _0204B8B6
ldr r0, [sp]
add r1, r7, #0
bl sub_02070068
cmp r0, #1
beq _0204B8B6
str r7, [r5, #0x10]
b _0204B8EA
_0204B8E8:
str r7, [r5, #0x10]
_0204B8EA:
add r0, sp, #0x20
ldrb r1, [r0, #0x14]
ldr r2, [r5, #0x14]
mov r0, #0x1f
bic r2, r0
mov r0, #0x1f
and r0, r1
orr r2, r0
ldr r0, _0204B9E8 ; =0xFFFFFC1F
mov r6, #0
and r2, r0
lsl r0, r1, #0x1b
lsr r1, r0, #0x16
orr r2, r1
ldr r1, _0204B9EC ; =0xFFFF83FF
add r4, r6, #0
and r2, r1
lsr r1, r0, #0x11
orr r2, r1
ldr r1, _0204B9F0 ; =0xFFF07FFF
and r2, r1
lsr r1, r0, #0xc
orr r2, r1
ldr r1, _0204B9F4 ; =0xFE0FFFFF
and r2, r1
lsr r1, r0, #7
orr r2, r1
ldr r1, _0204B9F8 ; =0xC1FFFFFF
lsr r0, r0, #2
and r1, r2
orr r0, r1
str r0, [r5, #0x14]
_0204B92A:
add r0, r4, #0
bl sub_020726C0
add r1, sp, #8
ldrb r1, [r1, #0xa]
tst r0, r1
beq _0204B93A
add r6, r6, #1
_0204B93A:
add r4, r4, #1
cmp r4, #6
blt _0204B92A
ldr r0, _0204B9FC ; =0x000001FE
add r1, r6, #0
bl _s32_div_f
cmp r0, #0xff
ble _0204B94E
mov r0, #0xff
_0204B94E:
lsl r0, r0, #0x18
mov r4, #0
lsr r6, r0, #0x18
_0204B954:
add r0, r4, #0
bl sub_020726C0
add r1, sp, #8
ldrb r1, [r1, #0xa]
tst r0, r1
beq _0204B966
add r0, r5, r4
strb r6, [r0, #0x18]
_0204B966:
add r4, r4, #1
cmp r4, #6
blt _0204B954
mov r0, #0
strb r0, [r5, #0x1e]
ldr r0, _0204BA00 ; =gGameLanguage
mov r1, #0x19
ldrb r0, [r0]
strb r0, [r5, #0x1f]
ldrh r0, [r5]
lsl r0, r0, #0x15
lsr r0, r0, #0x15
bl sub_0206FBE8
cmp r0, #0
beq _0204B9AA
ldr r2, [r5, #0x10]
mov r1, #1
tst r1, r2
beq _0204B996
add r1, r5, #0
add r1, #0x20
strb r0, [r1]
b _0204B9BC
_0204B996:
ldrh r0, [r5]
mov r1, #0x18
lsl r0, r0, #0x15
lsr r0, r0, #0x15
bl sub_0206FBE8
add r1, r5, #0
add r1, #0x20
strb r0, [r1]
b _0204B9BC
_0204B9AA:
ldrh r0, [r5]
mov r1, #0x18
lsl r0, r0, #0x15
lsr r0, r0, #0x15
bl sub_0206FBE8
add r1, r5, #0
add r1, #0x20
strb r0, [r1]
_0204B9BC:
add r1, r5, #0
ldr r0, [sp, #4]
add r1, #0x21
strb r0, [r1]
ldrh r0, [r5]
add r5, #0x22
ldr r1, [sp, #0x40]
lsl r0, r0, #0x15
lsr r0, r0, #0x15
add r2, r5, #0
bl GetSpeciesNameIntoArray
add r0, r7, #0
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_0204B9DC: .word 0xFFFFF800
_0204B9E0: .word 0xFFFF07FF
_0204B9E4: .word 0x020FBFA4
_0204B9E8: .word 0xFFFFFC1F
_0204B9EC: .word 0xFFFF83FF
_0204B9F0: .word 0xFFF07FFF
_0204B9F4: .word 0xFE0FFFFF
_0204B9F8: .word 0xC1FFFFFF
_0204B9FC: .word 0x000001FE
_0204BA00: .word gGameLanguage
thumb_func_end sub_0204B834
thumb_func_start sub_0204BA04
sub_0204BA04: ; 0x0204BA04
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r4, r2, #0
add r5, r1, #0
str r0, [sp, #0x14]
ldr r2, [sp, #0x3c]
add r6, r3, #0
add r0, r5, #0
add r1, r4, #0
bl sub_0204B7D0
add r7, r0, #0
lsl r0, r6, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldr r0, [sp, #0x30]
add r5, #0x30
str r0, [sp, #4]
ldr r0, [sp, #0x34]
add r1, r7, #0
str r0, [sp, #8]
ldr r0, [sp, #0x38]
add r2, r4, #0
str r0, [sp, #0xc]
ldr r0, [sp, #0x3c]
add r3, r5, #0
str r0, [sp, #0x10]
ldr r0, [sp, #0x14]
bl sub_0204BABC
add r4, r0, #0
add r0, r7, #0
bl FreeToHeap
add r0, r4, #0
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204BA04
thumb_func_start sub_0204BA50
sub_0204BA50: ; 0x0204BA50
push {r4, r5, r6, r7, lr}
sub sp, #0x24
str r0, [sp, #0x14]
ldr r0, [sp, #0x38]
add r5, r1, #0
str r0, [sp, #0x38]
ldr r0, [sp, #0x3c]
add r4, r2, #0
str r0, [sp, #0x3c]
ldr r2, [sp, #0x3c]
add r0, r5, #0
add r1, r4, #0
str r3, [sp, #0x18]
bl sub_0204B7D0
str r0, [sp, #0x1c]
add r0, r4, #0
bl sub_0204B4D4
ldr r6, [sp, #0x38]
str r0, [sp, #0x20]
mov r7, #0
add r4, r6, #0
add r5, #0x30
_0204BA80:
ldr r0, [r6, #8]
ldr r3, [sp, #0x38]
str r0, [sp]
ldr r0, [sp, #0x20]
add r1, r5, #0
str r0, [sp, #4]
lsl r0, r7, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
ldr r0, [sp, #0x18]
str r0, [sp, #0xc]
ldr r0, [sp, #0x3c]
str r0, [sp, #0x10]
ldrh r2, [r4, #4]
ldr r0, [sp, #0x14]
ldr r3, [r3]
bl sub_0204B834
add r7, r7, #1
add r6, r6, #4
add r4, r4, #2
add r5, #0x38
cmp r7, #2
blt _0204BA80
ldr r0, [sp, #0x1c]
bl FreeToHeap
add sp, #0x24
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204BA50
thumb_func_start sub_0204BABC
sub_0204BABC: ; 0x0204BABC
push {r4, r5, r6, r7, lr}
sub sp, #0x7c
str r0, [sp, #0x14]
ldr r0, [sp, #0x94]
str r2, [sp, #0x1c]
str r0, [sp, #0x94]
ldr r0, [sp, #0x98]
str r1, [sp, #0x18]
str r0, [sp, #0x98]
ldr r0, [sp, #0x9c]
str r3, [sp, #0x20]
str r0, [sp, #0x9c]
ldr r0, [sp, #0xa0]
str r0, [sp, #0xa0]
mov r0, #0
str r0, [sp, #0x28]
add r0, sp, #0x80
ldrb r0, [r0, #0x10]
cmp r0, #4
bls _0204BAE8
bl GF_AssertFail
_0204BAE8:
add r0, sp, #0x80
ldrb r6, [r0, #0x10]
mov r4, #0
str r4, [sp, #0x2c]
cmp r6, #0
beq _0204BBDA
add r0, sp, #0x6c
str r0, [sp, #0x24]
_0204BAF8:
ldr r0, [sp, #0x14]
bl sub_0204B510
ldr r1, [sp, #0x18]
ldrh r1, [r1, #2]
bl _s32_div_f
lsl r0, r1, #0x18
lsr r1, r0, #0x17
ldr r0, [sp, #0x18]
add r0, r0, r1
ldrh r0, [r0, #4]
str r0, [sp, #0x30]
ldr r1, [sp, #0x30]
add r0, sp, #0x3c
bl sub_0204BC8C
mov r7, #0
cmp r4, #0
ble _0204BB3C
add r5, sp, #0x6c
_0204BB22:
ldr r1, [r5]
add r0, sp, #0x4c
bl sub_0204BC8C
add r0, sp, #0x3c
ldrh r1, [r0, #0x10]
ldrh r0, [r0]
cmp r1, r0
beq _0204BB3C
add r7, r7, #1
add r5, r5, #4
cmp r7, r4
blt _0204BB22
_0204BB3C:
cmp r7, r4
bne _0204BBD6
ldr r0, [sp, #0x94]
cmp r0, #0
beq _0204BB64
mov r3, #0
cmp r6, #0
ble _0204BB60
add r1, r0, #0
add r0, sp, #0x3c
ldrh r2, [r0]
_0204BB52:
ldrh r0, [r1]
cmp r2, r0
beq _0204BB60
add r3, r3, #1
add r1, r1, #2
cmp r3, r6
blt _0204BB52
_0204BB60:
cmp r3, r6
bne _0204BBD6
_0204BB64:
ldr r0, [sp, #0x2c]
cmp r0, #0x32
bge _0204BBCC
mov r7, #0
cmp r4, #0
ble _0204BB90
add r5, sp, #0x6c
_0204BB72:
ldr r1, [r5]
add r0, sp, #0x4c
bl sub_0204BC8C
add r0, sp, #0x3c
ldrh r1, [r0, #0x1c]
cmp r1, #0
beq _0204BB88
ldrh r0, [r0, #0xc]
cmp r1, r0
beq _0204BB90
_0204BB88:
add r7, r7, #1
add r5, r5, #4
cmp r7, r4
blt _0204BB72
_0204BB90:
cmp r7, r4
beq _0204BB9C
ldr r0, [sp, #0x2c]
add r0, r0, #1
str r0, [sp, #0x2c]
b _0204BBD6
_0204BB9C:
ldr r0, [sp, #0x98]
cmp r0, #0
beq _0204BBCC
mov r3, #0
cmp r6, #0
ble _0204BBC0
add r1, r0, #0
add r0, sp, #0x3c
ldrh r2, [r0, #0xc]
_0204BBAE:
ldrh r0, [r1]
cmp r2, r0
bne _0204BBB8
cmp r0, #0
bne _0204BBC0
_0204BBB8:
add r3, r3, #1
add r1, r1, #2
cmp r3, r6
blt _0204BBAE
_0204BBC0:
cmp r3, r6
beq _0204BBCC
ldr r0, [sp, #0x2c]
add r0, r0, #1
str r0, [sp, #0x2c]
b _0204BBD6
_0204BBCC:
ldr r1, [sp, #0x30]
ldr r0, [sp, #0x24]
add r4, r4, #1
stmia r0!, {r1}
str r0, [sp, #0x24]
_0204BBD6:
cmp r4, r6
bne _0204BAF8
_0204BBDA:
ldr r0, [sp, #0x1c]
bl sub_0204B4D4
str r0, [sp, #0x38]
ldr r0, [sp, #0x14]
bl sub_0204B510
add r5, r0, #0
ldr r0, [sp, #0x14]
bl sub_0204B510
lsl r0, r0, #0x10
orr r0, r5
str r0, [sp, #0x34]
ldr r0, [sp, #0x2c]
cmp r0, #0x32
blt _0204BC00
mov r0, #1
str r0, [sp, #0x28]
_0204BC00:
mov r5, #0
cmp r4, #0
ble _0204BC40
add r7, sp, #0x6c
add r6, sp, #0x5c
_0204BC0A:
mov r0, #0
str r0, [sp]
ldr r0, [sp, #0x38]
ldr r1, [sp, #0x20]
str r0, [sp, #4]
lsl r0, r5, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
ldr r0, [sp, #0x28]
ldr r3, [sp, #0x34]
str r0, [sp, #0xc]
ldr r0, [sp, #0xa0]
str r0, [sp, #0x10]
ldr r2, [r7]
ldr r0, [sp, #0x14]
lsl r2, r2, #0x10
lsr r2, r2, #0x10
bl sub_0204B834
stmia r6!, {r0}
ldr r0, [sp, #0x20]
add r5, r5, #1
add r0, #0x38
add r7, r7, #4
str r0, [sp, #0x20]
cmp r5, r4
blt _0204BC0A
_0204BC40:
ldr r0, [sp, #0x9c]
cmp r0, #0
bne _0204BC4C
ldr r0, [sp, #0x28]
add sp, #0x7c
pop {r4, r5, r6, r7, pc}
_0204BC4C:
ldr r1, [sp, #0x34]
ldr r2, [sp, #0x9c]
str r1, [r0]
mov r3, #0
add r0, sp, #0x6c
add r1, sp, #0x5c
_0204BC58:
ldr r5, [r0]
ldr r4, [sp, #0x9c]
add r3, r3, #1
strh r5, [r4, #4]
ldr r4, [r1]
add r0, r0, #4
str r4, [r2, #8]
ldr r4, [sp, #0x9c]
add r1, r1, #4
add r4, r4, #2
add r2, r2, #4
str r4, [sp, #0x9c]
cmp r3, #2
blt _0204BC58
ldr r0, [sp, #0x28]
add sp, #0x7c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204BABC
thumb_func_start sub_0204BC7C
sub_0204BC7C: ; 0x0204BC7C
add r3, r0, #0
add r2, r1, #0
add r1, r3, #0
ldr r3, _0204BC88 ; =AllocAndReadWholeNarcMemberByIdPair
mov r0, #0xcc
bx r3
.balign 4, 0
_0204BC88: .word AllocAndReadWholeNarcMemberByIdPair
thumb_func_end sub_0204BC7C
thumb_func_start sub_0204BC8C
sub_0204BC8C: ; 0x0204BC8C
ldr r3, _0204BC94 ; =ReadWholeNarcMemberByIdPair
add r2, r1, #0
mov r1, #0xcd
bx r3
.balign 4, 0
_0204BC94: .word ReadWholeNarcMemberByIdPair
thumb_func_end sub_0204BC8C
thumb_func_start sub_0204BC98
sub_0204BC98: ; 0x0204BC98
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0xa
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r1, r6, #0
bl sub_02040374
add r5, #0x80
add r2, r0, #0
ldr r0, [r5]
ldr r1, [r4]
bl ov01_02204840
mov r0, #1
pop {r4, r5, r6, pc}
thumb_func_end sub_0204BC98
thumb_func_start sub_0204BCCC
sub_0204BCCC: ; 0x0204BCCC
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r6, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0xa
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
add r1, r6, #0
bl sub_02040374
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r1, [r4]
bl sub_020557C0
strh r0, [r6]
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204BCCC
thumb_func_start sub_0204BD04
sub_0204BD04: ; 0x0204BD04
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
lsl r0, r0, #0x18
lsr r4, r0, #0x18
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_02031B14
lsl r1, r7, #0x18
lsr r5, r1, #0x18
add r1, r5, #0
str r0, [sp]
bl sub_02031BA4
add r0, r4, r0
cmp r0, #0x63
bgt _0204BD6E
ldr r0, [sp]
add r1, r5, #0
add r2, r4, #0
bl sub_02031B68
mov r0, #1
b _0204BD70
_0204BD6E:
mov r0, #0
_0204BD70:
strh r0, [r6]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204BD04
thumb_func_start sub_0204BD78
sub_0204BD78: ; 0x0204BD78
str r1, [r0]
str r2, [r0, #4]
str r3, [r0, #8]
bx lr
thumb_func_end sub_0204BD78
thumb_func_start sub_0204BD80
sub_0204BD80: ; 0x0204BD80
push {r3, lr}
bl sub_0202E068
bl sub_0202E090
pop {r3, pc}
thumb_func_end sub_0204BD80
thumb_func_start sub_0204BD8C
sub_0204BD8C: ; 0x0204BD8C
push {r3, lr}
bl sub_0202E068
bl sub_0202E0AC
pop {r3, pc}
thumb_func_end sub_0204BD8C
thumb_func_start sub_0204BD98
sub_0204BD98: ; 0x0204BD98
push {r3, lr}
bl sub_0202E068
bl sub_0202E0C8
pop {r3, pc}
thumb_func_end sub_0204BD98
thumb_func_start sub_0204BDA4
sub_0204BDA4: ; 0x0204BDA4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r4, r0, #0
bl sub_0203FE2C
cmp r0, #8
bls _0204BDB4
b _0204BF8C
_0204BDB4:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0204BDC0: ; jump table
.short _0204BDD2 - _0204BDC0 - 2 ; case 0
.short _0204BDFC - _0204BDC0 - 2 ; case 1
.short _0204BE28 - _0204BDC0 - 2 ; case 2
.short _0204BE48 - _0204BDC0 - 2 ; case 3
.short _0204BE84 - _0204BDC0 - 2 ; case 4
.short _0204BEB6 - _0204BDC0 - 2 ; case 5
.short _0204BF22 - _0204BDC0 - 2 ; case 6
.short _0204BDE0 - _0204BDC0 - 2 ; case 7
.short _0204BDEE - _0204BDC0 - 2 ; case 8
_0204BDD2:
add r4, #0x80
ldr r0, [r4]
mov r1, #0x20
ldr r0, [r0, #0xc]
bl sub_0202E034
b _0204BF8C
_0204BDE0:
add r4, #0x80
ldr r0, [r4]
mov r1, #0
ldr r0, [r0, #0xc]
bl sub_0202E054
b _0204BF8C
_0204BDEE:
add r4, #0x80
ldr r0, [r4]
mov r1, #1
ldr r0, [r0, #0xc]
bl sub_0202E054
b _0204BF8C
_0204BDFC:
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
bl sub_0204BD80
cmp r0, #0
beq _0204BE22
mov r0, #1
strh r0, [r5]
b _0204BF8C
_0204BE22:
mov r0, #0
strh r0, [r5]
b _0204BF8C
_0204BE28:
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
bl sub_0204BD80
strh r0, [r5]
b _0204BF8C
_0204BE48:
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0204BD80
sub r0, r0, #1
lsl r5, r0, #4
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r7, _0204BF94 ; =0x020FC0E8
bl sub_0204BD8C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
ldr r2, [r7, r5]
blx r2
strh r0, [r6]
b _0204BF8C
_0204BE84:
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0204BD80
sub r0, r0, #1
ldr r1, _0204BF94 ; =0x020FC0E8
lsl r0, r0, #4
add r5, r1, r0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0204BD8C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r2, [r5, #4]
blx r2
add r4, #0x80
ldr r0, [r4]
bl sub_0204BD98
b _0204BF8C
_0204BEB6:
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0204BD80
sub r0, r0, #1
ldr r1, _0204BF94 ; =0x020FC0E8
lsl r0, r0, #4
add r5, r1, r0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp]
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0204BD8C
add r4, #0x80
add r3, r0, #0
ldr r1, [r4]
ldr r2, [r6]
add r0, sp, #0x14
bl sub_0204BD78
ldr r2, [sp]
ldr r3, [r5, #8]
add r0, sp, #0x14
add r1, r7, #0
blx r3
b _0204BF8C
_0204BF22:
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0204BD80
sub r0, r0, #1
ldr r1, _0204BF94 ; =0x020FC0E8
lsl r0, r0, #4
add r5, r1, r0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
bl sub_020402F0
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp, #4]
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0204BD8C
add r4, #0x80
add r3, r0, #0
ldr r1, [r4]
ldr r2, [r6]
add r0, sp, #8
bl sub_0204BD78
ldr r2, [sp, #4]
ldr r3, [r5, #0xc]
add r0, sp, #8
add r1, r7, #0
blx r3
_0204BF8C:
mov r0, #0
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
nop
_0204BF94: .word 0x020FC0E8
thumb_func_end sub_0204BDA4
thumb_func_start sub_0204BF98
sub_0204BF98: ; 0x0204BF98
push {r3, lr}
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
cmp r0, #6
bge _0204BFAC
mov r0, #1
pop {r3, pc}
_0204BFAC:
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0204BF98
thumb_func_start sub_0204BFB0
sub_0204BFB0: ; 0x0204BFB0
push {r3, lr}
sub sp, #8
add r1, r0, #0
mov r0, #2
str r0, [sp]
mov r3, #1
str r3, [sp, #4]
ldr r1, [r1, #0xc]
ldr r2, _0204BFCC ; =0x000001EA
mov r0, #0x20
bl sub_02054278
add sp, #8
pop {r3, pc}
.balign 4, 0
_0204BFCC: .word 0x000001EA
thumb_func_end sub_0204BFB0
thumb_func_start sub_0204BFD0
sub_0204BFD0: ; 0x0204BFD0
push {r4, lr}
add r4, r0, #0
mov r0, #0xd1
strh r0, [r1]
mov r0, #0xd
strh r0, [r2]
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r2, r0, #0
ldr r0, [r4, #4]
mov r1, #0
bl BufferPlayersName
pop {r4, pc}
thumb_func_end sub_0204BFD0
thumb_func_start sub_0204BFF0
sub_0204BFF0: ; 0x0204BFF0
push {r4, r5, r6, r7, lr}
sub sp, #0x3c
add r7, r0, #0
bl sub_0204BD8C
str r0, [sp, #0x14]
ldr r0, [r7, #0xc]
bl Sav2_PlayerData_GetProfileAddr
str r0, [sp, #0x10]
ldr r0, [r7, #0xc]
bl sub_020503D0
str r0, [sp, #0xc]
mov r0, #0
str r0, [sp, #8]
ldr r0, [sp, #0x14]
ldr r2, [sp, #8]
add r5, r0, #0
add r4, r0, #4
add r0, r4, #0
mov r1, #0x98
add r5, #0xf0
bl GetMonData
mov r1, #0
str r0, [sp, #4]
add r0, r4, #0
add r2, r1, #0
bl GetMonData
str r0, [sp, #0x18]
add r0, r4, #0
mov r1, #7
mov r2, #0
bl GetMonData
add r6, r0, #0
bl sub_020D34B0
bl PRandom
add r1, r0, #0
ldr r0, [sp, #0x18]
str r1, [sp, #0x38]
cmp r0, #0
beq _0204C074
cmp r0, #1
bne _0204C072
add r0, r6, #0
bl sub_02070068
cmp r0, #0
beq _0204C074
_0204C05C:
ldr r0, [sp, #0x38]
bl PRandom
add r1, r0, #0
add r0, r6, #0
str r1, [sp, #0x38]
bl sub_02070068
cmp r0, #0
bne _0204C05C
b _0204C074
_0204C072:
str r0, [sp, #0x38]
_0204C074:
ldr r1, [sp, #0x38]
add r0, r4, #0
bl sub_0207235C
add r0, r4, #0
bl sub_0206FF88
str r0, [sp, #0x34]
add r0, r4, #0
mov r1, #0x6f
add r2, sp, #0x34
bl sub_0206EC40
add r0, r4, #0
mov r1, #0x4b
mov r2, #0
bl GetMonData
str r0, [sp, #0x1c]
add r0, r4, #0
mov r1, #0x4a
mov r2, #0
bl GetMonData
str r0, [sp, #0x20]
add r0, r4, #0
mov r1, #0x49
mov r2, #0
bl GetMonData
str r0, [sp, #0x24]
add r0, r4, #0
mov r1, #0x48
mov r2, #0
bl GetMonData
str r0, [sp, #0x28]
add r0, r4, #0
mov r1, #0x46
mov r2, #0
bl GetMonData
add r6, r0, #0
add r0, r4, #0
mov r1, #0x47
mov r2, #0
bl GetMonData
add r1, r6, r0
ldr r0, [sp, #0x28]
add r1, r0, r1
ldr r0, [sp, #0x24]
add r1, r0, r1
ldr r0, [sp, #0x20]
add r1, r0, r1
ldr r0, [sp, #0x1c]
add r0, r0, r1
str r0, [sp, #0x34]
bne _0204C166
bl LCRandom
add r6, r0, #0
mov r0, #0x1f
and r0, r6
str r0, [sp, #0x38]
add r0, r4, #0
mov r1, #0x46
add r2, sp, #0x38
bl sub_0206EC40
mov r0, #0x3e
lsl r0, r0, #4
and r0, r6
lsr r0, r0, #5
str r0, [sp, #0x38]
add r0, r4, #0
mov r1, #0x47
add r2, sp, #0x38
bl sub_0206EC40
mov r0, #0x1f
lsl r0, r0, #0xa
and r0, r6
lsr r0, r0, #0xa
str r0, [sp, #0x38]
add r0, r4, #0
mov r1, #0x48
add r2, sp, #0x38
bl sub_0206EC40
bl LCRandom
add r6, r0, #0
mov r0, #0x1f
and r0, r6
str r0, [sp, #0x38]
add r0, r4, #0
mov r1, #0x49
add r2, sp, #0x38
bl sub_0206EC40
mov r0, #0x3e
lsl r0, r0, #4
and r0, r6
lsr r0, r0, #5
str r0, [sp, #0x38]
add r0, r4, #0
mov r1, #0x4a
add r2, sp, #0x38
bl sub_0206EC40
mov r0, #0x1f
lsl r0, r0, #0xa
and r0, r6
lsr r0, r0, #0xa
str r0, [sp, #0x38]
add r0, r4, #0
mov r1, #0x4b
add r2, sp, #0x38
bl sub_0206EC40
_0204C166:
ldr r0, [r7, #0xc]
bl sub_0202D95C
add r6, r0, #0
add r0, r4, #0
mov r1, #0x2e
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204C186
mov r0, #0x49
bl sub_0208E5E0
ldrb r1, [r5]
strb r1, [r6, r0]
_0204C186:
add r0, r4, #0
mov r1, #0x2f
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204C19E
mov r0, #0x4a
bl sub_0208E5E0
ldrb r1, [r5, #1]
strb r1, [r6, r0]
_0204C19E:
add r0, r4, #0
mov r1, #0x30
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204C1B6
mov r0, #0x4b
bl sub_0208E5E0
ldrb r1, [r5, #2]
strb r1, [r6, r0]
_0204C1B6:
add r0, r4, #0
mov r1, #0x31
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204C1CE
mov r0, #0x4c
bl sub_0208E5E0
ldrb r1, [r5, #3]
strb r1, [r6, r0]
_0204C1CE:
add r0, r4, #0
mov r1, #0x32
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204C1E6
mov r0, #0x4d
bl sub_0208E5E0
ldrb r1, [r5, #4]
strb r1, [r6, r0]
_0204C1E6:
add r0, r4, #0
mov r1, #0x33
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204C1FE
mov r0, #0x4e
bl sub_0208E5E0
ldrb r1, [r5, #5]
strb r1, [r6, r0]
_0204C1FE:
add r0, r4, #0
mov r1, #0x34
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204C216
mov r0, #0x4f
bl sub_0208E5E0
ldrb r1, [r5, #6]
strb r1, [r6, r0]
_0204C216:
add r0, r4, #0
mov r1, #0x67
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204C22E
mov r0, #0x19
bl sub_0208E5E0
ldrb r1, [r5, #7]
strb r1, [r6, r0]
_0204C22E:
add r0, r4, #0
mov r1, #0x68
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204C246
mov r0, #0x1a
bl sub_0208E5E0
ldrb r1, [r5, #8]
strb r1, [r6, r0]
_0204C246:
add r0, r4, #0
mov r1, #0x69
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204C25E
mov r0, #0x1b
bl sub_0208E5E0
ldrb r1, [r5, #9]
strb r1, [r6, r0]
_0204C25E:
ldr r0, [sp, #0x14]
ldr r0, [r0]
cmp r0, #0
bne _0204C2B6
ldr r0, [sp, #0x10]
mov r1, #0x20
bl sub_02028F68
add r5, r0, #0
ldr r0, [sp, #0x10]
bl PlayerProfile_GetTrainerID
str r0, [sp, #0x30]
ldr r0, [sp, #0x10]
bl PlayerProfile_GetTrainerGender
str r0, [sp, #0x2c]
mov r0, #0x20
bl AllocMonZeroed
str r0, [sp, #8]
ldr r1, [sp, #8]
add r0, r4, #0
bl sub_0207188C
ldr r0, [sp, #8]
mov r1, #0x91
add r2, r5, #0
bl sub_0206EC40
ldr r0, [sp, #8]
mov r1, #7
add r2, sp, #0x30
bl sub_0206EC40
ldr r0, [sp, #8]
mov r1, #0x9d
add r2, sp, #0x2c
bl sub_0206EC40
add r0, r5, #0
ldr r4, [sp, #8]
bl String_dtor
_0204C2B6:
ldr r1, [sp, #4]
mov r0, #2
bl sub_02017FE4
add r3, r0, #0
mov r0, #0x20
str r0, [sp]
ldr r1, [sp, #0x10]
add r0, r4, #0
mov r2, #4
bl sub_0208F260
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetMonData
ldr r1, _0204C32C ; =0x000001ED
cmp r0, r1
bne _0204C2FE
add r0, r4, #0
mov r1, #0x6e
mov r2, #0
bl GetMonData
cmp r0, #1
bne _0204C2FE
ldr r0, [sp, #0xc]
bl sub_02066E28
cmp r0, #0
bne _0204C2FE
ldr r0, [sp, #0xc]
mov r1, #1
bl sub_02066E38
_0204C2FE:
add r0, r4, #0
bl sub_0206E250
ldr r0, [r7, #0xc]
bl SavArray_PlayerParty_get
add r1, r4, #0
bl sub_02074524
cmp r0, #0
beq _0204C31C
ldr r0, [r7, #0xc]
add r1, r4, #0
bl sub_0202ECC0
_0204C31C:
ldr r0, [sp, #8]
cmp r0, #0
beq _0204C326
bl FreeToHeap
_0204C326:
add sp, #0x3c
pop {r4, r5, r6, r7, pc}
nop
_0204C32C: .word 0x000001ED
thumb_func_end sub_0204BFF0
thumb_func_start sub_0204C330
sub_0204C330: ; 0x0204C330
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
add r6, r2, #0
bl sub_0204BD8C
add r7, r0, #0
mov r0, #0xd1
strh r0, [r4]
mov r0, #7
strh r0, [r6]
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r2, r0, #0
ldr r0, [r5, #4]
mov r1, #0
bl BufferPlayersName
add r0, r7, #4
bl sub_02070DB0
add r2, r0, #0
ldr r0, [r5, #4]
mov r1, #1
bl BufferBoxMonSpeciesNameWithArticle
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204C330
thumb_func_start sub_0204C36C
sub_0204C36C: ; 0x0204C36C
mov r0, #0xd1
strh r0, [r1]
mov r0, #4
strh r0, [r2]
bx lr
.balign 4, 0
thumb_func_end sub_0204C36C
thumb_func_start sub_0204C378
sub_0204C378: ; 0x0204C378
ldr r3, _0204C37C ; =sub_0204BFF0
bx r3
.balign 4, 0
_0204C37C: .word sub_0204BFF0
thumb_func_end sub_0204C378
thumb_func_start sub_0204C380
sub_0204C380: ; 0x0204C380
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
add r6, r2, #0
bl sub_0204BD8C
add r7, r0, #0
mov r0, #0xd1
strh r0, [r4]
mov r0, #8
strh r0, [r6]
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r2, r0, #0
ldr r0, [r5, #4]
mov r1, #0
bl BufferPlayersName
add r0, r7, #4
bl sub_02070DB0
add r2, r0, #0
ldr r0, [r5, #4]
mov r1, #1
bl BufferBoxMonSpeciesName
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204C380
thumb_func_start sub_0204C3BC
sub_0204C3BC: ; 0x0204C3BC
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0xc]
bl sub_0207879C
add r4, r0, #0
add r0, r5, #0
bl sub_0204BD8C
add r1, r0, #0
ldr r1, [r1]
add r0, r4, #0
lsl r1, r1, #0x10
lsr r1, r1, #0x10
mov r2, #1
mov r3, #0x20
bl sub_02078384
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204C3BC
thumb_func_start sub_0204C3E4
sub_0204C3E4: ; 0x0204C3E4
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0xc]
bl sub_0207879C
add r6, r0, #0
add r0, r5, #0
bl sub_0204BD8C
ldr r0, [r0]
lsl r0, r0, #0x10
lsr r4, r0, #0x10
mov r0, #0x86
lsl r0, r0, #2
cmp r4, r0
bne _0204C410
ldr r0, [r5, #0xc]
bl sub_020503D0
mov r1, #0
bl sub_02066B9C
_0204C410:
add r0, r6, #0
add r1, r4, #0
mov r2, #1
mov r3, #0x20
bl sub_02078398
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204C3E4
thumb_func_start sub_0204C420
sub_0204C420: ; 0x0204C420
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
add r6, r2, #0
bl sub_0204BD8C
ldr r0, [r0]
lsl r0, r0, #0x10
lsr r7, r0, #0x10
mov r0, #0xd1
strh r0, [r4]
mov r0, #9
strh r0, [r6]
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r2, r0, #0
ldr r0, [r5, #4]
mov r1, #0
bl BufferPlayersName
ldr r0, [r5, #4]
mov r1, #1
add r2, r7, #0
bl BufferItemName
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204C420
thumb_func_start sub_0204C45C
sub_0204C45C: ; 0x0204C45C
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
ldr r0, [r0, #0xc]
add r6, r2, #0
bl sub_0207879C
ldr r0, [r5]
bl sub_0204BD8C
ldr r0, [r0]
mov r1, #0
lsl r0, r0, #0x10
lsr r2, r0, #0x10
mov r0, #0xd1
strh r0, [r4]
mov r0, #5
strh r0, [r6]
ldr r0, [r5, #4]
bl BufferItemName
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204C45C
thumb_func_start sub_0204C48C
sub_0204C48C: ; 0x0204C48C
mov r0, #1
bx lr
thumb_func_end sub_0204C48C
thumb_func_start sub_0204C490
sub_0204C490: ; 0x0204C490
push {r4, lr}
add r4, r0, #0
bl sub_0204BD8C
add r1, r0, #0
ldr r0, [r4, #0xc]
bl sub_020291D4
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0204C490
thumb_func_start sub_0204C4A4
sub_0204C4A4: ; 0x0204C4A4
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
add r6, r2, #0
bl sub_0204BD8C
add r7, r0, #0
mov r0, #0xd1
strh r0, [r4]
mov r0, #0xa
strh r0, [r6]
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r2, r0, #0
ldr r0, [r5, #4]
mov r1, #0
bl BufferPlayersName
add r0, r7, #0
mov r1, #0x20
bl sub_020290E4
add r4, r0, #0
mov r1, #1
str r1, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, [r5, #4]
add r2, r4, #0
mov r3, #0
bl BufferString
add r0, r4, #0
bl String_dtor
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204C4A4
thumb_func_start sub_0204C4F8
sub_0204C4F8: ; 0x0204C4F8
mov r0, #0xd1
strh r0, [r1]
mov r0, #6
strh r0, [r2]
bx lr
.balign 4, 0
thumb_func_end sub_0204C4F8
thumb_func_start sub_0204C504
sub_0204C504: ; 0x0204C504
mov r0, #0
bx lr
thumb_func_end sub_0204C504
thumb_func_start sub_0204C508
sub_0204C508: ; 0x0204C508
bx lr
.balign 4, 0
thumb_func_end sub_0204C508
thumb_func_start sub_0204C50C
sub_0204C50C: ; 0x0204C50C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
add r6, r2, #0
bl sub_0204BD8C
ldr r7, [r0]
mov r0, #0xd1
strh r0, [r4]
mov r0, #0xb
strh r0, [r6]
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r2, r0, #0
ldr r0, [r5, #4]
mov r1, #0
bl BufferPlayersName
ldr r0, [r5, #4]
mov r1, #1
add r2, r7, #0
bl sub_0200C408
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204C50C
thumb_func_start sub_0204C544
sub_0204C544: ; 0x0204C544
mov r0, #0xd1
strh r0, [r1]
mov r0, #0x1f
strh r0, [r2]
bx lr
.balign 4, 0
thumb_func_end sub_0204C544
thumb_func_start sub_0204C550
sub_0204C550: ; 0x0204C550
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0204BD8C
ldr r4, [r0, #4]
ldr r0, [r0]
cmp r0, #1
beq _0204C56A
cmp r0, #2
beq _0204C57A
cmp r0, #3
beq _0204C57E
b _0204C582
_0204C56A:
ldr r0, [r5, #0xc]
bl sub_0202CBE8
add r1, r4, #0
mov r2, #1
bl sub_0202CD3C
pop {r3, r4, r5, pc}
_0204C57A:
mov r0, #1
pop {r3, r4, r5, pc}
_0204C57E:
mov r0, #1
pop {r3, r4, r5, pc}
_0204C582:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204C550
thumb_func_start sub_0204C588
sub_0204C588: ; 0x0204C588
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0204BD8C
ldr r4, [r0, #4]
ldr r0, [r0]
cmp r0, #1
beq _0204C5A2
cmp r0, #2
beq _0204C5B2
cmp r0, #3
beq _0204C5C6
pop {r3, r4, r5, pc}
_0204C5A2:
ldr r0, [r5, #0xc]
bl sub_0202CBE8
add r1, r4, #0
mov r2, #1
bl sub_0202CCAC
pop {r3, r4, r5, pc}
_0204C5B2:
ldr r0, [r5, #0xc]
bl sub_0202C028
bl sub_0202B9E0
add r1, r4, #0
mov r2, #1
bl sub_0202BB08
pop {r3, r4, r5, pc}
_0204C5C6:
ldr r0, [r5, #0xc]
bl sub_0202C028
bl sub_0202B9E0
add r1, r4, #0
bl sub_0202BBD8
pop {r3, r4, r5, pc}
thumb_func_end sub_0204C588
thumb_func_start sub_0204C5D8
sub_0204C5D8: ; 0x0204C5D8
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
add r6, r2, #0
bl sub_0204BD8C
ldr r2, [r0, #4]
ldr r0, [r0]
cmp r0, #1
beq _0204C5F8
cmp r0, #2
beq _0204C602
cmp r0, #3
beq _0204C60C
b _0204C614
_0204C5F8:
ldr r0, [r5, #4]
mov r1, #1
bl BufferSealName
b _0204C614
_0204C602:
ldr r0, [r5, #4]
mov r1, #1
bl BufferFashionName
b _0204C614
_0204C60C:
ldr r0, [r5, #4]
mov r1, #1
bl BufferContestBackgroundName
_0204C614:
mov r0, #0xd1
strh r0, [r4]
mov r0, #0xc
strh r0, [r6]
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r2, r0, #0
ldr r0, [r5, #4]
mov r1, #0
bl BufferPlayersName
pop {r4, r5, r6, pc}
thumb_func_end sub_0204C5D8
thumb_func_start sub_0204C630
sub_0204C630: ; 0x0204C630
mov r0, #0xd1
strh r0, [r1]
mov r0, #6
strh r0, [r2]
bx lr
.balign 4, 0
thumb_func_end sub_0204C630
thumb_func_start sub_0204C63C
sub_0204C63C: ; 0x0204C63C
mov r0, #0
bx lr
thumb_func_end sub_0204C63C
thumb_func_start sub_0204C640
sub_0204C640: ; 0x0204C640
bx lr
.balign 4, 0
thumb_func_end sub_0204C640
thumb_func_start sub_0204C644
sub_0204C644: ; 0x0204C644
bx lr
.balign 4, 0
thumb_func_end sub_0204C644
thumb_func_start sub_0204C648
sub_0204C648: ; 0x0204C648
mov r0, #0xd1
strh r0, [r1]
mov r0, #0x1f
strh r0, [r2]
bx lr
.balign 4, 0
thumb_func_end sub_0204C648
thumb_func_start sub_0204C654
sub_0204C654: ; 0x0204C654
mov r0, #0
bx lr
thumb_func_end sub_0204C654
thumb_func_start sub_0204C658
sub_0204C658: ; 0x0204C658
bx lr
.balign 4, 0
thumb_func_end sub_0204C658
thumb_func_start sub_0204C65C
sub_0204C65C: ; 0x0204C65C
bx lr
.balign 4, 0
thumb_func_end sub_0204C65C
thumb_func_start sub_0204C660
sub_0204C660: ; 0x0204C660
mov r0, #0xd1
strh r0, [r1]
mov r0, #0x1f
strh r0, [r2]
bx lr
.balign 4, 0
thumb_func_end sub_0204C660
thumb_func_start sub_0204C66C
sub_0204C66C: ; 0x0204C66C
mov r0, #0
bx lr
thumb_func_end sub_0204C66C
thumb_func_start sub_0204C670
sub_0204C670: ; 0x0204C670
bx lr
.balign 4, 0
thumb_func_end sub_0204C670
thumb_func_start sub_0204C674
sub_0204C674: ; 0x0204C674
bx lr
.balign 4, 0
thumb_func_end sub_0204C674
thumb_func_start sub_0204C678
sub_0204C678: ; 0x0204C678
mov r0, #0xd1
strh r0, [r1]
mov r0, #0x1f
strh r0, [r2]
bx lr
.balign 4, 0
thumb_func_end sub_0204C678
thumb_func_start sub_0204C684
sub_0204C684: ; 0x0204C684
mov r0, #0
bx lr
thumb_func_end sub_0204C684
thumb_func_start sub_0204C688
sub_0204C688: ; 0x0204C688
bx lr
.balign 4, 0
thumb_func_end sub_0204C688
thumb_func_start sub_0204C68C
sub_0204C68C: ; 0x0204C68C
bx lr
.balign 4, 0
thumb_func_end sub_0204C68C
thumb_func_start sub_0204C690
sub_0204C690: ; 0x0204C690
mov r0, #0xd1
strh r0, [r1]
mov r0, #0x1f
strh r0, [r2]
bx lr
.balign 4, 0
thumb_func_end sub_0204C690
thumb_func_start sub_0204C69C
sub_0204C69C: ; 0x0204C69C
mov r0, #0
bx lr
thumb_func_end sub_0204C69C
thumb_func_start sub_0204C6A0
sub_0204C6A0: ; 0x0204C6A0
bx lr
.balign 4, 0
thumb_func_end sub_0204C6A0
thumb_func_start sub_0204C6A4
sub_0204C6A4: ; 0x0204C6A4
bx lr
.balign 4, 0
thumb_func_end sub_0204C6A4
thumb_func_start sub_0204C6A8
sub_0204C6A8: ; 0x0204C6A8
mov r0, #0xd1
strh r0, [r1]
mov r0, #0x1f
strh r0, [r2]
bx lr
.balign 4, 0
thumb_func_end sub_0204C6A8
thumb_func_start sub_0204C6B4
sub_0204C6B4: ; 0x0204C6B4
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0204BD8C
add r4, r0, #0
ldr r0, [r5, #0xc]
bl sub_020325EC
ldrb r2, [r4]
mov r1, #0
cmp r2, #0x1b
bhs _0204C6CE
add r1, r2, #0
_0204C6CE:
bl sub_0203272C
cmp r0, #0
bne _0204C6DA
mov r0, #1
pop {r3, r4, r5, pc}
_0204C6DA:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204C6B4
thumb_func_start sub_0204C6E0
sub_0204C6E0: ; 0x0204C6E0
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0xc]
bl sub_020325EC
add r4, r0, #0
add r0, r5, #0
bl sub_0204BD8C
ldrb r1, [r0]
cmp r1, #0x1b
bhs _0204C6FE
add r0, r4, #0
bl sub_02032744
_0204C6FE:
pop {r3, r4, r5, pc}
thumb_func_end sub_0204C6E0
thumb_func_start sub_0204C700
sub_0204C700: ; 0x0204C700
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
add r6, r2, #0
bl sub_0204BD8C
add r7, r0, #0
mov r0, #0xd1
strh r0, [r4]
mov r0, #0x13
strh r0, [r6]
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r2, r0, #0
ldr r0, [r5, #4]
mov r1, #0
bl BufferPlayersName
ldrb r2, [r7]
ldr r0, [r5, #4]
mov r1, #1
bl sub_0200CAD8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204C700
thumb_func_start sub_0204C738
sub_0204C738: ; 0x0204C738
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
add r6, r2, #0
bl sub_0204BD8C
add r7, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_020325EC
mov r0, #0xd1
strh r0, [r4]
mov r0, #0x1a
strh r0, [r6]
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r2, r0, #0
ldr r0, [r5, #4]
mov r1, #0
bl BufferPlayersName
ldrb r2, [r7]
ldr r0, [r5, #4]
mov r1, #1
bl sub_0200CAD8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204C738
thumb_func_start sub_0204C778
sub_0204C778: ; 0x0204C778
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0xc]
bl sub_0207879C
ldr r0, [r4, #0xc]
bl sub_0202FA64
bl sub_0202FAB0
cmp r0, #0x24
bhs _0204C794
mov r0, #1
pop {r4, pc}
_0204C794:
mov r0, #0
pop {r4, pc}
thumb_func_end sub_0204C778
thumb_func_start sub_0204C798
sub_0204C798: ; 0x0204C798
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0204BD8C
add r5, r0, #0
add r0, r4, #0
bl sub_0203E344
bl sub_0202FA64
add r4, r0, #0
bl sub_0202FA88
add r2, r0, #0
cmp r2, #0xff
bne _0204C7BE
bl GF_AssertFail
pop {r3, r4, r5, pc}
_0204C7BE:
add r0, r4, #0
add r1, r5, #0
bl sub_0202FAF0
pop {r3, r4, r5, pc}
thumb_func_end sub_0204C798
thumb_func_start sub_0204C7C8
sub_0204C7C8: ; 0x0204C7C8
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
add r6, r2, #0
bl sub_0204BD8C
mov r0, #0xd1
strh r0, [r4]
mov r0, #0x12
strh r0, [r6]
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r2, r0, #0
ldr r0, [r5, #4]
mov r1, #0
bl BufferPlayersName
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204C7C8
thumb_func_start sub_0204C7F4
sub_0204C7F4: ; 0x0204C7F4
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
add r6, r1, #0
add r4, r2, #0
bl sub_0204BD8C
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0207879C
mov r1, #0xd1
strh r1, [r6]
ldr r1, _0204C838 ; =0x000001F5
mov r2, #1
mov r3, #0xb
bl sub_020784B0
cmp r0, #0
bne _0204C820
mov r0, #0x18
b _0204C822
_0204C820:
mov r0, #0x19
_0204C822:
strh r0, [r4]
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r2, r0, #0
ldr r0, [r5, #4]
mov r1, #0
bl BufferPlayersName
pop {r4, r5, r6, pc}
.balign 4, 0
_0204C838: .word 0x000001F5
thumb_func_end sub_0204C7F4
thumb_func_start sub_0204C83C
sub_0204C83C: ; 0x0204C83C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0202ED88
mov r1, #0
add r2, sp, #0
bl sub_0202F224
cmp r0, #0
bne _0204C86C
mov r0, #0
b _0204C86E
_0204C86C:
mov r0, #1
_0204C86E:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0204C83C
thumb_func_start sub_0204C874
sub_0204C874: ; 0x0204C874
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
cmp r0, #2
bne _0204C8AA
add r0, r4, #0
bl sub_02066880
add r5, #0x80
ldr r0, [r5]
bl sub_020557E0
b _0204C8D0
_0204C8AA:
cmp r0, #0
bne _0204C8B8
add r5, #0x80
ldr r0, [r5]
bl sub_020557F8
b _0204C8D0
_0204C8B8:
cmp r0, #1
bne _0204C8CC
add r0, r4, #0
bl sub_02066890
add r5, #0x80
ldr r0, [r5]
bl sub_02055828
b _0204C8D0
_0204C8CC:
bl GF_AssertFail
_0204C8D0:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0204C874
thumb_func_start sub_0204C8D4
sub_0204C8D4: ; 0x0204C8D4
push {r4, r5, r6, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020270F8
add r6, r0, #0
mov r0, #0x20
bl AllocMonZeroed
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
add r0, r6, #0
bl sub_0202EC98
cmp r0, #6
bne _0204C90C
mov r0, #1
b _0204C90E
_0204C90C:
mov r0, #0
_0204C90E:
strh r0, [r4]
add r0, r5, #0
bl FreeToHeap
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204C8D4
thumb_func_start sub_0204C91C
sub_0204C91C: ; 0x0204C91C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r6, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020270F8
add r7, r0, #0
add r0, r6, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020270D8
str r0, [sp, #8]
mov r0, #0x20
bl AllocMonZeroed
add r4, r0, #0
add r0, r6, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
str r0, [sp, #4]
add r0, r6, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202A634
mov r5, #0
_0204C960:
add r0, r7, #0
add r1, r5, #0
add r2, r4, #0
bl sub_0202EC70
mov r0, #0x20
str r0, [sp]
ldr r1, [sp, #4]
add r0, r4, #0
mov r2, #2
mov r3, #0
bl sub_0208F260
add r0, r4, #0
bl sub_02070DB0
add r1, r0, #0
ldr r0, [sp, #8]
bl sub_02073BB8
cmp r0, #0
bne _0204C990
bl GF_AssertFail
_0204C990:
add r0, r6, #0
add r0, #0x80
ldr r0, [r0]
add r1, r4, #0
ldr r0, [r0, #0xc]
bl sub_0202ECC0
add r5, r5, #1
cmp r5, #6
blt _0204C960
add r0, r4, #0
bl FreeToHeap
add r0, r7, #0
bl sub_0202EB74
add r6, #0x80
ldr r0, [r6]
bl sub_02093070
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204C91C
thumb_func_start sub_0204C9C0
sub_0204C9C0: ; 0x0204C9C0
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, r0, #0
cmp r6, #3
bhi _0204CA4C
add r0, r6, r6
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0204C9FA: ; jump table
.short _0204CA02 - _0204C9FA - 2 ; case 0
.short _0204CA0E - _0204C9FA - 2 ; case 1
.short _0204CA1A - _0204C9FA - 2 ; case 2
.short _0204CA26 - _0204C9FA - 2 ; case 3
_0204CA02:
add r4, #0x80
ldr r0, [r4]
bl sub_020558D0
strh r0, [r5]
b _0204CA4C
_0204CA0E:
add r4, #0x80
ldr r0, [r4]
bl sub_020558E0
strh r0, [r5]
b _0204CA4C
_0204CA1A:
add r4, #0x80
ldr r0, [r4]
bl sub_020558F0
strh r0, [r5]
b _0204CA4C
_0204CA26:
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020558E0
add r6, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020558D0
add r4, #0x80
add r7, r0, #0
ldr r0, [r4]
bl sub_020558F0
add r0, r7, r0
add r0, r6, r0
strh r0, [r5]
_0204CA4C:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204C9C0
thumb_func_start sub_0204CA50
sub_0204CA50: ; 0x0204CA50
push {r3, r4, r5, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE44
add r1, r0, #0
add r0, r5, #0
bl sub_02029044
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0204CA50
thumb_func_start sub_0204CA74
sub_0204CA74: ; 0x0204CA74
push {r3, r4, r5, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE44
add r1, r0, #0
add r0, r5, #0
bl sub_02029068
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0204CA74
thumb_func_start sub_0204CA98
sub_0204CA98: ; 0x0204CA98
push {r3, r4, r5, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r1, r0, #0
add r0, r5, #0
bl sub_02029068
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204CA98
thumb_func_start sub_0204CAC8
sub_0204CAC8: ; 0x0204CAC8
push {r4, r5, r6, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE44
add r4, r0, #0
add r0, r6, #0
bl sub_02029024
cmp r0, r4
bhs _0204CB04
mov r0, #0
b _0204CB06
_0204CB04:
mov r0, #1
_0204CB06:
strh r0, [r5]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_0204CAC8
thumb_func_start sub_0204CB0C
sub_0204CB0C: ; 0x0204CB0C
push {r4, r5, r6, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r4, r0, #0
add r0, r6, #0
bl sub_02029024
cmp r0, r4
bhs _0204CB52
mov r0, #0
b _0204CB54
_0204CB52:
mov r0, #1
_0204CB54:
strh r0, [r5]
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204CB0C
thumb_func_start sub_0204CB5C
sub_0204CB5C: ; 0x0204CB5C
push {r3, r4, r5, lr}
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
ldr r5, [r0, #0xc]
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_020293D4
ldr r1, [r4]
bl sub_0206CE94
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0204CB5C
thumb_func_start sub_0204CB7C
sub_0204CB7C: ; 0x0204CB7C
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r1, [r1]
ldr r4, [r1, #0xc]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
mov r1, #7
bl SavArray_get
bl sub_0206CFD4
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204CB7C
thumb_func_start sub_0204CBAC
sub_0204CBAC: ; 0x0204CBAC
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
mov r1, #7
ldr r0, [r0, #0xc]
bl SavArray_get
bl sub_0206C708
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0204CBAC
thumb_func_start sub_0204CBC4
sub_0204CBC4: ; 0x0204CBC4
push {r4, r5, r6, lr}
add r4, r0, #0
add r0, #0x80
ldr r5, [r0]
mov r1, #7
ldr r0, [r5, #0xc]
bl SavArray_get
add r6, r0, #0
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
add r2, r0, #0
add r0, r6, #0
add r1, r5, #0
bl sub_0206CA70
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_0204CBC4
thumb_func_start sub_0204CBF8
sub_0204CBF8: ; 0x0204CBF8
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r0, #0x80
ldr r5, [r0]
mov r1, #0x10
add r0, r5, #0
bl sub_020402F0
add r7, r0, #0
add r0, r4, #0
ldr r6, [r5, #0xc]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp]
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r4, r0, #0
add r0, r6, #0
mov r1, #7
bl SavArray_get
add r6, r0, #0
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
lsl r3, r4, #0x18
ldr r1, [r7]
add r2, r6, #0
lsr r3, r3, #0x18
bl sub_0206C078
ldr r1, [sp]
strh r0, [r1]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204CBF8
thumb_func_start sub_0204CC58
sub_0204CC58: ; 0x0204CC58
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r0, #0x80
ldr r5, [r0]
mov r1, #0x10
add r0, r5, #0
bl sub_020402F0
add r7, r0, #0
add r0, r4, #0
ldr r5, [r5, #0xc]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
mov r1, #7
bl SavArray_get
lsl r1, r4, #0x18
ldr r2, [r7]
lsr r1, r1, #0x18
bl sub_0206C190
strh r0, [r6]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204CC58
thumb_func_start sub_0204CCAC
sub_0204CCAC: ; 0x0204CCAC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
ldr r4, [r0, #0xc]
bl sub_020402F0
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r5, r0, #0
add r0, r4, #0
mov r1, #7
bl SavArray_get
ldr r2, [r6]
add r1, r5, #0
bl sub_0206C1A0
strh r0, [r7]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204CCAC
thumb_func_start sub_0204CCFC
sub_0204CCFC: ; 0x0204CCFC
push {r4, r5, r6, lr}
add r4, r0, #0
add r0, #0x80
ldr r5, [r0]
mov r1, #0x10
add r0, r5, #0
bl sub_020402F0
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
ldr r0, [r5, #0xc]
bl sub_020293D4
ldr r1, [r6]
bl sub_0206CF78
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204CCFC
thumb_func_start sub_0204CD34
sub_0204CD34: ; 0x0204CD34
push {r4, r5, r6, lr}
add r6, r0, #0
add r1, r6, #0
add r1, #0x80
ldr r4, [r1]
ldr r5, [r4, #0xc]
bl sub_0203FE2C
add r6, #0x80
add r1, r0, #0
ldr r0, [r6]
bl sub_020403AC
add r6, r0, #0
ldr r0, [r4, #0xc]
bl SavArray_PlayerParty_get
add r4, r0, #0
add r0, r5, #0
mov r1, #7
bl SavArray_get
lsl r1, r6, #0x18
add r2, r0, #0
add r0, r4, #0
lsr r1, r1, #0x18
add r3, r5, #0
bl sub_0206BED8
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204CD34
thumb_func_start sub_0204CD74
sub_0204CD74: ; 0x0204CD74
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x10
ldr r5, [r0, #0xc]
bl sub_020402F0
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #8]
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #0xc]
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_020293D4
lsl r1, r4, #0x18
lsr r1, r1, #0x18
str r1, [sp]
ldr r1, [r6]
ldr r2, [sp, #8]
ldr r3, [sp, #0xc]
str r1, [sp, #4]
lsl r1, r7, #0x18
lsl r2, r2, #0x18
lsl r3, r3, #0x18
lsr r1, r1, #0x18
lsr r2, r2, #0x18
lsr r3, r3, #0x18
bl sub_0206CEE0
mov r0, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204CD74
thumb_func_start sub_0204CE00
sub_0204CE00: ; 0x0204CE00
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r1, [r1]
ldr r4, [r1, #0xc]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
mov r1, #7
bl SavArray_get
bl sub_0206D02C
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204CE00
thumb_func_start sub_0204CE30
sub_0204CE30: ; 0x0204CE30
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r1, [r1]
ldr r4, [r1, #0xc]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
mov r1, #7
bl SavArray_get
bl sub_020292F8
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204CE30
thumb_func_start sub_0204CE60
sub_0204CE60: ; 0x0204CE60
push {r4, r5, r6, r7, lr}
sub sp, #0x2c
add r0, #0x80
ldr r6, [r0]
ldr r0, [r6, #0xc]
bl sub_020293D4
str r0, [sp, #0x24]
mov r0, #5
mov r5, #0
str r0, [sp, #0x18]
mov r7, #8
_0204CE78:
add r1, r5, #0
ldr r0, [r6, #0x3c]
add r1, #0xfa
bl sub_0205EE60
cmp r0, #0
beq _0204CE8A
bl sub_0205E400
_0204CE8A:
ldr r0, [sp, #0x24]
add r1, r5, #0
bl sub_020292DC
bl sub_020292E4
mov r1, #5
mov r2, #0
add r4, r0, #0
bl GetBoxMonData
cmp r0, #0
beq _0204CEFA
add r0, r4, #0
mov r1, #0x70
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x20]
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x1c]
add r0, r4, #0
mov r1, #0x6f
mov r2, #0
bl GetBoxMonData
str r0, [sp, #0x28]
add r0, r4, #0
bl sub_02070044
ldr r1, [sp, #0x28]
str r1, [sp]
mov r1, #1
str r1, [sp, #4]
ldr r1, [sp, #0x18]
str r7, [sp, #8]
str r1, [sp, #0xc]
ldr r1, [r6, #0x20]
ldr r1, [r1]
str r1, [sp, #0x10]
str r0, [sp, #0x14]
lsl r1, r5, #0x18
ldr r0, [r6, #0x3c]
ldr r2, [sp, #0x1c]
ldr r3, [sp, #0x20]
lsr r1, r1, #0x18
bl sub_0204CF10
_0204CEFA:
ldr r0, [sp, #0x18]
add r5, r5, #1
add r0, r0, #4
add r7, r7, #2
str r0, [sp, #0x18]
cmp r5, #2
blt _0204CE78
mov r0, #0
add sp, #0x2c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204CE60
thumb_func_start sub_0204CF10
sub_0204CF10: ; 0x0204CF10
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r6, r2, #0
add r4, r0, #0
add r7, r3, #0
add r5, r1, #0
ldr r2, [sp, #0x20]
add r0, r6, #0
add r1, r7, #0
bl sub_02069D70
str r0, [sp]
mov r0, #0xb
str r0, [sp, #4]
ldr r0, [sp, #0x30]
ldr r1, [sp, #0x28]
str r0, [sp, #8]
ldr r2, [sp, #0x2c]
ldr r3, [sp, #0x24]
add r0, r4, #0
bl sub_0205E294
add r4, r0, #0
bne _0204CF44
bl GF_AssertFail
_0204CF44:
add r5, #0xfa
add r0, r4, #0
add r1, r5, #0
bl sub_0205F248
add r0, r4, #0
mov r1, #0
bl sub_0205F268
add r0, r4, #0
mov r1, #0
bl sub_0205F270
add r0, r4, #0
mov r1, #0
bl sub_0205F278
add r0, r4, #0
mov r1, #0
mov r2, #2
bl sub_0205F2D0
lsl r2, r7, #0x18
ldr r3, [sp, #0x34]
add r0, r4, #0
add r1, r6, #0
lsr r2, r2, #0x18
bl sub_02069EE8
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl sub_0205F318
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl sub_0205F320
add r0, r4, #0
mov r1, #4
bl sub_0205F20C
add r0, r4, #0
mov r1, #0
bl sub_0205F214
add r0, r4, #0
mov r1, #1
bl sub_0205F89C
add r0, r4, #0
bl ov01_021F9048
add r0, r4, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204CF10
thumb_func_start sub_0204CFB8
sub_0204CFB8: ; 0x0204CFB8
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r6, r0, #0
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
add r1, r7, #0
bl GetPartyMonByIndex
mov r2, #0
add r4, r0, #0
strh r2, [r6]
cmp r7, #0xff
bne _0204D000
add r0, r2, #0
pop {r3, r4, r5, r6, r7, pc}
_0204D000:
mov r1, #6
bl GetMonData
cmp r0, #0x70
bne _0204D034
ldr r0, [r5, #0xc]
bl sub_0207879C
mov r1, #0x70
mov r2, #1
mov r3, #0xb
bl sub_02078398
cmp r0, #0
bne _0204D026
mov r0, #0xff
strh r0, [r6]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0204D026:
mov r0, #0
str r0, [sp]
add r0, r4, #0
mov r1, #6
add r2, sp, #0
bl sub_0206EC40
_0204D034:
add r0, r4, #0
mov r1, #0x70
mov r2, #0
bl GetMonData
cmp r0, #0
ble _0204D07E
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetMonData
ldr r2, _0204D084 ; =0x000001DF
cmp r0, r2
beq _0204D06A
add r1, r2, #0
add r1, #8
cmp r0, r1
beq _0204D062
add r2, #0xd
cmp r0, r2
beq _0204D076
b _0204D07E
_0204D062:
add r0, r4, #0
bl sub_02071CA0
b _0204D07E
_0204D06A:
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl sub_02071EC0
b _0204D07E
_0204D076:
add r0, r4, #0
mov r1, #0
bl sub_02071D6C
_0204D07E:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_0204D084: .word 0x000001DF
thumb_func_end sub_0204CFB8
thumb_func_start sub_0204D088
sub_0204D088: ; 0x0204D088
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0x20]
ldr r0, [r0]
bl sub_0203B36C
add r6, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r5, [r0]
ldr r0, [r5, #0xc]
bl sub_0202A634
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #0x14]
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #0x18]
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #0x1c]
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #0x20]
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
ldr r0, [sp, #0x1c]
lsl r3, r7, #0x18
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldr r0, [sp, #0x20]
ldr r2, [sp, #0x14]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
ldr r0, [sp, #0x18]
lsr r3, r3, #0x18
str r0, [sp, #8]
str r6, [sp, #0xc]
mov r0, #0x18
str r0, [sp, #0x10]
ldr r1, [r5, #0xc]
mov r0, #0xb
bl sub_020541DC
strh r0, [r4]
mov r0, #0
add sp, #0x24
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_0204D088
thumb_func_start sub_0204D154
sub_0204D154: ; 0x0204D154
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
lsl r1, r4, #0x18
lsr r1, r1, #0x18
bl sub_0207456C
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0204D154
thumb_func_start sub_0204D180
sub_0204D180: ; 0x0204D180
push {r4, r5, r6, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
add r1, r6, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r5, r0, #0
bl GetMonData
cmp r0, #0
bne _0204D1D4
add r0, r5, #0
mov r1, #5
mov r2, #0
bl GetMonData
b _0204D1D6
_0204D1D4:
mov r0, #0
_0204D1D6:
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_0204D180
thumb_func_start sub_0204D1DC
sub_0204D1DC: ; 0x0204D1DC
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r0, #0x80
ldr r5, [r0]
add r0, r5, #0
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
ldrh r1, [r6]
bl GetPartyMonByIndex
mov r1, #7
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r5, r0, #0x10
add r0, r7, #0
bl PlayerProfile_GetTrainerID
lsl r0, r0, #0x10
lsr r0, r0, #0x10
cmp r5, r0
bne _0204D240
mov r0, #0
b _0204D242
_0204D240:
mov r0, #1
_0204D242:
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204D1DC
thumb_func_start sub_0204D248
sub_0204D248: ; 0x0204D248
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
add r0, #0x80
ldr r4, [r0]
ldr r0, [r4, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp, #8]
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r5, r0, #0
ldr r0, [r4, #0xc]
bl SavArray_PlayerParty_get
add r6, r0, #0
bl GetPartyCount
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r0, #6
bhs _0204D2C8
mov r0, #0xb
bl AllocMonZeroed
add r4, r0, #0
bl ZeroMonData
mov r0, #1
add r1, r5, #0
bl sub_02017FE4
mov r1, #3
str r1, [sp]
str r0, [sp, #4]
ldr r1, [sp, #8]
add r0, r4, #0
mov r2, #1
add r3, r7, #0
bl sub_0206C8B8
add r0, r6, #0
add r1, r4, #0
bl sub_02074524
add r0, r4, #0
bl FreeToHeap
_0204D2C8:
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204D248
thumb_func_start sub_0204D2D0
sub_0204D2D0: ; 0x0204D2D0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r7, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r4, #0
add r2, r6, #0
add r3, r7, #0
bl sub_020542D0
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204D2D0
thumb_func_start sub_0204D328
sub_0204D328: ; 0x0204D328
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r7, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r4, r0, #0
ldr r0, [r7, #0xc]
bl SavArray_PlayerParty_get
add r1, r4, #0
bl GetPartyMonByIndex
mov r2, #0
mov r1, #0x4c
add r4, r0, #0
strh r2, [r6]
bl GetMonData
cmp r0, #0
beq _0204D38A
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0204D38A:
add r0, r4, #0
mov r1, #0x36
mov r2, #0
bl GetMonData
cmp r5, r0
beq _0204D3C2
add r0, r4, #0
mov r1, #0x37
mov r2, #0
bl GetMonData
cmp r5, r0
beq _0204D3C2
add r0, r4, #0
mov r1, #0x38
mov r2, #0
bl GetMonData
cmp r5, r0
beq _0204D3C2
add r0, r4, #0
mov r1, #0x39
mov r2, #0
bl GetMonData
cmp r5, r0
bne _0204D3C6
_0204D3C2:
mov r0, #1
strh r0, [r6]
_0204D3C6:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204D328
thumb_func_start sub_0204D3CC
sub_0204D3CC: ; 0x0204D3CC
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r1, [r1]
str r1, [sp, #4]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp]
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r5, r0, #0
ldr r0, [sp, #4]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
lsl r0, r0, #0x18
lsr r7, r0, #0x18
ldr r1, _0204D484 ; =0x00000006
ldr r0, [sp]
ldr r6, _0204D488 ; =0x00000000
strh r1, [r0]
beq _0204D47C
_0204D418:
ldr r0, [sp, #4]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r6, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r4, r0, #0
bl GetMonData
cmp r0, #0
bne _0204D472
add r0, r4, #0
mov r1, #0x36
mov r2, #0
bl GetMonData
cmp r5, r0
beq _0204D46C
add r0, r4, #0
mov r1, #0x37
mov r2, #0
bl GetMonData
cmp r5, r0
beq _0204D46C
add r0, r4, #0
mov r1, #0x38
mov r2, #0
bl GetMonData
cmp r5, r0
beq _0204D46C
add r0, r4, #0
mov r1, #0x39
mov r2, #0
bl GetMonData
cmp r5, r0
bne _0204D472
_0204D46C:
ldr r0, [sp]
strh r6, [r0]
b _0204D47C
_0204D472:
add r0, r6, #1
lsl r0, r0, #0x18
lsr r6, r0, #0x18
cmp r6, r7
blo _0204D418
_0204D47C:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_0204D484: .word 0x00000006
_0204D488: .word 0x00000000
thumb_func_end sub_0204D3CC
thumb_func_start sub_0204D48C
sub_0204D48C: ; 0x0204D48C
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r6, #0
bl GetPartyMonByIndex
bl sub_020544D8
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_0204D48C
thumb_func_start sub_0204D4D0
sub_0204D4D0: ; 0x0204D4D0
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r7, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp, #4]
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
str r0, [sp]
ldr r0, [r7, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
mov r4, #0
ldr r0, [sp, #4]
add r5, r4, #0
strh r4, [r0]
ldr r0, [sp, #8]
cmp r0, #0
bls _0204D55A
_0204D51E:
ldr r0, [r7, #0xc]
bl SavArray_PlayerParty_get
add r1, r4, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r6, r0, #0
bl GetMonData
cmp r0, #0
bne _0204D54E
add r0, r6, #0
mov r1, #0xa1
mov r2, #0
bl GetMonData
ldr r1, [sp]
cmp r0, r1
bhi _0204D54E
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
_0204D54E:
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
ldr r0, [sp, #8]
cmp r4, r0
blo _0204D51E
_0204D55A:
ldr r0, [sp, #4]
strh r5, [r0]
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_0204D4D0
thumb_func_start sub_0204D564
sub_0204D564: ; 0x0204D564
push {r4, r5, r6, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r6, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r5, r0, #0
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
mov r2, #0
mov r1, #0x4c
add r5, r0, #0
strh r2, [r4]
bl GetMonData
cmp r0, #0
bne _0204D5BA
add r0, r5, #0
mov r1, #0xa1
mov r2, #0
bl GetMonData
strh r0, [r4]
_0204D5BA:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204D564
thumb_func_start sub_0204D5C0
sub_0204D5C0: ; 0x0204D5C0
push {r4, r5, r6, lr}
add r6, r0, #0
add r1, r6, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r6, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r6, #0
bl sub_0203FE2C
add r6, #0x80
add r1, r0, #0
ldr r0, [r6]
bl sub_020403AC
add r6, r0, #0
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r6, r0
blt _0204D606
mov r0, #0
strh r0, [r4]
pop {r4, r5, r6, pc}
_0204D606:
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
add r1, r6, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r5, r0, #0
bl GetMonData
cmp r0, #0
beq _0204D626
mov r0, #0
strh r0, [r4]
pop {r4, r5, r6, pc}
_0204D626:
add r0, r5, #0
bl sub_0206FDFC
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204D5C0
thumb_func_start sub_0204D634
sub_0204D634: ; 0x0204D634
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r7, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp, #4]
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
str r0, [sp]
ldr r0, [r7, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
lsl r0, r0, #0x18
lsr r6, r0, #0x18
ldr r1, _0204D6B8 ; =0x000000FF
ldr r0, [sp, #4]
ldr r5, _0204D6BC ; =0x00000000
strh r1, [r0]
beq _0204D6B2
_0204D67C:
ldr r0, [r7, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r4, r0, #0
bl GetMonData
cmp r0, #0
bne _0204D6A8
add r0, r4, #0
bl sub_0206FDFC
ldr r1, [sp]
cmp r1, r0
bne _0204D6A8
ldr r0, [sp, #4]
strh r5, [r0]
b _0204D6B2
_0204D6A8:
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, r6
blo _0204D67C
_0204D6B2:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0204D6B8: .word 0x000000FF
_0204D6BC: .word 0x00000000
thumb_func_end sub_0204D634
thumb_func_start sub_0204D6C0
sub_0204D6C0: ; 0x0204D6C0
push {r4, r5, r6, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r5, r0, #0
ldr r0, [r4, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #9
mov r2, #0
bl GetMonData
strh r0, [r6]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_0204D6C0
thumb_func_start sub_0204D708
sub_0204D708: ; 0x0204D708
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r6, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
str r0, [sp]
ldr r0, [r5]
ldr r0, [r0, #0x20]
ldr r0, [r0]
bl sub_0203B36C
add r7, r0, #0
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
ldr r1, [sp]
bl GetPartyMonByIndex
mov r1, #9
mov r2, #0
add r5, r0, #0
bl GetMonData
add r1, sp, #4
strh r0, [r1]
cmp r4, #0
beq _0204D7B6
add r0, r5, #0
mov r1, #0x9b
mov r2, #0
bl GetMonData
cmp r0, #0xb
bne _0204D77A
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
_0204D77A:
add r0, r5, #0
mov r1, #0x98
mov r2, #0
bl GetMonData
cmp r7, r0
bne _0204D78E
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
_0204D78E:
add r0, r5, #0
mov r1, #6
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
mov r1, #1
mov r2, #0xb
bl sub_02077D88
cmp r0, #0x35
bne _0204D7B6
mov r0, #0x96
mul r0, r4
mov r1, #0x64
bl _s32_div_f
lsl r0, r0, #0x10
lsr r4, r0, #0x10
_0204D7B6:
add r0, sp, #4
ldrh r1, [r0]
add r1, r1, r4
strh r1, [r0]
ldrh r1, [r0]
cmp r1, #0xff
bls _0204D7C8
mov r1, #0xff
strh r1, [r0]
_0204D7C8:
add r0, r5, #0
mov r1, #9
add r2, sp, #4
bl sub_0206EC40
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204D708
thumb_func_start sub_0204D7D8
sub_0204D7D8: ; 0x0204D7D8
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r6, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r5, r0, #0
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #9
mov r2, #0
add r5, r0, #0
bl GetMonData
add r1, sp, #0
strh r0, [r1]
ldrh r0, [r1]
cmp r4, r0
bls _0204D82C
mov r0, #0
b _0204D82E
_0204D82C:
sub r0, r0, r4
_0204D82E:
strh r0, [r1]
add r0, r5, #0
mov r1, #9
add r2, sp, #0
bl sub_0206EC40
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
thumb_func_end sub_0204D7D8
thumb_func_start sub_0204D840
sub_0204D840: ; 0x0204D840
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r7, #0
bl GetPartyMonByIndex
add r4, #0x13
add r1, r4, #0
mov r2, #0
bl GetMonData
strh r0, [r6]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204D840
thumb_func_start sub_0204D8A0
sub_0204D8A0: ; 0x0204D8A0
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0205BD20
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204D8A0
thumb_func_start sub_0204D8C8
sub_0204D8C8: ; 0x0204D8C8
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0205BD64
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204D8C8
thumb_func_start sub_0204D8F0
sub_0204D8F0: ; 0x0204D8F0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r5, r0, #0
ldr r0, [r4, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
add r4, r0, #0
mov r1, #0xb1
mov r2, #0
bl GetMonData
strh r0, [r6]
add r0, r4, #0
mov r1, #0xb2
mov r2, #0
bl GetMonData
strh r0, [r7]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204D8F0
thumb_func_start sub_0204D95C
sub_0204D95C: ; 0x0204D95C
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
ldr r0, [r4, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204D95C
thumb_func_start sub_0204D988
sub_0204D988: ; 0x0204D988
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r6, [r1]
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
str r0, [sp]
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
mov r5, #0
add r7, r0, #0
add r4, r5, #0
cmp r7, #0
ble _0204D9D6
_0204D9B6:
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
bl GetMonData
cmp r0, #0
bne _0204D9D0
add r4, r4, #1
_0204D9D0:
add r5, r5, #1
cmp r5, r7
blt _0204D9B6
_0204D9D6:
ldr r0, [sp]
strh r4, [r0]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204D988
thumb_func_start sub_0204D9E0
sub_0204D9E0: ; 0x0204D9E0
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r7, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp, #4]
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
str r0, [sp]
ldr r0, [r7, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
mov r5, #0
add r4, r5, #0
str r0, [sp, #8]
cmp r0, #0
ble _0204DA5C
_0204DA24:
ldr r0, [sp]
cmp r5, r0
beq _0204DA54
ldr r0, [r7, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r6, r0, #0
bl GetMonData
cmp r0, #0
bne _0204DA54
add r0, r6, #0
mov r1, #0xa3
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204DA54
add r4, r4, #1
_0204DA54:
ldr r0, [sp, #8]
add r5, r5, #1
cmp r5, r0
blt _0204DA24
_0204DA5C:
ldr r0, [sp, #4]
strh r4, [r0]
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204D9E0
thumb_func_start sub_0204DA68
sub_0204DA68: ; 0x0204DA68
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r7, [r1]
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
str r0, [sp]
ldr r0, [r7, #0xc]
bl sub_020270D8
str r0, [sp, #4]
ldr r0, [r7, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
mov r5, #0
add r4, r5, #0
str r0, [sp, #8]
cmp r0, #0
ble _0204DAD2
_0204DAA0:
ldr r0, [r7, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r6, r0, #0
bl GetMonData
cmp r0, #0
bne _0204DACA
add r0, r6, #0
mov r1, #0xa3
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204DACA
add r4, r4, #1
_0204DACA:
ldr r0, [sp, #8]
add r5, r5, #1
cmp r5, r0
blt _0204DAA0
_0204DAD2:
ldr r0, [sp, #4]
bl sub_02073FF8
add r1, r4, r0
ldr r0, [sp]
strh r1, [r0]
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_0204DA68
thumb_func_start sub_0204DAE4
sub_0204DAE4: ; 0x0204DAE4
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r6, [r1]
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
str r0, [sp]
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
mov r5, #0
add r7, r0, #0
add r4, r5, #0
cmp r7, #0
ble _0204DB32
_0204DB12:
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204DB2C
add r4, r4, #1
_0204DB2C:
add r5, r5, #1
cmp r5, r7
blt _0204DB12
_0204DB32:
ldr r0, [sp]
strh r4, [r0]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204DAE4
thumb_func_start sub_0204DB3C
sub_0204DB3C: ; 0x0204DB3C
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
str r0, [sp]
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
lsl r0, r0, #0x10
lsr r6, r0, #0x10
ldr r4, _0204DB9C ; =0x00000000
ldr r0, [sp]
strh r4, [r0]
beq _0204DB98
mov r7, #0x9a
_0204DB6E:
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
add r1, r4, #0
bl GetPartyMonByIndex
add r1, r7, #0
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204DB8E
ldr r0, [sp]
mov r1, #1
strh r1, [r0]
b _0204DB98
_0204DB8E:
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, r6
blo _0204DB6E
_0204DB98:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0204DB9C: .word 0x00000000
thumb_func_end sub_0204DB3C
thumb_func_start sub_0204DBA0
sub_0204DBA0: ; 0x0204DBA0
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r6, #0
bl GetPartyMonByIndex
mov r1, #0x6f
mov r2, #0
bl GetMonData
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_0204DBA0
thumb_func_start sub_0204DBE8
sub_0204DBE8: ; 0x0204DBE8
push {r4, r5, r6, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r6, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r4, r0, #0
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
add r1, r4, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r6, r0, #0
bl GetMonData
cmp r0, #0
beq _0204DC36
mov r0, #0
strh r0, [r5]
pop {r4, r5, r6, pc}
_0204DC36:
mov r4, #0
add r0, r6, #0
mov r1, #0x36
add r2, r4, #0
bl GetMonData
cmp r0, #0
beq _0204DC4C
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
_0204DC4C:
add r0, r6, #0
mov r1, #0x37
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204DC60
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
_0204DC60:
add r0, r6, #0
mov r1, #0x38
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204DC74
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
_0204DC74:
add r0, r6, #0
mov r1, #0x39
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204DC88
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
_0204DC88:
strh r4, [r5]
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204DBE8
thumb_func_start sub_0204DC90
sub_0204DC90: ; 0x0204DC90
push {r4, r5, r6, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r4, r0, #0
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
add r1, r6, #0
bl GetPartyMonByIndex
add r1, r4, #0
bl sub_020716C0
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_0204DC90
thumb_func_start sub_0204DCD4
sub_0204DCD4: ; 0x0204DCD4
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
add r4, r0, #0
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
add r1, r7, #0
bl GetPartyMonByIndex
add r4, #0x36
add r1, r4, #0
mov r2, #0
bl GetMonData
strh r0, [r6]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204DCD4
thumb_func_start sub_0204DD34
sub_0204DD34: ; 0x0204DD34
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r6, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
ldr r1, [r5, #8]
add r7, r0, #0
add r0, r1, #1
str r0, [r5, #8]
ldr r0, [r6, #0xc]
ldrb r5, [r1]
bl SavArray_PlayerParty_get
add r1, r7, #0
bl GetPartyMonByIndex
mov r1, #6
mov r2, #0
add r7, r0, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_02078068
cmp r0, #0
bne _0204DD94
mov r0, #0
strh r0, [r4]
pop {r3, r4, r5, r6, r7, pc}
_0204DD94:
cmp r5, #0
bne _0204DDA0
mov r0, #1
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0204DDA0:
ldr r0, _0204DDE0 ; =SDK_OVERLAY_OVY_23_ID
mov r1, #2
bl HandleLoadOverlay
bl ov23_02259A24
add r6, r0, #0
mov r0, #0xb
bl Mail_new
add r5, r0, #0
add r0, r7, #0
mov r1, #0xaa
add r2, r5, #0
bl GetMonData
add r0, r6, #0
add r1, r5, #0
bl Mail_compare
strh r0, [r4]
add r0, r5, #0
bl FreeToHeap
add r0, r6, #0
bl FreeToHeap
ldr r0, _0204DDE0 ; =SDK_OVERLAY_OVY_23_ID
bl UnloadOverlayByID
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0204DDE0: .word SDK_OVERLAY_OVY_23_ID
thumb_func_end sub_0204DD34
thumb_func_start sub_0204DDE4
sub_0204DDE4: ; 0x0204DDE4
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r1, [r1]
str r1, [sp, #4]
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
mov r1, #0
str r0, [sp]
strh r1, [r0]
ldr r0, [sp, #4]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
ldr r4, _0204DEE0 ; =SDK_OVERLAY_OVY_23_ID
add r6, r0, #0
add r0, r4, #0
mov r1, #2
bl HandleLoadOverlay
bl ov23_02259A24
add r7, r0, #0
mov r0, #0xb
bl Mail_new
add r5, r0, #0
add r0, r4, #0
bl UnloadOverlayByID
add r0, r6, #0
mov r4, #0
bl GetPartyCount
cmp r0, #0
ble _0204DE92
_0204DE3A:
add r0, r6, #0
add r1, r4, #0
bl GetPartyMonByIndex
mov r1, #6
mov r2, #0
str r0, [sp, #8]
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_02078068
cmp r0, #0
beq _0204DE86
ldr r0, [sp, #8]
mov r1, #0xaa
add r2, r5, #0
bl GetMonData
add r0, r7, #0
add r1, r5, #0
bl Mail_compare
cmp r0, #0
beq _0204DE86
ldr r0, [sp]
mov r1, #1
strh r1, [r0]
add r0, r5, #0
bl FreeToHeap
add r0, r7, #0
bl FreeToHeap
add sp, #0xc
mov r0, #0
pop {r4, r5, r6, r7, pc}
_0204DE86:
add r0, r6, #0
add r4, r4, #1
bl GetPartyCount
cmp r4, r0
blt _0204DE3A
_0204DE92:
ldr r0, [sp, #4]
ldr r0, [r0, #0xc]
bl Sav2_Mailbox_get
add r6, r0, #0
mov r4, #0
_0204DE9E:
add r0, r6, #0
mov r1, #0
add r2, r4, #0
add r3, r5, #0
bl Mailbox_FetchMailToBuffer
add r0, r5, #0
bl Mail_TypeIsValid
cmp r0, #0
beq _0204DEC8
add r0, r7, #0
add r1, r5, #0
bl Mail_compare
cmp r0, #0
beq _0204DEC8
ldr r0, [sp]
mov r1, #1
strh r1, [r0]
b _0204DECE
_0204DEC8:
add r4, r4, #1
cmp r4, #0x14
blt _0204DE9E
_0204DECE:
add r0, r5, #0
bl FreeToHeap
add r0, r7, #0
bl FreeToHeap
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0204DEE0: .word SDK_OVERLAY_OVY_23_ID
thumb_func_end sub_0204DDE4
thumb_func_start sub_0204DEE4
sub_0204DEE4: ; 0x0204DEE4
push {r3, r4, r5, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r4, [r1]
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r5, r0, #0
ldr r0, [r4, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #6
mov r2, #0
add r4, r0, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_02078068
cmp r0, #0
bne _0204DF24
mov r0, #0
pop {r3, r4, r5, pc}
_0204DF24:
mov r1, #0
add r0, sp, #0
strh r1, [r0]
mov r0, #0xb
bl Mail_new
add r5, r0, #0
bl Mail_init
add r0, r4, #0
mov r1, #0xaa
add r2, r5, #0
bl sub_0206EC40
add r0, r4, #0
mov r1, #6
add r2, sp, #0
bl sub_0206EC40
add r0, r5, #0
bl FreeToHeap
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0204DEE4
thumb_func_start sub_0204DF54
sub_0204DF54: ; 0x0204DF54
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r7, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp, #4]
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
str r0, [sp]
ldr r0, [r7, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
lsl r0, r0, #0x18
lsr r6, r0, #0x18
ldr r5, _0204DFE0 ; =0x00000000
ldr r0, [sp, #4]
strh r5, [r0]
beq _0204DFDA
_0204DF9A:
ldr r0, [r7, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r4, r0, #0
bl GetMonData
cmp r0, #0
bne _0204DFD0
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r1, r0, #0x10
ldr r0, [sp]
cmp r0, r1
bne _0204DFD0
ldr r0, [sp, #4]
mov r1, #1
strh r1, [r0]
b _0204DFDA
_0204DFD0:
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, r6
blo _0204DF9A
_0204DFDA:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0204DFE0: .word 0x00000000
thumb_func_end sub_0204DF54
thumb_func_start sub_0204DFE4
sub_0204DFE4: ; 0x0204DFE4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r1, [r1]
str r1, [sp, #4]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
mov r3, #0
add r7, r0, #0
add r2, r3, #0
add r1, sp, #0xc
_0204E01C:
lsl r0, r3, #1
strh r2, [r1, r0]
add r0, r3, #1
lsl r0, r0, #0x18
lsr r3, r0, #0x18
cmp r3, #6
blo _0204E01C
ldr r0, [sp, #4]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r5, #0
strh r5, [r6]
ldr r0, [sp]
cmp r0, #0
bls _0204E0B6
add r4, sp, #0xc
_0204E048:
ldr r0, [sp, #4]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
str r0, [sp, #8]
bl GetMonData
cmp r0, #0
bne _0204E0AA
ldr r0, [sp, #8]
mov r1, #5
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
cmp r7, #0
bne _0204E0A0
lsl r1, r5, #1
strh r0, [r4, r1]
mov r0, #0
cmp r5, #0
bls _0204E0AA
ldrh r1, [r4, r1]
_0204E082:
lsl r2, r0, #1
ldrh r2, [r4, r2]
cmp r2, r1
bne _0204E094
mov r0, #1
strh r0, [r6]
add sp, #0x18
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0204E094:
add r0, r0, #1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r0, r5
blo _0204E082
b _0204E0AA
_0204E0A0:
cmp r7, r0
bne _0204E0AA
ldrh r0, [r6]
add r0, r0, #1
strh r0, [r6]
_0204E0AA:
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
ldr r0, [sp]
cmp r5, r0
blo _0204E048
_0204E0B6:
mov r0, #0
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204DFE4
thumb_func_start sub_0204E0BC
sub_0204E0BC: ; 0x0204E0BC
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r7, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp, #4]
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
str r0, [sp]
ldr r0, [r7, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
lsl r0, r0, #0x18
lsr r6, r0, #0x18
ldr r1, _0204E148 ; =0x000000FF
ldr r0, [sp, #4]
ldr r5, _0204E14C ; =0x00000000
strh r1, [r0]
beq _0204E142
_0204E104:
ldr r0, [r7, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r4, r0, #0
bl GetMonData
cmp r0, #0
bne _0204E138
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r1, r0, #0x10
ldr r0, [sp]
cmp r0, r1
bne _0204E138
ldr r0, [sp, #4]
strh r5, [r0]
b _0204E142
_0204E138:
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, r6
blo _0204E104
_0204E142:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0204E148: .word 0x000000FF
_0204E14C: .word 0x00000000
thumb_func_end sub_0204E0BC
thumb_func_start sub_0204E150
sub_0204E150: ; 0x0204E150
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r4, #0
bl GetPartyMonByIndex
mov r4, #0
add r6, r0, #0
add r5, r4, #0
add r7, r4, #0
_0204E192:
lsl r0, r4, #0x18
lsr r0, r0, #0x18
add r1, r7, #0
bl sub_0208E55C
add r1, r0, #0
add r0, r6, #0
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204E1B0
add r0, r5, #1
lsl r0, r0, #0x10
lsr r5, r0, #0x10
_0204E1B0:
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, #0x50
blo _0204E192
ldr r0, [sp]
strh r5, [r0]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204E150
thumb_func_start sub_0204E1C4
sub_0204E1C4: ; 0x0204E1C4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp]
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
lsl r0, r0, #0x10
add r4, #0x80
lsr r6, r0, #0x10
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
str r0, [sp, #0xc]
mov r0, #0
str r0, [sp, #8]
str r0, [sp, #4]
_0204E202:
mov r5, #0
cmp r6, #0
bls _0204E250
ldr r0, [sp, #8]
lsl r0, r0, #0x18
lsr r7, r0, #0x18
_0204E20E:
ldr r0, [sp, #0xc]
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r4, r0, #0
bl GetMonData
cmp r0, #0
bne _0204E246
add r0, r7, #0
mov r1, #0
bl sub_0208E55C
add r1, r0, #0
add r0, r4, #0
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204E246
ldr r0, [sp, #4]
add r0, r0, #1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #4]
b _0204E250
_0204E246:
add r0, r5, #1
lsl r0, r0, #0x10
lsr r5, r0, #0x10
cmp r5, r6
blo _0204E20E
_0204E250:
ldr r0, [sp, #8]
add r0, r0, #1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #8]
cmp r0, #0x50
blo _0204E202
ldr r1, [sp, #4]
ldr r0, [sp]
strh r1, [r0]
mov r0, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204E1C4
thumb_func_start sub_0204E26C
sub_0204E26C: ; 0x0204E26C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r7, #0
bl GetPartyMonByIndex
add r5, r0, #0
lsl r0, r6, #0x18
lsr r0, r0, #0x18
mov r1, #0
bl sub_0208E55C
add r1, r0, #0
add r0, r5, #0
mov r2, #0
bl GetMonData
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204E26C
thumb_func_start sub_0204E2D8
sub_0204E2D8: ; 0x0204E2D8
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
mov r1, #1
add r0, sp, #0
add r5, #0x80
strb r1, [r0]
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r6, #0
bl GetPartyMonByIndex
add r5, r0, #0
lsl r0, r4, #0x18
lsr r0, r0, #0x18
mov r1, #0
bl sub_0208E55C
add r1, r0, #0
add r0, r5, #0
add r2, sp, #0
bl sub_0206EC40
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204E2D8
thumb_func_start sub_0204E338
sub_0204E338: ; 0x0204E338
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp]
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
lsl r0, r0, #0x10
add r4, #0x80
lsr r6, r0, #0x10
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r7, r0, #0
mov r0, #0
str r0, [sp, #4]
_0204E374:
mov r5, #0
cmp r6, #0
bls _0204E3B4
_0204E37A:
add r0, r7, #0
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r4, r0, #0
bl GetMonData
cmp r0, #0
beq _0204E3AA
add r0, r4, #0
mov r1, #3
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0204E3AA
ldr r0, [sp]
mov r1, #1
strh r1, [r0]
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0204E3AA:
add r0, r5, #1
lsl r0, r0, #0x10
lsr r5, r0, #0x10
cmp r5, r6
blo _0204E37A
_0204E3B4:
ldr r0, [sp, #4]
add r0, r0, #1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #4]
cmp r0, #0x50
blo _0204E374
ldr r1, [sp]
mov r0, #0
strh r0, [r1]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204E338
thumb_func_start sub_0204E3CC
sub_0204E3CC: ; 0x0204E3CC
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r6, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp, #4]
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_020403AC
str r0, [sp]
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
lsl r0, r0, #0x18
lsr r7, r0, #0x18
ldr r1, _0204E468 ; =0x000000FF
ldr r0, [sp, #4]
ldr r5, _0204E46C ; =0x00000000
strh r1, [r0]
beq _0204E460
_0204E414:
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r4, r0, #0
bl GetMonData
cmp r0, #0
bne _0204E456
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r1, r0, #0x10
ldr r0, [sp]
cmp r0, r1
bne _0204E456
add r0, r4, #0
mov r1, #0x6e
mov r2, #0
bl GetMonData
cmp r0, #1
bne _0204E456
ldr r0, [sp, #4]
strh r5, [r0]
b _0204E460
_0204E456:
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, r7
blo _0204E414
_0204E460:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_0204E468: .word 0x000000FF
_0204E46C: .word 0x00000000
thumb_func_end sub_0204E3CC
thumb_func_start sub_0204E470
sub_0204E470: ; 0x0204E470
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
str r0, [sp]
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
bl GetPartyCount
add r6, r0, #0
mov r4, #0
ldr r0, [sp]
cmp r6, #0
strh r4, [r0]
ble _0204E4DA
_0204E4B4:
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
add r1, r4, #0
bl GetPartyMonByIndex
mov r1, #6
mov r2, #0
bl GetMonData
cmp r7, r0
bne _0204E4D4
ldr r0, [sp]
mov r1, #1
strh r1, [r0]
b _0204E4DA
_0204E4D4:
add r4, r4, #1
cmp r4, r6
blt _0204E4B4
_0204E4DA:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204E470
thumb_func_start sub_0204E4E0
sub_0204E4E0: ; 0x0204E4E0
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r6, #0
bl GetPartyMonByIndex
mov r1, #0x70
mov r2, #0
bl GetMonData
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_0204E4E0
thumb_func_start sub_0204E528
sub_0204E528: ; 0x0204E528
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
mov r2, #0
add r1, sp, #0
strb r2, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
ldr r1, [r4, #8]
add r7, r0, #0
add r0, r1, #1
str r0, [r4, #8]
add r0, r4, #0
ldrb r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
cmp r5, #6
blo _0204E568
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0204E568:
add r4, #0x80
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r7, #0
bl GetPartyMonByIndex
mov r1, #0x18
mov r2, #0
add r4, r0, #0
bl GetMonData
cmp r0, #0xff
bne _0204E58A
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0204E58A:
add r5, #0x13
lsl r0, r5, #0x18
lsr r5, r0, #0x18
add r0, r4, #0
add r1, r5, #0
mov r2, #0
bl GetMonData
add r1, sp, #0
strb r0, [r1]
ldrb r0, [r1]
add r0, r6, r0
cmp r0, #0xff
ble _0204E5AA
mov r0, #0xff
b _0204E5AA
_0204E5AA:
strb r0, [r1]
add r0, r4, #0
add r1, r5, #0
add r2, sp, #0
bl sub_0206EC40
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204E528
thumb_func_start sub_0204E5BC
sub_0204E5BC: ; 0x0204E5BC
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
ldr r1, _0204E608 ; =0x020FC1D8
lsl r2, r4, #2
ldrh r1, [r1, r2]
strh r1, [r6]
ldr r1, _0204E60C ; =0x020FC1DA
ldrh r1, [r1, r2]
strh r1, [r0]
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_0204E608: .word 0x020FC1D8
_0204E60C: .word 0x020FC1DA
thumb_func_end sub_0204E5BC
thumb_func_start sub_0204E610
sub_0204E610: ; 0x0204E610
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202A634
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_0202A5F4
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204E610
thumb_func_start sub_0204E640
sub_0204E640: ; 0x0204E640
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202A634
bl sub_0202A614
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0204E640
thumb_func_start sub_0204E654
sub_0204E654: ; 0x0204E654
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0203B9C4
bl sub_0203B9B4
bl sub_0205C7C8
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204E654
thumb_func_start sub_0204E684
sub_0204E684: ; 0x0204E684
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0203B9C4
bl sub_0203B9B4
mov r1, #1
bl sub_0205C7DC
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0204E684
thumb_func_start sub_0204E6A0
sub_0204E6A0: ; 0x0204E6A0
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
cmp r4, #0x10
blo _0204E6D2
bl GF_AssertFail
_0204E6D2:
add r5, #0x80
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r1, r4, #0
bl sub_02028F98
strh r0, [r6]
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_0204E6A0
thumb_func_start sub_0204E6E8
sub_0204E6E8: ; 0x0204E6E8
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
cmp r4, #0x10
blo _0204E706
bl GF_AssertFail
_0204E706:
add r5, #0x80
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r1, r4, #0
bl sub_02028FC8
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204E6E8
thumb_func_start sub_0204E71C
sub_0204E71C: ; 0x0204E71C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_020665F8
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204E71C
thumb_func_start sub_0204E748
sub_0204E748: ; 0x0204E748
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
bl sub_02028FF0
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204E748
thumb_func_start sub_0204E774
sub_0204E774: ; 0x0204E774
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_020665EC
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0204E774
thumb_func_start sub_0204E788
sub_0204E788: ; 0x0204E788
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066644
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204E788
thumb_func_start sub_0204E7B4
sub_0204E7B4: ; 0x0204E7B4
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066624
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0204E7B4
thumb_func_start sub_0204E7C8
sub_0204E7C8: ; 0x0204E7C8
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066634
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0204E7C8
thumb_func_start sub_0204E7DC
sub_0204E7DC: ; 0x0204E7DC
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_020666B4
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204E7DC
thumb_func_start sub_0204E808
sub_0204E808: ; 0x0204E808
push {r3, lr}
ldr r2, [r0, #8]
add r1, r2, #1
str r1, [r0, #8]
ldrb r1, [r2]
cmp r1, #0
beq _0204E826
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066694
b _0204E834
_0204E826:
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_020666A4
_0204E834:
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0204E808
thumb_func_start sub_0204E838
sub_0204E838: ; 0x0204E838
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066684
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204E838
thumb_func_start sub_0204E864
sub_0204E864: ; 0x0204E864
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066664
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0204E864
thumb_func_start sub_0204E878
sub_0204E878: ; 0x0204E878
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066674
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0204E878
thumb_func_start sub_0204E88C
sub_0204E88C: ; 0x0204E88C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, #0x80
add r4, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066614
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204E88C
thumb_func_start sub_0204E8B8
sub_0204E8B8: ; 0x0204E8B8
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066604
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0204E8B8
thumb_func_start sub_0204E8CC
sub_0204E8CC: ; 0x0204E8CC
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
ldr r2, [r5, #8]
add r4, r0, #0
add r1, r2, #1
str r1, [r5, #8]
ldrb r1, [r2]
cmp r1, #0
beq _0204E8FA
cmp r1, #1
beq _0204E8F2
cmp r1, #2
beq _0204E902
b _0204E920
_0204E8F2:
mov r1, #1
bl sub_020668C0
b _0204E924
_0204E8FA:
mov r1, #0
bl sub_020668C0
b _0204E924
_0204E902:
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
mov r1, #2
bl sub_020668C0
strh r0, [r5]
b _0204E924
_0204E920:
bl GF_AssertFail
_0204E924:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0204E8CC
thumb_func_start sub_0204E928
sub_0204E928: ; 0x0204E928
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
ldr r2, [r5, #8]
add r4, r0, #0
add r1, r2, #1
str r1, [r5, #8]
ldrb r1, [r2]
cmp r1, #0
beq _0204E954
cmp r1, #1
beq _0204E94E
cmp r1, #2
beq _0204E95A
b _0204E976
_0204E94E:
bl sub_020668D0
b _0204E97A
_0204E954:
bl sub_020668E0
b _0204E97A
_0204E95A:
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_020668F0
strh r0, [r5]
b _0204E97A
_0204E976:
bl GF_AssertFail
_0204E97A:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204E928
thumb_func_start sub_0204E980
sub_0204E980: ; 0x0204E980
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_020503D0
ldr r2, [r5, #8]
add r4, r0, #0
add r1, r2, #1
str r1, [r5, #8]
ldrb r1, [r2]
cmp r1, #0
beq _0204E9AC
cmp r1, #1
beq _0204E9A6
cmp r1, #2
beq _0204E9B2
b _0204E9CE
_0204E9A6:
bl sub_02066900
b _0204E9D2
_0204E9AC:
bl sub_02066910
b _0204E9D2
_0204E9B2:
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_02066920
strh r0, [r5]
b _0204E9D2
_0204E9CE:
bl GF_AssertFail
_0204E9D2:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204E980
thumb_func_start sub_0204E9D8
sub_0204E9D8: ; 0x0204E9D8
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
ldr r0, [r5, #0xc]
bl sub_0207879C
add r1, r6, #0
add r2, r7, #0
mov r3, #4
bl sub_02078398
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204E9D8
thumb_func_start sub_0204EA30
sub_0204EA30: ; 0x0204EA30
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
ldr r0, [r5, #0xc]
bl sub_0207879C
add r1, r6, #0
add r2, r7, #0
mov r3, #4
bl sub_02078434
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204EA30
thumb_func_start sub_0204EA88
sub_0204EA88: ; 0x0204EA88
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
ldr r0, [r5, #0xc]
bl sub_0207879C
add r1, r6, #0
add r2, r7, #0
mov r3, #4
bl sub_02078384
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204EA88
thumb_func_start sub_0204EAE0
sub_0204EAE0: ; 0x0204EAE0
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
ldr r0, [r5, #0xc]
bl sub_0207879C
add r1, r6, #0
add r2, r7, #0
mov r3, #0xb
bl sub_020784B0
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204EAE0
thumb_func_start sub_0204EB38
sub_0204EB38: ; 0x0204EB38
push {r4, r5, r6, lr}
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
add r4, r0, #0
ldr r0, [r5, #0xc]
bl sub_0207879C
add r1, r6, #0
mov r2, #0xb
bl sub_02078550
strh r0, [r4]
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204EB38
thumb_func_start sub_0204EB7C
sub_0204EB7C: ; 0x0204EB7C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
bl sub_0205BBB8
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0204EB7C
thumb_func_start sub_0204EBB0
sub_0204EBB0: ; 0x0204EBB0
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_02040374
add r5, r0, #0
add r0, r4, #0
mov r1, #5
mov r2, #0xb
bl sub_02077D88
strh r0, [r5]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0204EBB0
thumb_func_start sub_0204EBE8
sub_0204EBE8: ; 0x0204EBE8
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r1, r5, #0
add r1, #0x80
lsl r2, r4, #0x18
add r6, r0, #0
ldr r1, [r1]
mov r0, #0x20
lsr r2, r2, #0x18
mov r3, #0
bl sub_0203E7F4
str r0, [r6]
ldr r1, _0204EC2C ; =sub_020429F8
add r0, r5, #0
bl sub_0203FD58
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
_0204EC2C: .word sub_020429F8
thumb_func_end sub_0204EBE8
thumb_func_start sub_0204EC30
sub_0204EC30: ; 0x0204EC30
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
mov r1, #0x14
bl sub_020402F0
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
bne _0204EC5C
bl GF_AssertFail
_0204EC5C:
ldr r0, [r4]
bl sub_0203E864
strh r0, [r5]
ldrh r0, [r5]
cmp r0, #4
bne _0204EC6E
mov r0, #0xff
strh r0, [r5]
_0204EC6E:
ldr r0, [r4]
bl FreeToHeap
mov r0, #0
str r0, [r4]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204EC30
thumb_func_start sub_0204EC7C
sub_0204EC7C: ; 0x0204EC7C
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r6, #0
bl GetPartyMonByIndex
mov r1, #0x20
bl sub_0209176C
add r5, r0, #0
bl sub_0209186C
strh r0, [r4]
add r0, r5, #0
bl FreeToHeap
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204EC7C
thumb_func_start sub_0204ECD0
sub_0204ECD0: ; 0x0204ECD0
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
add r0, #0x80
add r7, r1, #0
ldr r0, [r0]
mov r1, #0x14
str r2, [sp]
add r6, r3, #0
bl sub_020402F0
str r0, [sp, #4]
mov r0, #0x20
bl sub_0209174C
add r4, r0, #0
ldr r0, [sp, #4]
str r4, [r0]
ldr r0, [sp]
str r0, [r4]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
str r0, [r4, #4]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #8]
str r6, [r4, #0x10]
add r0, r5, #0
strb r7, [r4, #0x19]
add r0, #0x80
ldr r0, [r0]
add r1, r4, #0
bl sub_0203F9C4
ldr r1, _0204ED38 ; =sub_020429F8
add r0, r5, #0
bl sub_0203FD58
add r0, r6, #0
bl FreeToHeap
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0204ED38: .word sub_020429F8
thumb_func_end sub_0204ECD0
thumb_func_start sub_0204ED3C
sub_0204ED3C: ; 0x0204ED3C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r4, #0
bl GetPartyMonByIndex
add r4, r0, #0
mov r1, #0x20
bl sub_0209176C
add r3, r0, #0
add r0, r5, #0
mov r1, #1
add r2, r4, #0
bl sub_0204ECD0
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end sub_0204ED3C
thumb_func_start sub_0204ED7C
sub_0204ED7C: ; 0x0204ED7C
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r1, r6, #0
bl GetPartyMonByIndex
add r6, r0, #0
mov r0, #0x20
mov r1, #4
bl AllocFromHeap
add r3, r0, #0
ldr r0, _0204EDD8 ; =0x0000FFFF
strh r4, [r3]
strh r0, [r3, #2]
add r0, r5, #0
mov r1, #0
add r2, r6, #0
bl sub_0204ECD0
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
_0204EDD8: .word 0x0000FFFF
thumb_func_end sub_0204ED7C
thumb_func_start sub_0204EDDC
sub_0204EDDC: ; 0x0204EDDC
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, #0x80
add r5, r0, #0
ldr r0, [r4]
mov r1, #0x14
bl sub_020402F0
ldr r4, [r0]
cmp r4, #0
bne _0204EE06
bl GF_AssertFail
_0204EE06:
ldrb r0, [r4, #0x1a]
cmp r0, #0
bne _0204EE10
mov r0, #0
b _0204EE12
_0204EE10:
mov r0, #0xff
_0204EE12:
strh r0, [r5]
add r0, r4, #0
bl sub_02091764
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204EDDC
thumb_func_start sub_0204EE20
sub_0204EE20: ; 0x0204EE20
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0204EE20
thumb_func_start sub_0204EE38
sub_0204EE38: ; 0x0204EE38
push {r4, lr}
add r4, r0, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0204EE38
thumb_func_start sub_0204EE50
sub_0204EE50: ; 0x0204EE50
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r6, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r6, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r6, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r6, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, r0, #0
add r0, r6, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_02030AE8
mov r2, #0
add r1, sp, #8
strb r2, [r1]
lsl r2, r5, #2
add r2, r4, r2
lsl r2, r2, #0x18
mov r1, #0xa
lsr r2, r2, #0x18
add r3, sp, #8
bl sub_02030AA4
cmp r4, #3
bne _0204EECC
cmp r5, #0
bne _0204EEAA
mov r7, #0x66
b _0204EEAC
_0204EEAA:
mov r7, #0x68
_0204EEAC:
add r0, r6, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0203107C
str r0, [sp]
add r0, r7, #0
bl sub_0205C268
add r2, r0, #0
ldr r0, [sp]
add r1, r7, #0
mov r3, #0
bl sub_02031108
_0204EECC:
add r0, r6, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0203107C
add r7, r0, #0
lsl r0, r5, #0x18
lsl r1, r4, #0x18
lsr r0, r0, #0x18
lsr r1, r1, #0x18
bl sub_0205BFF0
str r0, [sp, #4]
lsl r0, r5, #0x18
lsl r1, r4, #0x18
lsr r0, r0, #0x18
lsr r1, r1, #0x18
bl sub_0205BFF0
bl sub_0205C268
add r2, r0, #0
ldr r1, [sp, #4]
add r0, r7, #0
mov r3, #0
bl sub_02031108
add r6, #0x80
ldr r0, [r6]
ldr r0, [r0, #0xc]
bl sub_0203107C
add r6, r0, #0
lsl r0, r5, #0x18
lsl r1, r4, #0x18
lsr r0, r0, #0x18
lsr r1, r1, #0x18
bl sub_0205C048
add r7, r0, #0
lsl r0, r5, #0x18
lsl r1, r4, #0x18
lsr r0, r0, #0x18
lsr r1, r1, #0x18
bl sub_0205C048
bl sub_0205C268
add r2, r0, #0
add r0, r6, #0
add r1, r7, #0
mov r3, #0
bl sub_02031108
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_0204EE50
thumb_func_start sub_0204EF40
sub_0204EF40: ; 0x0204EF40
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
bl sub_0203FE2C
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_02030B04
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_02030C5C
str r0, [sp, #4]
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r1, r0, #0
cmp r7, #4
bhi _0204F05E
add r0, r7, r7
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0204EFAC: ; jump table
.short _0204EFB6 - _0204EFAC - 2 ; case 0
.short _0204EFC6 - _0204EFAC - 2 ; case 1
.short _0204EFFE - _0204EFAC - 2 ; case 2
.short _0204F02E - _0204EFAC - 2 ; case 3
.short _0204F040 - _0204EFAC - 2 ; case 4
_0204EFB6:
add r4, #0x80
ldr r1, [r4]
add r0, r5, #0
ldr r1, [r1, #0xc]
bl sub_0204F06C
strh r0, [r6]
b _0204F066
_0204EFC6:
cmp r5, #3
bne _0204EFEA
add r4, #0x80
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl sub_0203107C
add r4, r0, #0
mov r0, #0x6a
bl sub_0205C268
add r2, r0, #0
add r0, r4, #0
mov r1, #0x6a
bl sub_020310BC
strh r0, [r6]
b _0204F066
_0204EFEA:
lsl r2, r5, #0x18
mov r3, #0
ldr r0, [sp, #4]
mov r1, #5
lsr r2, r2, #0x18
str r3, [sp]
bl sub_02030CA0
strh r0, [r6]
b _0204F066
_0204EFFE:
add r4, #0x80
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl sub_0203107C
add r4, r0, #0
lsl r0, r5, #0x18
lsr r0, r0, #0x18
bl sub_0205C11C
add r7, r0, #0
lsl r0, r5, #0x18
lsr r0, r0, #0x18
bl sub_0205C11C
bl sub_0205C268
add r2, r0, #0
add r0, r4, #0
add r1, r7, #0
bl sub_020310BC
strh r0, [r6]
b _0204F066
_0204F02E:
add r4, #0x80
ldr r0, [r4]
lsl r2, r5, #0x18
ldr r0, [r0, #0xc]
ldr r1, [sp, #4]
lsr r2, r2, #0x18
bl sub_0204F878
b _0204F066
_0204F040:
cmp r5, #0
bne _0204F048
mov r2, #0
b _0204F052
_0204F048:
cmp r5, #1
bne _0204F050
mov r2, #1
b _0204F052
_0204F050:
mov r2, #2
_0204F052:
ldr r0, [r4, #0x74]
bl sub_0204F284
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0204F05E:
bl GF_AssertFail
mov r0, #0
strh r0, [r6]
_0204F066:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204EF40
thumb_func_start sub_0204F06C
sub_0204F06C: ; 0x0204F06C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
str r0, [sp]
add r0, r1, #0
bl SavArray_PlayerParty_get
str r0, [sp, #4]
bl GetPartyCount
lsl r0, r0, #0x18
lsr r4, r0, #0x18
ldr r0, [sp]
cmp r4, r0
bge _0204F08E
add sp, #0x20
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0204F08E:
mov r2, #0
add r5, r2, #0
add r1, sp, #0x14
_0204F094:
lsl r0, r2, #1
strh r5, [r1, r0]
add r0, r2, #1
lsl r0, r0, #0x18
lsr r2, r0, #0x18
cmp r2, #6
blo _0204F094
str r5, [sp, #0x10]
cmp r4, #0
bls _0204F118
_0204F0A8:
ldr r0, [sp, #4]
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #5
mov r2, #0
add r6, r0, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r7, r0, #0x10
add r0, r6, #0
mov r1, #0xa1
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0xc]
add r0, r6, #0
mov r1, #0x70
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #8]
add r0, r6, #0
mov r1, #0x4c
mov r2, #0
bl GetMonData
cmp r0, #0
bne _0204F10E
ldr r0, [sp, #0xc]
cmp r0, #0x1e
blo _0204F10E
ldr r1, [sp, #8]
add r0, r7, #0
bl sub_020726F8
cmp r0, #1
beq _0204F10E
ldr r0, [sp, #0x10]
lsl r1, r5, #1
add r0, r0, #1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x10]
add r0, sp, #0x14
strh r7, [r0, r1]
_0204F10E:
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, r4
blo _0204F0A8
_0204F118:
ldr r0, [sp]
cmp r0, #2
bne _0204F162
mov r3, #0
cmp r4, #0
bls _0204F15C
add r1, sp, #0x14
add r2, r3, #0
_0204F128:
add r5, r2, #0
cmp r4, #0
bls _0204F152
lsl r0, r3, #1
ldrh r0, [r1, r0]
_0204F132:
cmp r3, r5
beq _0204F148
cmp r0, #0
beq _0204F148
lsl r6, r5, #1
ldrh r6, [r1, r6]
cmp r0, r6
bne _0204F148
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0204F148:
add r5, r5, #1
lsl r5, r5, #0x18
lsr r5, r5, #0x18
cmp r5, r4
blo _0204F132
_0204F152:
add r0, r3, #1
lsl r0, r0, #0x18
lsr r3, r0, #0x18
cmp r3, r4
blo _0204F128
_0204F15C:
add sp, #0x20
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0204F162:
ldr r1, [sp, #0x10]
cmp r1, r0
blt _0204F16E
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0204F16E:
mov r0, #0
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0204F06C
thumb_func_start sub_0204F174
sub_0204F174: ; 0x0204F174
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_02030C5C
lsl r2, r4, #0x18
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
lsr r2, r2, #0x18
ldr r0, [r0, #0xc]
bl sub_0204F878
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204F174
thumb_func_start sub_0204F1AC
sub_0204F1AC: ; 0x0204F1AC
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r2, r0, #0
ldr r0, [r5, #0x74]
add r1, r4, #0
bl sub_0204F1E4
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204F1AC
thumb_func_start sub_0204F1E4
sub_0204F1E4: ; 0x0204F1E4
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r1, #0
mov r0, #0xb
mov r1, #0xc
add r6, r2, #0
bl AllocFromHeap
add r4, r0, #0
mov r1, #0
strb r1, [r4]
strb r1, [r4, #1]
strb r1, [r4, #2]
strb r1, [r4, #3]
strb r1, [r4, #4]
strb r1, [r4, #5]
strb r1, [r4, #6]
strb r1, [r4, #7]
strb r1, [r4, #8]
strb r1, [r4, #9]
strb r1, [r4, #0xa]
strb r1, [r4, #0xb]
strh r5, [r4, #4]
str r6, [r4, #8]
bl sub_02091574
ldr r1, _0204F224 ; =sub_0204F228
add r0, r7, #0
add r2, r4, #0
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0204F224: .word sub_0204F228
thumb_func_end sub_0204F1E4
thumb_func_start sub_0204F228
sub_0204F228: ; 0x0204F228
push {r4, lr}
bl sub_02050650
add r4, r0, #0
ldrb r1, [r4]
cmp r1, #0
beq _0204F240
cmp r1, #1
beq _0204F256
cmp r1, #2
beq _0204F276
b _0204F27E
_0204F240:
mov r0, #0x84
add r1, r4, #0
mov r2, #0xc
bl sub_02037030
cmp r0, #1
bne _0204F27E
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
b _0204F27E
_0204F256:
ldrb r0, [r4, #1]
cmp r0, #2
blo _0204F27E
ldrh r1, [r4, #4]
ldrh r0, [r4, #6]
cmp r1, r0
bne _0204F268
mov r1, #0
b _0204F26A
_0204F268:
mov r1, #1
_0204F26A:
ldr r0, [r4, #8]
strh r1, [r0]
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
b _0204F27E
_0204F276:
bl FreeToHeap
mov r0, #1
pop {r4, pc}
_0204F27E:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0204F228
thumb_func_start sub_0204F284
sub_0204F284: ; 0x0204F284
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r6, r2, #0
bl sub_0205064C
add r7, r0, #0
mov r0, #0xb
mov r1, #0xc
bl AllocFromHeap
add r4, r0, #0
mov r1, #0
mov r2, #0xc
bl MIi_CpuFill8
strb r6, [r4, #4]
str r5, [r4, #8]
ldr r0, [r7, #0x10]
ldr r1, _0204F2B4 ; =sub_0204F2B8
add r2, r4, #0
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
nop
_0204F2B4: .word sub_0204F2B8
thumb_func_end sub_0204F284
thumb_func_start sub_0204F2B8
sub_0204F2B8: ; 0x0204F2B8
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldr r1, [r4]
cmp r1, #4
bhi _0204F31A
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0204F2DC: ; jump table
.short _0204F2E6 - _0204F2DC - 2 ; case 0
.short _0204F2F2 - _0204F2DC - 2 ; case 1
.short _0204F2FC - _0204F2DC - 2 ; case 2
.short _0204F308 - _0204F2DC - 2 ; case 3
.short _0204F312 - _0204F2DC - 2 ; case 4
_0204F2E6:
add r1, r5, #0
mov r2, #0xb
bl sub_0204F320
str r0, [r4]
b _0204F31A
_0204F2F2:
add r1, r5, #0
bl sub_0204F3F8
str r0, [r4]
b _0204F31A
_0204F2FC:
add r1, r5, #0
mov r2, #0xb
bl sub_0204F448
str r0, [r4]
b _0204F31A
_0204F308:
add r1, r5, #0
bl sub_0204F4D8
str r0, [r4]
b _0204F31A
_0204F312:
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, pc}
_0204F31A:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204F2B8
thumb_func_start sub_0204F320
sub_0204F320: ; 0x0204F320
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
mov r0, #0xb
mov r1, #0x44
bl AllocFromHeap
add r4, r0, #0
mov r0, #0
add r1, r4, #0
mov r2, #0x44
bl MIi_CpuClearFast
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
str r0, [r4]
ldr r0, [r6, #0xc]
bl sub_0207879C
str r0, [r4, #4]
ldr r0, [r6, #0xc]
bl Sav2_Mailbox_get
str r0, [r4, #8]
ldr r0, [r6, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
add r1, r4, #0
str r0, [r4, #0xc]
mov r0, #0
add r1, #0x25
strb r0, [r1]
add r1, r4, #0
mov r2, #0x16
add r1, #0x24
strb r2, [r1]
str r6, [r4, #0x1c]
add r1, r4, #0
ldrb r2, [r5, #5]
add r1, #0x26
strb r2, [r1]
_0204F374:
add r1, r5, r0
ldrb r2, [r1, #6]
add r1, r4, r0
add r0, r0, #1
lsl r0, r0, #0x18
add r1, #0x30
lsr r0, r0, #0x18
strb r2, [r1]
cmp r0, #2
blo _0204F374
add r0, r4, #0
mov r1, #0x1e
add r0, #0x37
strb r1, [r0]
add r0, r4, #0
add r0, #0x36
mov r1, #0xf
ldrb r0, [r0]
mov ip, r1
add r2, r4, #0
bic r0, r1
mov r1, #1
orr r1, r0
add r0, r4, #0
add r0, #0x36
strb r1, [r0]
add r0, r4, #0
add r0, #0x36
ldrb r0, [r0]
mov r7, #0xf0
mov r3, #0x10
bic r0, r7
add r1, r0, #0
add r0, r4, #0
orr r1, r3
add r0, #0x36
add r3, #0xfc
strb r1, [r0]
add r0, r6, r3
str r0, [r4, #0x20]
ldrb r0, [r5, #4]
add r2, #0x36
cmp r0, #1
bne _0204F3E2
ldrb r0, [r2]
mov r1, ip
bic r0, r1
mov r1, #2
orr r0, r1
strb r0, [r2]
ldrb r1, [r2]
mov r0, #0x20
bic r1, r7
orr r0, r1
strb r0, [r2]
_0204F3E2:
ldr r1, _0204F3F4 ; =0x0210159C
add r0, r6, #0
add r2, r4, #0
bl SwitchToPokegearApp
ldr r0, [r5, #8]
str r4, [r0]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0204F3F4: .word 0x0210159C
thumb_func_end sub_0204F320
thumb_func_start sub_0204F3F8
sub_0204F3F8: ; 0x0204F3F8
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, r1, #0
bl sub_020505A0
cmp r0, #0
beq _0204F40A
mov r0, #1
pop {r3, r4, r5, pc}
_0204F40A:
ldr r0, [r5, #8]
ldr r4, [r0]
add r0, r4, #0
add r0, #0x26
ldrb r0, [r0]
cmp r0, #6
beq _0204F420
cmp r0, #7
bne _0204F424
mov r0, #4
pop {r3, r4, r5, pc}
_0204F420:
mov r0, #4
pop {r3, r4, r5, pc}
_0204F424:
add r0, r4, #0
add r0, #0x30
add r1, r5, #6
mov r2, #2
bl MIi_CpuCopy8
add r0, r4, #0
add r0, #0x26
ldrb r0, [r0]
strb r0, [r5, #5]
add r0, r4, #0
bl FreeToHeap
ldr r0, [r5, #8]
mov r1, #0
str r1, [r0]
mov r0, #2
pop {r3, r4, r5, pc}
thumb_func_end sub_0204F3F8
thumb_func_start sub_0204F448
sub_0204F448: ; 0x0204F448
push {r3, r4, r5, r6, r7, lr}
add r7, r1, #0
add r6, r0, #0
ldr r5, [r7, #0xc]
add r0, r2, #0
mov r1, #0x3c
bl AllocFromHeapAtEnd
mov r1, #0
mov r2, #0x3c
add r4, r0, #0
bl MIi_CpuFill8
add r0, r5, #0
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #4]
add r0, r5, #0
bl SavArray_PlayerParty_get
str r0, [r4]
add r0, r5, #0
bl sub_02074910
str r0, [r4, #0x1c]
add r0, r5, #0
bl sub_02088288
str r0, [r4, #0x2c]
mov r0, #1
strb r0, [r4, #0x11]
ldrb r0, [r6, #5]
strb r0, [r4, #0x14]
ldr r0, [r4]
bl GetPartyCount
strb r0, [r4, #0x13]
mov r0, #0
strh r0, [r4, #0x18]
strb r0, [r4, #0x12]
add r0, r5, #0
bl sub_0202D95C
str r0, [r4, #0x20]
add r0, r5, #0
bl sub_0208828C
str r0, [r4, #0x34]
ldr r1, _0204F4D0 ; =0x020FC224
add r0, r4, #0
bl sub_02089D40
add r0, r5, #0
bl Sav2_PlayerData_GetProfileAddr
add r1, r0, #0
add r0, r4, #0
bl sub_0208AD34
ldr r1, _0204F4D4 ; =0x02103A1C
add r0, r7, #0
add r2, r4, #0
bl SwitchToPokegearApp
ldr r0, [r6, #8]
str r4, [r0]
mov r0, #3
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0204F4D0: .word 0x020FC224
_0204F4D4: .word 0x02103A1C
thumb_func_end sub_0204F448
thumb_func_start sub_0204F4D8
sub_0204F4D8: ; 0x0204F4D8
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
bl sub_020505A0
cmp r0, #0
beq _0204F4EA
mov r0, #3
pop {r4, pc}
_0204F4EA:
ldr r0, [r4, #8]
ldr r0, [r0]
ldrb r1, [r0, #0x14]
strb r1, [r4, #5]
bl FreeToHeap
ldr r1, [r4, #8]
mov r0, #0
str r0, [r1]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0204F4D8
thumb_func_start sub_0204F500
sub_0204F500: ; 0x0204F500
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
str r0, [sp, #8]
add r0, #0x80
ldr r7, [r0]
mov r1, #0x10
add r0, r7, #0
bl sub_020402F0
str r0, [sp, #0x24]
ldr r0, [sp, #8]
ldr r1, [r0, #8]
add r2, r1, #1
str r2, [r0, #8]
ldrb r0, [r1]
add r1, r2, #1
str r0, [sp, #0x20]
ldr r0, [sp, #8]
str r1, [r0, #8]
ldrb r0, [r2]
add r2, r1, #1
str r0, [sp, #0x1c]
ldr r0, [sp, #8]
str r2, [r0, #8]
ldrb r0, [r1]
add r1, r2, #1
str r0, [sp, #0x18]
ldr r0, [sp, #8]
str r1, [r0, #8]
ldrb r0, [r2]
str r0, [sp, #0x14]
ldr r0, [sp, #8]
bl sub_0203FE2C
add r1, r0, #0
ldr r0, [sp, #8]
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r5, r0, #0
ldr r0, [sp, #8]
bl sub_0203FE2C
add r1, r0, #0
ldr r0, [sp, #8]
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
str r0, [sp, #0x10]
mov r0, #1
str r0, [sp, #0x2c]
ldr r0, [r7, #0xc]
mov r4, #0
bl sub_020274E8
cmp r0, #0
bne _0204F580
ldr r1, [sp, #0x10]
add r0, r4, #0
strh r0, [r1]
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
_0204F580:
ldr r0, [r7, #0xc]
mov r1, #0x20
add r2, sp, #0x2c
bl sub_020312C4
str r0, [sp, #0x28]
ldr r0, [sp, #0x2c]
cmp r0, #1
bne _0204F5AA
add r6, r4, #0
_0204F594:
ldr r0, [r7, #0xc]
ldr r1, [sp, #0x28]
mov r2, #0
add r3, r6, #0
bl sub_020312E0
add r4, r4, r0
ldr r0, _0204F6C8 ; =0x000001ED
add r6, r6, #1
cmp r6, r0
blo _0204F594
_0204F5AA:
ldr r0, [sp, #0x28]
cmp r0, #0
beq _0204F5B4
bl FreeToHeap
_0204F5B4:
add r0, r4, #0
bl sub_0205BB1C
add r3, r0, #0
mov r0, #1
str r0, [sp]
str r0, [sp, #4]
ldr r0, [sp, #0x24]
ldr r1, [sp, #0x20]
ldr r0, [r0]
add r2, r4, #0
bl BufferIntegerAsString
ldrh r1, [r5]
mov r6, #0
add r7, r6, #0
str r1, [sp, #0xc]
ldr r0, [sp, #0xc]
cmp r0, #0x2f
bhs _0204F602
ldr r2, [sp, #0xc]
ldr r0, _0204F6CC ; =0x020FC22C
lsl r2, r2, #3
add r0, r0, r2
_0204F5E4:
ldr r2, [r0]
cmp r2, r4
bhi _0204F5FA
ldr r2, [r0, #4]
add r7, r1, #0
add r2, r6, r2
lsl r2, r2, #0x10
lsr r6, r2, #0x10
ldrh r2, [r5]
add r2, r2, #1
strh r2, [r5]
_0204F5FA:
add r1, r1, #1
add r0, #8
cmp r1, #0x2f
blo _0204F5E4
_0204F602:
ldr r0, [sp, #8]
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202CF54
mov r1, #0x45
add r2, r6, #0
bl sub_0202D144
cmp r6, #0
beq _0204F630
ldr r0, [sp, #8]
add r0, #0x80
str r0, [sp, #8]
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0202D918
add r1, r6, #0
mov r2, #5
bl sub_0202D3F8
_0204F630:
cmp r4, #0
bne _0204F63C
ldr r0, [sp, #0x10]
mov r1, #0
strh r1, [r0]
b _0204F662
_0204F63C:
ldrh r1, [r5]
ldr r0, [sp, #0xc]
cmp r0, r1
beq _0204F64A
mov r1, #1
ldr r0, [sp, #0x10]
b _0204F64E
_0204F64A:
ldr r0, [sp, #0x10]
mov r1, #2
_0204F64E:
strh r1, [r0]
ldr r0, [sp, #0xc]
cmp r0, #0x2f
blo _0204F662
ldr r0, [sp, #0x10]
mov r1, #3
strh r1, [r0]
add sp, #0x30
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0204F662:
ldr r0, _0204F6CC ; =0x020FC22C
lsl r1, r7, #3
ldr r4, [r0, r1]
add r0, r4, #0
bl sub_0205BB1C
add r3, r0, #0
mov r0, #1
str r0, [sp]
str r0, [sp, #4]
ldr r0, [sp, #0x24]
ldr r1, [sp, #0x1c]
ldr r0, [r0]
add r2, r4, #0
bl BufferIntegerAsString
ldrh r0, [r5]
lsl r1, r0, #3
ldr r0, _0204F6CC ; =0x020FC22C
ldr r0, [r0, r1]
bl sub_0205BB1C
add r3, r0, #0
mov r0, #1
str r0, [sp]
str r0, [sp, #4]
ldrh r2, [r5]
ldr r0, [sp, #0x24]
ldr r1, [sp, #0x18]
lsl r4, r2, #3
ldr r2, _0204F6CC ; =0x020FC22C
ldr r0, [r0]
ldr r2, [r2, r4]
bl BufferIntegerAsString
add r0, r6, #0
bl sub_0205BB1C
add r3, r0, #0
mov r0, #1
str r0, [sp]
str r0, [sp, #4]
ldr r0, [sp, #0x24]
ldr r1, [sp, #0x14]
ldr r0, [r0]
add r2, r6, #0
bl BufferIntegerAsString
mov r0, #0
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0204F6C8: .word 0x000001ED
_0204F6CC: .word 0x020FC22C
thumb_func_end sub_0204F500
thumb_func_start sub_0204F6D0
sub_0204F6D0: ; 0x0204F6D0
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r5, [r1]
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, [r5, #0xc]
bl sub_020274E8
cmp r0, #0
bne _0204F708
ldr r1, [sp]
mov r0, #0
strh r0, [r1]
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0204F708:
ldr r0, [r5, #0xc]
mov r1, #0x20
add r2, sp, #8
bl sub_020312C4
add r7, r0, #0
ldr r0, [sp, #8]
cmp r0, #1
beq _0204F720
mov r0, #0
str r0, [sp, #4]
b _0204F75E
_0204F720:
mov r4, #0
_0204F722:
ldr r0, [r5, #0xc]
add r1, r7, #0
mov r2, #0
add r3, r4, #0
bl sub_020312E0
mov r1, #0
add r6, r1, r0
ldr r0, [r5, #0xc]
add r1, r7, #0
mov r2, #1
add r3, r4, #0
bl sub_020312E0
add r6, r6, r0
ldr r0, [r5, #0xc]
add r1, r7, #0
mov r2, #2
add r3, r4, #0
bl sub_020312E0
add r0, r6, r0
beq _0204F756
ldr r0, [sp, #4]
add r0, r0, #1
str r0, [sp, #4]
_0204F756:
ldr r0, _0204F774 ; =0x000001ED
add r4, r4, #1
cmp r4, r0
blo _0204F722
_0204F75E:
cmp r7, #0
beq _0204F768
add r0, r7, #0
bl FreeToHeap
_0204F768:
ldr r1, [sp, #4]
ldr r0, [sp]
strh r1, [r0]
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0204F774: .word 0x000001ED
thumb_func_end sub_0204F6D0
thumb_func_start sub_0204F778
sub_0204F778: ; 0x0204F778
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
add r1, r4, #0
add r1, #0x80
ldr r6, [r1]
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r6, #0xc]
mov r4, #0
bl sub_020274E8
cmp r0, #0
bne _0204F7AE
ldr r1, [sp]
add r0, r4, #0
strh r0, [r1]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_0204F7AE:
ldr r0, [r6, #0xc]
mov r1, #0x20
add r2, sp, #4
bl sub_020312C4
add r7, r0, #0
ldr r0, [sp, #4]
cmp r0, #1
bne _0204F7D8
add r5, r4, #0
_0204F7C2:
ldr r0, [r6, #0xc]
add r1, r7, #0
mov r2, #0
add r3, r5, #0
bl sub_020312E0
add r4, r4, r0
ldr r0, _0204F7F4 ; =0x000001ED
add r5, r5, #1
cmp r5, r0
blo _0204F7C2
_0204F7D8:
cmp r7, #0
beq _0204F7E2
add r0, r7, #0
bl FreeToHeap
_0204F7E2:
ldr r0, _0204F7F8 ; =0x00002710
cmp r4, r0
bls _0204F7EA
add r4, r0, #0
_0204F7EA:
ldr r0, [sp]
strh r4, [r0]
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0204F7F4: .word 0x000001ED
_0204F7F8: .word 0x00002710
thumb_func_end sub_0204F778
thumb_func_start sub_0204F7FC
sub_0204F7FC: ; 0x0204F7FC
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_0203107C
add r6, r0, #0
mov r0, #0
bl sub_0205C11C
add r1, r0, #0
add r0, r6, #0
mov r2, #0xff
bl sub_020310BC
add r5, #0x80
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl sub_0203107C
add r5, r0, #0
mov r0, #0
bl sub_0205C0CC
add r1, r0, #0
add r0, r5, #0
mov r2, #0xff
bl sub_020310BC
mov r1, #0
strh r1, [r4]
cmp r0, #0x32
bne _0204F858
mov r0, #1
strh r0, [r4]
_0204F858:
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_0204F7FC
thumb_func_start sub_0204F85C
sub_0204F85C: ; 0x0204F85C
push {r4, r5, r6, lr}
add r4, r3, #0
add r5, r0, #0
ldrb r0, [r4, #1]
add r6, r2, #0
add r0, r0, #1
strb r0, [r4, #1]
bl sub_0203769C
cmp r5, r0
beq _0204F876
ldrh r0, [r6, #4]
strh r0, [r4, #6]
_0204F876:
pop {r4, r5, r6, pc}
thumb_func_end sub_0204F85C
thumb_func_start sub_0204F878
sub_0204F878: ; 0x0204F878
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
mov r3, #0
add r0, sp, #4
strb r3, [r0]
add r0, sp, #4
str r0, [sp]
add r0, r1, #0
mov r1, #5
add r4, r2, #0
bl sub_02030C6C
cmp r4, #3
bne _0204F8B0
add r0, r5, #0
bl sub_0203107C
add r6, r0, #0
mov r0, #0x6a
bl sub_0205C268
add r2, r0, #0
add r0, r6, #0
mov r1, #0x6a
mov r3, #0
bl sub_02031108
_0204F8B0:
add r0, r5, #0
bl sub_0203107C
add r5, r0, #0
add r0, r4, #0
bl sub_0205C0CC
add r6, r0, #0
add r0, r4, #0
bl sub_0205C0CC
bl sub_0205C268
add r2, r0, #0
add r0, r5, #0
add r1, r6, #0
mov r3, #0
bl sub_02031108
add sp, #8
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204F878
thumb_func_start sub_0204F8DC
sub_0204F8DC: ; 0x0204F8DC
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
bl sub_0203FE2C
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_02030CC8
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_02030E08
str r0, [sp, #4]
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r1, r0, #0
cmp r7, #4
bhi _0204F9CC
add r0, r7, r7
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0204F948: ; jump table
.short _0204F952 - _0204F948 - 2 ; case 0
.short _0204F964 - _0204F948 - 2 ; case 1
.short _0204F9CC - _0204F948 - 2 ; case 2
.short _0204F99C - _0204F948 - 2 ; case 3
.short _0204F9AE - _0204F948 - 2 ; case 4
_0204F952:
add r4, #0x80
ldr r1, [r4]
add r0, r5, #0
ldr r1, [r1, #0xc]
mov r2, #0
bl sub_0204A5B0
strh r0, [r6]
b _0204F9D4
_0204F964:
cmp r5, #3
bne _0204F988
add r4, #0x80
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl sub_0203107C
add r4, r0, #0
mov r0, #0x6c
bl sub_0205C268
add r2, r0, #0
add r0, r4, #0
mov r1, #0x6c
bl sub_020310BC
strh r0, [r6]
b _0204F9D4
_0204F988:
lsl r2, r5, #0x18
mov r3, #0
ldr r0, [sp, #4]
mov r1, #9
lsr r2, r2, #0x18
str r3, [sp]
bl sub_02030E58
strh r0, [r6]
b _0204F9D4
_0204F99C:
add r4, #0x80
ldr r0, [r4]
lsl r2, r5, #0x18
ldr r0, [r0, #0xc]
ldr r1, [sp, #4]
lsr r2, r2, #0x18
bl sub_0204FA14
b _0204F9D4
_0204F9AE:
cmp r5, #0
bne _0204F9B6
mov r2, #0
b _0204F9C0
_0204F9B6:
cmp r5, #1
bne _0204F9BE
mov r2, #1
b _0204F9C0
_0204F9BE:
mov r2, #2
_0204F9C0:
ldr r0, [r4, #0x74]
bl sub_0204FBDC
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0204F9CC:
bl GF_AssertFail
mov r0, #0
strh r0, [r6]
_0204F9D4:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204F8DC
thumb_func_start sub_0204F9DC
sub_0204F9DC: ; 0x0204F9DC
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_02030E08
lsl r2, r4, #0x18
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
lsr r2, r2, #0x18
ldr r0, [r0, #0xc]
bl sub_0204FA14
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204F9DC
thumb_func_start sub_0204FA14
sub_0204FA14: ; 0x0204FA14
push {r4, r5, r6, r7, lr}
sub sp, #0xc
str r0, [sp, #4]
mov r3, #0
add r0, sp, #8
strb r3, [r0]
add r0, sp, #8
str r0, [sp]
add r0, r1, #0
mov r1, #9
add r5, r2, #0
bl sub_02030E18
cmp r5, #3
bne _0204FA4C
ldr r0, [sp, #4]
bl sub_0203107C
add r4, r0, #0
mov r0, #0x6c
bl sub_0205C268
add r2, r0, #0
add r0, r4, #0
mov r1, #0x6c
mov r3, #0
bl sub_02031108
_0204FA4C:
ldr r0, [sp, #4]
bl sub_0203107C
add r4, r0, #0
add r0, r5, #0
bl sub_0205C1A0
add r6, r0, #0
add r0, r5, #0
bl sub_0205C1A0
bl sub_0205C268
add r2, r0, #0
add r0, r4, #0
add r1, r6, #0
mov r3, #0
bl sub_02031108
ldr r0, [sp, #4]
bl sub_0203107C
add r4, r0, #0
add r0, r5, #0
bl sub_0205C1F0
add r6, r0, #0
add r0, r5, #0
bl sub_0205C1F0
bl sub_0205C268
add r2, r0, #0
add r0, r4, #0
add r1, r6, #0
mov r3, #0
bl sub_02031108
mov r4, #0
_0204FA9A:
ldr r0, [sp, #4]
bl sub_0203107C
lsl r1, r4, #0x18
add r6, r0, #0
add r0, r5, #0
lsr r1, r1, #0x18
bl sub_0205C174
lsl r1, r4, #0x18
add r7, r0, #0
add r0, r5, #0
lsr r1, r1, #0x18
bl sub_0205C174
bl sub_0205C268
add r2, r0, #0
add r0, r6, #0
add r1, r7, #0
mov r3, #1
bl sub_02031108
add r4, r4, #1
cmp r4, #3
blt _0204FA9A
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204FA14
thumb_func_start sub_0204FAD4
sub_0204FAD4: ; 0x0204FAD4
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r3, r0, #0
ldr r0, [r5, #0x74]
add r1, r4, #0
add r2, r6, #0
bl sub_0204FB20
mov r0, #1
pop {r4, r5, r6, pc}
thumb_func_end sub_0204FAD4
thumb_func_start sub_0204FB20
sub_0204FB20: ; 0x0204FB20
push {r3, r4, r5, r6, r7, lr}
str r0, [sp]
add r5, r1, #0
mov r0, #0xb
mov r1, #0x10
add r6, r2, #0
add r7, r3, #0
bl AllocFromHeap
add r4, r0, #0
add r2, r4, #0
mov r1, #0x10
mov r0, #0
_0204FB3A:
strb r0, [r2]
add r2, r2, #1
sub r1, r1, #1
bne _0204FB3A
strh r5, [r4, #4]
strh r6, [r4, #6]
add r0, r4, #0
str r7, [r4, #0xc]
bl sub_02091574
ldr r0, [sp]
ldr r1, _0204FB5C ; =sub_0204FB60
add r2, r4, #0
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
nop
_0204FB5C: .word sub_0204FB60
thumb_func_end sub_0204FB20
thumb_func_start sub_0204FB60
sub_0204FB60: ; 0x0204FB60
push {r4, lr}
bl sub_02050650
add r4, r0, #0
ldrb r1, [r4]
cmp r1, #0
beq _0204FB78
cmp r1, #1
beq _0204FB8E
cmp r1, #2
beq _0204FBCE
b _0204FBD6
_0204FB78:
mov r0, #0x85
add r1, r4, #0
mov r2, #0x10
bl sub_02037030
cmp r0, #1
bne _0204FBD6
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
b _0204FBD6
_0204FB8E:
ldrb r0, [r4, #1]
cmp r0, #2
blo _0204FBD6
ldr r0, [r4, #0xc]
mov r1, #0
strh r1, [r0]
ldrh r1, [r4, #4]
ldrh r0, [r4, #8]
cmp r1, r0
beq _0204FBA8
ldrh r0, [r4, #0xa]
cmp r1, r0
bne _0204FBB0
_0204FBA8:
ldr r1, [r4, #0xc]
ldrh r0, [r1]
add r0, r0, #1
strh r0, [r1]
_0204FBB0:
ldrh r1, [r4, #6]
ldrh r0, [r4, #8]
cmp r1, r0
beq _0204FBBE
ldrh r0, [r4, #0xa]
cmp r1, r0
bne _0204FBC6
_0204FBBE:
ldr r1, [r4, #0xc]
ldrh r0, [r1]
add r0, r0, #2
strh r0, [r1]
_0204FBC6:
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
b _0204FBD6
_0204FBCE:
bl FreeToHeap
mov r0, #1
pop {r4, pc}
_0204FBD6:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0204FB60
thumb_func_start sub_0204FBDC
sub_0204FBDC: ; 0x0204FBDC
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r6, r2, #0
bl sub_0205064C
add r7, r0, #0
mov r0, #0xb
mov r1, #0x10
bl AllocFromHeap
add r4, r0, #0
mov r1, #0
mov r2, #0x10
bl MIi_CpuFill8
strb r6, [r4, #4]
str r5, [r4, #0xc]
ldr r0, [r7, #0x10]
ldr r1, _0204FC0C ; =sub_0204FC10
add r2, r4, #0
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
nop
_0204FC0C: .word sub_0204FC10
thumb_func_end sub_0204FBDC
thumb_func_start sub_0204FC10
sub_0204FC10: ; 0x0204FC10
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldr r1, [r4]
cmp r1, #4
bhi _0204FC72
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0204FC34: ; jump table
.short _0204FC3E - _0204FC34 - 2 ; case 0
.short _0204FC4A - _0204FC34 - 2 ; case 1
.short _0204FC54 - _0204FC34 - 2 ; case 2
.short _0204FC60 - _0204FC34 - 2 ; case 3
.short _0204FC6A - _0204FC34 - 2 ; case 4
_0204FC3E:
add r1, r5, #0
mov r2, #0xb
bl sub_0204FC78
str r0, [r4]
b _0204FC72
_0204FC4A:
add r1, r5, #0
bl sub_0204FD50
str r0, [r4]
b _0204FC72
_0204FC54:
add r1, r5, #0
mov r2, #0xb
bl sub_0204FDA0
str r0, [r4]
b _0204FC72
_0204FC60:
add r1, r5, #0
bl sub_0204FE30
str r0, [r4]
b _0204FC72
_0204FC6A:
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, pc}
_0204FC72:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204FC10
thumb_func_start sub_0204FC78
sub_0204FC78: ; 0x0204FC78
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
mov r0, #0xb
mov r1, #0x44
bl AllocFromHeap
add r4, r0, #0
mov r0, #0
add r1, r4, #0
mov r2, #0x44
bl MIi_CpuClearFast
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
str r0, [r4]
ldr r0, [r6, #0xc]
bl sub_0207879C
str r0, [r4, #4]
ldr r0, [r6, #0xc]
bl Sav2_Mailbox_get
str r0, [r4, #8]
ldr r0, [r6, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
add r1, r4, #0
str r0, [r4, #0xc]
mov r0, #0
add r1, #0x25
strb r0, [r1]
add r1, r4, #0
mov r2, #0x17
add r1, #0x24
strb r2, [r1]
str r6, [r4, #0x1c]
add r1, r4, #0
ldrb r2, [r5, #5]
add r1, #0x26
strb r2, [r1]
_0204FCCC:
add r1, r5, r0
ldrb r2, [r1, #6]
add r1, r4, r0
add r0, r0, #1
lsl r0, r0, #0x18
add r1, #0x30
lsr r0, r0, #0x18
strb r2, [r1]
cmp r0, #3
blo _0204FCCC
add r0, r4, #0
mov r1, #0x64
add r0, #0x37
strb r1, [r0]
add r0, r4, #0
add r0, #0x36
mov r1, #0xf
ldrb r0, [r0]
mov ip, r1
add r2, r4, #0
bic r0, r1
mov r1, #3
orr r1, r0
add r0, r4, #0
add r0, #0x36
strb r1, [r0]
add r0, r4, #0
add r0, #0x36
ldrb r0, [r0]
mov r7, #0xf0
mov r3, #0x30
bic r0, r7
add r1, r0, #0
add r0, r4, #0
orr r1, r3
add r0, #0x36
add r3, #0xdc
strb r1, [r0]
add r0, r6, r3
str r0, [r4, #0x20]
ldrb r0, [r5, #4]
add r2, #0x36
cmp r0, #2
bne _0204FD3A
ldrb r0, [r2]
mov r1, ip
bic r0, r1
mov r1, #2
orr r0, r1
strb r0, [r2]
ldrb r1, [r2]
mov r0, #0x20
bic r1, r7
orr r0, r1
strb r0, [r2]
_0204FD3A:
ldr r1, _0204FD4C ; =0x0210159C
add r0, r6, #0
add r2, r4, #0
bl SwitchToPokegearApp
ldr r0, [r5, #0xc]
str r4, [r0]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0204FD4C: .word 0x0210159C
thumb_func_end sub_0204FC78
thumb_func_start sub_0204FD50
sub_0204FD50: ; 0x0204FD50
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, r1, #0
bl sub_020505A0
cmp r0, #0
beq _0204FD62
mov r0, #1
pop {r3, r4, r5, pc}
_0204FD62:
ldr r0, [r5, #0xc]
ldr r4, [r0]
add r0, r4, #0
add r0, #0x26
ldrb r0, [r0]
cmp r0, #6
beq _0204FD78
cmp r0, #7
bne _0204FD7C
mov r0, #4
pop {r3, r4, r5, pc}
_0204FD78:
mov r0, #4
pop {r3, r4, r5, pc}
_0204FD7C:
add r0, r4, #0
add r0, #0x30
add r1, r5, #6
mov r2, #3
bl MIi_CpuCopy8
add r0, r4, #0
add r0, #0x26
ldrb r0, [r0]
strb r0, [r5, #5]
add r0, r4, #0
bl FreeToHeap
ldr r0, [r5, #0xc]
mov r1, #0
str r1, [r0]
mov r0, #2
pop {r3, r4, r5, pc}
thumb_func_end sub_0204FD50
thumb_func_start sub_0204FDA0
sub_0204FDA0: ; 0x0204FDA0
push {r3, r4, r5, r6, r7, lr}
add r7, r1, #0
add r6, r0, #0
ldr r5, [r7, #0xc]
add r0, r2, #0
mov r1, #0x3c
bl AllocFromHeapAtEnd
mov r1, #0
mov r2, #0x3c
add r4, r0, #0
bl MIi_CpuFill8
add r0, r5, #0
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #4]
add r0, r5, #0
bl SavArray_PlayerParty_get
str r0, [r4]
add r0, r5, #0
bl sub_02074910
str r0, [r4, #0x1c]
add r0, r5, #0
bl sub_02088288
str r0, [r4, #0x2c]
mov r0, #1
strb r0, [r4, #0x11]
ldrb r0, [r6, #5]
strb r0, [r4, #0x14]
ldr r0, [r4]
bl GetPartyCount
strb r0, [r4, #0x13]
mov r0, #0
strh r0, [r4, #0x18]
strb r0, [r4, #0x12]
add r0, r5, #0
bl sub_0202D95C
str r0, [r4, #0x20]
add r0, r5, #0
bl sub_0208828C
str r0, [r4, #0x34]
ldr r1, _0204FE28 ; =0x020FC3A4
add r0, r4, #0
bl sub_02089D40
add r0, r5, #0
bl Sav2_PlayerData_GetProfileAddr
add r1, r0, #0
add r0, r4, #0
bl sub_0208AD34
ldr r1, _0204FE2C ; =0x02103A1C
add r0, r7, #0
add r2, r4, #0
bl SwitchToPokegearApp
ldr r0, [r6, #0xc]
str r4, [r0]
mov r0, #3
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0204FE28: .word 0x020FC3A4
_0204FE2C: .word 0x02103A1C
thumb_func_end sub_0204FDA0
thumb_func_start sub_0204FE30
sub_0204FE30: ; 0x0204FE30
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
bl sub_020505A0
cmp r0, #0
beq _0204FE42
mov r0, #3
pop {r4, pc}
_0204FE42:
ldr r0, [r4, #0xc]
ldr r0, [r0]
ldrb r1, [r0, #0x14]
strb r1, [r4, #5]
bl FreeToHeap
ldr r1, [r4, #0xc]
mov r0, #0
str r0, [r1]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0204FE30
thumb_func_start sub_0204FE58
sub_0204FE58: ; 0x0204FE58
push {r4, r5, r6, lr}
add r4, r3, #0
add r6, r0, #0
ldrb r0, [r4, #1]
add r5, r2, #0
add r0, r0, #1
strb r0, [r4, #1]
bl sub_0203769C
cmp r6, r0
beq _0204FE76
ldrh r0, [r5, #4]
strh r0, [r4, #8]
ldrh r0, [r5, #6]
strh r0, [r4, #0xa]
_0204FE76:
pop {r4, r5, r6, pc}
thumb_func_end sub_0204FE58
thumb_func_start sub_0204FE78
sub_0204FE78: ; 0x0204FE78
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
bl sub_0203FE2C
add r7, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r6, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_02030E88
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_02030FA0
str r0, [sp, #4]
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x14
bl sub_020402F0
add r1, r0, #0
cmp r7, #4
bhi _0204FF68
add r0, r7, r7
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0204FEE4: ; jump table
.short _0204FEEE - _0204FEE4 - 2 ; case 0
.short _0204FF00 - _0204FEE4 - 2 ; case 1
.short _0204FF68 - _0204FEE4 - 2 ; case 2
.short _0204FF38 - _0204FEE4 - 2 ; case 3
.short _0204FF4A - _0204FEE4 - 2 ; case 4
_0204FEEE:
add r4, #0x80
ldr r1, [r4]
add r0, r5, #0
ldr r1, [r1, #0xc]
mov r2, #0
bl sub_0204A5B0
strh r0, [r6]
b _0204FF70
_0204FF00:
cmp r5, #3
bne _0204FF24
add r4, #0x80
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl sub_0203107C
add r4, r0, #0
mov r0, #0x6e
bl sub_0205C268
add r2, r0, #0
add r0, r4, #0
mov r1, #0x6e
bl sub_020310BC
strh r0, [r6]
b _0204FF70
_0204FF24:
lsl r2, r5, #0x18
mov r3, #0
ldr r0, [sp, #4]
mov r1, #8
lsr r2, r2, #0x18
str r3, [sp]
bl sub_02030FE4
strh r0, [r6]
b _0204FF70
_0204FF38:
add r4, #0x80
ldr r0, [r4]
lsl r2, r5, #0x18
ldr r0, [r0, #0xc]
ldr r1, [sp, #4]
lsr r2, r2, #0x18
bl sub_0204FFB0
b _0204FF70
_0204FF4A:
cmp r5, #0
bne _0204FF52
mov r2, #0
b _0204FF5C
_0204FF52:
cmp r5, #1
bne _0204FF5A
mov r2, #1
b _0204FF5C
_0204FF5A:
mov r2, #2
_0204FF5C:
ldr r0, [r4, #0x74]
bl sub_0205011C
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0204FF68:
bl GF_AssertFail
mov r0, #0
strh r0, [r6]
_0204FF70:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0204FE78
thumb_func_start sub_0204FF78
sub_0204FF78: ; 0x0204FF78
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl sub_02030FA0
lsl r2, r4, #0x18
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
lsr r2, r2, #0x18
ldr r0, [r0, #0xc]
bl sub_0204FFB0
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0204FF78
thumb_func_start sub_0204FFB0
sub_0204FFB0: ; 0x0204FFB0
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
mov r3, #0
add r0, sp, #4
strb r3, [r0]
add r0, sp, #4
str r0, [sp]
add r0, r1, #0
mov r1, #8
add r4, r2, #0
bl sub_02030FB0
cmp r4, #3
bne _0204FFE8
add r0, r5, #0
bl sub_0203107C
add r6, r0, #0
mov r0, #0x6e
bl sub_0205C268
add r2, r0, #0
add r0, r6, #0
mov r1, #0x6e
mov r3, #0
bl sub_02031108
_0204FFE8:
add r0, r5, #0
bl sub_0203107C
add r5, r0, #0
add r0, r4, #0
bl sub_0205C2C0
add r6, r0, #0
add r0, r4, #0
bl sub_0205C2C0
bl sub_0205C268
add r2, r0, #0
add r0, r5, #0
add r1, r6, #0
mov r3, #0
bl sub_02031108
add sp, #8
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0204FFB0
thumb_func_start sub_02050014
sub_02050014: ; 0x02050014
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
add r3, r0, #0
ldr r0, [r5, #0x74]
add r1, r4, #0
add r2, r6, #0
bl sub_02050060
mov r0, #1
pop {r4, r5, r6, pc}
thumb_func_end sub_02050014
thumb_func_start sub_02050060
sub_02050060: ; 0x02050060
push {r3, r4, r5, r6, r7, lr}
str r0, [sp]
add r5, r1, #0
mov r0, #0xb
mov r1, #0x10
add r6, r2, #0
add r7, r3, #0
bl AllocFromHeap
add r4, r0, #0
add r2, r4, #0
mov r1, #0x10
mov r0, #0
_0205007A:
strb r0, [r2]
add r2, r2, #1
sub r1, r1, #1
bne _0205007A
strh r5, [r4, #4]
strh r6, [r4, #6]
add r0, r4, #0
str r7, [r4, #0xc]
bl sub_02091574
ldr r0, [sp]
ldr r1, _0205009C ; =sub_020500A0
add r2, r4, #0
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
nop
_0205009C: .word sub_020500A0
thumb_func_end sub_02050060
thumb_func_start sub_020500A0
sub_020500A0: ; 0x020500A0
push {r4, lr}
bl sub_02050650
add r4, r0, #0
ldrb r1, [r4]
cmp r1, #0
beq _020500B8
cmp r1, #1
beq _020500CE
cmp r1, #2
beq _0205010E
b _02050116
_020500B8:
mov r0, #0x86
add r1, r4, #0
mov r2, #0x10
bl sub_02037030
cmp r0, #1
bne _02050116
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
b _02050116
_020500CE:
ldrb r0, [r4, #1]
cmp r0, #2
blo _02050116
ldr r0, [r4, #0xc]
mov r1, #0
strh r1, [r0]
ldrh r1, [r4, #4]
ldrh r0, [r4, #8]
cmp r1, r0
beq _020500E8
ldrh r0, [r4, #0xa]
cmp r1, r0
bne _020500F0
_020500E8:
ldr r1, [r4, #0xc]
ldrh r0, [r1]
add r0, r0, #1
strh r0, [r1]
_020500F0:
ldrh r1, [r4, #6]
ldrh r0, [r4, #8]
cmp r1, r0
beq _020500FE
ldrh r0, [r4, #0xa]
cmp r1, r0
bne _02050106
_020500FE:
ldr r1, [r4, #0xc]
ldrh r0, [r1]
add r0, r0, #2
strh r0, [r1]
_02050106:
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
b _02050116
_0205010E:
bl FreeToHeap
mov r0, #1
pop {r4, pc}
_02050116:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020500A0
thumb_func_start sub_0205011C
sub_0205011C: ; 0x0205011C
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r6, r2, #0
bl sub_0205064C
add r7, r0, #0
mov r0, #0xb
mov r1, #0x10
bl AllocFromHeap
add r4, r0, #0
mov r1, #0
mov r2, #0x10
bl MIi_CpuFill8
strb r6, [r4, #4]
str r5, [r4, #0xc]
ldr r0, [r7, #0x10]
ldr r1, _0205014C ; =sub_02050150
add r2, r4, #0
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
nop
_0205014C: .word sub_02050150
thumb_func_end sub_0205011C
thumb_func_start sub_02050150
sub_02050150: ; 0x02050150
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldr r1, [r4]
cmp r1, #4
bhi _020501B2
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02050174: ; jump table
.short _0205017E - _02050174 - 2 ; case 0
.short _0205018A - _02050174 - 2 ; case 1
.short _02050194 - _02050174 - 2 ; case 2
.short _020501A0 - _02050174 - 2 ; case 3
.short _020501AA - _02050174 - 2 ; case 4
_0205017E:
add r1, r5, #0
mov r2, #0xb
bl sub_020501B8
str r0, [r4]
b _020501B2
_0205018A:
add r1, r5, #0
bl sub_02050290
str r0, [r4]
b _020501B2
_02050194:
add r1, r5, #0
mov r2, #0xb
bl sub_020502E0
str r0, [r4]
b _020501B2
_020501A0:
add r1, r5, #0
bl sub_02050370
str r0, [r4]
b _020501B2
_020501AA:
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, pc}
_020501B2:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02050150
thumb_func_start sub_020501B8
sub_020501B8: ; 0x020501B8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
mov r0, #0xb
mov r1, #0x44
bl AllocFromHeap
add r4, r0, #0
mov r0, #0
add r1, r4, #0
mov r2, #0x44
bl MIi_CpuClearFast
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
str r0, [r4]
ldr r0, [r6, #0xc]
bl sub_0207879C
str r0, [r4, #4]
ldr r0, [r6, #0xc]
bl Sav2_Mailbox_get
str r0, [r4, #8]
ldr r0, [r6, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
add r1, r4, #0
str r0, [r4, #0xc]
mov r0, #0
add r1, #0x25
strb r0, [r1]
add r1, r4, #0
mov r2, #0x17
add r1, #0x24
strb r2, [r1]
str r6, [r4, #0x1c]
add r1, r4, #0
ldrb r2, [r5, #5]
add r1, #0x26
strb r2, [r1]
_0205020C:
add r1, r5, r0
ldrb r2, [r1, #6]
add r1, r4, r0
add r0, r0, #1
lsl r0, r0, #0x18
add r1, #0x30
lsr r0, r0, #0x18
strb r2, [r1]
cmp r0, #3
blo _0205020C
add r0, r4, #0
mov r1, #0x64
add r0, #0x37
strb r1, [r0]
add r0, r4, #0
add r0, #0x36
mov r1, #0xf
ldrb r0, [r0]
mov ip, r1
add r2, r4, #0
bic r0, r1
mov r1, #3
orr r1, r0
add r0, r4, #0
add r0, #0x36
strb r1, [r0]
add r0, r4, #0
add r0, #0x36
ldrb r0, [r0]
mov r7, #0xf0
mov r3, #0x30
bic r0, r7
add r1, r0, #0
add r0, r4, #0
orr r1, r3
add r0, #0x36
add r3, #0xdc
strb r1, [r0]
add r0, r6, r3
str r0, [r4, #0x20]
ldrb r0, [r5, #4]
add r2, #0x36
cmp r0, #2
bne _0205027A
ldrb r0, [r2]
mov r1, ip
bic r0, r1
mov r1, #2
orr r0, r1
strb r0, [r2]
ldrb r1, [r2]
mov r0, #0x20
bic r1, r7
orr r0, r1
strb r0, [r2]
_0205027A:
ldr r1, _0205028C ; =0x0210159C
add r0, r6, #0
add r2, r4, #0
bl SwitchToPokegearApp
ldr r0, [r5, #0xc]
str r4, [r0]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0205028C: .word 0x0210159C
thumb_func_end sub_020501B8
thumb_func_start sub_02050290
sub_02050290: ; 0x02050290
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, r1, #0
bl sub_020505A0
cmp r0, #0
beq _020502A2
mov r0, #1
pop {r3, r4, r5, pc}
_020502A2:
ldr r0, [r5, #0xc]
ldr r4, [r0]
add r0, r4, #0
add r0, #0x26
ldrb r0, [r0]
cmp r0, #6
beq _020502B8
cmp r0, #7
bne _020502BC
mov r0, #4
pop {r3, r4, r5, pc}
_020502B8:
mov r0, #4
pop {r3, r4, r5, pc}
_020502BC:
add r0, r4, #0
add r0, #0x30
add r1, r5, #6
mov r2, #3
bl MIi_CpuCopy8
add r0, r4, #0
add r0, #0x26
ldrb r0, [r0]
strb r0, [r5, #5]
add r0, r4, #0
bl FreeToHeap
ldr r0, [r5, #0xc]
mov r1, #0
str r1, [r0]
mov r0, #2
pop {r3, r4, r5, pc}
thumb_func_end sub_02050290
thumb_func_start sub_020502E0
sub_020502E0: ; 0x020502E0
push {r3, r4, r5, r6, r7, lr}
add r7, r1, #0
add r6, r0, #0
ldr r5, [r7, #0xc]
add r0, r2, #0
mov r1, #0x3c
bl AllocFromHeapAtEnd
mov r1, #0
mov r2, #0x3c
add r4, r0, #0
bl MIi_CpuFill8
add r0, r5, #0
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #4]
add r0, r5, #0
bl SavArray_PlayerParty_get
str r0, [r4]
add r0, r5, #0
bl sub_02074910
str r0, [r4, #0x1c]
add r0, r5, #0
bl sub_02088288
str r0, [r4, #0x2c]
mov r0, #1
strb r0, [r4, #0x11]
ldrb r0, [r6, #5]
strb r0, [r4, #0x14]
ldr r0, [r4]
bl GetPartyCount
strb r0, [r4, #0x13]
mov r0, #0
strh r0, [r4, #0x18]
strb r0, [r4, #0x12]
add r0, r5, #0
bl sub_0202D95C
str r0, [r4, #0x20]
add r0, r5, #0
bl sub_0208828C
str r0, [r4, #0x34]
ldr r1, _02050368 ; =0x020FC3AC
add r0, r4, #0
bl sub_02089D40
add r0, r5, #0
bl Sav2_PlayerData_GetProfileAddr
add r1, r0, #0
add r0, r4, #0
bl sub_0208AD34
ldr r1, _0205036C ; =0x02103A1C
add r0, r7, #0
add r2, r4, #0
bl SwitchToPokegearApp
ldr r0, [r6, #0xc]
str r4, [r0]
mov r0, #3
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02050368: .word 0x020FC3AC
_0205036C: .word 0x02103A1C
thumb_func_end sub_020502E0
thumb_func_start sub_02050370
sub_02050370: ; 0x02050370
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
bl sub_020505A0
cmp r0, #0
beq _02050382
mov r0, #3
pop {r4, pc}
_02050382:
ldr r0, [r4, #0xc]
ldr r0, [r0]
ldrb r1, [r0, #0x14]
strb r1, [r4, #5]
bl FreeToHeap
ldr r1, [r4, #0xc]
mov r0, #0
str r0, [r1]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02050370
thumb_func_start sub_02050398
sub_02050398: ; 0x02050398
push {r4, r5, r6, lr}
add r4, r3, #0
add r6, r0, #0
ldrb r0, [r4, #1]
add r5, r2, #0
add r0, r0, #1
strb r0, [r4, #1]
bl sub_0203769C
cmp r6, r0
beq _020503B6
ldrh r0, [r5, #4]
strh r0, [r4, #8]
ldrh r0, [r5, #6]
strh r0, [r4, #0xa]
_020503B6:
pop {r4, r5, r6, pc}
thumb_func_end sub_02050398
thumb_func_start sub_020503B8
sub_020503B8: ; 0x020503B8
ldr r0, _020503BC ; =0x0000044C
bx lr
.balign 4, 0
_020503BC: .word 0x0000044C
thumb_func_end sub_020503B8
thumb_func_start sub_020503C0
sub_020503C0: ; 0x020503C0
ldr r3, _020503C8 ; =memset
mov r1, #0
ldr r2, _020503CC ; =0x0000044C
bx r3
.balign 4, 0
_020503C8: .word memset
_020503CC: .word 0x0000044C
thumb_func_end sub_020503C0
thumb_func_start sub_020503D0
sub_020503D0: ; 0x020503D0
ldr r3, _020503D8 ; =SavArray_get
mov r1, #4
bx r3
nop
_020503D8: .word SavArray_get
thumb_func_end sub_020503D0
thumb_func_start sub_020503DC
sub_020503DC: ; 0x020503DC
push {r3, r4, r5, lr}
add r4, r1, #0
bl sub_0205045C
cmp r0, #0
beq _02050402
lsr r3, r4, #0x1f
lsl r2, r4, #0x1d
ldrb r5, [r0]
sub r2, r2, r3
mov r1, #0x1d
ror r2, r1
mov r0, #1
add r1, r3, r2
add r2, r0, #0
lsl r2, r1
add r1, r5, #0
tst r1, r2
bne _02050404
_02050402:
mov r0, #0
_02050404:
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020503DC
thumb_func_start sub_02050408
sub_02050408: ; 0x02050408
push {r4, r5, r6, lr}
add r4, r1, #0
bl sub_0205045C
cmp r0, #0
beq _0205042C
lsr r5, r4, #0x1f
lsl r3, r4, #0x1d
sub r3, r3, r5
mov r2, #0x1d
ror r3, r2
mov r6, #1
add r2, r5, r3
add r3, r6, #0
ldrb r1, [r0]
lsl r3, r2
orr r1, r3
strb r1, [r0]
_0205042C:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02050408
thumb_func_start sub_02050430
sub_02050430: ; 0x02050430
push {r4, r5, r6, lr}
add r4, r1, #0
bl sub_0205045C
cmp r0, #0
beq _02050458
lsr r5, r4, #0x1f
lsl r3, r4, #0x1d
sub r3, r3, r5
mov r2, #0x1d
ror r3, r2
mov r6, #1
add r2, r5, r3
add r3, r6, #0
lsl r3, r2
mov r2, #0xff
ldrb r1, [r0]
eor r2, r3
and r1, r2
strb r1, [r0]
_02050458:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02050430
thumb_func_start sub_0205045C
sub_0205045C: ; 0x0205045C
push {r3, r4, r5, lr}
add r5, r0, #0
cmp r1, #0
bne _02050468
mov r0, #0
pop {r3, r4, r5, pc}
_02050468:
mov r0, #1
lsl r0, r0, #0xe
cmp r1, r0
bhs _02050488
mov r0, #0x5b
lsr r4, r1, #3
lsl r0, r0, #2
cmp r4, r0
blt _0205047E
bl GF_AssertFail
_0205047E:
mov r0, #0x2e
lsl r0, r0, #4
add r0, r5, r0
add r0, r0, r4
pop {r3, r4, r5, pc}
_02050488:
sub r1, r1, r0
asr r0, r1, #2
lsr r0, r0, #0x1d
add r0, r1, r0
asr r4, r0, #3
cmp r4, #8
blt _0205049A
bl GF_AssertFail
_0205049A:
ldr r0, _020504A0 ; =0x021D4170
add r0, r0, r4
pop {r3, r4, r5, pc}
.balign 4, 0
_020504A0: .word 0x021D4170
thumb_func_end sub_0205045C
thumb_func_start sub_020504A4
sub_020504A4: ; 0x020504A4
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #1
lsl r0, r0, #0xe
sub r4, r1, r0
mov r0, #0x17
lsl r0, r0, #4
cmp r4, r0
blt _020504BA
bl GF_AssertFail
_020504BA:
lsl r0, r4, #1
add r0, r5, r0
pop {r3, r4, r5, pc}
thumb_func_end sub_020504A4
thumb_func_start sub_020504C0
sub_020504C0: ; 0x020504C0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #0x20
add r6, r1, #0
add r1, r0, #0
add r7, r2, #0
bl AllocFromHeapAtEnd
add r4, r0, #0
mov r0, #0
str r0, [r4]
str r6, [r4, #4]
str r0, [r4, #8]
str r7, [r4, #0xc]
str r0, [r4, #0x10]
str r0, [r4, #0x14]
mov r0, #0x20
mov r1, #4
str r5, [r4, #0x18]
bl AllocFromHeapAtEnd
str r0, [r4, #0x1c]
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020504C0
thumb_func_start sub_020504F0
sub_020504F0: ; 0x020504F0
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0x10]
add r4, r1, #0
add r6, r2, #0
cmp r0, #0
beq _02050502
bl GF_AssertFail
_02050502:
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl sub_020504C0
str r0, [r5, #0x10]
pop {r4, r5, r6, pc}
thumb_func_end sub_020504F0
thumb_func_start sub_02050510
sub_02050510: ; 0x02050510
push {r4, lr}
add r4, r0, #0
str r1, [r4, #4]
mov r0, #0
str r0, [r4, #8]
str r2, [r4, #0xc]
ldr r0, [r4, #0x14]
cmp r0, #0
bne _02050524
beq _0205052E
_02050524:
bl FreeToHeap
mov r0, #0
str r0, [r4, #0x10]
str r0, [r4, #0x14]
_0205052E:
pop {r4, pc}
thumb_func_end sub_02050510
thumb_func_start sub_02050530
sub_02050530: ; 0x02050530
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x18]
bl sub_020504C0
str r4, [r0]
ldr r1, [r4, #0x18]
str r0, [r1, #0x10]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02050530
thumb_func_start sub_02050544
sub_02050544: ; 0x02050544
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x10]
cmp r0, #0
bne _02050552
mov r0, #0
pop {r3, r4, r5, pc}
_02050552:
ldr r1, [r0, #4]
blx r1
cmp r0, #1
bne _0205058A
_0205055A:
ldr r0, [r5, #0x10]
ldr r4, [r0]
ldr r0, [r0, #0x14]
cmp r0, #0
beq _02050568
bl FreeToHeap
_02050568:
ldr r0, [r5, #0x10]
ldr r0, [r0, #0x1c]
bl FreeToHeap
ldr r0, [r5, #0x10]
bl FreeToHeap
str r4, [r5, #0x10]
cmp r4, #0
bne _02050580
mov r0, #1
pop {r3, r4, r5, pc}
_02050580:
ldr r0, [r5, #0x10]
ldr r1, [r0, #4]
blx r1
cmp r0, #1
beq _0205055A
_0205058A:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02050544
thumb_func_start sub_02050590
sub_02050590: ; 0x02050590
ldr r0, [r0, #0x10]
cmp r0, #0
beq _0205059A
mov r0, #1
bx lr
_0205059A:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end sub_02050590
thumb_func_start sub_020505A0
sub_020505A0: ; 0x020505A0
push {r4, lr}
add r4, r0, #0
bl sub_0203DF7C
cmp r0, #0
bne _020505B6
add r0, r4, #0
bl sub_0203DFA4
cmp r0, #0
beq _020505BA
_020505B6:
mov r0, #1
pop {r4, pc}
_020505BA:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020505A0
thumb_func_start sub_020505C0
sub_020505C0: ; 0x020505C0
ldr r3, _020505C4 ; =sub_0203DEF0
bx r3
.balign 4, 0
_020505C4: .word sub_0203DEF0
thumb_func_end sub_020505C0
thumb_func_start sub_020505C8
sub_020505C8: ; 0x020505C8
push {r3, lr}
bl sub_0203DF8C
cmp r0, #0
beq _020505D6
mov r0, #1
pop {r3, pc}
_020505D6:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020505C8
thumb_func_start sub_020505DC
sub_020505DC: ; 0x020505DC
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
beq _020505FA
cmp r0, #1
beq _0205060C
b _02050620
_020505FA:
ldr r1, [r4, #4]
ldr r2, [r4, #8]
add r0, r5, #0
bl SwitchToPokegearApp
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050620
_0205060C:
add r0, r5, #0
bl sub_020505A0
cmp r0, #0
bne _02050620
add r0, r4, #0
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, pc}
_02050620:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_020505DC
thumb_func_start sub_02050624
sub_02050624: ; 0x02050624
push {r4, r5, r6, lr}
add r6, r0, #0
add r5, r1, #0
mov r0, #0x20
mov r1, #0xc
add r4, r2, #0
bl AllocFromHeapAtEnd
add r2, r0, #0
mov r0, #0
str r0, [r2]
str r5, [r2, #4]
ldr r1, _02050648 ; =sub_020505DC
add r0, r6, #0
str r4, [r2, #8]
bl sub_02050530
pop {r4, r5, r6, pc}
.balign 4, 0
_02050648: .word sub_020505DC
thumb_func_end sub_02050624
thumb_func_start sub_0205064C
sub_0205064C: ; 0x0205064C
ldr r0, [r0, #0x18]
bx lr
thumb_func_end sub_0205064C
thumb_func_start sub_02050650
sub_02050650: ; 0x02050650
ldr r0, [r0, #0xc]
bx lr
thumb_func_end sub_02050650
thumb_func_start sub_02050654
sub_02050654: ; 0x02050654
add r0, #8
bx lr
thumb_func_end sub_02050654
thumb_func_start sub_02050658
sub_02050658: ; 0x02050658
ldr r0, [r0, #0x1c]
ldr r0, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_02050658
thumb_func_start sub_02050660
sub_02050660: ; 0x02050660
push {r4, r5, r6, lr}
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r6, r0, #0
add r0, r4, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
beq _02050686
cmp r0, #1
beq _0205069A
b _020506A8
_02050686:
add r0, r5, #0
add r1, r6, #0
bl sub_0203E3C4
bl sub_0203E354
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020506A8
_0205069A:
add r0, r5, #0
bl sub_020505A0
cmp r0, #0
bne _020506A8
mov r0, #1
pop {r4, r5, r6, pc}
_020506A8:
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02050660
thumb_func_start sub_020506AC
sub_020506AC: ; 0x020506AC
ldr r3, _020506B4 ; =sub_02050530
add r2, r1, #0
ldr r1, _020506B8 ; =sub_02050660
bx r3
.balign 4, 0
_020506B4: .word sub_02050530
_020506B8: .word sub_02050660
thumb_func_end sub_020506AC
thumb_func_start sub_020506BC
sub_020506BC: ; 0x020506BC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
mov r0, #0xb
mov r1, #0x14
add r7, r2, #0
add r4, r3, #0
bl AllocFromHeapAtEnd
str r4, [r0]
cmp r4, #0
beq _020506D8
mov r1, #0
str r1, [r4]
_020506D8:
str r6, [r0, #4]
str r7, [r0, #8]
str r5, [r0, #0x10]
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020506BC
thumb_func_start sub_020506E0
sub_020506E0: ; 0x020506E0
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x10]
bl sub_02051BF8
add r0, r4, #0
bl FreeToHeap
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020506E0
thumb_func_start sub_020506F4
sub_020506F4: ; 0x020506F4
push {r4, lr}
add r4, r0, #0
ldr r2, [r4]
cmp r2, #0
beq _02050704
ldr r0, [r4, #0x10]
ldr r0, [r0, #0x14]
str r0, [r2]
_02050704:
ldr r2, [r4, #0x10]
add r0, r1, #0
ldr r2, [r2, #0x14]
ldr r1, _02050720 ; =0x00004013
lsl r2, r2, #0x10
lsr r2, r2, #0x10
bl sub_020403C0
ldr r0, [r4, #0x10]
ldr r0, [r0, #0x14]
bl sub_02052554
pop {r4, pc}
nop
_02050720: .word 0x00004013
thumb_func_end sub_020506F4
thumb_func_start sub_02050724
sub_02050724: ; 0x02050724
push {r3, lr}
mov r2, #2
ldr r3, [r0]
lsl r2, r2, #0x1e
tst r2, r3
bne _02050734
bl sub_0205239C
_02050734:
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02050724
thumb_func_start sub_02050738
sub_02050738: ; 0x02050738
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r7, #0
bl sub_02050650
add r6, r0, #0
add r0, r7, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #5
bhi _02050856
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02050764: ; jump table
.short _02050770 - _02050764 - 2 ; case 0
.short _02050788 - _02050764 - 2 ; case 1
.short _02050796 - _02050764 - 2 ; case 2
.short _020507A6 - _02050764 - 2 ; case 3
.short _02050838 - _02050764 - 2 ; case 4
.short _0205084C - _02050764 - 2 ; case 5
_02050770:
ldr r0, [r5, #0x3c]
bl sub_0205F574
ldr r1, [r6, #4]
ldr r2, [r6, #8]
add r0, r7, #0
bl sub_02055218
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050856
_02050788:
add r0, r7, #0
bl sub_0205525C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050856
_02050796:
ldr r1, [r6, #0x10]
add r0, r7, #0
bl sub_020506AC
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050856
_020507A6:
ldr r0, [r6, #0x10]
add r1, r5, #0
bl sub_02050724
ldr r0, [r6, #0x10]
ldr r1, [r0]
cmp r1, #0
beq _020507C2
mov r0, #1
lsl r0, r0, #8
cmp r1, r0
beq _020507C2
cmp r1, #0x4a
bne _020507CE
_020507C2:
add r0, r5, #0
bl sub_02093070
add r0, r5, #0
bl sub_020930C4
_020507CE:
add r0, r5, #0
mov r1, #0
add r0, #0x7e
strh r1, [r0]
add r0, r5, #0
add r0, #0x7c
strh r1, [r0]
add r0, r6, #0
add r1, r5, #0
bl sub_020506F4
cmp r0, #0
bne _0205080A
ldr r0, [r6, #0x10]
ldr r1, [r0]
mov r0, #2
lsl r0, r0, #0xa
tst r0, r1
beq _02050800
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
bl sub_02090C1C
b _0205080A
_02050800:
add r0, r6, #0
bl sub_020506E0
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205080A:
ldr r0, [r5, #0xc]
bl sub_020503D0
bl sub_02066644
cmp r0, #0
beq _02050822
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
bl sub_02090C1C
_02050822:
ldr r1, [r6, #0x10]
add r0, r5, #0
bl sub_02051660
add r0, r7, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050856
_02050838:
ldr r0, [r5, #0x3c]
bl sub_0205F5A4
add r0, r7, #0
bl sub_0205532C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050856
_0205084C:
add r0, r6, #0
bl sub_020506E0
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02050856:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02050738
thumb_func_start sub_0205085C
sub_0205085C: ; 0x0205085C
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
add r1, r2, #0
add r2, r3, #0
ldr r3, [sp, #8]
bl sub_020506BC
add r2, r0, #0
ldr r1, _02050878 ; =sub_02050738
add r0, r4, #0
bl sub_02050530
pop {r4, pc}
.balign 4, 0
_02050878: .word sub_02050738
thumb_func_end sub_0205085C
thumb_func_start sub_0205087C
sub_0205087C: ; 0x0205087C
push {r3, lr}
mov r2, #0xf
and r0, r2
cmp r0, #6
bhi _020508B4
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02050892: ; jump table
.short _020508B4 - _02050892 - 2 ; case 0
.short _020508A0 - _02050892 - 2 ; case 1
.short _020508AA - _02050892 - 2 ; case 2
.short _020508B4 - _02050892 - 2 ; case 3
.short _020508B4 - _02050892 - 2 ; case 4
.short _020508AA - _02050892 - 2 ; case 5
.short _020508A0 - _02050892 - 2 ; case 6
_020508A0:
ldr r0, [r1, #0xc]
mov r1, #1
bl sub_02034AC0
pop {r3, pc}
_020508AA:
ldr r0, [r1, #0xc]
sub r2, #0x10
add r1, r2, #0
bl sub_02034AC0
_020508B4:
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205087C
thumb_func_start sub_020508B8
sub_020508B8: ; 0x020508B8
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
bl sub_0205064C
add r7, r0, #0
add r0, r6, #0
bl sub_02050650
add r5, r0, #0
add r0, r6, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #4
bhi _0205095C
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_020508E4: ; jump table
.short _020508EE - _020508E4 - 2 ; case 0
.short _02050900 - _020508E4 - 2 ; case 1
.short _0205090E - _020508E4 - 2 ; case 2
.short _0205091E - _020508E4 - 2 ; case 3
.short _02050952 - _020508E4 - 2 ; case 4
_020508EE:
ldr r1, [r5, #4]
ldr r2, [r5, #8]
add r0, r6, #0
bl sub_02055218
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205095C
_02050900:
add r0, r6, #0
bl sub_0205525C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205095C
_0205090E:
ldr r1, [r5, #0x10]
add r0, r6, #0
bl sub_020506AC
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205095C
_0205091E:
ldr r0, [r5, #0x10]
add r1, r7, #0
ldr r0, [r0, #0x14]
bl sub_0205087C
ldr r0, [r5, #0x10]
add r1, r7, #0
bl sub_02052444
ldr r0, [r7, #0xc]
bl sub_0202CF54
mov r1, #0x14
bl sub_0202D1C0
add r0, r5, #0
add r1, r7, #0
bl sub_020506F4
add r0, r6, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205095C
_02050952:
add r0, r5, #0
bl sub_020506E0
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205095C:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020508B8
thumb_func_start sub_02050960
sub_02050960: ; 0x02050960
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r7, #0
bl sub_02050650
add r5, r0, #0
add r0, r7, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
beq _0205098A
cmp r0, #1
beq _020509AE
cmp r0, #2
beq _020509DC
b _020509EA
_0205098A:
mov r0, #0
bl sub_02004AD8
ldr r1, [r5, #8]
mov r0, #5
lsl r1, r1, #0x10
lsr r1, r1, #0x10
mov r2, #1
bl sub_02004EC4
ldr r1, [r5, #0x10]
add r0, r7, #0
bl sub_020506AC
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020509EA
_020509AE:
ldr r0, [r5, #0x10]
add r1, r6, #0
ldr r0, [r0, #0x14]
bl sub_0205087C
ldr r0, [r5, #0x10]
add r1, r6, #0
bl sub_02052444
ldr r0, [r6, #0xc]
bl sub_0202CF54
mov r1, #0x14
bl sub_0202D1C0
add r0, r5, #0
add r1, r6, #0
bl sub_020506F4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020509EA
_020509DC:
add r0, r5, #0
bl sub_020506E0
bl sub_0202FC24
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_020509EA:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02050960
thumb_func_start sub_020509F0
sub_020509F0: ; 0x020509F0
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
bl sub_0205064C
add r7, r0, #0
add r0, r6, #0
bl sub_02050650
add r5, r0, #0
add r0, r6, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #5
bhi _02050AA6
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02050A1C: ; jump table
.short _02050A28 - _02050A1C - 2 ; case 0
.short _02050A3A - _02050A1C - 2 ; case 1
.short _02050A48 - _02050A1C - 2 ; case 2
.short _02050A58 - _02050A1C - 2 ; case 3
.short _02050A8E - _02050A1C - 2 ; case 4
.short _02050A9C - _02050A1C - 2 ; case 5
_02050A28:
ldr r1, [r5, #4]
ldr r2, [r5, #8]
add r0, r6, #0
bl sub_02055218
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050AA6
_02050A3A:
add r0, r6, #0
bl sub_0205525C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050AA6
_02050A48:
ldr r1, [r5, #0x10]
add r0, r6, #0
bl sub_020506AC
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050AA6
_02050A58:
ldr r0, [r5, #0x10]
add r1, r7, #0
bl sub_02052444
add r0, r7, #0
add r0, #0xa0
ldr r0, [r0]
cmp r0, #0
beq _02050A78
mov r1, #0x4e
ldr r2, [r5, #0x10]
lsl r1, r1, #2
add r0, r7, #0
add r1, r2, r1
bl sub_02067484
_02050A78:
add r0, r5, #0
add r1, r7, #0
bl sub_020506F4
add r0, r6, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050AA6
_02050A8E:
add r0, r6, #0
bl sub_0205532C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050AA6
_02050A9C:
add r0, r5, #0
bl sub_020506E0
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02050AA6:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020509F0
thumb_func_start sub_02050AAC
sub_02050AAC: ; 0x02050AAC
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
add r1, r2, #0
add r2, r3, #0
ldr r3, [sp, #8]
bl sub_020506BC
add r2, r0, #0
ldr r1, _02050AC8 ; =sub_020509F0
add r0, r4, #0
bl sub_02050530
pop {r4, pc}
.balign 4, 0
_02050AC8: .word sub_020509F0
thumb_func_end sub_02050AAC
thumb_func_start sub_02050ACC
sub_02050ACC: ; 0x02050ACC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
mov r0, #0xb
mov r1, #0x14
add r7, r2, #0
add r4, r3, #0
bl AllocFromHeapAtEnd
str r4, [r0, #0xc]
cmp r4, #0
beq _02050AE8
mov r1, #0
str r1, [r4]
_02050AE8:
str r6, [r0, #4]
str r7, [r0, #8]
str r5, [r0, #0x10]
mov r1, #0
str r1, [r0]
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02050ACC
thumb_func_start sub_02050AF4
sub_02050AF4: ; 0x02050AF4
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x10]
bl sub_02051BF8
add r0, r4, #0
bl FreeToHeap
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02050AF4
thumb_func_start sub_02050B08
sub_02050B08: ; 0x02050B08
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #0xc]
add r4, r1, #0
bl sub_020503D0
str r0, [sp]
add r0, r4, #0
bl sub_020517E8
add r6, r0, #0
add r0, r4, #0
bl sub_020517FC
add r7, r0, #0
ldr r0, [sp]
bl sub_02066860
cmp r0, #0
beq _02050B48
add r0, r4, #0
add r1, r6, #0
add r2, r7, #0
mov r3, #0
bl sub_020506BC
add r2, r0, #0
ldr r1, _02050B84 ; =sub_02050D1C
add r0, r5, #0
bl sub_020504F0
pop {r3, r4, r5, r6, r7, pc}
_02050B48:
ldr r0, [sp]
bl sub_02066870
cmp r0, #0
beq _02050B6A
add r0, r4, #0
add r1, r6, #0
add r2, r7, #0
mov r3, #0
bl sub_020506BC
add r2, r0, #0
ldr r1, _02050B88 ; =sub_02050EB8
add r0, r5, #0
bl sub_020504F0
pop {r3, r4, r5, r6, r7, pc}
_02050B6A:
add r0, r4, #0
add r1, r6, #0
add r2, r7, #0
mov r3, #0
bl sub_02050ACC
add r2, r0, #0
ldr r1, _02050B8C ; =sub_02050C18
add r0, r5, #0
bl sub_020504F0
pop {r3, r4, r5, r6, r7, pc}
nop
_02050B84: .word sub_02050D1C
_02050B88: .word sub_02050EB8
_02050B8C: .word sub_02050C18
thumb_func_end sub_02050B08
thumb_func_start sub_02050B90
sub_02050B90: ; 0x02050B90
push {r3, r4, r5, r6, r7, lr}
ldr r0, [r0, #0xc]
add r4, r2, #0
add r5, r1, #0
bl sub_020503D0
str r0, [sp]
add r0, r4, #0
bl sub_020517E8
add r6, r0, #0
add r0, r4, #0
bl sub_020517FC
add r7, r0, #0
ldr r0, [sp]
bl sub_02066860
cmp r0, #0
beq _02050BD0
add r0, r4, #0
add r1, r6, #0
add r2, r7, #0
mov r3, #0
bl sub_020506BC
add r2, r0, #0
ldr r1, _02050C0C ; =sub_02050D1C
add r0, r5, #0
bl sub_02050510
pop {r3, r4, r5, r6, r7, pc}
_02050BD0:
ldr r0, [sp]
bl sub_02066870
cmp r0, #0
beq _02050BF2
add r0, r4, #0
add r1, r6, #0
add r2, r7, #0
mov r3, #0
bl sub_020506BC
add r2, r0, #0
ldr r1, _02050C10 ; =sub_02050EB8
add r0, r5, #0
bl sub_02050510
pop {r3, r4, r5, r6, r7, pc}
_02050BF2:
add r0, r4, #0
add r1, r6, #0
add r2, r7, #0
mov r3, #0
bl sub_02050ACC
add r2, r0, #0
ldr r1, _02050C14 ; =sub_02050C18
add r0, r5, #0
bl sub_02050510
pop {r3, r4, r5, r6, r7, pc}
nop
_02050C0C: .word sub_02050D1C
_02050C10: .word sub_02050EB8
_02050C14: .word sub_02050C18
thumb_func_end sub_02050B90
thumb_func_start sub_02050C18
sub_02050C18: ; 0x02050C18
push {r4, r5, r6, lr}
add r6, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r6, #0
bl sub_02050650
add r4, r0, #0
ldr r0, [r4]
cmp r0, #5
bhi _02050D12
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02050C3C: ; jump table
.short _02050C48 - _02050C3C - 2 ; case 0
.short _02050C6C - _02050C3C - 2 ; case 1
.short _02050C7A - _02050C3C - 2 ; case 2
.short _02050C8A - _02050C3C - 2 ; case 3
.short _02050CEC - _02050C3C - 2 ; case 4
.short _02050D02 - _02050C3C - 2 ; case 5
_02050C48:
ldr r0, [r5, #0x3c]
bl sub_0205F574
ldr r0, [r5, #0xc]
bl sub_0202CF54
mov r1, #8
bl sub_0202D0FC
ldr r1, [r4, #4]
ldr r2, [r4, #8]
add r0, r6, #0
bl sub_02055218
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050D12
_02050C6C:
add r0, r6, #0
bl sub_0205525C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050D12
_02050C7A:
ldr r1, [r4, #0x10]
add r0, r6, #0
bl sub_020506AC
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050D12
_02050C8A:
ldr r0, [r4, #0x10]
add r1, r5, #0
bl sub_02050724
add r0, r5, #0
bl sub_02093070
add r0, r5, #0
bl sub_020930C4
ldr r0, [r4, #0x10]
ldr r0, [r0, #0x14]
bl sub_02052554
cmp r0, #0
bne _02050CBE
add r0, r4, #0
bl sub_02050AF4
ldr r1, _02050D18 ; =sub_02052858
add r0, r6, #0
mov r2, #0
bl sub_02050510
mov r0, #0
pop {r4, r5, r6, pc}
_02050CBE:
ldr r0, [r5, #0xc]
bl sub_020503D0
bl sub_02066644
cmp r0, #0
beq _02050CD6
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
bl sub_02090C1C
_02050CD6:
ldr r1, [r4, #0x10]
add r0, r5, #0
bl sub_02051660
add r0, r6, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050D12
_02050CEC:
ldr r1, [r4, #0x10]
add r0, r5, #0
bl ov02_0224B998
add r0, r6, #0
bl sub_0205532C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050D12
_02050D02:
ldr r0, [r5, #0x3c]
bl sub_0205F5A4
add r0, r4, #0
bl sub_02050AF4
mov r0, #1
pop {r4, r5, r6, pc}
_02050D12:
mov r0, #0
pop {r4, r5, r6, pc}
nop
_02050D18: .word sub_02052858
thumb_func_end sub_02050C18
thumb_func_start sub_02050D1C
sub_02050D1C: ; 0x02050D1C
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r7, #0
bl sub_02050650
add r6, r0, #0
add r0, r7, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r5, #0xc]
bl sub_0203B9C4
bl sub_0203B9B8
str r0, [sp]
ldr r0, [r4]
cmp r0, #8
bls _02050D4A
b _02050EA8
_02050D4A:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02050D56: ; jump table
.short _02050D68 - _02050D56 - 2 ; case 0
.short _02050D8C - _02050D56 - 2 ; case 1
.short _02050D9A - _02050D56 - 2 ; case 2
.short _02050DAA - _02050D56 - 2 ; case 3
.short _02050E12 - _02050D56 - 2 ; case 4
.short _02050E26 - _02050D56 - 2 ; case 5
.short _02050E34 - _02050D56 - 2 ; case 6
.short _02050E48 - _02050D56 - 2 ; case 7
.short _02050E9E - _02050D56 - 2 ; case 8
_02050D68:
ldr r0, [r5, #0x3c]
bl sub_0205F574
ldr r0, [r5, #0xc]
bl sub_0202CF54
mov r1, #8
bl sub_0202D0FC
ldr r1, [r6, #4]
ldr r2, [r6, #8]
add r0, r7, #0
bl sub_02055218
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050EA8
_02050D8C:
add r0, r7, #0
bl sub_0205525C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050EA8
_02050D9A:
ldr r1, [r6, #0x10]
add r0, r7, #0
bl sub_020506AC
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050EA8
_02050DAA:
ldr r0, [r6, #0x10]
add r1, r5, #0
bl sub_02050724
ldr r0, [r6, #0x10]
ldr r0, [r0, #0x14]
cmp r0, #4
bne _02050DD6
ldr r0, [r5, #0xc]
bl sub_020270C4
ldr r0, [r6, #0x10]
mov r1, #0
ldr r0, [r0, #8]
bl GetPartyMonByIndex
add r0, r5, #0
bl sub_02093070
add r0, r5, #0
bl sub_020930C4
_02050DD6:
ldr r1, [r6, #0x10]
add r0, r5, #0
bl sub_02051660
ldr r0, [sp]
ldrh r0, [r0]
cmp r0, #0
bne _02050E02
ldr r0, [r6, #0x10]
ldr r0, [r0, #0x14]
cmp r0, #4
beq _02050E02
ldr r0, [r5, #0xc]
bl sub_0203B9C4
bl sub_0203B968
add r1, r0, #0
add r0, r7, #0
bl sub_020537A8
b _02050E0A
_02050E02:
mov r0, #5
str r0, [r4]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02050E0A:
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050EA8
_02050E12:
mov r2, #0
ldr r1, _02050EAC ; =0x00002265
add r0, r7, #0
add r3, r2, #0
bl sub_0203FED4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050EA8
_02050E26:
add r0, r7, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050EA8
_02050E34:
ldr r0, [r5, #0x3c]
bl sub_0205F5A4
add r0, r7, #0
bl sub_0205532C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050EA8
_02050E48:
ldr r0, [sp]
ldrh r0, [r0]
cmp r0, #0
bne _02050E66
ldr r0, [r6, #0x10]
ldr r0, [r0, #0x14]
cmp r0, #4
bne _02050E96
mov r2, #0
ldr r1, _02050EB0 ; =0x00002263
add r0, r7, #0
add r3, r2, #0
bl sub_0203FED4
b _02050E96
_02050E66:
ldr r0, [r5, #0xc]
bl sub_020270D8
add r6, r0, #0
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
add r5, r0, #0
add r0, r6, #0
bl sub_02073D54
cmp r0, #0x12
bne _02050E96
add r0, r5, #0
bl GetPartyCount
cmp r0, #6
bne _02050E96
mov r2, #0
ldr r1, _02050EB4 ; =0x00002264
add r0, r7, #0
add r3, r2, #0
bl sub_0203FED4
_02050E96:
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02050EA8
_02050E9E:
add r0, r6, #0
bl sub_020506E0
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02050EA8:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02050EAC: .word 0x00002265
_02050EB0: .word 0x00002263
_02050EB4: .word 0x00002264
thumb_func_end sub_02050D1C
thumb_func_start sub_02050EB8
sub_02050EB8: ; 0x02050EB8
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r7, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r7, #0
bl sub_02050650
add r5, r0, #0
add r0, r6, #0
bl sub_0206DB28
str r0, [sp]
add r0, r7, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [sp]
bl sub_0206DB30
str r0, [sp, #4]
ldr r0, [r4]
cmp r0, #7
bls _02050EEC
b _02051012
_02050EEC:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02050EF8: ; jump table
.short _02050F08 - _02050EF8 - 2 ; case 0
.short _02050F2C - _02050EF8 - 2 ; case 1
.short _02050F3A - _02050EF8 - 2 ; case 2
.short _02050F4A - _02050EF8 - 2 ; case 3
.short _02050FA4 - _02050EF8 - 2 ; case 4
.short _02050FC4 - _02050EF8 - 2 ; case 5
.short _02050FD2 - _02050EF8 - 2 ; case 6
.short _02050FE6 - _02050EF8 - 2 ; case 7
_02050F08:
ldr r0, [r6, #0x3c]
bl sub_0205F574
ldr r0, [r6, #0xc]
bl sub_0202CF54
mov r1, #8
bl sub_0202D0FC
ldr r1, [r5, #4]
ldr r2, [r5, #8]
add r0, r7, #0
bl sub_02055218
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02051012
_02050F2C:
add r0, r7, #0
bl sub_0205525C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02051012
_02050F3A:
ldr r1, [r5, #0x10]
add r0, r7, #0
bl sub_020506AC
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02051012
_02050F4A:
ldr r0, [r5, #0x10]
add r1, r6, #0
bl sub_02050724
ldr r0, [r5, #0x10]
ldr r0, [r0, #0x14]
bl sub_02052554
cmp r0, #0
bne _02050F74
add r0, r5, #0
bl sub_020506E0
ldr r1, _02051018 ; =sub_0205298C
add r0, r7, #0
mov r2, #0
bl sub_02050510
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02050F74:
ldr r1, [r5, #0x10]
add r0, r6, #0
bl sub_02051660
ldr r2, [r5, #0x10]
ldr r0, [r2, #0x14]
cmp r0, #4
bne _02050F9C
mov r1, #0x72
lsl r1, r1, #2
ldr r1, [r2, r1]
add r0, r7, #0
bl sub_0206DB94
add r0, r6, #0
bl sub_02093070
add r0, r6, #0
bl sub_020930C4
_02050F9C:
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02051012
_02050FA4:
ldr r0, [sp, #4]
ldrh r0, [r0]
cmp r0, #0
bne _02050FBC
ldr r0, [r5, #0x10]
ldr r0, [r0, #0x14]
cmp r0, #4
beq _02050FBC
add r0, r7, #0
add r1, r6, #0
bl sub_0206DB58
_02050FBC:
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02051012
_02050FC4:
add r0, r7, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02051012
_02050FD2:
ldr r0, [r6, #0x3c]
bl sub_0205F5A4
add r0, r7, #0
bl sub_0205532C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02051012
_02050FE6:
add r0, r5, #0
bl sub_020506E0
ldr r0, [sp, #4]
ldrh r0, [r0]
cmp r0, #0
bne _0205100C
ldr r0, [r5, #0x10]
ldr r0, [r0, #0x14]
cmp r0, #4
bne _0205100C
ldr r1, _0205101C ; =0x000028A1
add r0, r7, #0
mov r2, #0
bl sub_0203FF0C
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0205100C:
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02051012:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02051018: .word sub_0205298C
_0205101C: .word 0x000028A1
thumb_func_end sub_02050EB8
thumb_func_start sub_02051020
sub_02051020: ; 0x02051020
push {r4, r5, r6, r7, lr}
sub sp, #0xc
str r0, [sp, #4]
add r7, r1, #0
str r2, [sp, #8]
add r6, r3, #0
bl sub_0205064C
add r5, r0, #0
mov r0, #0xb
mov r1, #0
bl sub_020518D8
add r4, r0, #0
add r1, r5, #0
bl sub_02051F00
str r4, [sp]
ldr r2, [sp, #8]
ldr r3, [sp, #0x24]
add r0, r5, #0
add r1, r7, #0
bl ov02_02247F30
ldr r0, [sp, #0x20]
cmp r0, #0
beq _02051062
mov r1, #0x63
lsl r1, r1, #2
ldr r2, [r4, r1]
mov r0, #8
orr r0, r2
str r0, [r4, r1]
_02051062:
ldr r0, [r5, #0xc]
bl sub_0202CF54
mov r1, #8
bl sub_0202D0FC
add r0, r4, #0
bl sub_020517E8
add r5, r0, #0
add r0, r4, #0
bl sub_020517FC
add r3, r0, #0
ldr r0, [sp, #4]
add r1, r4, #0
add r2, r5, #0
str r6, [sp]
bl sub_0205085C
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02051020
thumb_func_start sub_02051090
sub_02051090: ; 0x02051090
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
str r0, [sp, #4]
add r7, r1, #0
str r2, [sp, #8]
add r6, r3, #0
bl sub_0205064C
add r5, r0, #0
mov r0, #0xb
mov r1, #0
bl sub_020518D8
add r4, r0, #0
add r1, r5, #0
bl sub_02051F00
str r4, [sp]
ldr r2, [sp, #8]
add r0, r5, #0
add r1, r7, #0
mov r3, #0
bl ov02_02247F30
mov r0, #1
str r0, [sp, #0xc]
ldr r0, [r4, #8]
mov r1, #0
bl GetPartyMonByIndex
mov r1, #0x6e
add r2, sp, #0xc
bl sub_0206EC40
ldr r0, [sp, #0x28]
cmp r0, #0
beq _020510E6
mov r1, #0x63
lsl r1, r1, #2
ldr r2, [r4, r1]
mov r0, #8
orr r0, r2
str r0, [r4, r1]
_020510E6:
ldr r0, [r5, #0xc]
bl sub_0202CF54
mov r1, #8
bl sub_0202D0FC
add r0, r4, #0
bl sub_020517E8
add r5, r0, #0
add r0, r4, #0
bl sub_020517FC
add r3, r0, #0
ldr r0, [sp, #4]
add r1, r4, #0
add r2, r5, #0
str r6, [sp]
bl sub_0205085C
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02051090
thumb_func_start sub_02051114
sub_02051114: ; 0x02051114
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r7, #0
bl sub_02050650
add r5, r0, #0
add r0, r7, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #6
bhi _020511F4
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02051140: ; jump table
.short _0205114E - _02051140 - 2 ; case 0
.short _02051172 - _02051140 - 2 ; case 1
.short _02051180 - _02051140 - 2 ; case 2
.short _02051190 - _02051140 - 2 ; case 3
.short _020511B0 - _02051140 - 2 ; case 4
.short _020511BE - _02051140 - 2 ; case 5
.short _020511D2 - _02051140 - 2 ; case 6
_0205114E:
ldr r0, [r6, #0x3c]
bl sub_0205F574
ldr r0, [r6, #0xc]
bl sub_0202CF54
mov r1, #8
bl sub_0202D0FC
ldr r1, [r5, #4]
ldr r2, [r5, #8]
add r0, r7, #0
bl sub_02055218
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020511F4
_02051172:
add r0, r7, #0
bl sub_0205525C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020511F4
_02051180:
ldr r1, [r5, #0x10]
add r0, r7, #0
bl sub_020506AC
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020511F4
_02051190:
ldr r0, [r5, #0x10]
add r1, r6, #0
bl sub_02050724
ldr r1, [r5, #0x10]
add r0, r6, #0
bl sub_020558AC
ldr r1, [r5, #0x10]
add r0, r6, #0
bl sub_02051660
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020511F4
_020511B0:
add r0, r7, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020511F4
_020511BE:
ldr r0, [r6, #0x3c]
bl sub_0205F5A4
add r0, r7, #0
bl sub_0205532C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020511F4
_020511D2:
add r0, r5, #0
bl sub_020506E0
add r0, r6, #0
bl sub_020558BC
cmp r0, #0
bne _020511F0
add r0, r7, #0
mov r1, #3
mov r2, #0
bl sub_0203FF0C
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_020511F0:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_020511F4:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02051114
thumb_func_start sub_020511F8
sub_020511F8: ; 0x020511F8
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
bl sub_020517E8
add r6, r0, #0
add r0, r4, #0
bl sub_020517FC
add r2, r0, #0
add r0, r4, #0
add r1, r6, #0
mov r3, #0
bl sub_020506BC
add r2, r0, #0
ldr r1, _02051224 ; =sub_02051114
add r0, r5, #0
bl sub_020504F0
pop {r4, r5, r6, pc}
.balign 4, 0
_02051224: .word sub_02051114
thumb_func_end sub_020511F8
thumb_func_start sub_02051228
sub_02051228: ; 0x02051228
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
str r0, [sp, #4]
add r6, r1, #0
add r7, r2, #0
bl sub_0205064C
add r5, r0, #0
mov r0, #0xb
mov r1, #0
bl sub_020518D8
add r1, r5, #0
add r4, r0, #0
bl sub_02051F00
add r0, r5, #0
add r1, r6, #0
add r2, r7, #0
mov r3, #0
str r4, [sp]
bl ov02_02247F30
mov r0, #0x63
mov r1, #1
lsl r0, r0, #2
str r1, [r4, r0]
ldr r0, [r5, #0xc]
bl sub_0202CF54
mov r1, #8
bl sub_0202D0FC
add r0, r4, #0
bl sub_020517E8
add r5, r0, #0
add r0, r4, #0
bl sub_020517FC
add r3, r0, #0
mov r0, #0
str r0, [sp]
ldr r0, [sp, #4]
add r1, r4, #0
add r2, r5, #0
bl sub_0205085C
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02051228
thumb_func_start sub_0205128C
sub_0205128C: ; 0x0205128C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_02050650
add r6, r0, #0
add r0, r5, #0
bl sub_0205064C
add r7, r0, #0
add r0, r5, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #6
bhi _0205132E
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_020512B8: ; jump table
.short _020512C6 - _020512B8 - 2 ; case 0
.short _020512DE - _020512B8 - 2 ; case 1
.short _020512EC - _020512B8 - 2 ; case 2
.short _020512FC - _020512B8 - 2 ; case 3
.short _02051302 - _020512B8 - 2 ; case 4
.short _02051310 - _020512B8 - 2 ; case 5
.short _02051324 - _020512B8 - 2 ; case 6
_020512C6:
ldr r0, [r7, #0x3c]
bl sub_0205F574
ldr r1, [r6, #4]
ldr r2, [r6, #8]
add r0, r5, #0
bl sub_02055218
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205132E
_020512DE:
add r0, r5, #0
bl sub_0205525C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205132E
_020512EC:
ldr r1, [r6, #0x10]
add r0, r5, #0
bl sub_020506AC
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205132E
_020512FC:
add r0, r0, #1
str r0, [r4]
b _0205132E
_02051302:
add r0, r5, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205132E
_02051310:
ldr r0, [r7, #0x3c]
bl sub_0205F5A4
add r0, r5, #0
bl sub_0205532C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205132E
_02051324:
add r0, r6, #0
bl sub_020506E0
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205132E:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205128C
thumb_func_start sub_02051334
sub_02051334: ; 0x02051334
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205064C
add r1, r0, #0
mov r0, #0xb
bl sub_02051AAC
add r4, r0, #0
bl sub_020517E8
add r6, r0, #0
add r0, r4, #0
bl sub_020517FC
add r2, r0, #0
add r0, r4, #0
add r1, r6, #0
mov r3, #0
bl sub_020506BC
add r2, r0, #0
ldr r1, _0205136C ; =sub_0205128C
add r0, r5, #0
bl sub_02050530
pop {r4, r5, r6, pc}
nop
_0205136C: .word sub_0205128C
thumb_func_end sub_02051334
thumb_func_start sub_02051370
sub_02051370: ; 0x02051370
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
str r0, [sp, #4]
add r7, r1, #0
add r6, r2, #0
str r3, [sp, #8]
bl sub_0205064C
str r0, [sp, #0xc]
cmp r6, #0
beq _02051398
cmp r7, r6
beq _02051398
ldr r0, [sp, #8]
cmp r0, #0
bne _02051394
mov r4, #0x13
b _020513AC
_02051394:
mov r4, #0x4b
b _020513AC
_02051398:
cmp r7, r6
bne _020513A0
mov r4, #3
b _020513AC
_020513A0:
ldr r0, [sp, #0x28]
mov r4, #1
cmp r0, #0
beq _020513AC
lsl r0, r4, #0xb
orr r4, r0
_020513AC:
mov r0, #0xb
add r1, r4, #0
bl sub_020518D8
ldr r1, [sp, #0xc]
add r5, r0, #0
bl sub_02051F00
str r7, [r5, #0x1c]
ldr r0, [sp, #8]
str r6, [r5, #0x24]
str r0, [r5, #0x20]
ldr r1, [sp, #0xc]
ldr r2, [sp, #0x30]
ldr r1, [r1, #0xc]
add r0, r5, #0
bl sub_020733C0
ldr r0, [sp, #0xc]
ldr r0, [r0, #0xc]
bl sub_0202CF54
mov r1, #9
bl sub_0202D0FC
ldr r0, [sp, #0x2c]
cmp r0, #0
beq _020513FE
mov r0, #8
tst r0, r4
beq _020513F2
ldr r0, _02051420 ; =0x000001CE
mov r1, #0
strb r1, [r5, r0]
b _020513FE
_020513F2:
mov r0, #2
tst r0, r4
bne _020513FE
ldr r0, _02051424 ; =0x000001CD
mov r1, #0
strb r1, [r5, r0]
_020513FE:
add r0, r5, #0
bl sub_020517E8
add r4, r0, #0
add r0, r5, #0
bl sub_020517FC
add r3, r0, #0
ldr r0, [sp, #0x34]
add r1, r5, #0
str r0, [sp]
ldr r0, [sp, #4]
add r2, r4, #0
bl sub_0205085C
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02051420: .word 0x000001CE
_02051424: .word 0x000001CD
thumb_func_end sub_02051370
thumb_func_start sub_02051428
sub_02051428: ; 0x02051428
push {r3, r4, r5, r6, r7, lr}
add r5, r2, #0
add r7, r0, #0
add r4, r1, #0
bl sub_0205064C
add r6, r0, #0
mov r0, #0xb
add r1, r5, #0
bl sub_020518D8
add r5, r0, #0
add r1, r6, #0
add r2, r4, #0
bl sub_020522F0
add r0, r5, #0
bl sub_020517E8
add r4, r0, #0
add r0, r5, #0
bl sub_020517FC
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
mov r3, #0
bl sub_020506BC
add r2, r0, #0
ldr r1, _02051470 ; =sub_020508B8
add r0, r7, #0
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
nop
_02051470: .word sub_020508B8
thumb_func_end sub_02051428
thumb_func_start sub_02051474
sub_02051474: ; 0x02051474
push {r4, lr}
add r4, r1, #0
bl sub_02029264
mov r1, #8
tst r1, r4
beq _02051486
mov r4, #0xe
b _02051492
_02051486:
mov r1, #2
tst r1, r4
beq _02051490
mov r4, #7
b _02051492
_02051490:
mov r4, #0
_02051492:
cmp r0, #0xff
beq _0205149E
bl ov03_02256B40
add r0, r0, #1
add r4, r4, r0
_0205149E:
add r0, r4, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02051474
thumb_func_start sub_020514A4
sub_020514A4: ; 0x020514A4
push {r4, r5, r6, r7, lr}
sub sp, #0xc
str r0, [sp]
add r7, r1, #0
str r2, [sp, #4]
add r4, r3, #0
bl sub_0205064C
add r6, r0, #0
cmp r4, #0
bne _020514C8
mov r0, #0xb
mov r1, #5
bl sub_020518D8
add r4, r0, #0
mov r5, #0
b _020514F6
_020514C8:
cmp r4, #1
bne _020514DA
mov r0, #0xb
mov r1, #7
bl sub_020518D8
add r4, r0, #0
mov r5, #7
b _020514F6
_020514DA:
mov r0, #0xb
mov r1, #0x8f
bl sub_020518D8
add r4, r0, #0
mov r1, #1
str r1, [r4, #0x1c]
mov r1, #2
str r1, [r4, #0x24]
ldr r1, [r6, #0xc]
mov r2, #0xb
bl sub_020733C0
mov r5, #0xe
_020514F6:
ldr r2, [sp, #4]
add r0, r4, #0
add r1, r6, #0
bl sub_02051F2C
ldr r0, [r6, #0xc]
mov r1, #0xb
add r2, sp, #8
bl sub_0202FBF0
ldr r0, _02051538 ; =0x000001B2
strb r5, [r4, r0]
add r0, r4, #0
bl sub_020517E8
add r5, r0, #0
add r0, r4, #0
bl sub_020517FC
add r2, r0, #0
add r0, r4, #0
add r1, r5, #0
mov r3, #0
bl sub_020506BC
add r2, r0, #0
ldr r0, [sp]
ldr r1, _0205153C ; =sub_02050960
str r7, [r2, #0xc]
bl sub_02050530
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02051538: .word 0x000001B2
_0205153C: .word sub_02050960
thumb_func_end sub_020514A4
thumb_func_start sub_02051540
sub_02051540: ; 0x02051540
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r5, #0
bl sub_02050650
add r7, r0, #0
add r0, r5, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
beq _02051566
cmp r0, #1
beq _02051578
b _0205158E
_02051566:
ldr r1, _02051594 ; =sub_020508B8
add r0, r5, #0
add r2, r7, #0
bl sub_02050530
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205158E
_02051578:
bl sub_0202FC48
cmp r0, #1
bne _02051584
bl sub_0202FC24
_02051584:
add r0, r6, #0
bl sub_02058190
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205158E:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_02051594: .word sub_020508B8
thumb_func_end sub_02051540
thumb_func_start sub_02051598
sub_02051598: ; 0x02051598
push {r3, r4, r5, r6, r7, lr}
add r7, r2, #0
add r5, r0, #0
add r6, r1, #0
mov r0, #0xb
add r1, r7, #0
bl sub_020518D8
add r1, r5, #0
add r2, r6, #0
add r4, r0, #0
bl sub_020522F0
ldr r0, [r5, #0xc]
mov r1, #0xb
add r2, sp, #0
bl sub_0202FBF0
add r0, r5, #0
add r0, #0xa4
ldr r0, [r0]
add r1, r7, #0
bl sub_02051474
ldr r1, _020515F4 ; =0x000001B2
strb r0, [r4, r1]
add r0, r4, #0
bl sub_020517E8
add r6, r0, #0
add r0, r4, #0
bl sub_020517FC
add r2, r0, #0
add r0, r4, #0
add r1, r6, #0
mov r3, #0
bl sub_020506BC
add r2, r0, #0
ldr r1, _020515F8 ; =sub_02051540
add r0, r5, #0
bl sub_020504F0
pop {r3, r4, r5, r6, r7, pc}
nop
_020515F4: .word 0x000001B2
_020515F8: .word sub_02051540
thumb_func_end sub_02051598
thumb_func_start sub_020515FC
sub_020515FC: ; 0x020515FC
push {r3, r4, r5, r6, r7, lr}
add r7, r2, #0
add r5, r0, #0
add r6, r1, #0
mov r0, #0xb
add r1, r7, #0
bl sub_020518D8
add r1, r5, #0
add r2, r6, #0
mov r3, #0
add r4, r0, #0
bl sub_020520B0
ldr r0, [r5, #0xc]
mov r1, #0xb
add r2, sp, #0
bl sub_0202FBF0
add r0, r5, #0
add r0, #0xa4
ldr r0, [r0]
add r1, r7, #0
bl sub_02051474
ldr r1, _02051658 ; =0x000001B2
strb r0, [r4, r1]
add r0, r4, #0
bl sub_020517E8
add r6, r0, #0
add r0, r4, #0
bl sub_020517FC
add r2, r0, #0
add r0, r4, #0
add r1, r6, #0
mov r3, #0
bl sub_020506BC
add r2, r0, #0
ldr r1, _0205165C ; =sub_02051540
add r0, r5, #0
bl sub_020504F0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02051658: .word 0x000001B2
_0205165C: .word sub_02051540
thumb_func_end sub_020515FC
thumb_func_start sub_02051660
sub_02051660: ; 0x02051660
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r1]
mov r3, #4
ldr r2, [r1, #0x14]
tst r3, r0
bne _02051734
mov r3, #0x80
add r5, r0, #0
tst r5, r3
bne _02051734
cmp r0, #0
beq _02051684
add r3, #0x80
cmp r0, r3
beq _02051684
cmp r0, #0x4a
bne _020516D0
_02051684:
cmp r2, #1
bne _02051696
ldr r0, [r4, #0xc]
bl sub_0202CF54
mov r1, #9
bl sub_0202D1C0
pop {r3, r4, r5, pc}
_02051696:
cmp r2, #4
bne _02051734
ldr r0, [r1, #8]
mov r1, #0
bl GetPartyMonByIndex
mov r1, #5
mov r2, #0
bl GetMonData
add r1, r0, #0
mov r0, #0
bl sub_02074930
cmp r0, #0
ldr r0, [r4, #0xc]
beq _020516C4
bl sub_0202CF54
mov r1, #0xa
bl sub_0202D1C0
pop {r3, r4, r5, pc}
_020516C4:
bl sub_0202CF54
mov r1, #0xb
bl sub_0202D1C0
pop {r3, r4, r5, pc}
_020516D0:
mov r3, #1
tst r3, r0
bne _020516DC
mov r3, #0x10
tst r3, r0
beq _020516EE
_020516DC:
cmp r2, #1
bne _02051734
ldr r0, [r4, #0xc]
bl sub_0202CF54
mov r1, #0xc
bl sub_0202D1C0
pop {r3, r4, r5, pc}
_020516EE:
mov r3, #0x20
add r5, r0, #0
tst r5, r3
bne _020516FC
lsl r3, r3, #4
tst r0, r3
beq _02051734
_020516FC:
cmp r2, #4
bne _02051734
ldr r0, [r1, #8]
mov r1, #0
bl GetPartyMonByIndex
mov r1, #5
mov r2, #0
bl GetMonData
add r1, r0, #0
mov r0, #0
bl sub_02074930
cmp r0, #0
ldr r0, [r4, #0xc]
beq _0205172A
bl sub_0202CF54
mov r1, #0xa
bl sub_0202D1C0
pop {r3, r4, r5, pc}
_0205172A:
bl sub_0202CF54
mov r1, #0xb
bl sub_0202D1C0
_02051734:
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02051660
thumb_func_start sub_02051738
sub_02051738: ; 0x02051738
push {r4, lr}
add r2, r0, #0
ldr r4, [r2]
mov r0, #1
tst r0, r4
beq _02051788
add r2, #0x5d
ldrb r0, [r2]
bl sub_02051868
mov r1, #0x80
tst r1, r4
beq _02051764
cmp r0, #0x27
beq _020517A0
mov r0, #2
tst r0, r4
beq _02051760
mov r0, #0x25
pop {r4, pc}
_02051760:
mov r0, #0x23
pop {r4, pc}
_02051764:
cmp r0, #0x1d
blo _0205176C
cmp r0, #0x22
bls _020517A0
_0205176C:
cmp r0, #0x2b
beq _020517A0
cmp r0, #0x2c
beq _020517A0
mov r1, #2
tst r1, r4
beq _0205177E
mov r0, #0x25
pop {r4, pc}
_0205177E:
mov r1, #4
tst r1, r4
beq _020517A0
mov r0, #0x24
pop {r4, pc}
_02051788:
mov r1, #0x56
lsl r1, r1, #2
ldr r0, [r2, #8]
ldr r1, [r2, r1]
bl sub_02051894
cmp r0, #0x2a
blo _020517A0
mov r1, #2
tst r1, r4
beq _020517A0
mov r0, #0x26
_020517A0:
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02051738
thumb_func_start sub_020517A4
sub_020517A4: ; 0x020517A4
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
cmp r5, #0x2d
blo _020517B2
bl GF_AssertFail
_020517B2:
ldr r0, _020517C8 ; =0x020FC40A
lsl r1, r5, #2
ldrh r0, [r0, r1]
ldr r1, _020517CC ; =0x0000FFFF
cmp r0, r1
bne _020517C4
add r0, r4, #0
bl ov01_021F0D20
_020517C4:
pop {r3, r4, r5, pc}
nop
_020517C8: .word 0x020FC40A
_020517CC: .word 0x0000FFFF
thumb_func_end sub_020517A4
thumb_func_start sub_020517D0
sub_020517D0: ; 0x020517D0
push {r4, lr}
add r4, r0, #0
cmp r4, #0x2d
blo _020517DC
bl GF_AssertFail
_020517DC:
ldr r0, _020517E4 ; =0x020FC40C
lsl r1, r4, #2
ldrh r0, [r0, r1]
pop {r4, pc}
.balign 4, 0
_020517E4: .word 0x020FC40C
thumb_func_end sub_020517D0
thumb_func_start sub_020517E8
sub_020517E8: ; 0x020517E8
push {r4, lr}
add r4, r0, #0
bl sub_02051738
add r1, r4, #0
bl sub_020517A4
pop {r4, pc}
thumb_func_end sub_020517E8
thumb_func_start sub_020517F8
sub_020517F8: ; 0x020517F8
mov r0, #1
bx lr
thumb_func_end sub_020517F8
thumb_func_start sub_020517FC
sub_020517FC: ; 0x020517FC
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_02051738
add r1, r5, #0
add r6, r0, #0
bl sub_020517D0
add r4, r0, #0
mov r0, #7
lsl r0, r0, #6
ldr r0, [r5, r0]
bl sub_020503D0
mov r1, #2
mov r2, #5
bl sub_02066930
cmp r0, #1
bne _0205185C
mov r0, #0x56
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_0203B3C8
cmp r0, #0
beq _0205185C
ldr r1, _02051860 ; =0x0000045C
cmp r4, r1
bne _0205183E
add r4, r1, #0
add r4, #9
b _0205185C
_0205183E:
add r0, r1, #1
cmp r4, r0
bne _0205184A
add r4, r1, #0
add r4, #0xa
b _0205185C
_0205184A:
add r0, r1, #2
cmp r4, r0
bne _0205185C
add r0, r6, #0
bl sub_020517F8
cmp r0, #0
bne _0205185C
ldr r4, _02051864 ; =0x00000467
_0205185C:
add r0, r4, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_02051860: .word 0x0000045C
_02051864: .word 0x00000467
thumb_func_end sub_020517FC
thumb_func_start sub_02051868
sub_02051868: ; 0x02051868
ldr r3, _02051890 ; =0x020FC3CA
mov r2, #0
_0205186C:
ldrh r1, [r3]
lsl r1, r1, #0x16
lsr r1, r1, #0x16
cmp r0, r1
bne _02051882
ldr r0, _02051890 ; =0x020FC3CA
lsl r1, r2, #1
ldrh r0, [r0, r1]
lsl r0, r0, #0x10
lsr r0, r0, #0x1a
bx lr
_02051882:
add r2, r2, #1
add r3, r3, #2
cmp r2, #0x20
blo _0205186C
mov r0, #0x29
bx lr
nop
_02051890: .word 0x020FC3CA
thumb_func_end sub_02051868
thumb_func_start sub_02051894
sub_02051894: ; 0x02051894
push {r4, lr}
add r4, r1, #0
bl sub_02054388
mov r1, #5
mov r2, #0
bl GetMonData
cmp r4, #0x6d
bne _020518AC
mov r0, #0x2a
pop {r4, pc}
_020518AC:
ldr r3, _020518D4 ; =0x020FC3B4
mov r2, #0
_020518B0:
ldrh r1, [r3]
lsl r1, r1, #0x16
lsr r1, r1, #0x16
cmp r0, r1
bne _020518C6
ldr r0, _020518D4 ; =0x020FC3B4
lsl r1, r2, #1
ldrh r0, [r0, r1]
lsl r0, r0, #0x10
lsr r0, r0, #0x1a
pop {r4, pc}
_020518C6:
add r2, r2, #1
add r3, r3, #2
cmp r2, #0xb
blo _020518B0
mov r0, #0x2a
pop {r4, pc}
nop
_020518D4: .word 0x020FC3B4
thumb_func_end sub_02051894
thumb_func_start sub_020518D8
sub_020518D8: ; 0x020518D8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r1, #0
mov r1, #0x75
lsl r1, r1, #2
add r6, r0, #0
bl AllocFromHeap
mov r2, #0x75
mov r1, #0
lsl r2, r2, #2
add r4, r0, #0
bl MIi_CpuFill8
mov r0, #0x63
str r5, [r4]
lsl r0, r0, #2
mov r7, #0
str r7, [r4, r0]
add r1, r0, #0
str r7, [r4, #0x14]
sub r1, #0x40
str r7, [r4, r1]
add r1, r0, #0
mov r2, #0x18
sub r1, #0x3c
str r2, [r4, r1]
add r1, r0, #0
sub r1, #0x38
str r7, [r4, r1]
add r1, r0, #0
sub r1, #0x30
str r7, [r4, r1]
add r1, r0, #0
sub r1, #0x2c
str r7, [r4, r1]
add r1, r0, #0
mov r2, #1
sub r1, #0x28
str r2, [r4, r1]
add r1, r0, #0
sub r1, #0x24
str r2, [r4, r1]
sub r0, #0x18
str r7, [r4, r0]
add r0, r4, #0
str r0, [sp]
add r0, #0x28
add r5, r4, #0
str r0, [sp]
_0205193C:
ldr r1, [sp]
mov r0, #0
mov r2, #0x34
str r0, [r5, #0x18]
bl sub_020D47EC
add r0, r6, #0
bl sub_020744BC
str r0, [r5, #4]
add r0, r6, #0
bl sub_02028ED0
add r1, r5, #0
add r1, #0xf8
str r0, [r1]
add r0, r6, #0
bl sub_0202CE50
mov r1, #0x46
lsl r1, r1, #2
str r0, [r5, r1]
mov r1, #0xff
add r0, r1, #0
add r2, r4, r7
add r0, #0xcd
strb r1, [r2, r0]
ldr r0, [sp]
add r7, r7, #1
add r0, #0x34
add r5, r5, #4
str r0, [sp]
cmp r7, #4
blt _0205193C
add r0, r6, #0
bl sub_02078188
mov r1, #0x42
lsl r1, r1, #2
str r0, [r4, r1]
add r0, r6, #0
bl sub_020293E8
mov r1, #0x11
lsl r1, r1, #4
str r0, [r4, r1]
add r0, r6, #0
bl sub_0202AC88
mov r1, #0x13
lsl r1, r1, #4
str r0, [r4, r1]
add r0, r6, #0
bl sub_02067A60
mov r1, #0x4d
lsl r1, r1, #2
add r2, r1, #0
str r0, [r4, r1]
mov r0, #0
sub r2, #0x28
str r0, [r4, r2]
add r2, r1, #0
add r2, #0x84
str r0, [r4, r2]
add r2, r1, #0
add r2, #0x5c
str r0, [r4, r2]
add r2, r1, #0
sub r2, #8
str r0, [r4, r2]
add r2, r1, #0
add r2, #0x10
str r0, [r4, r2]
add r1, #0x60
str r0, [r4, r1]
add r0, r6, #0
bl AllocMonZeroed
mov r1, #0x72
lsl r1, r1, #2
str r0, [r4, r1]
add r0, sp, #0x10
add r1, sp, #4
bl GF_RTC_CopyDateTime
ldr r0, _02051A5C ; =gMain
ldr r6, [sp, #0x14]
ldr r5, [r0, #0x2c]
ldr r1, [sp, #8]
ldr r0, [sp, #0xc]
lsl r6, r6, #8
add r0, r1, r0
lsl r3, r0, #0x18
ldr r0, [sp, #4]
ldr r1, [sp, #0x10]
lsl r2, r0, #0x10
ldr r0, [sp, #0x18]
mul r6, r0
lsl r0, r6, #0x10
add r0, r1, r0
add r0, r2, r0
add r0, r3, r0
add r1, r5, r0
mov r0, #0x67
lsl r0, r0, #2
str r1, [r4, r0]
bl sub_02037474
cmp r0, #1
bne _02051A48
mov r5, #0
bl sub_02037454
cmp r0, #0
ble _02051A3E
mov r7, #0x1a
add r6, r4, #0
lsl r7, r7, #4
_02051A2A:
add r0, r5, #0
bl sub_020378AC
str r0, [r6, r7]
add r6, r6, #4
add r5, r5, #1
bl sub_02037454
cmp r5, r0
blt _02051A2A
_02051A3E:
bl sub_0203769C
mov r1, #0x1b
lsl r1, r1, #4
strh r0, [r4, r1]
_02051A48:
mov r0, #0x4e
lsl r0, r0, #2
add r0, r4, r0
mov r1, #0
mov r2, #0xc
bl MIi_CpuFill8
add r0, r4, #0
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02051A5C: .word gMain
thumb_func_end sub_020518D8
thumb_func_start sub_02051A60
sub_02051A60: ; 0x02051A60
push {r4, lr}
add r4, r1, #0
mov r1, #0x20
bl sub_020518D8
mov r1, #0x19
lsl r1, r1, #4
str r4, [r0, r1]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02051A60
thumb_func_start sub_02051A74
sub_02051A74: ; 0x02051A74
push {r4, r5, r6, lr}
add r5, r1, #0
mov r1, #1
lsl r1, r1, #0xc
add r6, r2, #0
bl sub_020518D8
mov r1, #0x19
add r4, r0, #0
lsl r1, r1, #4
str r5, [r4, r1]
add r1, #0x38
ldr r1, [r4, r1]
add r0, r6, #0
bl sub_0207188C
add r0, r4, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02051A74
thumb_func_start sub_02051A98
sub_02051A98: ; 0x02051A98
push {r4, lr}
add r4, r1, #0
mov r1, #2
lsl r1, r1, #8
bl sub_020518D8
mov r1, #0x19
lsl r1, r1, #4
str r4, [r0, r1]
pop {r4, pc}
thumb_func_end sub_02051A98
thumb_func_start sub_02051AAC
sub_02051AAC: ; 0x02051AAC
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r5, r1, #0
add r6, r0, #0
ldr r0, [r5, #0xc]
bl Sav2_PlayerData_GetProfileAddr
str r0, [sp, #0x10]
ldr r0, [r5, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
mov r1, #1
str r0, [sp, #0x14]
add r0, r6, #0
lsl r1, r1, #0xa
bl sub_020518D8
add r4, r0, #0
mov r2, #7
ldr r0, [r5, #0xc]
lsl r2, r2, #6
str r0, [r4, r2]
mov r0, #1
mov r1, #0x1b
sub r2, r2, #3
add r3, r6, #0
bl NewMsgDataFromNarc
str r0, [sp, #0x18]
mov r0, #8
add r1, r6, #0
bl String_ctor
add r7, r0, #0
ldr r0, [sp, #0x10]
bl PlayerProfile_GetTrainerGender
add r2, r0, #0
mov r1, #1
eor r1, r2
ldr r0, [sp, #0x18]
add r2, r7, #0
bl ReadMsgDataIntoString
add r0, r7, #0
bl String_c_str
add r1, r0, #0
add r0, r4, #0
add r0, #0xf8
ldr r0, [r0]
bl sub_02028F24
add r0, r7, #0
bl String_dtor
ldr r0, [sp, #0x18]
bl DestroyMsgData
ldr r0, [sp, #0x10]
bl PlayerProfile_GetTrainerGender
add r2, r0, #0
add r0, r4, #0
add r0, #0xf8
mov r1, #1
ldr r0, [r0]
eor r1, r2
bl sub_02028F90
add r0, r4, #0
add r1, r5, #0
bl sub_02052504
mov r1, #0x13
lsl r1, r1, #4
ldr r0, [sp, #0x14]
ldr r1, [r4, r1]
bl sub_0202AC9C
add r0, r5, #0
bl sub_020555E0
mov r1, #0x57
lsl r1, r1, #2
str r0, [r4, r1]
sub r1, #0x54
ldr r0, [r4, r1]
mov r1, #4
mov r2, #0x14
add r3, r6, #0
bl sub_02078398
add r0, r6, #0
bl AllocMonZeroed
mov r2, #0
str r2, [sp]
str r2, [sp, #4]
mov r1, #2
str r1, [sp, #8]
str r2, [sp, #0xc]
mov r1, #0xb7
mov r2, #5
mov r3, #0x20
add r6, r0, #0
bl sub_0206DE38
ldr r0, [r4, #4]
add r1, r6, #0
bl sub_02074524
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r2, #2
str r2, [sp, #8]
str r0, [sp, #0xc]
add r0, r6, #0
mov r1, #0x13
mov r3, #0x20
bl sub_0206DE38
ldr r0, [r4, #8]
add r1, r6, #0
bl sub_02074524
add r0, r6, #0
bl FreeToHeap
mov r0, #0x73
mov r1, #0
lsl r0, r0, #2
strb r1, [r4, r0]
ldr r0, [r5, #0xc]
bl sub_020270D8
mov r1, #0x45
lsl r1, r1, #2
str r0, [r4, r1]
add r0, r5, #0
add r0, #0x94
ldr r2, [r0]
add r0, r1, #0
sub r0, #8
str r2, [r4, r0]
mov r0, #0
add r1, #0xa4
str r0, [r4, r1]
ldr r0, [r5, #0xc]
bl sub_0202CF54
mov r1, #0x51
lsl r1, r1, #2
str r0, [r4, r1]
ldr r0, [r5, #0x20]
add r1, #0x14
ldr r0, [r0]
str r0, [r4, r1]
add r0, r4, #0
bl sub_02052580
add r0, r4, #0
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02051AAC
thumb_func_start sub_02051BF8
sub_02051BF8: ; 0x02051BF8
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
mov r4, #0
add r5, r6, #0
_02051C00:
ldr r0, [r5, #4]
cmp r0, #0
bne _02051C0A
bl GF_AssertFail
_02051C0A:
ldr r0, [r5, #4]
bl FreeToHeap
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blt _02051C00
mov r5, #0
add r4, r6, #0
_02051C1C:
add r0, r4, #0
add r0, #0xf8
ldr r0, [r0]
cmp r0, #0
bne _02051C2A
bl GF_AssertFail
_02051C2A:
add r0, r4, #0
add r0, #0xf8
ldr r0, [r0]
bl FreeToHeap
add r5, r5, #1
add r4, r4, #4
cmp r5, #4
blt _02051C1C
mov r7, #0x46
mov r5, #0
add r4, r6, #0
lsl r7, r7, #2
_02051C44:
ldr r0, [r4, r7]
cmp r0, #0
bne _02051C4E
bl GF_AssertFail
_02051C4E:
mov r0, #0x46
lsl r0, r0, #2
ldr r0, [r4, r0]
bl FreeToHeap
add r5, r5, #1
add r4, r4, #4
cmp r5, #4
blt _02051C44
mov r0, #0x42
lsl r0, r0, #2
ldr r0, [r6, r0]
bl FreeToHeap
mov r0, #0x11
lsl r0, r0, #4
ldr r0, [r6, r0]
bl FreeToHeap
mov r0, #0x13
lsl r0, r0, #4
ldr r0, [r6, r0]
bl FreeToHeap
mov r0, #0x4d
lsl r0, r0, #2
ldr r0, [r6, r0]
bl sub_02067A78
mov r0, #0x72
lsl r0, r0, #2
ldr r0, [r6, r0]
bl FreeToHeap
add r0, r6, #0
bl FreeToHeap
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02051BF8
thumb_func_start sub_02051C9C
sub_02051C9C: ; 0x02051C9C
push {r4, r5, r6, lr}
add r4, r2, #0
add r5, r0, #0
add r6, r1, #0
cmp r4, #4
blt _02051CAC
bl GF_AssertFail
_02051CAC:
lsl r0, r4, #2
add r0, r5, r0
ldr r0, [r0, #4]
add r1, r6, #0
bl sub_02074524
cmp r0, #0
bne _02051CC0
bl GF_AssertFail
_02051CC0:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02051C9C
thumb_func_start sub_02051CC4
sub_02051CC4: ; 0x02051CC4
push {r4, r5, r6, lr}
add r4, r2, #0
add r5, r0, #0
add r6, r1, #0
cmp r4, #4
blt _02051CD4
bl GF_AssertFail
_02051CD4:
lsl r1, r4, #2
add r1, r5, r1
ldr r1, [r1, #4]
add r0, r6, #0
bl sub_020748B8
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02051CC4
thumb_func_start sub_02051CE4
sub_02051CE4: ; 0x02051CE4
push {r4, r5, r6, lr}
add r4, r2, #0
add r5, r0, #0
add r6, r1, #0
cmp r4, #4
blt _02051CF4
bl GF_AssertFail
_02051CF4:
lsl r1, r4, #2
add r1, r5, r1
add r1, #0xf8
ldr r1, [r1]
add r0, r6, #0
bl sub_02028EE4
pop {r4, r5, r6, pc}
thumb_func_end sub_02051CE4
thumb_func_start sub_02051D04
sub_02051D04: ; 0x02051D04
lsl r2, r2, #2
add r2, r0, r2
mov r0, #0x46
lsl r0, r0, #2
ldr r3, _02051D14 ; =sub_0202CF08
ldr r0, [r2, r0]
bx r3
nop
_02051D14: .word sub_0202CF08
thumb_func_end sub_02051D04
thumb_func_start sub_02051D18
sub_02051D18: ; 0x02051D18
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r4, r2, #0
add r5, r0, #0
add r0, r4, #0
add r6, r1, #0
add r7, r3, #0
bl Sav2_PlayerData_GetProfileAddr
str r0, [sp, #0x1c]
add r0, r4, #0
bl SavArray_PlayerParty_get
str r0, [sp, #0x18]
add r0, r4, #0
bl sub_0207879C
str r0, [sp, #0x14]
add r0, r4, #0
bl sub_0202A634
str r0, [sp, #0x10]
add r0, r4, #0
bl Sav2_Chatot_get
str r0, [sp, #0xc]
add r0, r4, #0
bl Sav2_PlayerData_GetOptionsAddr
str r0, [sp, #8]
add r0, r4, #0
bl sub_0203B9C4
str r0, [sp, #4]
cmp r6, #0
beq _02051DB6
mov r0, #0
str r0, [sp]
ldr r0, [r6, #0x20]
ldr r0, [r0]
bl sub_0203B41C
sub r0, #9
cmp r0, #2
bhi _02051D76
mov r0, #1
str r0, [sp]
_02051D76:
add r0, r5, #0
add r1, r6, #0
bl sub_02052504
add r0, r6, #0
bl sub_020555E0
mov r1, #0x57
lsl r1, r1, #2
str r0, [r5, r1]
ldr r0, [sp]
cmp r0, #0
beq _02051D94
mov r0, #3
str r0, [r5, r1]
_02051D94:
add r0, r6, #0
bl sub_02069F88
cmp r0, #0
beq _02051DDA
add r0, r6, #0
bl sub_02069FB0
cmp r0, #0
beq _02051DDA
add r0, r4, #0
bl sub_0205BD64
mov r1, #0x73
lsl r1, r1, #2
strb r0, [r5, r1]
b _02051DDA
_02051DB6:
add r0, r7, #0
bl sub_0203B41C
mov r1, #0x53
lsl r1, r1, #2
str r0, [r5, r1]
mov r2, #9
add r0, r1, #4
str r2, [r5, r0]
add r0, r4, #0
bl Sav2_SysInfo_RTC_get
ldr r0, [r0, #0x14]
bl GF_RTC_GetTimeOfDayByHour
mov r1, #0x57
lsl r1, r1, #2
str r0, [r5, r1]
_02051DDA:
ldr r1, [sp, #0x1c]
add r0, r5, #0
mov r2, #0
bl sub_02051CE4
mov r0, #1
ldr r1, [r5]
lsl r0, r0, #0xc
tst r0, r1
beq _02051E0A
ldr r0, [r5, #4]
mov r1, #1
bl sub_020744DC
ldr r0, [sp, #0x18]
mov r1, #0
bl GetPartyMonByIndex
add r1, r0, #0
add r0, r5, #0
mov r2, #0
bl sub_02051C9C
b _02051E14
_02051E0A:
ldr r1, [sp, #0x18]
add r0, r5, #0
mov r2, #0
bl sub_02051CC4
_02051E14:
mov r1, #0x42
lsl r1, r1, #2
ldr r0, [sp, #0x14]
ldr r1, [r5, r1]
bl sub_020781B4
mov r1, #0x11
lsl r1, r1, #4
ldr r0, [sp, #0x10]
ldr r1, [r5, r1]
bl sub_020293FC
mov r1, #0x13
lsl r1, r1, #4
ldr r0, [sp, #8]
ldr r1, [r5, r1]
bl sub_0202AC9C
ldr r1, [sp, #0xc]
add r0, r5, #0
mov r2, #0
bl sub_02051D04
add r0, r4, #0
bl sub_020270D8
mov r1, #0x45
lsl r1, r1, #2
str r0, [r5, r1]
add r0, r7, #0
bl sub_0203B36C
mov r1, #0x55
lsl r1, r1, #2
str r0, [r5, r1]
add r0, r7, #0
bl sub_0203B60C
mov r1, #0x16
lsl r1, r1, #4
str r0, [r5, r1]
add r0, r4, #0
bl sub_02088288
mov r1, #0x59
lsl r1, r1, #2
str r0, [r5, r1]
add r0, r4, #0
bl sub_020503D0
bl sub_02066810
mov r1, #0x5a
lsl r1, r1, #2
str r0, [r5, r1]
add r0, r4, #0
bl sub_0202ED88
mov r1, #0
add r2, r1, #0
bl sub_0202F14C
ldr r1, _02051EFC ; =0x000F423F
cmp r0, r1
bhs _02051EA8
add r0, r4, #0
bl sub_020503D0
bl sub_02066794
mov r1, #0x5b
lsl r1, r1, #2
str r0, [r5, r1]
b _02051EB0
_02051EA8:
mov r0, #0x5b
mov r1, #0
lsl r0, r0, #2
str r1, [r5, r0]
_02051EB0:
ldr r0, [sp, #4]
bl sub_0203B984
mov r1, #0x5d
lsl r1, r1, #2
str r0, [r5, r1]
add r0, r1, #0
ldr r2, [sp, #0x38]
sub r0, #0x68
str r2, [r5, r0]
ldr r0, [sp, #0x3c]
add r1, #0x44
str r0, [r5, r1]
add r0, r4, #0
bl sub_0202CA44
mov r1, #0x4b
lsl r1, r1, #2
str r0, [r5, r1]
add r0, r4, #0
bl sub_0202CF54
mov r1, #0x51
lsl r1, r1, #2
str r0, [r5, r1]
add r0, r4, #0
bl sub_0202AEC8
mov r1, #0x52
lsl r1, r1, #2
str r0, [r5, r1]
add r0, r1, #0
add r0, #0x10
str r7, [r5, r0]
add r1, #0x78
str r4, [r5, r1]
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02051EFC: .word 0x000F423F
thumb_func_end sub_02051D18
thumb_func_start sub_02051F00
sub_02051F00: ; 0x02051F00
push {r4, lr}
sub sp, #8
add r2, r1, #0
add r2, #0x94
ldr r2, [r2]
add r4, r0, #0
str r2, [sp]
add r2, r1, #0
add r2, #0xb0
ldr r2, [r2]
str r2, [sp, #4]
ldr r3, [r1, #0x20]
ldr r2, [r1, #0xc]
ldr r3, [r3]
bl sub_02051D18
add r0, r4, #0
bl sub_02052580
add sp, #8
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02051F00
thumb_func_start sub_02051F2C
sub_02051F2C: ; 0x02051F2C
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r5, r0, #0
add r0, r1, #0
ldr r0, [r0, #0xc]
str r1, [sp]
add r6, r2, #0
bl Sav2_PlayerData_GetProfileAddr
add r4, r0, #0
ldr r0, [sp]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
str r0, [sp, #0x14]
ldr r0, [sp]
ldr r0, [r0, #0xc]
bl sub_0207879C
str r0, [sp, #0x10]
ldr r0, [sp]
ldr r0, [r0, #0xc]
bl sub_0202A634
str r0, [sp, #0xc]
ldr r0, [sp]
ldr r0, [r0, #0xc]
bl Sav2_Chatot_get
str r0, [sp, #8]
ldr r0, [sp]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
str r0, [sp, #4]
mov r0, #0x53
mov r1, #6
lsl r0, r0, #2
str r1, [r5, r0]
mov r1, #9
add r0, r0, #4
str r1, [r5, r0]
add r0, r5, #0
add r1, r4, #0
mov r2, #0
bl sub_02051CE4
mov r0, #0xb
bl AllocMonZeroed
add r4, r0, #0
ldr r0, [sp, #0x14]
bl GetPartyCount
add r1, r0, #0
ldr r0, [r5, #4]
bl sub_020744DC
ldr r0, [sp, #0x14]
mov r7, #0
bl GetPartyCount
cmp r0, #0
ble _02052004
_02051FAC:
ldr r0, [sp, #0x14]
add r1, r7, #0
bl GetPartyMonByIndex
add r1, r4, #0
bl sub_0207188C
add r0, r4, #0
mov r1, #0xa1
mov r2, #0
bl GetMonData
cmp r6, r0
beq _02051FEE
cmp r6, #0
beq _02051FEE
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetMonData
add r1, r6, #0
bl sub_0206FD00
str r0, [sp, #0x18]
add r0, r4, #0
mov r1, #8
add r2, sp, #0x18
bl sub_0206EC40
add r0, r4, #0
bl sub_0206E250
_02051FEE:
add r0, r5, #0
add r1, r4, #0
mov r2, #0
bl sub_02051C9C
ldr r0, [sp, #0x14]
add r7, r7, #1
bl GetPartyCount
cmp r7, r0
blt _02051FAC
_02052004:
add r0, r4, #0
bl FreeToHeap
mov r1, #0x42
lsl r1, r1, #2
ldr r0, [sp, #0x10]
ldr r1, [r5, r1]
bl sub_020781B4
mov r1, #0x11
lsl r1, r1, #4
ldr r0, [sp, #0xc]
ldr r1, [r5, r1]
bl sub_020293FC
mov r1, #0x13
lsl r1, r1, #4
ldr r0, [sp, #4]
ldr r1, [r5, r1]
bl sub_0202AC9C
ldr r1, [sp, #8]
add r0, r5, #0
mov r2, #0
bl sub_02051D04
ldr r0, [sp]
ldr r0, [r0, #0xc]
bl sub_020270D8
mov r1, #0x45
lsl r1, r1, #2
str r0, [r5, r1]
ldr r0, [sp]
bl sub_020555E0
mov r1, #0x57
lsl r1, r1, #2
str r0, [r5, r1]
ldr r0, [sp]
add r0, #0x94
ldr r2, [r0]
add r0, r1, #0
sub r0, #0x50
str r2, [r5, r0]
ldr r0, [sp]
add r1, #0x5c
add r0, #0xb0
ldr r0, [r0]
str r0, [r5, r1]
ldr r0, [sp]
ldr r0, [r0, #0xc]
bl sub_0202CA44
mov r1, #0x4b
lsl r1, r1, #2
str r0, [r5, r1]
ldr r0, [sp]
ldr r0, [r0, #0xc]
bl sub_0202CF54
mov r1, #0x51
lsl r1, r1, #2
str r0, [r5, r1]
ldr r0, [sp]
ldr r0, [r0, #0xc]
bl sub_0202AEC8
mov r1, #0x52
lsl r1, r1, #2
str r0, [r5, r1]
ldr r0, [sp]
ldr r0, [r0, #0x20]
ldr r2, [r0]
add r0, r1, #0
add r0, #0x10
str r2, [r5, r0]
ldr r0, [sp]
add r1, #0x78
ldr r0, [r0, #0xc]
str r0, [r5, r1]
add r0, r5, #0
bl sub_02052580
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_02051F2C
thumb_func_start sub_020520B0
sub_020520B0: ; 0x020520B0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
add r5, r0, #0
add r0, r1, #0
ldr r0, [r0, #0xc]
str r1, [sp]
str r2, [sp, #4]
add r4, r3, #0
bl Sav2_PlayerData_GetProfileAddr
str r0, [sp, #0x20]
ldr r0, [sp]
ldr r0, [r0, #0xc]
bl sub_0207879C
str r0, [sp, #0x1c]
ldr r0, [sp]
ldr r0, [r0, #0xc]
bl sub_0202A634
str r0, [sp, #0x18]
ldr r0, [sp]
ldr r0, [r0, #0xc]
bl Sav2_Chatot_get
str r0, [sp, #0x14]
ldr r0, [sp]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
str r0, [sp, #0x10]
ldr r0, [sp]
mov r1, #6
add r0, #0xa4
ldr r0, [r0]
mov r2, #0
str r0, [sp, #0xc]
mov r0, #0x53
lsl r0, r0, #2
str r1, [r5, r0]
mov r1, #9
add r0, r0, #4
str r1, [r5, r0]
ldr r1, [sp, #0x20]
add r0, r5, #0
bl sub_02051CE4
cmp r4, #0
bne _0205211E
ldr r1, [sp, #4]
add r0, r5, #0
mov r2, #0
bl sub_02051CC4
b _020521DE
_0205211E:
add r0, r4, #0
add r1, sp, #0x28
mov r2, #6
bl MIi_CpuCopy8
mov r6, #0
add r1, r6, #0
add r2, sp, #0x28
_0205212E:
ldrb r0, [r2]
cmp r0, #0
beq _02052136
add r6, r6, #1
_02052136:
add r1, r1, #1
add r2, r2, #1
cmp r1, #6
blt _0205212E
cmp r6, #0
bne _02052158
mov r1, #0
add r0, sp, #0x28
_02052146:
add r1, r1, #1
strb r1, [r0]
add r0, r0, #1
cmp r1, #6
blt _02052146
ldr r0, [sp, #4]
bl GetPartyCount
add r6, r0, #0
_02052158:
mov r0, #0xb
bl AllocMonZeroed
add r4, r0, #0
ldr r0, [r5, #4]
add r1, r6, #0
bl sub_020744DC
mov r0, #0
str r0, [sp, #8]
cmp r6, #0
ble _020521D8
add r7, sp, #0x28
_02052172:
ldrb r1, [r7]
ldr r0, [sp, #4]
sub r1, r1, #1
bl GetPartyMonByIndex
add r1, r4, #0
bl sub_0207188C
add r0, r4, #0
mov r1, #0xa1
mov r2, #0
bl GetMonData
cmp r0, #0x32
bls _020521C2
bl sub_0203993C
cmp r0, #0x25
beq _020521A0
bl sub_0203993C
cmp r0, #0x26
bne _020521C2
_020521A0:
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetMonData
mov r1, #0x32
bl sub_0206FD00
str r0, [sp, #0x24]
add r0, r4, #0
mov r1, #8
add r2, sp, #0x24
bl sub_0206EC40
add r0, r4, #0
bl sub_0206E250
_020521C2:
add r0, r5, #0
add r1, r4, #0
mov r2, #0
bl sub_02051C9C
ldr r0, [sp, #8]
add r7, r7, #1
add r0, r0, #1
str r0, [sp, #8]
cmp r0, r6
blt _02052172
_020521D8:
add r0, r4, #0
bl FreeToHeap
_020521DE:
ldr r0, [sp, #0xc]
cmp r0, #0
beq _020521F6
mov r1, #0xc
bl sub_020290FC
cmp r0, #0
beq _020521F6
mov r0, #0x65
mov r1, #1
lsl r0, r0, #2
str r1, [r5, r0]
_020521F6:
mov r1, #0x42
lsl r1, r1, #2
ldr r0, [sp, #0x1c]
ldr r1, [r5, r1]
bl sub_020781B4
mov r1, #0x11
lsl r1, r1, #4
ldr r0, [sp, #0x18]
ldr r1, [r5, r1]
bl sub_020293FC
mov r1, #0x13
lsl r1, r1, #4
ldr r0, [sp, #0x10]
ldr r1, [r5, r1]
bl sub_0202AC9C
ldr r1, [sp, #0x14]
add r0, r5, #0
mov r2, #0
bl sub_02051D04
ldr r0, [sp]
ldr r0, [r0, #0xc]
bl sub_020270D8
mov r1, #0x45
lsl r1, r1, #2
str r0, [r5, r1]
ldr r0, [sp]
bl sub_020555E0
mov r1, #0x57
lsl r1, r1, #2
str r0, [r5, r1]
ldr r0, [sp]
add r0, #0x94
ldr r2, [r0]
add r0, r1, #0
sub r0, #0x50
str r2, [r5, r0]
ldr r0, [sp]
add r1, #0x5c
add r0, #0xb0
ldr r0, [r0]
str r0, [r5, r1]
ldr r0, [sp]
ldr r0, [r0, #0xc]
bl sub_0202CA44
mov r1, #0x4b
lsl r1, r1, #2
str r0, [r5, r1]
ldr r0, [sp]
ldr r0, [r0, #0xc]
bl sub_0202CF54
mov r1, #0x51
lsl r1, r1, #2
str r0, [r5, r1]
ldr r0, [sp]
add r1, #0x14
ldr r0, [r0, #0x20]
ldr r0, [r0]
str r0, [r5, r1]
ldr r0, [sp]
ldr r0, [r0, #0xc]
bl sub_0202AEC8
mov r1, #0x52
lsl r1, r1, #2
str r0, [r5, r1]
ldr r0, [sp]
add r1, #0x78
ldr r0, [r0, #0xc]
str r0, [r5, r1]
bl sub_0203993C
bl sub_0203401C
cmp r0, #0
beq _020522E4
ldr r0, [sp, #0x20]
bl sub_0202903C
add r4, r0, #0
ldr r0, [sp, #0x20]
bl PlayerProfile_GetTrainerGender
add r1, r4, #0
mov r2, #1
bl sub_0205B46C
add r1, r5, #0
add r1, #0x29
strb r0, [r1]
add r0, r5, #0
add r0, #0xf8
ldr r0, [r0]
bl PlayerProfile_GetNamePtr
add r1, r0, #0
add r0, r5, #0
add r0, #0x3c
bl CopyU16StringArray
add r3, r5, #0
add r3, #0x28
add r5, #0x90
mov r2, #6
_020522D4:
ldmia r3!, {r0, r1}
stmia r5!, {r0, r1}
sub r2, r2, #1
bne _020522D4
ldr r0, [r3]
add sp, #0x30
str r0, [r5]
pop {r3, r4, r5, r6, r7, pc}
_020522E4:
add r0, r5, #0
bl sub_02052580
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020520B0
thumb_func_start sub_020522F0
sub_020522F0: ; 0x020522F0
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #0xc]
add r6, r2, #0
bl SavArray_PlayerParty_get
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
add r3, r6, #0
bl sub_020520B0
pop {r4, r5, r6, pc}
thumb_func_end sub_020522F0
thumb_func_start sub_0205230C
sub_0205230C: ; 0x0205230C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r6, r0, #0
ldr r0, [r6, #0xc]
add r5, r1, #0
str r2, [sp]
bl sub_020503D0
add r4, r0, #0
ldr r0, [r6, #0xc]
bl sub_0202ED88
str r0, [sp, #4]
add r0, r4, #0
bl sub_02066794
cmp r0, #0
beq _02052394
ldr r0, [sp]
bl sub_02029024
add r7, r0, #0
add r0, r5, #0
bl sub_02029024
sub r1, r7, r0
asr r0, r1, #1
lsr r0, r0, #0x1e
add r0, r1, r0
asr r4, r0, #2
mov r1, #0
ldr r0, [sp, #4]
add r2, r1, #0
bl sub_0202F14C
add r5, r0, #0
cmp r4, #0
ble _02052378
ldr r0, _02052398 ; =0x000F423F
add r1, r5, r4
cmp r1, r0
blo _02052362
sub r4, r0, r5
_02052362:
ldr r0, [sp]
sub r1, r7, r4
bl sub_02029028
ldr r0, [sp, #4]
mov r1, #2
add r2, r4, #0
bl sub_0202F14C
add r1, r0, #0
b _0205237A
_02052378:
add r1, r5, #0
_0205237A:
ldr r0, [sp, #4]
add r2, r5, #0
bl sub_0209322C
cmp r0, #0
beq _02052394
add r0, r6, #0
bl sub_02092DEC
mov r1, #0xc
mov r2, #1
bl sub_02092E14
_02052394:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02052398: .word 0x000F423F
thumb_func_end sub_0205230C
thumb_func_start sub_0205239C
sub_0205239C: ; 0x0205239C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r6, r0, #0
ldr r0, [r4, #0xc]
bl SavArray_PlayerParty_get
add r7, r0, #0
ldr r0, [r4, #0xc]
bl sub_0207879C
str r0, [sp]
ldr r0, [r4, #0xc]
bl sub_0202A634
add r2, r5, #0
add r2, #0xf8
str r0, [sp, #4]
ldr r2, [r2]
add r0, r4, #0
add r1, r6, #0
bl sub_0205230C
add r0, r5, #0
add r0, #0xf8
ldr r0, [r0]
add r1, r6, #0
bl sub_02028EE4
ldr r0, [r5, #4]
add r1, r7, #0
bl sub_020748B8
mov r0, #0x42
lsl r0, r0, #2
ldr r0, [r5, r0]
ldr r1, [sp]
bl sub_020781B4
mov r0, #0x11
lsl r0, r0, #4
ldr r0, [r5, r0]
ldr r1, [sp, #4]
bl sub_020293FC
ldr r0, [r4, #0xc]
mov r6, #0
bl sub_020503D0
add r7, r0, #0
bl sub_02066860
cmp r0, #0
beq _0205241E
ldr r0, [r4, #0xc]
bl sub_0203B9C4
bl sub_0203B9B8
add r6, r0, #0
b _02052434
_0205241E:
add r0, r7, #0
bl sub_02066870
cmp r0, #0
beq _02052434
add r0, r4, #0
bl sub_0206DB28
bl sub_0206DB30
add r6, r0, #0
_02052434:
cmp r6, #0
beq _02052440
mov r0, #0x19
lsl r0, r0, #4
ldr r0, [r5, r0]
strh r0, [r6]
_02052440:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205239C
thumb_func_start sub_02052444
sub_02052444: ; 0x02052444
push {r3, r4, r5, lr}
add r5, r1, #0
add r4, r0, #0
ldr r0, [r5, #0xc]
bl Sav2_PlayerData_GetProfileAddr
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
ldr r0, [r5, #0xc]
bl sub_0207879C
ldr r0, [r5, #0xc]
bl sub_0202A634
add r1, r0, #0
mov r0, #0x11
lsl r0, r0, #4
ldr r0, [r4, r0]
bl sub_020293FC
pop {r3, r4, r5, pc}
thumb_func_end sub_02052444
thumb_func_start sub_02052470
sub_02052470: ; 0x02052470
push {r3, r4, r5, lr}
ldr r2, [r0, #0x20]
add r4, r1, #0
ldr r1, [r2, #8]
ldr r2, [r2, #0xc]
bl sub_02054918
add r5, r0, #0
bl sub_0205B828
cmp r0, #0
beq _0205248C
mov r0, #8
pop {r3, r4, r5, pc}
_0205248C:
add r0, r5, #0
bl sub_0205B6E8
cmp r0, #0
bne _020524A0
add r0, r5, #0
bl sub_0205B6F4
cmp r0, #0
beq _020524A4
_020524A0:
mov r0, #2
pop {r3, r4, r5, pc}
_020524A4:
add r0, r5, #0
bl sub_0205B798
cmp r0, #0
beq _020524B2
mov r0, #1
pop {r3, r4, r5, pc}
_020524B2:
add r0, r5, #0
bl sub_0205B8B8
cmp r0, #0
beq _020524C0
mov r0, #6
pop {r3, r4, r5, pc}
_020524C0:
add r0, r5, #0
bl sub_0205B8AC
cmp r0, #0
beq _020524CE
mov r0, #0xa
pop {r3, r4, r5, pc}
_020524CE:
add r0, r5, #0
bl sub_0205B8D0
cmp r0, #0
beq _020524DC
mov r0, #5
pop {r3, r4, r5, pc}
_020524DC:
add r0, r5, #0
bl sub_0205B778
cmp r0, #0
beq _020524EA
mov r0, #7
pop {r3, r4, r5, pc}
_020524EA:
cmp r4, #0x17
bhs _020524F6
ldr r0, _02052500 ; =0x020FC4C0
lsl r1, r4, #2
ldr r0, [r0, r1]
pop {r3, r4, r5, pc}
_020524F6:
bl GF_AssertFail
mov r0, #0x18
pop {r3, r4, r5, pc}
nop
_02052500: .word 0x020FC4C0
thumb_func_end sub_02052470
thumb_func_start sub_02052504
sub_02052504: ; 0x02052504
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #0xc]
bl sub_0203B9C4
bl sub_0203B9B4
add r6, r0, #0
ldr r0, [r4, #0x20]
ldr r0, [r0]
bl sub_0203B41C
mov r1, #0x53
lsl r1, r1, #2
str r0, [r5, r1]
ldr r0, [r6, #4]
cmp r0, #2
bne _0205252E
mov r0, #1
str r0, [r5, r1]
_0205252E:
mov r1, #0x53
lsl r1, r1, #2
ldr r1, [r5, r1]
add r0, r4, #0
bl sub_02052470
mov r1, #0x15
lsl r1, r1, #4
str r0, [r5, r1]
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02052504
thumb_func_start sub_02052544
sub_02052544: ; 0x02052544
mov r1, #0x15
mov r2, #7
lsl r1, r1, #4
str r2, [r0, r1]
mov r2, #1
add r1, #0x80
str r2, [r0, r1]
bx lr
thumb_func_end sub_02052544
thumb_func_start sub_02052554
sub_02052554: ; 0x02052554
cmp r0, #2
beq _0205255C
cmp r0, #3
bne _02052560
_0205255C:
mov r0, #0
bx lr
_02052560:
mov r0, #1
bx lr
thumb_func_end sub_02052554
thumb_func_start sub_02052564
sub_02052564: ; 0x02052564
cmp r0, #1
beq _0205256C
cmp r0, #4
bne _02052570
_0205256C:
mov r0, #0
bx lr
_02052570:
mov r0, #1
bx lr
thumb_func_end sub_02052564
thumb_func_start sub_02052574
sub_02052574: ; 0x02052574
cmp r0, #4
bne _0205257C
mov r0, #0
bx lr
_0205257C:
mov r0, #1
bx lr
thumb_func_end sub_02052574
thumb_func_start sub_02052580
sub_02052580: ; 0x02052580
push {r4, lr}
add r4, r0, #0
add r0, #0xf8
ldr r0, [r0]
bl PlayerProfile_GetTrainerGender
add r1, r4, #0
add r1, #0x29
strb r0, [r1]
add r0, r4, #0
add r0, #0xf8
ldr r0, [r0]
bl PlayerProfile_GetNamePtr
add r1, r0, #0
add r0, r4, #0
add r0, #0x3c
bl CopyU16StringArray
add r3, r4, #0
add r3, #0x28
add r4, #0x90
mov r2, #6
_020525AE:
ldmia r3!, {r0, r1}
stmia r4!, {r0, r1}
sub r2, r2, #1
bne _020525AE
ldr r0, [r3]
str r0, [r4]
pop {r4, pc}
thumb_func_end sub_02052580
thumb_func_start sub_020525BC
sub_020525BC: ; 0x020525BC
push {r4, lr}
sub sp, #8
add r4, r0, #0
ldr r0, _020525FC ; =0x020FC550
bl GX_SetBanks
ldr r0, _02052600 ; =0x020FC524
bl sub_0201ACB0
ldr r2, _02052604 ; =0x020FC534
add r0, r4, #0
mov r1, #3
mov r3, #0
bl sub_0201B1E4
mov r0, #0x20
str r0, [sp]
mov r0, #0xb
mov r3, #0x1a
str r0, [sp, #4]
mov r0, #0x10
mov r1, #7
mov r2, #0
lsl r3, r3, #4
bl GfGfxLoader_GXLoadPal
ldr r1, _02052608 ; =0x00007FFF
mov r0, #3
bl sub_0201C2D8
add sp, #8
pop {r4, pc}
.balign 4, 0
_020525FC: .word 0x020FC550
_02052600: .word 0x020FC524
_02052604: .word 0x020FC534
_02052608: .word 0x00007FFF
thumb_func_end sub_020525BC
thumb_func_start sub_0205260C
sub_0205260C: ; 0x0205260C
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r1, #0
mov r0, #0xb
mov r1, #0x24
bl AllocFromHeap
add r4, r0, #0
bne _02052622
bl GF_AssertFail
_02052622:
add r0, r4, #0
mov r1, #0
mov r2, #0x24
bl memset
mov r0, #0
str r0, [r4]
mov r0, #0xb
str r5, [r4, #4]
bl sub_0201AC88
str r0, [r4, #8]
ldr r1, _020526C8 ; =0x00007FFF
mov r0, #0
bl sub_0200FBF4
ldr r1, _020526C8 ; =0x00007FFF
mov r0, #1
bl sub_0200FBF4
mov r0, #0
bl sub_0200FBDC
mov r0, #1
bl sub_0200FBDC
ldr r0, [r4, #8]
bl sub_020525BC
mov r0, #1
mov r1, #0x1b
mov r2, #0xcb
mov r3, #0xb
bl NewMsgDataFromNarc
str r0, [r4, #0x1c]
mov r0, #0xb
bl ScrStrBufs_new
str r0, [r4, #0x20]
add r1, r4, #0
ldr r0, [r4, #8]
ldr r2, _020526CC ; =0x020FC51C
add r1, #0xc
bl AddWindow
add r0, r5, #0
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
add r2, r0, #0
ldr r0, [r4, #0x20]
mov r1, #0
bl BufferPlayersName
ldr r0, [r5, #0x20]
ldr r0, [r0]
cmp r0, #0x3f
bne _020526A8
mov r2, #0
add r0, r4, #0
mov r1, #4
add r3, r2, #0
bl sub_020527D0
b _020526B4
_020526A8:
mov r2, #0
add r0, r4, #0
mov r1, #3
add r3, r2, #0
bl sub_020527D0
_020526B4:
add r0, r4, #0
add r0, #0xc
bl CopyWindowToVram
ldr r1, _020526D0 ; =sub_020526D4
add r0, r6, #0
add r2, r4, #0
bl sub_02050530
pop {r4, r5, r6, pc}
.balign 4, 0
_020526C8: .word 0x00007FFF
_020526CC: .word 0x020FC51C
_020526D0: .word sub_020526D4
thumb_func_end sub_0205260C
thumb_func_start sub_020526D4
sub_020526D4: ; 0x020526D4
push {r3, r4, lr}
sub sp, #0xc
bl sub_02050650
add r4, r0, #0
ldr r0, [r4]
cmp r0, #4
bhi _020527B8
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_020526F0: ; jump table
.short _020526FA - _020526F0 - 2 ; case 0
.short _0205271E - _020526F0 - 2 ; case 1
.short _0205272E - _020526F0 - 2 ; case 2
.short _02052766 - _020526F0 - 2 ; case 3
.short _02052780 - _020526F0 - 2 ; case 4
_020526FA:
mov r0, #8
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x20
str r0, [sp, #8]
ldr r3, _020527C0 ; =0x00007FFF
mov r0, #3
mov r2, #0x2b
bl sub_0200FA24
ldr r0, _020527C4 ; =0x04000050
mov r1, #0
strh r1, [r0]
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020527B8
_0205271E:
bl sub_0200FB5C
cmp r0, #0
beq _020527B8
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020527B8
_0205272E:
ldr r0, _020527C8 ; =gMain
ldr r1, [r0, #0x48]
mov r0, #1
tst r0, r1
bne _02052746
mov r0, #2
tst r0, r1
bne _02052746
ldr r0, _020527CC ; =gMain + 0x40
ldrh r0, [r0, #0x24]
cmp r0, #0
beq _020527B8
_02052746:
mov r0, #8
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x20
str r0, [sp, #8]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl sub_0200FA24
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020527B8
_02052766:
bl sub_0200FB5C
cmp r0, #0
beq _020527B8
add r0, r4, #0
add r0, #0xc
mov r1, #0
bl FillWindowPixelBuffer
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020527B8
_02052780:
add r0, r4, #0
add r0, #0xc
mov r1, #0
bl sub_0200E9BC
add r0, r4, #0
add r0, #0xc
bl RemoveWindow
ldr r0, [r4, #0x20]
bl ScrStrBufs_delete
ldr r0, [r4, #0x1c]
bl DestroyMsgData
ldr r0, [r4, #8]
mov r1, #3
bl sub_0201BB4C
ldr r0, [r4, #8]
bl FreeToHeap
add r0, r4, #0
bl FreeToHeap
add sp, #0xc
mov r0, #1
pop {r3, r4, pc}
_020527B8:
mov r0, #0
add sp, #0xc
pop {r3, r4, pc}
nop
_020527C0: .word 0x00007FFF
_020527C4: .word 0x04000050
_020527C8: .word gMain
_020527CC: .word gMain + 0x40
thumb_func_end sub_020526D4
thumb_func_start sub_020527D0
sub_020527D0: ; 0x020527D0
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
mov r0, #1
str r1, [sp, #0x10]
lsl r0, r0, #0xa
mov r1, #0xb
add r7, r3, #0
bl String_ctor
add r6, r0, #0
mov r0, #1
lsl r0, r0, #0xa
mov r1, #0xb
bl String_ctor
add r4, r0, #0
add r0, r5, #0
add r0, #0xc
mov r1, #0
bl FillWindowPixelBuffer
ldr r0, [r5, #0x1c]
ldr r1, [sp, #0x10]
add r2, r6, #0
bl ReadMsgDataIntoString
ldr r0, [r5, #0x20]
add r1, r4, #0
add r2, r6, #0
bl StringExpandPlaceholders
mov r0, #0
add r1, r4, #0
add r2, r0, #0
bl sub_02003068
add r3, r0, #0
str r7, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _02052854 ; =0x00010200
mov r1, #0
str r0, [sp, #8]
add r0, r5, #0
str r1, [sp, #0xc]
ldrb r5, [r5, #0x13]
add r0, #0xc
add r2, r4, #0
lsl r5, r5, #3
sub r3, r5, r3
lsl r3, r3, #0x18
lsr r3, r3, #0x19
sub r3, r3, #4
lsl r3, r3, #0x18
lsr r3, r3, #0x18
bl sub_020200FC
add r0, r6, #0
bl String_dtor
add r0, r4, #0
bl String_dtor
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02052854: .word 0x00010200
thumb_func_end sub_020527D0
thumb_func_start sub_02052858
sub_02052858: ; 0x02052858
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r6, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r6, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #6
bhi _0205296E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205287E: ; jump table
.short _0205288C - _0205287E - 2 ; case 0
.short _020528CE - _0205287E - 2 ; case 1
.short _020528DE - _0205287E - 2 ; case 2
.short _020528F2 - _0205287E - 2 ; case 3
.short _0205291A - _0205287E - 2 ; case 4
.short _02052928 - _0205287E - 2 ; case 5
.short _02052968 - _0205287E - 2 ; case 6
_0205288C:
ldr r0, [r5, #0xc]
bl sub_0203B9C4
add r7, r0, #0
bl sub_0203B994
add r1, sp, #4
str r0, [sp]
bl sub_0203BAAC
add r0, r7, #0
bl sub_0203B964
add r1, r0, #0
ldr r0, [sp]
bl sub_0203BAE8
add r0, r6, #0
add r1, sp, #4
bl sub_020537A8
add r0, r5, #0
bl sub_02067BD0
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
bl sub_02090C1C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205296E
_020528CE:
mov r0, #0
mov r1, #0x14
bl sub_02005F50
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205296E
_020528DE:
bl sub_02005F88
cmp r0, #0
bne _0205296E
bl sub_02054F14
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205296E
_020528F2:
mov r0, #0xf
mvn r0, r0
mov r1, #0x37
mov r2, #1
bl sub_0200B4F0
mov r0, #0xf
mvn r0, r0
mov r1, #0x3f
mov r2, #2
bl sub_0200B4F0
add r0, r5, #0
add r1, r6, #0
bl sub_0205260C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205296E
_0205291A:
add r0, r6, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205296E
_02052928:
mov r0, #0
mov r1, #0x3f
mov r2, #3
bl sub_0200B4F0
bl sub_0203BA70
add r7, r0, #0
ldr r0, [r5, #0xc]
bl sub_0203B9C4
bl sub_0203B994
cmp r7, r0
bne _02052954
mov r2, #0
ldr r1, _02052974 ; =0x000007DC
add r0, r6, #0
add r3, r2, #0
bl sub_0203FED4
b _02052960
_02052954:
mov r2, #0
ldr r1, _02052978 ; =0x000007DD
add r0, r6, #0
add r3, r2, #0
bl sub_0203FED4
_02052960:
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205296E
_02052968:
add sp, #0x18
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205296E:
mov r0, #0
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02052974: .word 0x000007DC
_02052978: .word 0x000007DD
thumb_func_end sub_02052858
thumb_func_start sub_0205297C
sub_0205297C: ; 0x0205297C
ldr r3, _02052984 ; =sub_02050530
ldr r1, _02052988 ; =sub_02052858
mov r2, #0
bx r3
.balign 4, 0
_02052984: .word sub_02050530
_02052988: .word sub_02052858
thumb_func_end sub_0205297C
thumb_func_start sub_0205298C
sub_0205298C: ; 0x0205298C
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r6, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r6, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #5
bhi _02052A42
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_020529B2: ; jump table
.short _020529BE - _020529B2 - 2 ; case 0
.short _020529DE - _020529B2 - 2 ; case 1
.short _020529EE - _020529B2 - 2 ; case 2
.short _02052A02 - _020529B2 - 2 ; case 3
.short _02052A10 - _020529B2 - 2 ; case 4
.short _02052A34 - _020529B2 - 2 ; case 5
_020529BE:
add r0, r6, #0
add r1, r5, #0
bl sub_0206DB58
add r0, r5, #0
bl sub_02067BD0
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
bl sub_02090C1C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02052A42
_020529DE:
mov r0, #0
mov r1, #0x14
bl sub_02005F50
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02052A42
_020529EE:
bl sub_02005F88
cmp r0, #0
bne _02052A42
bl sub_02054F14
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02052A42
_02052A02:
add r0, r6, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02052A42
_02052A10:
mov r0, #8
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x20
str r0, [sp, #8]
ldr r3, _02052A48 ; =0x00007FFF
mov r0, #0
add r2, r1, #0
bl sub_0200FA24
ldr r0, _02052A4C ; =0x04000050
mov r1, #0
strh r1, [r0]
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02052A42
_02052A34:
bl sub_0200FB5C
cmp r0, #0
beq _02052A42
add sp, #0xc
mov r0, #1
pop {r3, r4, r5, r6, pc}
_02052A42:
mov r0, #0
add sp, #0xc
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_02052A48: .word 0x00007FFF
_02052A4C: .word 0x04000050
thumb_func_end sub_0205298C
thumb_func_start sub_02052A50
sub_02052A50: ; 0x02052A50
push {r3, r4, r5, r6, lr}
sub sp, #0x14
add r5, r0, #0
ldr r0, [r5, #0xc]
add r6, r1, #0
mov r1, #0xb
add r2, sp, #0
bl LoadHallOfFame
add r4, r0, #0
ldr r0, [sp]
cmp r0, #1
bne _02052A6E
cmp r6, #0
bne _02052A74
_02052A6E:
add r0, r4, #0
bl sub_0202E0E4
_02052A74:
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
add r6, r0, #0
add r0, sp, #4
bl GF_RTC_CopyDate
add r0, r4, #0
add r1, r6, #0
add r2, sp, #4
bl sub_0202E0F8
ldr r0, [r5, #0xc]
add r1, r4, #0
bl SaveHallOfFame
add r0, r4, #0
bl FreeToHeap
add sp, #0x14
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02052A50
thumb_func_start sub_02052AA0
sub_02052AA0: ; 0x02052AA0
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r4, #0
bl sub_02050650
add r5, r0, #0
add r0, r4, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0xb
bhi _02052B8C
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02052ACE: ; jump table
.short _02052AE6 - _02052ACE - 2 ; case 0
.short _02052B20 - _02052ACE - 2 ; case 1
.short _02052B5A - _02052ACE - 2 ; case 2
.short _02052B82 - _02052ACE - 2 ; case 3
.short _02052B96 - _02052ACE - 2 ; case 4
.short _02052BCE - _02052ACE - 2 ; case 5
.short _02052BEA - _02052ACE - 2 ; case 6
.short _02052BFC - _02052ACE - 2 ; case 7
.short _02052C20 - _02052ACE - 2 ; case 8
.short _02052C4C - _02052ACE - 2 ; case 9
.short _02052C5E - _02052ACE - 2 ; case 10
.short _02052C86 - _02052ACE - 2 ; case 11
_02052AE6:
ldr r0, [r5, #0x3c]
cmp r0, #0
bne _02052AFC
add r0, r6, #0
add r1, r5, #4
bl sub_0203F974
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02052CA8
_02052AFC:
add r0, r6, #0
add r1, r5, #0
bl sub_02052D84
mov r0, #8
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x20
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
mov r3, #0
bl sub_0200FA24
mov r0, #2
str r0, [r4]
b _02052CA8
_02052B20:
add r0, r6, #0
bl sub_020505A0
cmp r0, #0
bne _02052B8C
mov r1, #4
mov r0, #3
lsl r2, r1, #0xf
bl sub_0201A910
add r0, r6, #0
add r1, r5, #0
bl sub_02052D84
mov r0, #8
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0x20
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
mov r3, #0
bl sub_0200FA24
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02052CA8
_02052B5A:
bl sub_0200FB5C
cmp r0, #0
beq _02052B8C
ldr r0, [r6, #0xc]
bl sub_02027500
cmp r0, #0
bne _02052B7C
add r0, r6, #0
add r1, r5, #0
bl sub_02052E0C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02052CA8
_02052B7C:
mov r0, #7
str r0, [r4]
b _02052CA8
_02052B82:
add r0, r5, #0
bl sub_02052E60
cmp r0, #0
bne _02052B8E
_02052B8C:
b _02052CA8
_02052B8E:
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02052CA8
_02052B96:
ldr r0, [r6, #0xc]
bl SavArray_PlayerParty_get
bl sub_02090C1C
ldr r0, [r6, #0xc]
bl sub_020273F0
add r7, r0, #0
ldr r0, [r5, #0x3c]
cmp r0, #0
bne _02052BB6
ldr r1, [r5]
add r0, r6, #0
bl sub_02052A50
_02052BB6:
add r0, r5, #0
bl sub_02052E70
add r0, r6, #0
add r1, r5, #0
add r2, r7, #0
bl sub_02052E8C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02052CA8
_02052BCE:
add r0, r5, #0
bl sub_02052E60
cmp r0, #0
beq _02052CA8
ldr r0, _02052CB0 ; =0x0000061A
bl PlaySE
mov r0, #0x20
str r0, [r5, #0x38]
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02052CA8
_02052BEA:
ldr r1, [r5, #0x38]
cmp r1, #0
beq _02052BF6
sub r0, r1, #1
str r0, [r5, #0x38]
b _02052CA8
_02052BF6:
add r0, r0, #1
str r0, [r4]
b _02052CA8
_02052BFC:
mov r0, #8
str r0, [sp]
mov r1, #0
mov r0, #1
str r0, [sp, #4]
mov r0, #0x20
str r0, [sp, #8]
mov r0, #3
add r2, r1, #0
add r3, r1, #0
bl sub_0200FA24
mov r0, #0x7f
str r0, [r5, #0x40]
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02052CA8
_02052C20:
ldr r0, [r5, #0x40]
sub r0, r0, #1
str r0, [r5, #0x40]
bl sub_020059D0
ldr r0, [r5, #0x40]
cmp r0, #0
bne _02052CA8
bl sub_02004A90
mov r1, #0
bl sub_02005EB4
mov r0, #0
bl sub_0200616C
mov r0, #0x20
str r0, [r5, #0x38]
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02052CA8
_02052C4C:
ldr r1, [r5, #0x38]
cmp r1, #0
beq _02052C58
sub r0, r1, #1
str r0, [r5, #0x38]
b _02052CA8
_02052C58:
add r0, r0, #1
str r0, [r4]
b _02052CA8
_02052C5E:
bl sub_0200FB5C
cmp r0, #0
beq _02052CA8
add r0, r6, #0
add r1, r5, #0
bl sub_02052EFC
mov r0, #0x7f
bl sub_020059D0
add r5, #0x10
add r0, r6, #0
add r1, r5, #0
bl sub_0203F9B4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02052CA8
_02052C86:
add r0, r6, #0
bl sub_020505A0
cmp r0, #0
bne _02052CA8
add r0, r5, #0
bl FreeToHeap
mov r0, #4
bl sub_0201A9C4
mov r0, #0
bl OS_ResetSystem
add sp, #0xc
mov r0, #1
pop {r4, r5, r6, r7, pc}
_02052CA8:
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
_02052CB0: .word 0x0000061A
thumb_func_end sub_02052AA0
thumb_func_start sub_02052CB4
sub_02052CB4: ; 0x02052CB4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
str r0, [sp]
add r7, r1, #0
bl sub_0205064C
add r4, r0, #0
mov r0, #0x20
mov r1, #0x44
bl AllocFromHeap
add r5, r0, #0
ldr r0, [r4, #0xc]
bl sub_020503D0
add r6, r0, #0
ldr r0, [r4, #0xc]
bl Sav2_PlayerData_GetProfileAddr
str r0, [sp, #4]
ldr r0, [r4, #0xc]
bl sub_0203B9C4
bl sub_0203B968
str r0, [sp, #0xc]
ldr r0, [r4, #0xc]
bl sub_0203B9C4
bl sub_0203B964
str r0, [sp, #8]
add r0, r6, #0
bl sub_02066614
str r0, [r5]
ldr r0, [r4, #0xc]
bl Sav2_PlayerData_GetProfileAddr
str r0, [r5, #4]
ldr r0, [r4, #0xc]
bl SavArray_PlayerParty_get
str r0, [r5, #8]
ldr r0, [r4, #0xc]
bl sub_02028EC0
str r0, [r5, #0xc]
ldr r0, [r4, #0xc]
bl Sav2_PlayerData_GetProfileAddr
bl PlayerProfile_GetTrainerGender
str r0, [r5, #0x10]
add r0, r6, #0
bl sub_02066614
str r0, [r5, #0x14]
add r0, r6, #0
str r7, [r5, #0x3c]
bl sub_02066614
cmp r0, #0
bne _02052D3A
add r0, r4, #0
bl sub_0205565C
_02052D3A:
ldr r0, [r4, #0xc]
bl SavArray_PlayerParty_get
ldr r0, [sp, #0xc]
bl sub_0203E368
ldr r0, [sp, #8]
bl sub_0203E380
add r0, r6, #0
bl sub_020667E0
add r0, r6, #0
bl sub_02066604
ldr r0, [sp, #4]
bl sub_02029090
ldr r0, [r5, #0x3c]
cmp r0, #0
bne _02052D70
ldr r0, [r4, #0xc]
bl sub_0202CF54
mov r1, #0x4a
bl sub_0202D0FC
_02052D70:
ldr r0, [sp]
ldr r1, _02052D80 ; =sub_02052AA0
add r2, r5, #0
bl sub_02050530
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_02052D80: .word sub_02052AA0
thumb_func_end sub_02052CB4
thumb_func_start sub_02052D84
sub_02052D84: ; 0x02052D84
push {r4, lr}
sub sp, #0x10
add r4, r1, #0
mov r0, #0xb
bl sub_0201AC88
str r0, [r4, #0x18]
mov r0, #0
str r0, [r4, #0x2c]
str r0, [r4, #0x30]
add r0, r4, #0
add r0, #0x1c
bl sub_0201D3C4
ldr r0, _02052DFC ; =0x020FC5A4
bl GX_SetBanks
ldr r2, _02052E00 ; =0x04000304
ldrh r1, [r2]
lsr r0, r2, #0xb
orr r0, r1
strh r0, [r2]
ldr r0, _02052E04 ; =0x020FC578
bl sub_0201ACB0
mov r0, #3
mov r1, #0
bl sub_0201C2D8
ldr r0, [r4, #0x18]
ldr r2, _02052E08 ; =0x020FC588
mov r1, #3
mov r3, #0
bl sub_0201B1E4
mov r1, #0x20
mov r0, #3
mov r2, #0
add r3, r1, #0
bl sub_0201C1C4
mov r2, #0
str r2, [sp]
mov r0, #0x20
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x11
str r0, [sp, #0xc]
ldr r0, [r4, #0x18]
mov r1, #3
add r3, r2, #0
bl FillBgTilemapRect
ldr r0, [r4, #0x18]
mov r1, #3
bl BgCommitTilemapBufferToVram
add sp, #0x10
pop {r4, pc}
nop
_02052DFC: .word 0x020FC5A4
_02052E00: .word 0x04000304
_02052E04: .word 0x020FC578
_02052E08: .word 0x020FC588
thumb_func_end sub_02052D84
thumb_func_start sub_02052E0C
sub_02052E0C: ; 0x02052E0C
push {r3, r4, r5, lr}
ldr r0, [r0, #0xc]
add r5, r1, #0
bl Sav2_PlayerData_GetOptionsAddr
add r4, r0, #0
mov r0, #0x1b
mov r1, #0x28
mov r2, #0xf
mov r3, #0x20
bl ReadMsgData_NewNarc_NewString
str r0, [r5, #0x2c]
add r1, r5, #0
ldr r0, [r5, #0x18]
add r1, #0x1c
mov r2, #3
bl sub_0205B514
add r0, r5, #0
add r0, #0x1c
add r1, r4, #0
bl sub_0205B564
add r0, r5, #0
ldr r1, [r5, #0x2c]
add r0, #0x1c
add r2, r4, #0
mov r3, #1
bl sub_0205B5B4
str r0, [r5, #0x34]
add r0, r5, #0
ldr r1, _02052E5C ; =0x000003E2
add r0, #0x1c
bl sub_0200F0AC
str r0, [r5, #0x30]
pop {r3, r4, r5, pc}
nop
_02052E5C: .word 0x000003E2
thumb_func_end sub_02052E0C
thumb_func_start sub_02052E60
sub_02052E60: ; 0x02052E60
ldr r0, [r0, #0x34]
ldr r3, _02052E6C ; =sub_0205B624
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bx r3
nop
_02052E6C: .word sub_0205B624
thumb_func_end sub_02052E60
thumb_func_start sub_02052E70
sub_02052E70: ; 0x02052E70
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x2c]
bl String_dtor
ldr r0, [r4, #0x30]
bl sub_0200F450
add r4, #0x1c
add r0, r4, #0
bl sub_0205B5A8
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02052E70
thumb_func_start sub_02052E8C
sub_02052E8C: ; 0x02052E8C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
mov r0, #1
mov r1, #0x1b
mov r2, #0x28
mov r3, #4
bl NewMsgDataFromNarc
add r7, r0, #0
cmp r6, #2
bne _02052ED4
mov r0, #4
bl ScrStrBufs_new
add r6, r0, #0
ldr r0, [r5, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r2, r0, #0
add r0, r6, #0
mov r1, #0
bl BufferPlayersName
add r0, r6, #0
add r1, r7, #0
mov r2, #0x10
mov r3, #4
bl ReadMsgData_ExpandPlaceholders
str r0, [r4, #0x2c]
add r0, r6, #0
bl ScrStrBufs_delete
b _02052EDC
_02052ED4:
mov r1, #0x12
bl NewString_ReadMsgData
str r0, [r4, #0x2c]
_02052EDC:
add r0, r7, #0
bl DestroyMsgData
ldr r0, [r5, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
add r2, r0, #0
add r0, r4, #0
ldr r1, [r4, #0x2c]
add r0, #0x1c
mov r3, #1
bl sub_0205B5B4
str r0, [r4, #0x34]
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02052E8C
thumb_func_start sub_02052EFC
sub_02052EFC: ; 0x02052EFC
push {r4, lr}
add r4, r1, #0
ldr r0, [r4, #0x2c]
cmp r0, #0
beq _02052F0A
bl String_dtor
_02052F0A:
add r0, r4, #0
add r0, #0x1c
bl sub_0201D3F0
cmp r0, #0
beq _02052F1E
add r0, r4, #0
add r0, #0x1c
bl RemoveWindow
_02052F1E:
ldr r0, [r4, #0x18]
mov r1, #3
bl sub_0201BB4C
ldr r0, [r4, #0x18]
bl FreeToHeap
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02052EFC
thumb_func_start sub_02052F30
sub_02052F30: ; 0x02052F30
ldr r1, [r0, #0x20]
ldr r3, _02052F8C ; =0x0000010F
ldr r1, [r1]
mov r2, #0
cmp r1, r3
bgt _02052F5C
sub r3, r3, #6
sub r3, r1, r3
bmi _02052F6A
add r3, r3, r3
add r3, pc
ldrh r3, [r3, #6]
lsl r3, r3, #0x10
asr r3, r3, #0x10
add pc, r3
_02052F4E: ; jump table
.short _02052F68 - _02052F4E - 2 ; case 0
.short _02052F68 - _02052F4E - 2 ; case 1
.short _02052F68 - _02052F4E - 2 ; case 2
.short _02052F68 - _02052F4E - 2 ; case 3
.short _02052F68 - _02052F4E - 2 ; case 4
.short _02052F68 - _02052F4E - 2 ; case 5
.short _02052F68 - _02052F4E - 2 ; case 6
_02052F5C:
ldr r3, _02052F90 ; =0x00000165
cmp r1, r3
bne _02052F6A
mov r1, #1
str r1, [r0, #0x70]
bx lr
_02052F68:
mov r2, #1
_02052F6A:
ldr r1, [r0, #0x70]
cmp r1, #1
bne _02052F74
mov r1, #0
str r1, [r0, #0x70]
_02052F74:
cmp r2, #0
bne _02052F82
ldr r1, [r0, #0x70]
cmp r1, #4
bne _02052F82
mov r1, #0
str r1, [r0, #0x70]
_02052F82:
cmp r2, #0
beq _02052F8A
mov r1, #4
str r1, [r0, #0x70]
_02052F8A:
bx lr
.balign 4, 0
_02052F8C: .word 0x0000010F
_02052F90: .word 0x00000165
thumb_func_end sub_02052F30
thumb_func_start sub_02052F94
sub_02052F94: ; 0x02052F94
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0xc]
add r4, r1, #0
bl sub_0203B9C4
add r6, r0, #0
bl sub_0203B960
add r2, r0, #0
cmp r4, #0
beq _02052FC8
ldr r3, [r5, #0x20]
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3]
str r0, [r2]
ldr r2, [r5, #0x20]
ldmia r4!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r4]
str r0, [r2]
_02052FC8:
ldr r1, [r5, #0x20]
add r0, r5, #0
ldr r1, [r1]
bl sub_0203B648
ldr r0, [r5, #0x20]
ldr r1, [r0, #4]
mov r0, #0
mvn r0, r0
cmp r1, r0
beq _02053016
add r0, r5, #0
bl sub_0203B6E8
ldrh r2, [r0]
ldr r1, [r5, #0x20]
str r2, [r1, #8]
ldrh r2, [r0, #2]
ldr r1, [r5, #0x20]
str r2, [r1, #0xc]
ldrh r1, [r0, #6]
mov r0, #1
lsl r0, r0, #8
cmp r1, r0
bne _02053016
add r0, r6, #0
bl sub_0203B968
add r4, r0, #0
add r0, r6, #0
bl sub_0203B95C
add r2, r0, #0
ldmia r2!, {r0, r1}
stmia r4!, {r0, r1}
ldmia r2!, {r0, r1}
stmia r4!, {r0, r1}
ldr r0, [r2]
str r0, [r4]
_02053016:
pop {r4, r5, r6, pc}
thumb_func_end sub_02052F94
thumb_func_start sub_02053018
sub_02053018: ; 0x02053018
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x70]
cmp r0, #6
blt _02053026
bl GF_AssertFail
_02053026:
ldr r0, [r4, #0x74]
ldr r0, [r0]
lsl r0, r0, #0x10
lsr r1, r0, #0x1c
ldr r0, _02053034 ; =gMain + 0x60
strb r1, [r0, #9]
pop {r4, pc}
.balign 4, 0
_02053034: .word gMain + 0x60
thumb_func_end sub_02053018
thumb_func_start sub_02053038
sub_02053038: ; 0x02053038
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
ldr r0, [r4, #0x20]
add r6, r1, #0
ldr r7, [r0]
ldr r0, [r4, #0xc]
bl sub_0203B9C4
str r0, [sp, #4]
add r0, r4, #0
bl sub_02054F4C
add r0, r4, #0
add r0, #0xac
ldr r0, [r0]
cmp r0, #0
bne _02053062
add r0, r4, #0
bl sub_02040438
_02053062:
cmp r6, #0
bne _0205306E
add r0, r4, #0
bl sub_02067AE4
b _02053074
_0205306E:
add r0, r4, #0
bl sub_02067A88
_02053074:
add r0, r4, #0
add r0, #0xac
ldr r0, [r0]
cmp r0, #0
bne _02053088
cmp r6, #0
bne _02053088
add r0, r4, #0
bl sub_02055418
_02053088:
cmp r6, #0
bne _020530A6
ldr r0, [r4, #0xc]
bl sub_0202A998
bl sub_0202AE8C
ldr r0, [r4, #0xc]
add r1, r7, #0
bl sub_0203B114
add r1, r0, #0
ldr r0, [r4, #0x30]
bl sub_0203B16C
_020530A6:
ldr r0, [r4, #0xc]
bl sub_020503D0
str r0, [sp]
add r0, r4, #0
add r1, r7, #0
bl sub_0203BBB4
lsl r0, r0, #0x10
lsr r5, r0, #0x10
ldr r0, [sp]
mov r1, #1
bl sub_02066C74
cmp r0, #0
beq _020530CC
cmp r7, #0x58
bne _020530CC
mov r5, #0
_020530CC:
cmp r5, #9
bne _020530DC
ldr r0, [sp]
bl sub_02066920
cmp r0, #1
bne _020530DC
mov r5, #0
_020530DC:
cmp r5, #0xb
bne _020530EC
ldr r0, [sp]
bl sub_020668F0
cmp r0, #1
bne _020530EC
mov r5, #0xc
_020530EC:
ldr r0, [sp, #4]
add r1, r5, #0
bl sub_0203B98C
cmp r6, #0
beq _02053110
ldr r0, [sp, #4]
bl sub_0203B9A4
add r5, r0, #0
add r0, r7, #0
bl sub_0203B400
cmp r5, r0
beq _0205311E
bl GF_AssertFail
b _0205311E
_02053110:
add r0, r7, #0
bl sub_0203B400
add r1, r0, #0
ldr r0, [sp, #4]
bl sub_0203B9AC
_0205311E:
cmp r6, #0
bne _02053134
add r0, r7, #0
bl sub_0203BB20
lsl r0, r0, #0x10
lsr r1, r0, #0x10
beq _02053134
ldr r0, [sp, #4]
bl sub_0203B99C
_02053134:
add r0, r4, #0
mov r1, #2
bl sub_02040750
add r0, r4, #0
mov r1, #0
add r0, #0x7e
strh r1, [r0]
add r0, r4, #0
add r0, #0x7c
strh r1, [r0]
add r0, r4, #0
add r0, #0x78
strh r1, [r0]
ldr r0, [r4, #0xc]
bl sub_0202ED34
mov r1, #0
bl sub_0202ED58
ldr r0, [r4, #0xc]
bl sub_020503D0
bl sub_02066A2C
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02053038
thumb_func_start sub_0205316C
sub_0205316C: ; 0x0205316C
push {r3, r4, r5, lr}
sub sp, #0x10
add r4, r0, #0
add r1, r4, #0
add r1, #0xac
ldr r1, [r1]
cmp r1, #0
beq _020531B2
ldr r0, [r4, #0xc]
bl Sav2_PlayerData_GetProfileAddr
bl PlayerProfile_GetTrainerGender
add r5, r0, #0
ldr r0, [r4, #0xc]
bl sub_0203B9C4
bl sub_0203B9B4
ldr r3, [r4, #0x20]
ldr r1, [r0, #4]
str r1, [sp]
str r5, [sp, #4]
mov r1, #2
str r1, [sp, #8]
str r0, [sp, #0xc]
ldr r0, [r4, #0x3c]
ldr r1, [r3, #8]
ldr r2, [r3, #0xc]
ldr r3, [r3, #0x10]
bl sub_0205C390
add sp, #0x10
str r0, [r4, #0x40]
pop {r3, r4, r5, pc}
_020531B2:
mov r1, #0x40
mov r2, #5
bl sub_0205E0BC
str r0, [r4, #0x3c]
ldr r0, [r4, #0xc]
bl Sav2_PlayerData_GetProfileAddr
bl PlayerProfile_GetTrainerGender
add r5, r0, #0
ldr r0, [r4, #0xc]
bl sub_0203B9C4
bl sub_0203B9B4
ldr r3, [r4, #0x20]
ldr r1, [r0, #4]
str r1, [sp]
str r5, [sp, #4]
mov r1, #2
str r1, [sp, #8]
str r0, [sp, #0xc]
ldr r0, [r4, #0x3c]
ldr r1, [r3, #8]
ldr r2, [r3, #0xc]
ldr r3, [r3, #0x10]
bl sub_0205C390
str r0, [r4, #0x40]
ldr r3, [r4, #0x20]
ldr r0, [r3]
str r0, [sp]
ldr r0, [r4, #0x3c]
ldr r1, [r3, #8]
ldr r2, [r3, #0xc]
ldr r3, [r3, #0x10]
bl sub_020699F8
add r0, r4, #0
bl sub_0203B6B0
ldr r0, [r4, #0x3c]
bl sub_0205F55C
add sp, #0x10
pop {r3, r4, r5, pc}
thumb_func_end sub_0205316C
thumb_func_start sub_02053210
sub_02053210: ; 0x02053210
push {r4, lr}
add r4, r0, #0
add r0, #0xac
ldr r0, [r0]
cmp r0, #0
beq _02053224
ldr r0, [r4, #0x40]
bl sub_0205C4CC
pop {r4, pc}
_02053224:
bl sub_02056E38
ldr r0, [r4, #0x40]
bl sub_0205C4C4
ldr r0, [r4, #0x3c]
bl sub_0205E494
ldr r0, [r4, #0x3c]
bl sub_0205E0E8
pop {r4, pc}
thumb_func_end sub_02053210
thumb_func_start sub_0205323C
sub_0205323C: ; 0x0205323C
push {r3, r4, r5, lr}
add r4, r0, #0
mov r1, #0x40
mov r2, #5
bl sub_0205E0BC
str r0, [r4, #0x3c]
add r0, r4, #0
bl sub_0203B9F4
ldr r0, [r4, #0xc]
bl sub_0203B9C4
bl sub_0203B9B4
add r5, r0, #0
ldr r0, [r4, #0xc]
bl Sav2_PlayerData_GetProfileAddr
bl PlayerProfile_GetTrainerGender
add r2, r0, #0
ldr r0, [r4, #0x3c]
add r1, r5, #0
bl sub_0205C408
str r0, [r4, #0x40]
ldr r1, [r4, #0x20]
ldr r0, [r4, #0x3c]
ldr r1, [r1]
bl sub_02069B74
ldr r0, [r4, #0x3c]
bl sub_0205F55C
pop {r3, r4, r5, pc}
thumb_func_end sub_0205323C
thumb_func_start sub_02053284
sub_02053284: ; 0x02053284
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_02052F30
ldr r0, [r4, #0x60]
cmp r0, #0
beq _02053296
bl GF_AssertFail
_02053296:
ldr r0, [r4, #0x20]
ldr r1, [r4, #0x30]
ldr r0, [r0]
bl sub_0203AFB4
ldr r0, [r4, #0xc]
bl sub_020503D0
mov r1, #0
add r5, r0, #0
bl sub_02066C74
cmp r0, #0
beq _020532B8
ldr r0, [r4, #0x30]
bl sub_0203B0F4
_020532B8:
add r0, r5, #0
mov r1, #1
bl sub_02066C74
add r1, r0, #0
ldr r0, [r4, #0x30]
bl sub_0203B16C
ldr r0, [r4, #0x30]
ldr r1, [r4, #0xc]
bl sub_0203B1FC
ldr r0, [r4, #0x70]
cmp r0, #6
blt _020532DA
bl GF_AssertFail
_020532DA:
ldr r0, [r4, #0x70]
ldr r1, _02053320 ; =0x020FC5CC
lsl r0, r0, #3
add r0, r1, r0
str r0, [r4, #0x74]
ldr r0, [r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x1c
str r0, [r4, #0x64]
ldr r0, [r4, #0x74]
ldr r0, [r0]
lsl r0, r0, #0x1c
lsr r0, r0, #0x1c
str r0, [r4, #0x18]
ldr r1, [r4, #0x74]
add r0, r4, #0
ldr r1, [r1]
add r0, #0x60
lsl r1, r1, #0x14
lsr r1, r1, #0x1c
bl sub_0205489C
ldr r0, [r4, #0x74]
ldr r1, [r0]
lsl r0, r1, #0xc
lsr r0, r0, #0x1c
beq _0205331C
lsr r1, r1, #0x18
lsl r1, r1, #0x18
add r0, r4, #0
lsr r1, r1, #0x18
bl sub_02054514
_0205331C:
pop {r3, r4, r5, pc}
nop
_02053320: .word 0x020FC5CC
thumb_func_end sub_02053284
thumb_func_start sub_02053324
sub_02053324: ; 0x02053324
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x60]
cmp r0, #0
bne _02053332
bl GF_AssertFail
_02053332:
mov r0, #0
str r0, [r4, #0x60]
mov r0, #7
str r0, [r4, #0x18]
ldr r0, [r4, #0x74]
ldr r0, [r0]
lsl r0, r0, #0xc
lsr r0, r0, #0x1c
beq _0205334A
add r0, r4, #0
bl sub_0205453C
_0205334A:
mov r0, #0
str r0, [r4, #0x74]
pop {r4, pc}
thumb_func_end sub_02053324
thumb_func_start sub_02053350
sub_02053350: ; 0x02053350
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #0x40]
bl sub_0205C688
add r6, r0, #0
ldr r0, [r4, #0x40]
bl sub_0205C67C
ldr r1, [r4, #0x20]
ldr r1, [r1]
str r1, [r5]
mov r1, #0
mvn r1, r1
str r1, [r5, #4]
str r0, [r5, #8]
str r6, [r5, #0xc]
mov r0, #1
str r0, [r5, #0x10]
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02053350
thumb_func_start sub_0205337C
sub_0205337C: ; 0x0205337C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x20]
ldr r0, [r0]
bl sub_0203B5DC
cmp r0, #0
beq _0205339E
ldr r1, [r4, #0x20]
ldr r0, [r1, #8]
cmp r0, #6
bne _0205339E
ldr r0, [r1, #0xc]
cmp r0, #6
bne _0205339E
mov r0, #1
pop {r4, pc}
_0205339E:
ldr r0, [r4, #0x20]
ldr r0, [r0]
bl sub_0203B5FC
cmp r0, #0
beq _020533BC
ldr r1, [r4, #0x20]
ldr r0, [r1, #8]
cmp r0, #3
bne _020533BC
ldr r0, [r1, #0xc]
cmp r0, #0xf
bne _020533BC
mov r0, #1
pop {r4, pc}
_020533BC:
mov r0, #0
pop {r4, pc}
thumb_func_end sub_0205337C
thumb_func_start sub_020533C0
sub_020533C0: ; 0x020533C0
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0xc]
bl sub_0203B9C4
bl sub_0203B968
add r4, r0, #0
ldr r0, [r5, #0xc]
bl sub_020503D0
ldr r0, [r5, #0x20]
ldr r0, [r0]
bl sub_0203B5FC
cmp r0, #1
ldr r0, [r5, #0x20]
bne _020533FC
ldr r0, [r0]
str r0, [r4]
mov r0, #0
mvn r0, r0
str r0, [r4, #4]
mov r0, #4
str r0, [r4, #8]
mov r0, #0xb
str r0, [r4, #0xc]
mov r0, #1
str r0, [r4, #0x10]
pop {r3, r4, r5, pc}
_020533FC:
ldr r0, [r0]
str r0, [r4]
mov r0, #0
mvn r0, r0
str r0, [r4, #4]
mov r0, #7
str r0, [r4, #8]
mov r0, #2
str r0, [r4, #0xc]
mov r0, #1
str r0, [r4, #0x10]
pop {r3, r4, r5, pc}
thumb_func_end sub_020533C0
thumb_func_start sub_02053414
sub_02053414: ; 0x02053414
push {r4, r5, r6, lr}
add r6, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r6, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
beq _02053436
cmp r0, #1
beq _0205345A
cmp r0, #2
beq _02053468
b _0205346C
_02053436:
ldr r1, [r5, #0x20]
add r0, r5, #0
bl sub_02052F94
add r0, r5, #0
bl sub_02053284
add r0, r5, #0
mov r1, #0
bl sub_02053038
add r0, r5, #0
bl sub_0205316C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205346C
_0205345A:
add r0, r6, #0
bl sub_02055408
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205346C
_02053468:
mov r0, #1
pop {r4, r5, r6, pc}
_0205346C:
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02053414
thumb_func_start sub_02053470
sub_02053470: ; 0x02053470
push {r4, lr}
add r4, r0, #0
mov r1, #0
str r1, [r4, #0x70]
bl sub_02040728
ldr r1, _02053488 ; =sub_02053414
add r0, r4, #0
mov r2, #0
bl sub_020504F0
pop {r4, pc}
.balign 4, 0
_02053488: .word sub_02053414
thumb_func_end sub_02053470
thumb_func_start sub_0205348C
sub_0205348C: ; 0x0205348C
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
bl sub_0205064C
add r4, r0, #0
ldr r0, [r4, #0xc]
bl sub_020503D0
add r7, r0, #0
add r0, r6, #0
bl sub_02050654
add r5, r0, #0
ldr r0, [r5]
cmp r0, #0
beq _020534B6
cmp r0, #2
beq _02053528
cmp r0, #3
beq _02053534
b _02053538
_020534B6:
add r0, r7, #0
bl sub_02066800
cmp r0, #0
beq _02053502
ldr r0, [r4, #0xc]
bl sub_0203B9C4
add r6, r0, #0
add r0, r4, #0
bl sub_0205337C
cmp r0, #0
beq _020534D8
add r0, r4, #0
bl sub_020533C0
_020534D8:
add r0, r7, #0
bl sub_020667F0
add r0, r6, #0
bl sub_0203B968
add r1, r0, #0
add r0, r4, #0
bl sub_02052F94
add r0, r4, #0
bl sub_02053284
add r0, r4, #0
mov r1, #0
bl sub_02053038
add r0, r4, #0
bl sub_0205316C
b _0205351C
_02053502:
add r0, r4, #0
mov r1, #0
bl sub_02052F94
add r0, r4, #0
bl sub_02053284
add r0, r4, #0
bl sub_02055418
add r0, r4, #0
bl sub_0205323C
_0205351C:
add r0, r4, #0
bl sub_02067BE8
mov r0, #2
str r0, [r5]
b _02053538
_02053528:
add r0, r6, #0
bl sub_02055408
mov r0, #3
str r0, [r5]
b _02053538
_02053534:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02053538:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205348C
thumb_func_start sub_0205353C
sub_0205353C: ; 0x0205353C
ldr r3, _02053548 ; =sub_020504F0
mov r2, #0
str r2, [r0, #0x70]
ldr r1, _0205354C ; =sub_0205348C
bx r3
nop
_02053548: .word sub_020504F0
_0205354C: .word sub_0205348C
thumb_func_end sub_0205353C
thumb_func_start sub_02053550
sub_02053550: ; 0x02053550
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r7, #0
bl sub_02050650
add r6, r0, #0
ldr r0, [r5, #0xc]
bl sub_020503D0
add r0, r7, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #5
bhi _0205361C
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02053582: ; jump table
.short _0205358E - _02053582 - 2 ; case 0
.short _020535A6 - _02053582 - 2 ; case 1
.short _020535CA - _02053582 - 2 ; case 2
.short _020535F2 - _02053582 - 2 ; case 3
.short _02053606 - _02053582 - 2 ; case 4
.short _02053612 - _02053582 - 2 ; case 5
_0205358E:
mov r0, #0
add r1, r0, #0
bl sub_0200FBF4
mov r0, #1
mov r1, #0
bl sub_0200FBF4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205361C
_020535A6:
add r0, r5, #0
add r1, r6, #4
bl sub_02052F94
add r0, r5, #0
bl sub_02053284
add r0, r5, #0
mov r1, #0
bl sub_02053038
add r0, r5, #0
bl sub_0205316C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205361C
_020535CA:
add r0, r5, #0
bl sub_02059DB0
add r1, r5, #0
add r1, #0x80
str r0, [r1]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0205AC88
add r5, #0x84
str r0, [r5]
add r0, r7, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205361C
_020535F2:
mov r1, #0
str r1, [r6]
add r0, r5, #0
add r2, r6, #0
bl ov01_021F35C4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205361C
_02053606:
ldr r1, [r6]
cmp r1, #0
beq _0205361C
add r0, r0, #1
str r0, [r4]
b _0205361C
_02053612:
add r0, r6, #0
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205361C:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02053550
thumb_func_start sub_02053620
sub_02053620: ; 0x02053620
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4, #0x20]
ldr r0, [r0]
bl sub_0203B5CC
cmp r0, #0
bne _02053658
add r0, r4, #0
bl sub_0205337C
cmp r0, #0
beq _02053650
ldr r0, [r4, #0xc]
bl sub_020503D0
add r5, r0, #0
add r0, r4, #0
bl sub_020533C0
add r0, r5, #0
bl sub_020667E0
b _02053658
_02053650:
add r0, r4, #0
bl sub_0205353C
pop {r3, r4, r5, pc}
_02053658:
mov r0, #0xb
mov r1, #0x18
bl AllocFromHeapAtEnd
add r2, r0, #0
mov r3, #0
mov r1, #2
str r3, [r2]
str r1, [r2, #4]
sub r0, r1, #3
str r0, [r2, #8]
mov r0, #8
str r0, [r2, #0xc]
mov r0, #0xe
str r0, [r2, #0x10]
str r3, [r2, #0x14]
str r1, [r4, #0x70]
ldr r1, _02053684 ; =sub_02053550
add r0, r4, #0
bl sub_020504F0
pop {r3, r4, r5, pc}
.balign 4, 0
_02053684: .word sub_02053550
thumb_func_end sub_02053620
thumb_func_start sub_02053688
sub_02053688: ; 0x02053688
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r5, #0
bl sub_02050650
add r4, r0, #0
ldr r1, [r4]
cmp r1, #3
bhi _02053708
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_020536AC: ; jump table
.short _020536B4 - _020536AC - 2 ; case 0
.short _020536D0 - _020536AC - 2 ; case 1
.short _020536E0 - _020536AC - 2 ; case 2
.short _02053700 - _020536AC - 2 ; case 3
_020536B4:
ldr r0, _0205370C ; =0x00000602
bl PlaySE
ldr r1, [r4, #4]
add r0, r6, #0
bl sub_020550E4
add r0, r5, #0
bl sub_020553B0
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053708
_020536D0:
add r0, r5, #0
add r1, r4, #4
bl sub_020537A8
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053708
_020536E0:
bl sub_02005F88
cmp r0, #0
bne _02053708
ldr r1, [r4, #4]
add r0, r6, #0
mov r2, #0
bl sub_02055110
add r0, r5, #0
bl sub_02055408
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053708
_02053700:
bl FreeToHeap
mov r0, #1
pop {r4, r5, r6, pc}
_02053708:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_0205370C: .word 0x00000602
thumb_func_end sub_02053688
thumb_func_start sub_02053710
sub_02053710: ; 0x02053710
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
mov r0, #0xb
mov r1, #0x1c
bl AllocFromHeapAtEnd
add r2, r0, #0
mov r0, #0
str r0, [r2]
ldmia r4!, {r0, r1}
add r3, r2, #4
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r4]
ldr r1, _0205373C ; =sub_02053688
str r0, [r3]
add r0, r5, #0
bl sub_02050530
pop {r3, r4, r5, pc}
.balign 4, 0
_0205373C: .word sub_02053688
thumb_func_end sub_02053710
thumb_func_start sub_02053740
sub_02053740: ; 0x02053740
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
beq _02053762
cmp r0, #1
beq _02053776
cmp r0, #2
beq _02053794
b _020537A4
_02053762:
add r0, r5, #0
bl sub_02053210
add r0, r5, #0
bl sub_02053324
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020537A4
_02053776:
add r0, r5, #0
add r1, r4, #4
bl sub_02052F94
add r0, r5, #0
bl sub_02053284
add r0, r5, #0
mov r1, #0
bl sub_02053038
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020537A4
_02053794:
add r0, r5, #0
bl sub_0205316C
add r0, r4, #0
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, pc}
_020537A4:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02053740
thumb_func_start sub_020537A8
sub_020537A8: ; 0x020537A8
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
add r5, r1, #0
bl sub_0205064C
add r7, r0, #0
mov r0, #0xb
mov r1, #0x18
bl AllocFromHeapAtEnd
add r4, r0, #0
add r0, r7, #0
bl sub_0203DF7C
cmp r0, #0
beq _020537CE
bl GF_AssertFail
pop {r3, r4, r5, r6, r7, pc}
_020537CE:
mov r0, #0
str r0, [r4]
ldmia r5!, {r0, r1}
add r2, r4, #4
stmia r2!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r5]
ldr r1, _020537EC ; =sub_02053740
str r0, [r2]
add r0, r6, #0
add r2, r4, #0
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020537EC: .word sub_02053740
thumb_func_end sub_020537A8
thumb_func_start sub_020537F0
sub_020537F0: ; 0x020537F0
push {lr}
sub sp, #0x14
str r1, [sp]
ldr r1, [sp, #0x18]
str r2, [sp, #4]
str r1, [sp, #0xc]
ldr r1, [sp, #0x1c]
str r3, [sp, #8]
str r1, [sp, #0x10]
add r1, sp, #0
bl sub_020537A8
add sp, #0x14
pop {pc}
thumb_func_end sub_020537F0
thumb_func_start sub_0205380C
sub_0205380C: ; 0x0205380C
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r5, #0
bl sub_02050650
add r4, r0, #0
ldr r1, [r4]
cmp r1, #3
bhi _02053886
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02053830: ; jump table
.short _02053838 - _02053830 - 2 ; case 0
.short _0205384E - _02053830 - 2 ; case 1
.short _0205385E - _02053830 - 2 ; case 2
.short _0205387E - _02053830 - 2 ; case 3
_02053838:
ldr r1, [r4, #4]
add r0, r6, #0
bl sub_020550E4
add r0, r5, #0
bl sub_0205525C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053886
_0205384E:
add r0, r5, #0
add r1, r4, #4
bl sub_020537A8
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053886
_0205385E:
bl sub_02005F88
cmp r0, #0
bne _02053886
ldr r1, [r4, #4]
add r0, r6, #0
mov r2, #0
bl sub_02055110
add r0, r5, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053886
_0205387E:
bl FreeToHeap
mov r0, #1
pop {r4, r5, r6, pc}
_02053886:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205380C
thumb_func_start sub_0205388C
sub_0205388C: ; 0x0205388C
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r1, #0
mov r0, #0xb
mov r1, #0x18
add r4, r2, #0
add r6, r3, #0
bl AllocFromHeapAtEnd
add r2, r0, #0
mov r0, #0
str r0, [r2]
str r5, [r2, #4]
str r4, [r2, #8]
ldr r0, [sp, #0x18]
str r6, [r2, #0xc]
str r0, [r2, #0x10]
ldr r0, [sp, #0x1c]
ldr r1, _020538BC ; =sub_0205380C
str r0, [r2, #0x14]
add r0, r7, #0
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020538BC: .word sub_0205380C
thumb_func_end sub_0205388C
thumb_func_start sub_020538C0
sub_020538C0: ; 0x020538C0
push {r4, r5, lr}
sub sp, #0x14
add r4, r0, #0
ldr r0, [sp, #0x20]
str r1, [sp]
str r0, [sp, #0xc]
ldr r0, [sp, #0x24]
mov r1, #0x20
str r0, [sp, #0x10]
mov r0, #0xb
str r2, [sp, #4]
str r3, [sp, #8]
bl AllocFromHeapAtEnd
add r2, r0, #0
mov r0, #0
str r0, [r2]
add r3, r2, #0
add r5, sp, #0
str r0, [r2, #4]
ldmia r5!, {r0, r1}
add r3, #8
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
ldr r1, _02053904 ; =sub_02053950
str r0, [r3]
add r0, r4, #0
bl sub_020504F0
add sp, #0x14
pop {r4, r5, pc}
nop
_02053904: .word sub_02053950
thumb_func_end sub_020538C0
thumb_func_start sub_02053908
sub_02053908: ; 0x02053908
push {r4, r5, lr}
sub sp, #0x14
add r4, r0, #0
ldr r0, [sp, #0x20]
str r1, [sp]
str r0, [sp, #0xc]
ldr r0, [sp, #0x24]
mov r1, #0x20
str r0, [sp, #0x10]
mov r0, #0xb
str r2, [sp, #4]
str r3, [sp, #8]
bl AllocFromHeapAtEnd
add r2, r0, #0
mov r0, #0
str r0, [r2]
add r3, r2, #0
add r5, sp, #0
str r0, [r2, #4]
ldmia r5!, {r0, r1}
add r3, #8
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
ldr r1, _0205394C ; =sub_02053950
str r0, [r3]
add r0, r4, #0
bl sub_02050510
add sp, #0x14
pop {r4, r5, pc}
nop
_0205394C: .word sub_02053950
thumb_func_end sub_02053908
thumb_func_start sub_02053950
sub_02053950: ; 0x02053950
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r5, #0
bl sub_02050650
add r4, r0, #0
add r1, r4, #0
ldr r2, [r4]
add r1, #8
cmp r2, #3
bhi _020539D4
add r2, r2, r2
add r2, pc
ldrh r2, [r2, #6]
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
_02053978: ; jump table
.short _02053980 - _02053978 - 2 ; case 0
.short _02053996 - _02053978 - 2 ; case 1
.short _020539B0 - _02053978 - 2 ; case 2
.short _020539CC - _02053978 - 2 ; case 3
_02053980:
ldr r1, [r1]
add r0, r6, #0
bl sub_020550E4
add r0, r5, #0
bl sub_020539D8
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020539D4
_02053996:
ldr r0, [r6, #0x40]
mov r1, #0
bl sub_0205C6E4
add r1, r4, #0
add r0, r5, #0
add r1, #8
bl sub_020537A8
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020539D4
_020539B0:
bl sub_02005F88
cmp r0, #0
bne _020539D4
add r0, r6, #0
bl sub_02067B88
add r0, r5, #0
bl sub_02053A14
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020539D4
_020539CC:
bl FreeToHeap
mov r0, #1
pop {r4, r5, r6, pc}
_020539D4:
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02053950
thumb_func_start sub_020539D8
sub_020539D8: ; 0x020539D8
ldr r3, _020539E0 ; =sub_02050530
ldr r1, _020539E4 ; =sub_020539E8
mov r2, #0
bx r3
.balign 4, 0
_020539E0: .word sub_02050530
_020539E4: .word sub_020539E8
thumb_func_end sub_020539D8
thumb_func_start sub_020539E8
sub_020539E8: ; 0x020539E8
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
beq _020539FE
cmp r0, #1
beq _02053A0C
b _02053A10
_020539FE:
add r0, r5, #0
bl sub_0205525C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053A10
_02053A0C:
mov r0, #1
pop {r3, r4, r5, pc}
_02053A10:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_020539E8
thumb_func_start sub_02053A14
sub_02053A14: ; 0x02053A14
push {r4, lr}
add r4, r0, #0
bl sub_02050650
add r2, r0, #0
ldr r1, _02053A28 ; =sub_02053A2C
add r0, r4, #0
bl sub_02050530
pop {r4, pc}
.balign 4, 0
_02053A28: .word sub_02053A2C
thumb_func_end sub_02053A14
thumb_func_start sub_02053A2C
sub_02053A2C: ; 0x02053A2C
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_02050654
add r4, r0, #0
add r0, r5, #0
bl sub_0205064C
add r6, r0, #0
ldr r0, [r4]
cmp r0, #0
beq _02053A4E
cmp r0, #1
beq _02053A5C
cmp r0, #2
beq _02053A98
b _02053A9C
_02053A4E:
add r0, r5, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053A9C
_02053A5C:
mov r0, #5
mov r1, #0xa
bl sub_0200615C
mov r0, #0
mov r1, #0x80
mov r2, #0xf
bl sub_02005408
mov r1, #0
add r0, r6, #0
mvn r1, r1
add r0, #0xc4
str r1, [r0]
ldr r1, [r6, #0x20]
add r0, r6, #0
ldr r1, [r1]
mov r2, #1
bl sub_02055110
add r0, r6, #0
bl ov01_021EFAF8
add r0, r5, #0
bl sub_02053AA0
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053A9C
_02053A98:
mov r0, #1
pop {r4, r5, r6, pc}
_02053A9C:
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02053A2C
thumb_func_start sub_02053AA0
sub_02053AA0: ; 0x02053AA0
push {r4, r5, r6, lr}
add r6, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r6, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_0203DF7C
cmp r0, #0
bne _02053AC2
bl GF_AssertFail
pop {r4, r5, r6, pc}
_02053AC2:
ldr r0, [r5, #0x40]
bl sub_0205C724
add r1, r0, #0
add r0, r5, #0
bl ov02_0224B418
str r0, [r4, #4]
ldr r1, _02053AE0 ; =sub_02053AE4
add r0, r6, #0
add r2, r4, #0
bl sub_02050530
pop {r4, r5, r6, pc}
nop
_02053AE0: .word sub_02053AE4
thumb_func_end sub_02053AA0
thumb_func_start sub_02053AE4
sub_02053AE4: ; 0x02053AE4
push {r4, lr}
bl sub_02050650
add r4, r0, #0
ldr r0, [r4, #4]
bl ov02_0224B43C
cmp r0, #1
bne _02053B00
ldr r0, [r4, #4]
bl ov02_0224B448
mov r0, #1
pop {r4, pc}
_02053B00:
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02053AE4
thumb_func_start sub_02053B04
sub_02053B04: ; 0x02053B04
push {r4, r5, r6, lr}
add r6, r0, #0
add r5, r1, #0
mov r0, #0xb
mov r1, #0x20
add r4, r2, #0
bl AllocFromHeapAtEnd
add r2, r0, #0
mov r0, #0
str r0, [r2]
str r4, [r2, #4]
str r0, [r2, #8]
add r3, r2, #0
ldmia r5!, {r0, r1}
add r3, #0xc
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5]
ldr r1, _02053B38 ; =sub_02053B3C
str r0, [r3]
add r0, r6, #0
bl sub_02050510
pop {r4, r5, r6, pc}
.balign 4, 0
_02053B38: .word sub_02053B3C
thumb_func_end sub_02053B04
thumb_func_start sub_02053B3C
sub_02053B3C: ; 0x02053B3C
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r7, #0
bl sub_02050650
add r4, r0, #0
add r6, r4, #0
ldr r1, [r4]
add r6, #0xc
cmp r1, #3
bhi _02053BE2
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02053B64: ; jump table
.short _02053B6C - _02053B64 - 2 ; case 0
.short _02053B82 - _02053B64 - 2 ; case 1
.short _02053B9C - _02053B64 - 2 ; case 2
.short _02053BDA - _02053B64 - 2 ; case 3
_02053B6C:
ldr r1, [r6]
add r0, r5, #0
bl sub_020550E4
add r0, r7, #0
bl sub_02053BE8
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053BE2
_02053B82:
ldr r0, [r5, #0x40]
mov r1, #0
bl sub_0205C6E4
add r1, r4, #0
add r0, r7, #0
add r1, #0xc
bl sub_020537A8
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053BE2
_02053B9C:
bl sub_02005F88
cmp r0, #0
bne _02053BE2
ldr r1, [r6]
add r0, r5, #0
mov r2, #0
bl sub_02055110
ldr r0, [r4, #4]
cmp r0, #2
bne _02053BBC
add r0, r5, #0
bl sub_02067BA4
b _02053BCC
_02053BBC:
cmp r0, #1
bhi _02053BC8
add r0, r5, #0
bl sub_02067BC0
b _02053BCC
_02053BC8:
bl GF_AssertFail
_02053BCC:
add r0, r7, #0
bl sub_02053C24
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053BE2
_02053BDA:
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02053BE2:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02053B3C
thumb_func_start sub_02053BE8
sub_02053BE8: ; 0x02053BE8
ldr r3, _02053BF0 ; =sub_02050530
ldr r1, _02053BF4 ; =sub_02053BF8
mov r2, #0
bx r3
.balign 4, 0
_02053BF0: .word sub_02050530
_02053BF4: .word sub_02053BF8
thumb_func_end sub_02053BE8
thumb_func_start sub_02053BF8
sub_02053BF8: ; 0x02053BF8
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
beq _02053C0E
cmp r0, #1
beq _02053C1C
b _02053C20
_02053C0E:
add r0, r5, #0
bl sub_0205525C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053C20
_02053C1C:
mov r0, #1
pop {r3, r4, r5, pc}
_02053C20:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02053BF8
thumb_func_start sub_02053C24
sub_02053C24: ; 0x02053C24
push {r4, lr}
add r4, r0, #0
bl sub_02050650
add r2, r0, #0
ldr r1, _02053C38 ; =sub_02053C3C
add r0, r4, #0
bl sub_02050530
pop {r4, pc}
.balign 4, 0
_02053C38: .word sub_02053C3C
thumb_func_end sub_02053C24
thumb_func_start sub_02053C3C
sub_02053C3C: ; 0x02053C3C
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_02050654
add r4, r0, #0
add r0, r5, #0
bl sub_0205064C
add r6, r0, #0
add r0, r5, #0
bl sub_02050650
ldr r0, [r4]
cmp r0, #0
beq _02053C64
cmp r0, #1
beq _02053C72
cmp r0, #2
beq _02053C86
b _02053C8A
_02053C64:
add r0, r5, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053C8A
_02053C72:
add r0, r6, #0
bl ov01_021EFAF8
add r0, r5, #0
bl sub_02053C90
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053C8A
_02053C86:
mov r0, #1
pop {r4, r5, r6, pc}
_02053C8A:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02053C3C
thumb_func_start sub_02053C90
sub_02053C90: ; 0x02053C90
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205064C
add r4, r0, #0
add r0, r5, #0
bl sub_02050650
add r6, r0, #0
add r0, r4, #0
bl sub_0203DF7C
cmp r0, #0
bne _02053CB2
bl GF_AssertFail
pop {r4, r5, r6, pc}
_02053CB2:
ldr r2, [r6, #4]
add r0, r4, #0
mov r1, #4
bl ov02_0224C1D8
add r2, r0, #0
ldr r1, _02053CC8 ; =0x0224C1F9
add r0, r5, #0
bl sub_02050530
pop {r4, r5, r6, pc}
.balign 4, 0
_02053CC8: .word 0x0224C1F9
thumb_func_end sub_02053C90
thumb_func_start sub_02053CCC
sub_02053CCC: ; 0x02053CCC
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r7, #0
bl sub_02050650
add r4, r0, #0
add r6, r4, #0
ldr r1, [r4]
add r6, #8
cmp r1, #7
bls _02053CEA
b _02053E02
_02053CEA:
add r2, r1, r1
add r2, pc
ldrh r2, [r2, #6]
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
_02053CF6: ; jump table
.short _02053D06 - _02053CF6 - 2 ; case 0
.short _02053D3E - _02053CF6 - 2 ; case 1
.short _02053D5E - _02053CF6 - 2 ; case 2
.short _02053D7A - _02053CF6 - 2 ; case 3
.short _02053D8A - _02053CF6 - 2 ; case 4
.short _02053DAA - _02053CF6 - 2 ; case 5
.short _02053DEE - _02053CF6 - 2 ; case 6
.short _02053DFA - _02053CF6 - 2 ; case 7
_02053D06:
mov r0, #0
str r0, [r4, #0x1c]
add r0, r5, #0
bl sub_02069F88
cmp r0, #0
beq _02053D36
add r0, r5, #0
bl ov01_022057C4
cmp r0, #0
bne _02053D36
ldr r0, [r5, #0x40]
bl sub_0205C700
cmp r0, #1
beq _02053D36
add r0, r5, #0
bl sub_02069D68
mov r1, #1
bl ov01_0220329C
str r0, [r4, #0x1c]
_02053D36:
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053E02
_02053D3E:
ldr r0, [r4, #0x1c]
cmp r0, #0
beq _02053D4C
bl sub_02068CCC
cmp r0, #0
bne _02053E02
_02053D4C:
add r0, r5, #0
mov r1, #1
add r2, r4, #4
bl ov01_021F35C4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053E02
_02053D5E:
ldr r0, [r4, #4]
cmp r0, #0
beq _02053E02
ldr r1, [r6]
add r0, r5, #0
bl sub_020550E4
add r0, r7, #0
bl sub_0205525C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053E02
_02053D7A:
add r0, r7, #0
add r1, r6, #0
bl sub_020537A8
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053E02
_02053D8A:
bl sub_02005F88
cmp r0, #0
bne _02053E02
ldr r1, [r6]
add r0, r5, #0
mov r2, #0
bl sub_02055110
add r0, r7, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053E02
_02053DAA:
mov r1, #0
add r0, r5, #0
add r2, r4, #4
str r1, [r4, #4]
bl ov01_021F35C4
add r0, r5, #0
bl sub_02069F88
cmp r0, #0
beq _02053DE6
add r0, r5, #0
bl sub_02069D68
add r7, r0, #0
bl sub_02069F7C
ldr r1, [r6]
bl sub_02069FF4
cmp r0, #0
beq _02053DE6
add r0, r7, #0
mov r1, #1
bl sub_02069E84
add r0, r5, #0
mov r1, #1
bl ov01_02205790
_02053DE6:
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053E02
_02053DEE:
ldr r0, [r4, #4]
cmp r0, #0
beq _02053E02
add r0, r1, #1
str r0, [r4]
b _02053E02
_02053DFA:
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02053E02:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02053CCC
thumb_func_start sub_02053E08
sub_02053E08: ; 0x02053E08
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
add r4, r1, #0
mov r0, #0xb
mov r1, #0x20
add r6, r2, #0
bl AllocFromHeapAtEnd
mov r1, #0
mov r2, #0x20
add r7, r0, #0
bl MIi_CpuFill8
ldr r0, [r5, #0x40]
bl sub_0205C654
mov r1, #0
add r2, r7, #0
str r4, [sp]
str r6, [sp, #4]
add r3, sp, #0
str r1, [sp, #8]
str r1, [sp, #0xc]
str r0, [sp, #0x10]
ldmia r3!, {r0, r1}
add r2, #8
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3]
ldr r1, _02053E58 ; =sub_02053CCC
str r0, [r2]
add r0, r5, #0
add r2, r7, #0
bl sub_020504F0
add sp, #0x14
pop {r4, r5, r6, r7, pc}
nop
_02053E58: .word sub_02053CCC
thumb_func_end sub_02053E08
thumb_func_start sub_02053E5C
sub_02053E5C: ; 0x02053E5C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0205064C
str r0, [sp]
add r0, r5, #0
bl sub_02050650
add r7, r0, #0
add r0, r5, #0
bl sub_02050654
add r4, r0, #0
add r6, r7, #0
ldr r0, [r4]
add r6, #8
cmp r0, #5
bhi _02053F0E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02053E8C: ; jump table
.short _02053E98 - _02053E8C - 2 ; case 0
.short _02053EB2 - _02053E8C - 2 ; case 1
.short _02053EC6 - _02053E8C - 2 ; case 2
.short _02053ED6 - _02053E8C - 2 ; case 3
.short _02053EF6 - _02053E8C - 2 ; case 4
.short _02053F04 - _02053E8C - 2 ; case 5
_02053E98:
ldr r0, [sp]
ldr r1, [r6]
bl sub_020550E4
ldr r0, [sp]
mov r1, #1
add r2, r7, #4
bl ov01_021F35C4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053F0E
_02053EB2:
ldr r0, [r7, #4]
cmp r0, #0
beq _02053F0E
add r0, r5, #0
bl sub_0205525C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053F0E
_02053EC6:
add r0, r5, #0
add r1, r6, #0
bl sub_020537A8
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053F0E
_02053ED6:
bl sub_02005F88
cmp r0, #0
bne _02053F0E
ldr r0, [sp]
ldr r1, [r6]
mov r2, #0
bl sub_02055110
add r0, r5, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053F0E
_02053EF6:
add r0, r5, #0
bl sub_0205532C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02053F0E
_02053F04:
add r0, r7, #0
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02053F0E:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02053E5C
thumb_func_start sub_02053F14
sub_02053F14: ; 0x02053F14
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0xc]
bl sub_0203B9C4
bl sub_0203B968
add r4, r0, #0
mov r0, #0xb
mov r1, #0x1c
bl AllocFromHeapAtEnd
add r6, r0, #0
mov r1, #0
mov r2, #0x1c
bl MIi_CpuFill8
add r2, r6, #0
ldmia r4!, {r0, r1}
add r2, #8
stmia r2!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r4]
str r0, [r2]
add r0, r5, #0
bl sub_02059E04
add r0, r5, #0
add r0, #0x84
ldr r0, [r0]
bl sub_0205AD3C
mov r0, #0
str r0, [r5, #0x70]
ldr r1, _02053F6C ; =sub_02053E5C
add r0, r5, #0
add r2, r6, #0
bl sub_020504F0
mov r0, #0
add r5, #0x80
str r0, [r5]
pop {r4, r5, r6, pc}
.balign 4, 0
_02053F6C: .word sub_02053E5C
thumb_func_end sub_02053F14
thumb_func_start sub_02053F70
sub_02053F70: ; 0x02053F70
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0205064C
str r0, [sp]
add r0, r5, #0
bl sub_02050650
add r7, r0, #0
add r0, r5, #0
bl sub_02050654
add r4, r0, #0
add r6, r7, #0
ldr r0, [r4]
add r6, #8
cmp r0, #6
bhi _0205402C
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02053FA0: ; jump table
.short _02053FAE - _02053FA0 - 2 ; case 0
.short _02053FC4 - _02053FA0 - 2 ; case 1
.short _02053FD2 - _02053FA0 - 2 ; case 2
.short _02053FE2 - _02053FA0 - 2 ; case 3
.short _02054002 - _02053FA0 - 2 ; case 4
.short _02054016 - _02053FA0 - 2 ; case 5
.short _02054022 - _02053FA0 - 2 ; case 6
_02053FAE:
ldr r0, [sp]
ldr r1, [r6]
bl sub_020550E4
add r0, r5, #0
bl sub_020552E8
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205402C
_02053FC4:
add r0, r5, #0
bl sub_0205525C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205402C
_02053FD2:
add r0, r5, #0
add r1, r6, #0
bl sub_020537A8
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205402C
_02053FE2:
bl sub_02005F88
cmp r0, #0
bne _0205402C
ldr r0, [sp]
ldr r1, [r6]
mov r2, #0
bl sub_02055110
add r0, r5, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205402C
_02054002:
mov r1, #0
ldr r0, [sp]
str r1, [r7, #4]
add r2, r7, #4
bl ov01_021F35C4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0205402C
_02054016:
ldr r1, [r7, #4]
cmp r1, #0
beq _0205402C
add r0, r0, #1
str r0, [r4]
b _0205402C
_02054022:
add r0, r7, #0
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205402C:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02053F70
thumb_func_start sub_02054030
sub_02054030: ; 0x02054030
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
bl sub_0205064C
add r5, r0, #0
ldr r0, [r5, #0xc]
bl sub_0203B9C4
bl sub_0203B968
add r7, r0, #0
mov r0, #0xb
mov r1, #0x1c
bl AllocFromHeapAtEnd
mov r1, #0
mov r2, #0x1c
add r4, r0, #0
bl MIi_CpuFill8
add r0, r7, #0
add r1, r5, #0
bl sub_02053350
mov r0, #2
str r0, [r4, #8]
sub r0, r0, #3
str r0, [r4, #0xc]
mov r0, #8
str r0, [r4, #0x10]
mov r0, #0xe
str r0, [r4, #0x14]
mov r0, #0
str r0, [r4, #0x18]
add r0, r5, #0
bl sub_02059DB0
add r1, r5, #0
add r1, #0x80
str r0, [r1]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0205AC88
add r1, r5, #0
add r1, #0x84
str r0, [r1]
mov r0, #2
str r0, [r5, #0x70]
ldr r1, _020540A0 ; =sub_02053F70
add r0, r6, #0
add r2, r4, #0
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020540A0: .word sub_02053F70
thumb_func_end sub_02054030
thumb_func_start sub_020540A4
sub_020540A4: ; 0x020540A4
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r5, #0
bl sub_02050650
add r4, r0, #0
ldr r1, [r4]
cmp r1, #3
bhi _02054124
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_020540C8: ; jump table
.short _020540D0 - _020540C8 - 2 ; case 0
.short _020540EC - _020540C8 - 2 ; case 1
.short _020540FC - _020540C8 - 2 ; case 2
.short _0205411C - _020540C8 - 2 ; case 3
_020540D0:
ldr r0, _02054128 ; =0x00000602
bl PlaySE
ldr r1, [r4, #4]
add r0, r6, #0
bl sub_020550E4
add r0, r5, #0
bl sub_020553B0
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02054124
_020540EC:
add r0, r5, #0
add r1, r4, #4
bl sub_020537A8
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02054124
_020540FC:
bl sub_02005F88
cmp r0, #0
bne _02054124
ldr r1, [r4, #4]
add r0, r6, #0
mov r2, #0
bl sub_02055110
add r0, r5, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02054124
_0205411C:
bl FreeToHeap
mov r0, #1
pop {r4, r5, r6, pc}
_02054124:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_02054128: .word 0x00000602
thumb_func_end sub_020540A4
thumb_func_start sub_0205412C
sub_0205412C: ; 0x0205412C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r7, r0, #0
add r5, r1, #0
add r4, r2, #0
add r6, r3, #0
bl sub_0205064C
str r0, [sp]
ldr r0, [r0, #0xc]
bl sub_0203B9C4
bl sub_0203B968
ldr r1, [sp]
bl sub_02053350
ldr r0, [sp]
mov r1, #3
str r1, [r0, #0x70]
mov r0, #0xb
mov r1, #0x1c
bl AllocFromHeapAtEnd
add r2, r0, #0
ldr r0, [sp, #0x30]
str r4, [sp, #8]
str r0, [sp, #0x10]
ldr r0, [sp, #0x34]
str r5, [sp, #4]
str r0, [sp, #0x14]
mov r0, #0
str r6, [sp, #0xc]
add r4, sp, #4
str r0, [r2]
ldmia r4!, {r0, r1}
add r3, r2, #4
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r4]
ldr r1, _0205418C ; =sub_020540A4
str r0, [r3]
add r0, r7, #0
bl sub_02050530
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0205418C: .word sub_020540A4
thumb_func_end sub_0205412C
thumb_func_start sub_02054190
sub_02054190: ; 0x02054190
push {r4, lr}
bl sub_0205064C
add r4, r0, #0
ldr r0, [r4, #0xc]
bl sub_0203B9C4
bl sub_0203B968
add r1, r0, #0
mov r0, #0
str r0, [r4, #0x70]
ldr r0, [r4, #0x10]
bl sub_02053710
pop {r4, pc}
thumb_func_end sub_02054190
thumb_func_start sub_020541B0
sub_020541B0: ; 0x020541B0
push {r4, lr}
mov r1, #0xa3
mov r2, #0
add r4, r0, #0
bl GetMonData
cmp r0, #0
bne _020541C4
mov r0, #0
pop {r4, pc}
_020541C4:
add r0, r4, #0
mov r1, #0x4c
mov r2, #0
bl GetMonData
cmp r0, #0
bne _020541D6
mov r0, #1
pop {r4, pc}
_020541D6:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020541B0
thumb_func_start sub_020541DC
sub_020541DC: ; 0x020541DC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r6, r1, #0
add r5, r0, #0
add r0, r6, #0
add r7, r2, #0
str r3, [sp, #0x10]
bl Sav2_PlayerData_GetProfileAddr
str r0, [sp, #0x18]
add r0, r6, #0
bl SavArray_PlayerParty_get
str r0, [sp, #0x14]
add r0, r5, #0
bl AllocMonZeroed
add r4, r0, #0
bl ZeroMonData
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
str r0, [sp, #0xc]
ldr r2, [sp, #0x10]
add r0, r4, #0
add r1, r7, #0
mov r3, #0x20
bl sub_0206DE38
ldr r0, [sp, #0x48]
ldr r1, [sp, #0x18]
str r0, [sp]
ldr r3, [sp, #0x44]
add r0, r4, #0
mov r2, #4
str r5, [sp, #4]
bl sub_020720FC
add r0, sp, #0x28
ldrh r0, [r0, #0x18]
mov r1, #6
add r2, sp, #0x1c
str r0, [sp, #0x1c]
add r0, r4, #0
bl sub_0206EC40
add r0, r4, #0
mov r1, #0x70
add r2, sp, #0x38
bl sub_0206EC40
add r0, sp, #0x28
ldrb r0, [r0, #0x14]
cmp r0, #0
beq _02054258
add r0, r4, #0
mov r1, #0xa
add r2, sp, #0x3c
bl sub_0206EC40
_02054258:
ldr r0, [sp, #0x14]
add r1, r4, #0
bl sub_02074524
add r5, r0, #0
beq _0205426C
add r0, r6, #0
add r1, r4, #0
bl sub_0202ECC0
_0205426C:
add r0, r4, #0
bl FreeToHeap
add r0, r5, #0
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020541DC
thumb_func_start sub_02054278
sub_02054278: ; 0x02054278
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r1, #0
add r0, r4, #0
add r5, r2, #0
add r7, r3, #0
bl Sav2_PlayerData_GetProfileAddr
str r0, [sp, #8]
add r0, r4, #0
bl SavArray_PlayerParty_get
add r6, r0, #0
mov r0, #0x20
bl AllocMonZeroed
add r4, r0, #0
bl ZeroMonData
ldr r0, [sp, #0x20]
ldr r1, [sp, #0x24]
bl sub_02017FE4
mov r1, #4
str r1, [sp]
str r0, [sp, #4]
ldr r3, [sp, #8]
add r0, r4, #0
add r1, r5, #0
add r2, r7, #0
bl sub_0206C8B8
add r0, r6, #0
add r1, r4, #0
bl sub_02074524
add r5, r0, #0
add r0, r4, #0
bl FreeToHeap
add r0, r5, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02054278
thumb_func_start sub_020542D0
sub_020542D0: ; 0x020542D0
push {r3, r4, r5, lr}
add r5, r2, #0
add r4, r3, #0
bl GetPartyMonByIndex
lsl r2, r5, #0x18
add r1, r4, #0
lsr r2, r2, #0x18
bl sub_020714B0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020542D0
thumb_func_start sub_020542E8
sub_020542E8: ; 0x020542E8
push {r3, r4, r5, r6, r7, lr}
str r0, [sp]
add r5, r1, #0
bl GetPartyCount
add r7, r0, #0
mov r6, #0
cmp r7, #0
ble _02054352
_020542FA:
ldr r0, [sp]
add r1, r6, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r4, r0, #0
bl GetMonData
cmp r0, #0
bne _0205434C
add r0, r4, #0
mov r1, #0x36
mov r2, #0
bl GetMonData
cmp r5, r0
beq _02054348
add r0, r4, #0
mov r1, #0x37
mov r2, #0
bl GetMonData
cmp r5, r0
beq _02054348
add r0, r4, #0
mov r1, #0x38
mov r2, #0
bl GetMonData
cmp r5, r0
beq _02054348
add r0, r4, #0
mov r1, #0x39
mov r2, #0
bl GetMonData
cmp r5, r0
bne _0205434C
_02054348:
add r0, r6, #0
pop {r3, r4, r5, r6, r7, pc}
_0205434C:
add r6, r6, #1
cmp r6, r7
blt _020542FA
_02054352:
mov r0, #0xff
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020542E8
thumb_func_start sub_02054358
sub_02054358: ; 0x02054358
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
bl GetPartyCount
mov r5, #0
add r6, r0, #0
add r4, r5, #0
cmp r6, #0
ble _02054382
_0205436A:
add r0, r7, #0
add r1, r4, #0
bl GetPartyMonByIndex
bl sub_020541B0
cmp r0, #0
beq _0205437C
add r5, r5, #1
_0205437C:
add r4, r4, #1
cmp r4, r6
blt _0205436A
_02054382:
add r0, r5, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02054358
thumb_func_start sub_02054388
sub_02054388: ; 0x02054388
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
bl GetPartyCount
add r5, r0, #0
mov r4, #0
cmp r5, #0
ble _020543B4
_02054398:
add r0, r6, #0
add r1, r4, #0
bl GetPartyMonByIndex
add r7, r0, #0
bl sub_020541B0
cmp r0, #0
beq _020543AE
add r0, r7, #0
pop {r3, r4, r5, r6, r7, pc}
_020543AE:
add r4, r4, #1
cmp r4, r5
blt _02054398
_020543B4:
bl GF_AssertFail
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02054388
thumb_func_start sub_020543BC
sub_020543BC: ; 0x020543BC
push {r4, r5, r6, lr}
add r6, r0, #0
bl GetPartyCount
add r5, r0, #0
mov r4, #0
cmp r5, #0
ble _020543E8
_020543CC:
add r0, r6, #0
add r1, r4, #0
bl GetPartyMonByIndex
bl sub_020541B0
cmp r0, #0
beq _020543E2
lsl r0, r4, #0x18
lsr r0, r0, #0x18
pop {r4, r5, r6, pc}
_020543E2:
add r4, r4, #1
cmp r4, r5
blt _020543CC
_020543E8:
bl GF_AssertFail
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_020543BC
thumb_func_start sub_020543F0
sub_020543F0: ; 0x020543F0
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
bl GetPartyCount
lsl r0, r0, #0x10
lsr r5, r0, #0x10
ldr r4, _02054428 ; =0x00000000
beq _02054424
_02054400:
add r0, r6, #0
add r1, r4, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r7, r0, #0
bl GetMonData
cmp r0, #0
bne _0205441A
add r0, r7, #0
pop {r3, r4, r5, r6, r7, pc}
_0205441A:
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, r5
blo _02054400
_02054424:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02054428: .word 0x00000000
thumb_func_end sub_020543F0
thumb_func_start sub_0205442C
sub_0205442C: ; 0x0205442C
push {r3, lr}
bl sub_02054358
cmp r0, #2
blt _0205443A
mov r0, #1
pop {r3, pc}
_0205443A:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205442C
thumb_func_start sub_02054440
sub_02054440: ; 0x02054440
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
mov r7, #0
str r0, [sp]
str r1, [sp, #4]
add r6, r7, #0
bl GetPartyCount
add r4, r7, #0
str r0, [sp, #8]
cmp r0, #0
ble _020544BC
_02054458:
ldr r0, [sp]
add r1, r4, #0
bl GetPartyMonByIndex
add r5, r0, #0
bl sub_020541B0
cmp r0, #0
beq _020544B4
add r0, r5, #0
mov r1, #0xa0
mov r2, #0
bl GetMonData
mov r1, #0x88
tst r0, r1
beq _020544B4
add r0, r5, #0
mov r1, #0xa3
mov r2, #0
bl GetMonData
str r0, [sp, #0xc]
cmp r0, #1
bls _0205448E
sub r0, r0, #1
str r0, [sp, #0xc]
_0205448E:
add r0, r5, #0
mov r1, #0xa3
add r2, sp, #0xc
bl sub_0206EC40
ldr r0, [sp, #0xc]
cmp r0, #1
bne _020544B2
ldr r2, [sp, #4]
add r0, r5, #0
mov r1, #7
add r6, r6, #1
bl sub_0206FE90
add r0, r5, #0
mov r1, #5
bl sub_02097F0C
_020544B2:
add r7, r7, #1
_020544B4:
ldr r0, [sp, #8]
add r4, r4, #1
cmp r4, r0
blt _02054458
_020544BC:
cmp r6, #0
beq _020544C6
add sp, #0x10
mov r0, #2
pop {r3, r4, r5, r6, r7, pc}
_020544C6:
cmp r7, #0
beq _020544D0
add sp, #0x10
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_020544D0:
mov r0, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02054440
thumb_func_start sub_020544D8
sub_020544D8: ; 0x020544D8
push {r3, r4, lr}
sub sp, #4
mov r1, #0xa0
mov r2, #0
add r4, r0, #0
bl GetMonData
mov r1, #0x88
tst r0, r1
beq _0205450E
add r0, r4, #0
mov r1, #0xa3
mov r2, #0
bl GetMonData
cmp r0, #1
bne _0205450E
mov r0, #0
str r0, [sp]
add r0, r4, #0
mov r1, #0xa0
add r2, sp, #0
bl sub_0206EC40
add sp, #4
mov r0, #1
pop {r3, r4, pc}
_0205450E:
mov r0, #0
add sp, #4
pop {r3, r4, pc}
thumb_func_end sub_020544D8
thumb_func_start sub_02054514
sub_02054514: ; 0x02054514
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x5c]
add r4, r1, #0
cmp r0, #0
bne _02054534
ldr r1, _02054538 ; =0x000080E2
mov r0, #0xb
bl AllocFromHeap
str r0, [r5, #0x5c]
ldr r0, [r5, #0x30]
ldr r1, [r5, #0x5c]
add r2, r4, #0
bl sub_0205455C
_02054534:
pop {r3, r4, r5, pc}
nop
_02054538: .word 0x000080E2
thumb_func_end sub_02054514
thumb_func_start sub_0205453C
sub_0205453C: ; 0x0205453C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x5c]
cmp r0, #0
beq _0205454E
bl FreeToHeap
mov r0, #0
str r0, [r4, #0x5c]
_0205454E:
pop {r4, pc}
thumb_func_end sub_0205453C
thumb_func_start sub_02054550
sub_02054550: ; 0x02054550
ldrb r0, [r1, r0]
add r2, r1, #0
add r2, #0xe2
lsl r0, r0, #0xb
add r0, r2, r0
bx lr
thumb_func_end sub_02054550
thumb_func_start sub_0205455C
sub_0205455C: ; 0x0205455C
push {r4, r5, r6, r7, lr}
sub sp, #0x3c
str r1, [sp, #8]
str r2, [sp, #0xc]
str r0, [sp, #4]
mov r2, #0
add r1, sp, #0x18
strb r2, [r1]
bl sub_0203B004
add r6, r0, #0
ldr r0, [sp, #4]
bl sub_0203B014
str r0, [sp, #0x10]
mov r0, #0
str r0, [sp, #0x14]
ldr r0, [sp, #0x10]
cmp r0, #0
ble _020545BC
ldr r7, [sp, #0x14]
_02054586:
mov r5, #0
cmp r6, #0
ble _020545AE
_0205458C:
add r0, r5, r7
lsl r0, r0, #0x10
lsr r4, r0, #0x10
ldr r1, [sp, #4]
add r0, r4, #0
bl sub_0203AFE0
add r1, sp, #0x18
add r1, #2
add r2, sp, #0x18
bl sub_0205460C
ldr r1, [sp, #8]
add r5, r5, #1
strb r0, [r1, r4]
cmp r5, r6
blt _0205458C
_020545AE:
ldr r0, [sp, #0x14]
add r7, r7, r6
add r1, r0, #1
ldr r0, [sp, #0x10]
str r1, [sp, #0x14]
cmp r1, r0
blt _02054586
_020545BC:
mov r0, #0x41
mov r1, #0xb
bl NARC_ctor
add r7, r0, #0
ldr r0, [sp, #0xc]
mov r6, #0
cmp r0, #0
ble _02054600
ldr r0, [sp, #8]
add r4, sp, #0x18
add r0, #0xe2
add r4, #2
add r5, r6, #0
str r0, [sp, #8]
_020545DA:
ldr r0, [sp, #8]
lsl r1, r5, #1
add r0, r0, r1
str r0, [sp]
ldrh r1, [r4]
mov r3, #2
add r0, r7, #0
mov r2, #0x14
lsl r3, r3, #0xa
bl NARC_ReadFromMember
mov r0, #1
lsl r0, r0, #0xa
add r5, r5, r0
ldr r0, [sp, #0xc]
add r6, r6, #1
add r4, r4, #2
cmp r6, r0
blt _020545DA
_02054600:
add r0, r7, #0
bl NARC_dtor
add sp, #0x3c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205455C
thumb_func_start sub_0205460C
sub_0205460C: ; 0x0205460C
push {r3, r4, r5, r6, r7, lr}
add r7, r2, #0
add r5, r0, #0
ldrb r0, [r7]
add r6, r1, #0
mov r4, #0
cmp r0, #0
bls _02054632
_0205461C:
lsl r1, r4, #1
ldrh r1, [r6, r1]
cmp r5, r1
bne _02054628
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_02054628:
add r1, r4, #1
lsl r1, r1, #0x18
lsr r4, r1, #0x18
cmp r4, r0
blo _0205461C
_02054632:
cmp r4, #0x10
blo _0205463A
bl GF_AssertFail
_0205463A:
lsl r0, r4, #1
strh r5, [r6, r0]
ldrb r0, [r7]
add r0, r0, #1
strb r0, [r7]
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205460C
thumb_func_start sub_02054648
sub_02054648: ; 0x02054648
cmp r0, r1
blt _02054650
sub r0, r0, r1
bx lr
_02054650:
sub r0, r1, r0
bx lr
thumb_func_end sub_02054648
thumb_func_start sub_02054654
sub_02054654: ; 0x02054654
push {r4, r5, r6, r7, lr}
sub sp, #0x3c
add r5, r0, #0
add r6, r3, #0
mov r4, #0
ldr r0, [sp, #0x50]
str r6, [sp, #0x30]
str r4, [sp, #0x34]
str r0, [sp, #0x38]
ldr r0, [r5, #0x2c]
str r1, [sp, #8]
str r0, [sp, #0x10]
ldr r0, [r5, #0x30]
str r2, [sp, #0xc]
bl sub_0203B004
str r0, [sp, #0x28]
lsl r0, r0, #5
str r0, [sp, #0x14]
asr r0, r6, #0xf
lsr r0, r0, #0x10
add r0, r6, r0
add r2, r5, #0
add r2, #0x98
ldr r1, [sp, #0x50]
asr r7, r0, #0x10
asr r0, r1, #0xf
lsr r0, r0, #0x10
add r0, r1, r0
asr r0, r0, #0x10
str r0, [sp, #0x20]
ldr r1, [sp, #0x20]
ldr r2, [r2]
add r0, r7, #0
add r3, sp, #0x2c
bl ov01_021FB42C
str r0, [sp, #0x24]
lsr r0, r7, #5
str r0, [sp, #0x1c]
ldr r0, [sp, #0x20]
ldr r1, [sp, #0x50]
lsr r0, r0, #5
str r0, [sp, #0x18]
ldr r0, [sp, #0x1c]
lsl r0, r0, #5
add r0, #0x10
lsl r0, r0, #0x10
sub r0, r6, r0
str r0, [sp, #0x30]
ldr r0, [sp, #0x18]
lsl r0, r0, #5
add r0, #0x10
lsl r0, r0, #0x10
sub r0, r1, r0
str r0, [sp, #0x38]
ldr r1, [sp, #0x20]
ldr r0, [sp, #0x14]
mul r0, r1
ldr r1, [sp, #0x14]
add r0, r7, r0
bl ov01_021F6328
ldr r2, [sp, #0x18]
add r1, r0, #0
add r3, r2, #0
ldr r0, [sp, #0x28]
ldr r2, [sp, #0x10]
mul r3, r0
ldr r0, [sp, #0x1c]
add r0, r0, r3
bl ov01_021F635C
add r1, r0, #0
cmp r1, #3
bls _020546F0
add r6, r4, #0
b _0205470E
_020546F0:
lsl r1, r1, #0x18
ldr r0, [sp, #0x10]
lsr r1, r1, #0x18
bl ov01_021F65D0
str r0, [sp]
add r0, sp, #0x34
str r0, [sp, #4]
ldr r0, [sp, #8]
ldr r1, [sp, #0xc]
ldr r2, [sp, #0x30]
ldr r3, [sp, #0x38]
bl ov01_021FAE50
add r6, r0, #0
_0205470E:
ldr r0, [sp, #0x24]
cmp r0, #0
beq _02054758
add r0, sp, #0x2c
add r5, #0x98
ldrb r0, [r0]
ldr r1, [r5]
bl ov01_021FB474
add r5, r0, #0
cmp r6, #0
beq _02054752
ldr r4, [sp, #0x34]
cmp r5, r4
bgt _02054730
mov r1, #1
b _02054764
_02054730:
ldr r1, [sp, #0xc]
add r0, r4, #0
bl sub_02054648
add r4, r0, #0
ldr r1, [sp, #0xc]
add r0, r5, #0
bl sub_02054648
cmp r4, r0
bgt _0205474C
ldr r4, [sp, #0x34]
mov r1, #1
b _02054764
_0205474C:
add r4, r5, #0
mov r1, #2
b _02054764
_02054752:
mov r1, #2
add r4, r5, #0
b _02054764
_02054758:
cmp r6, #0
beq _02054762
mov r1, #1
ldr r4, [sp, #0x34]
b _02054764
_02054762:
mov r1, #0
_02054764:
ldr r0, [sp, #0x54]
cmp r0, #0
beq _0205476C
strb r1, [r0]
_0205476C:
add r0, r4, #0
add sp, #0x3c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02054654
thumb_func_start sub_02054774
sub_02054774: ; 0x02054774
push {r3, r4, r5, lr}
sub sp, #8
add r5, r1, #0
add r4, r2, #0
str r3, [sp]
ldr r1, [sp, #0x18]
add r2, r5, #0
str r1, [sp, #4]
mov r1, #0
add r3, r4, #0
bl sub_02054654
add sp, #8
pop {r3, r4, r5, pc}
thumb_func_end sub_02054774
thumb_func_start sub_02054790
sub_02054790: ; 0x02054790
push {r4, lr}
sub sp, #8
ldr r4, [sp, #0x10]
str r4, [sp]
ldr r4, [sp, #0x14]
str r4, [sp, #4]
bl sub_02054654
add sp, #8
pop {r4, pc}
thumb_func_end sub_02054790
thumb_func_start sub_020547A4
sub_020547A4: ; 0x020547A4
push {r3, lr}
asr r1, r2, #0xf
lsr r1, r1, #0x10
add r1, r2, r1
asr r2, r3, #0xf
lsr r2, r2, #0x10
add r2, r3, r2
ldr r0, [r0, #0x2c]
asr r1, r1, #0x10
asr r2, r2, #0x10
mov r3, #0
bl ov01_021F654C
ldr r1, [sp, #8]
cmp r1, #0
beq _020547D2
cmp r0, #0
beq _020547CC
mov r1, #1
b _020547CE
_020547CC:
mov r1, #0
_020547CE:
ldr r0, [sp, #8]
strb r1, [r0]
_020547D2:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020547A4
thumb_func_start sub_020547D8
sub_020547D8: ; 0x020547D8
push {r3, r4, r5, r6, r7, lr}
ldr r7, [r0, #0x2c]
add r4, r3, #0
add r0, r7, #0
add r3, sp, #0
add r5, r1, #0
add r6, r2, #0
bl ov01_021F654C
cmp r0, #0
bne _020547F6
mov r0, #0xff
strh r0, [r4]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_020547F6:
add r1, sp, #0
ldrb r1, [r1]
add r0, r7, #0
bl ov01_021F65E4
lsr r2, r5, #0x1f
lsl r1, r5, #0x1b
sub r1, r1, r2
mov r3, #0x1b
ror r1, r3
add r1, r2, r1
lsr r5, r6, #0x1f
lsl r2, r6, #0x1b
sub r2, r2, r5
ror r2, r3
add r2, r5, r2
lsl r2, r2, #5
add r1, r1, r2
lsl r1, r1, #1
ldrh r0, [r0, r1]
strh r0, [r4]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020547D8
thumb_func_start sub_02054824
sub_02054824: ; 0x02054824
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
ldr r0, [r6, #0x30]
add r4, r2, #0
add r5, r1, #0
add r7, r3, #0
bl sub_0203B004
asr r2, r4, #4
asr r1, r5, #4
lsr r2, r2, #0x1b
lsr r1, r1, #0x1b
add r2, r4, r2
add r1, r5, r1
asr r2, r2, #5
asr r1, r1, #5
mul r0, r2
add r0, r1, r0
ldr r1, [r6, #0x5c]
bl sub_02054550
lsr r2, r5, #0x1f
lsl r1, r5, #0x1b
sub r1, r1, r2
mov r3, #0x1b
ror r1, r3
add r1, r2, r1
lsr r5, r4, #0x1f
lsl r2, r4, #0x1b
sub r2, r2, r5
ror r2, r3
add r2, r5, r2
lsl r2, r2, #5
add r1, r1, r2
lsl r1, r1, #1
ldrh r0, [r0, r1]
strh r0, [r7]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02054824
thumb_func_start sub_02054874
sub_02054874: ; 0x02054874
push {r3, r4, lr}
sub sp, #4
ldr r4, [r0, #0x2c]
add r3, sp, #0
add r0, r4, #0
bl ov01_021F654C
cmp r0, #0
bne _0205488C
add sp, #4
mov r0, #0
pop {r3, r4, pc}
_0205488C:
add r1, sp, #0
ldrb r1, [r1]
add r0, r4, #0
bl ov01_021F6600
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end sub_02054874
thumb_func_start sub_0205489C
sub_0205489C: ; 0x0205489C
push {r3, lr}
cmp r1, #0
bne _020548A8
ldr r1, _020548B8 ; =0x020FC604
str r1, [r0]
pop {r3, pc}
_020548A8:
cmp r1, #1
bne _020548B2
ldr r1, _020548BC ; =0x020FC614
str r1, [r0]
pop {r3, pc}
_020548B2:
bl GF_AssertFail
pop {r3, pc}
.balign 4, 0
_020548B8: .word 0x020FC604
_020548BC: .word 0x020FC614
thumb_func_end sub_0205489C
thumb_func_start sub_020548C0
sub_020548C0: ; 0x020548C0
push {r3, r4, lr}
sub sp, #4
ldr r4, [r0, #0x60]
add r3, sp, #0
ldr r4, [r4, #4]
blx r4
cmp r0, #0
beq _020548E6
add r0, sp, #0
ldrh r0, [r0]
asr r0, r0, #0xf
lsl r0, r0, #0x18
lsr r1, r0, #0x18
mov r0, #1
and r1, r0
lsl r1, r1, #0x18
lsr r1, r1, #0x18
cmp r1, #1
beq _020548E8
_020548E6:
mov r0, #0
_020548E8:
add sp, #4
pop {r3, r4, pc}
thumb_func_end sub_020548C0
thumb_func_start sub_020548EC
sub_020548EC: ; 0x020548EC
push {r3, r4, lr}
sub sp, #4
ldr r4, [r0, #0x60]
add r3, sp, #0
ldr r4, [r4, #4]
blx r4
cmp r0, #0
beq _02054912
add r0, sp, #0
ldrh r0, [r0]
add sp, #4
asr r0, r0, #8
lsl r0, r0, #0x18
lsr r1, r0, #0x18
mov r0, #0x7f
and r0, r1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
pop {r3, r4, pc}
_02054912:
mov r0, #0
add sp, #4
pop {r3, r4, pc}
thumb_func_end sub_020548EC
thumb_func_start sub_02054918
sub_02054918: ; 0x02054918
push {r3, r4, lr}
sub sp, #4
ldr r4, [r0, #0x60]
add r3, sp, #0
ldr r4, [r4, #4]
blx r4
cmp r0, #0
beq _02054938
add r0, sp, #0
ldrh r0, [r0]
add sp, #4
lsl r0, r0, #0x18
lsr r0, r0, #0x18
lsl r0, r0, #0x18
lsr r0, r0, #0x18
pop {r3, r4, pc}
_02054938:
mov r0, #0xff
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end sub_02054918
thumb_func_start sub_02054940
sub_02054940: ; 0x02054940
push {r3, r4, lr}
sub sp, #4
ldr r4, [sp, #0x10]
str r4, [sp]
ldr r4, [r0, #0x60]
ldr r4, [r4]
blx r4
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end sub_02054940
thumb_func_start sub_02054954
sub_02054954: ; 0x02054954
push {r3, r4, r5, lr}
add r4, r1, #0
ldr r1, [sp, #0x10]
mov r5, #2
str r1, [sp]
ldr r1, [r4, #4]
lsl r2, r2, #0x10
lsl r5, r5, #0xe
lsl r3, r3, #0x10
add r2, r2, r5
add r3, r3, r5
bl sub_02054940
ldr r1, [r4, #4]
cmp r0, r1
bge _0205497C
mov r4, #0
add r2, r1, #0
mvn r4, r4
b _0205498C
_0205497C:
cmp r0, r1
ble _02054988
add r2, r0, #0
add r0, r1, #0
mov r4, #1
b _0205498C
_02054988:
mov r0, #0
pop {r3, r4, r5, pc}
_0205498C:
sub r1, r2, r0
mov r0, #5
lsl r0, r0, #0xe
cmp r1, r0
blt _020549A0
cmp r4, #0
bne _020549A2
bl GF_AssertFail
b _020549A2
_020549A0:
mov r4, #0
_020549A2:
add r0, r4, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02054954
thumb_func_start sub_020549A8
sub_020549A8: ; 0x020549A8
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r6, sp, #4
add r5, r0, #0
add r4, r2, #0
add r7, r3, #0
str r6, [sp]
bl sub_02054954
ldr r1, [sp, #0x20]
cmp r1, #0
beq _020549C2
strb r0, [r1]
_020549C2:
cmp r0, #0
bne _020549EC
add r0, r5, #0
add r1, r4, #0
add r2, r7, #0
bl sub_020548C0
add r6, r0, #0
bne _020549E6
add r0, sp, #4
ldrb r0, [r0]
cmp r0, #2
bne _020549E6
add r0, r5, #0
add r1, r4, #0
add r2, r7, #0
bl sub_02054918
_020549E6:
add sp, #8
add r0, r6, #0
pop {r3, r4, r5, r6, r7, pc}
_020549EC:
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020549A8
thumb_func_start sub_020549F4
sub_020549F4: ; 0x020549F4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r6, sp, #8
add r5, r0, #0
str r1, [sp, #4]
add r4, r2, #0
add r7, r3, #0
str r6, [sp]
bl sub_02054954
ldr r1, [sp, #0x28]
cmp r1, #0
beq _02054A10
strb r0, [r1]
_02054A10:
cmp r0, #0
bne _02054A58
add r0, sp, #0xc
str r0, [sp]
ldr r3, [sp, #4]
add r0, r5, #0
ldr r3, [r3, #4]
add r1, r4, #0
add r2, r7, #0
bl sub_02064938
cmp r0, #0
bne _02054A52
add r0, r5, #0
add r1, r4, #0
add r2, r7, #0
bl sub_020548C0
str r0, [sp, #0xc]
cmp r0, #0
bne _02054A4C
add r0, sp, #8
ldrb r0, [r0]
cmp r0, #2
bne _02054A4C
add r0, r5, #0
add r1, r4, #0
add r2, r7, #0
bl sub_02054918
_02054A4C:
ldr r0, [sp, #0xc]
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
_02054A52:
ldr r0, [sp, #0xc]
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
_02054A58:
mov r0, #1
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020549F4
thumb_func_start sub_02054A60
sub_02054A60: ; 0x02054A60
push {r3, r4, r5, r6, r7, lr}
add r6, r0, r2
ldr r0, [sp, #0x18]
add r4, r1, r3
add r0, r6, r0
str r0, [sp]
ldr r0, [sp, #0x1c]
ldr r5, [sp, #0x20]
add r7, r4, r0
cmp r6, #0
blt _02054A84
cmp r4, #0
blt _02054A84
ldr r0, [sp]
cmp r0, #0
blt _02054A84
cmp r7, #0
bge _02054A88
_02054A84:
bl GF_AssertFail
_02054A88:
lsl r0, r6, #0x10
str r0, [r5]
lsl r0, r4, #0x10
str r0, [r5, #4]
ldr r0, [sp]
lsl r0, r0, #0x10
str r0, [r5, #8]
lsl r0, r7, #0x10
str r0, [r5, #0xc]
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02054A60
thumb_func_start sub_02054A9C
sub_02054A9C: ; 0x02054A9C
push {r4, r5, lr}
sub sp, #0xc
add r3, r0, #0
add r5, r1, #0
add r4, r2, #0
add r0, sp, #0
add r1, r3, #0
bl ov01_021F3B0C
ldr r1, [sp]
ldr r0, [r4]
ldr r2, [sp, #8]
add r0, r1, r0
str r0, [sp]
ldr r1, [r4, #8]
add r2, r2, r1
str r2, [sp, #8]
ldr r1, [r5]
cmp r1, r0
bgt _02054ADC
ldr r1, [r5, #8]
cmp r0, r1
bgt _02054ADC
ldr r0, [r5, #4]
cmp r0, r2
bgt _02054ADC
ldr r0, [r5, #0xc]
cmp r2, r0
bgt _02054ADC
add sp, #0xc
mov r0, #1
pop {r4, r5, pc}
_02054ADC:
mov r0, #0
add sp, #0xc
pop {r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02054A9C
thumb_func_start sub_02054AE4
sub_02054AE4: ; 0x02054AE4
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
str r0, [sp]
mov r0, #0
add r6, r1, #0
add r7, r2, #0
str r3, [sp, #4]
str r0, [sp, #8]
_02054AF4:
ldr r1, [sp]
ldr r0, [sp, #8]
ldr r1, [r1, #0x2c]
add r2, sp, #0xc
bl ov01_021F630C
ldr r0, [sp, #0xc]
cmp r0, #0
beq _02054B5E
ldr r0, [sp]
ldr r1, [sp, #8]
ldr r0, [r0, #0x2c]
bl ov01_021F652C
add r4, r0, #0
ldr r0, [sp]
ldr r0, [r0, #0x30]
bl sub_0203B004
add r1, r0, #0
add r0, r4, #0
add r2, sp, #0x10
bl sub_02054DC8
mov r5, #0
_02054B26:
ldr r0, [sp, #0xc]
add r1, r5, #0
bl ov01_021F3B44
add r1, r7, #0
add r2, sp, #0x10
add r4, r0, #0
bl sub_02054A9C
cmp r0, #0
beq _02054B54
add r0, r4, #0
bl ov01_021F3B34
cmp r0, r6
bne _02054B54
ldr r0, [sp, #4]
cmp r0, #0
beq _02054B4E
str r4, [r0]
_02054B4E:
add sp, #0x1c
mov r0, #1
pop {r4, r5, r6, r7, pc}
_02054B54:
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #0x20
blo _02054B26
_02054B5E:
ldr r0, [sp, #8]
add r0, r0, #1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
cmp r0, #4
blo _02054AF4
mov r0, #0
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02054AE4
thumb_func_start sub_02054B74
sub_02054B74: ; 0x02054B74
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
str r0, [sp]
mov r0, #0
add r5, r1, #0
add r4, r2, #0
str r3, [sp, #4]
str r0, [sp, #8]
_02054B84:
ldr r1, [sp]
ldr r0, [sp, #8]
ldr r1, [r1, #0x2c]
add r2, sp, #0xc
bl ov01_021F630C
ldr r0, [sp, #0xc]
cmp r0, #0
beq _02054C0A
ldr r0, [sp]
ldr r1, [sp, #8]
ldr r0, [r0, #0x2c]
bl ov01_021F652C
add r6, r0, #0
ldr r0, [sp]
ldr r0, [r0, #0x30]
bl sub_0203B004
add r1, r0, #0
add r0, r6, #0
add r2, sp, #0x10
bl sub_02054DC8
mov r6, #0
_02054BB6:
ldr r0, [sp, #0xc]
add r1, r6, #0
bl ov01_021F3B44
ldr r1, [sp, #4]
add r2, sp, #0x10
add r7, r0, #0
bl sub_02054A9C
cmp r0, #0
beq _02054C00
add r0, r7, #0
bl ov01_021F3B34
mov r1, #0
cmp r4, #0
bls _02054C00
_02054BD8:
lsl r2, r1, #2
ldr r2, [r5, r2]
cmp r0, r2
bne _02054BF6
ldr r1, [sp, #0x30]
cmp r1, #0
beq _02054BE8
str r7, [r1]
_02054BE8:
ldr r1, [sp, #0x34]
cmp r1, #0
beq _02054BF0
str r0, [r1]
_02054BF0:
add sp, #0x1c
mov r0, #1
pop {r4, r5, r6, r7, pc}
_02054BF6:
add r1, r1, #1
lsl r1, r1, #0x18
lsr r1, r1, #0x18
cmp r1, r4
blo _02054BD8
_02054C00:
add r0, r6, #1
lsl r0, r0, #0x18
lsr r6, r0, #0x18
cmp r6, #0x20
blo _02054BB6
_02054C0A:
ldr r0, [sp, #8]
add r0, r0, #1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
cmp r0, #4
blo _02054B84
mov r0, #0
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02054B74
thumb_func_start sub_02054C20
sub_02054C20: ; 0x02054C20
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
str r0, [sp]
add r5, r1, #0
str r2, [sp, #4]
str r3, [sp, #8]
mov r7, #0
_02054C2E:
ldr r1, [sp]
add r0, r7, #0
ldr r1, [r1, #0x2c]
add r2, sp, #0xc
bl ov01_021F630C
ldr r0, [sp, #0xc]
cmp r0, #0
beq _02054C80
mov r4, #0
_02054C42:
ldr r0, [sp, #0xc]
add r1, r4, #0
bl ov01_021F3B44
add r6, r0, #0
bl ov01_021F3B34
cmp r0, r5
bne _02054C76
ldr r0, [sp, #4]
cmp r0, #0
beq _02054C5C
str r6, [r0]
_02054C5C:
ldr r0, [sp, #8]
cmp r0, #0
beq _02054C70
ldr r0, [sp]
add r1, r7, #0
ldr r0, [r0, #0x2c]
bl ov01_021F652C
ldr r1, [sp, #8]
str r0, [r1]
_02054C70:
add sp, #0x10
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02054C76:
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, #0x20
blo _02054C42
_02054C80:
add r0, r7, #1
lsl r0, r0, #0x18
lsr r7, r0, #0x18
cmp r7, #4
blo _02054C2E
mov r0, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02054C20
thumb_func_start sub_02054C90
sub_02054C90: ; 0x02054C90
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
str r0, [sp]
mov r0, #0
add r5, r1, #0
add r4, r2, #0
str r3, [sp, #4]
str r0, [sp, #8]
_02054CA0:
ldr r1, [sp]
ldr r0, [sp, #8]
ldr r1, [r1, #0x2c]
add r2, sp, #0xc
bl ov01_021F630C
ldr r0, [sp, #0xc]
cmp r0, #0
beq _02054CFA
mov r6, #0
_02054CB4:
ldr r0, [sp, #0xc]
add r1, r6, #0
bl ov01_021F3B44
add r7, r0, #0
bl ov01_021F3B34
mov r1, #0
cmp r4, #0
bls _02054CF0
_02054CC8:
lsl r2, r1, #2
ldr r2, [r5, r2]
cmp r0, r2
bne _02054CE6
ldr r1, [sp, #4]
cmp r1, #0
beq _02054CD8
str r7, [r1]
_02054CD8:
ldr r1, [sp, #0x28]
cmp r1, #0
beq _02054CE0
str r0, [r1]
_02054CE0:
add sp, #0x10
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02054CE6:
add r1, r1, #1
lsl r1, r1, #0x18
lsr r1, r1, #0x18
cmp r1, r4
blo _02054CC8
_02054CF0:
add r0, r6, #1
lsl r0, r0, #0x18
lsr r6, r0, #0x18
cmp r6, #0x20
blo _02054CB4
_02054CFA:
ldr r0, [sp, #8]
add r0, r0, #1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
cmp r0, #4
blo _02054CA0
mov r0, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02054C90
thumb_func_start sub_02054D10
sub_02054D10: ; 0x02054D10
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r7, r2, #0
str r0, [sp]
add r0, r1, #0
lsl r1, r7, #2
str r3, [sp, #4]
bl AllocFromHeapAtEnd
str r0, [sp, #8]
mov r0, #0
cmp r7, #0
ble _02054D36
ldr r1, [sp, #8]
ldr r2, [sp, #0x38]
_02054D2E:
add r0, r0, #1
stmia r1!, {r2}
cmp r0, r7
blt _02054D2E
_02054D36:
mov r4, #0
str r4, [sp, #0xc]
_02054D3A:
ldr r1, [sp]
ldr r0, [sp, #0xc]
ldr r1, [r1, #0x2c]
add r2, sp, #0x10
bl ov01_021F630C
ldr r0, [sp, #0x10]
cmp r0, #0
beq _02054DB2
ldr r0, [sp]
ldr r1, [sp, #0xc]
ldr r0, [r0, #0x2c]
bl ov01_021F652C
add r5, r0, #0
ldr r0, [sp]
ldr r0, [r0, #0x30]
bl sub_0203B004
add r1, r0, #0
add r0, r5, #0
add r2, sp, #0x14
bl sub_02054DC8
mov r5, #0
_02054D6C:
ldr r0, [sp, #0x10]
add r1, r5, #0
bl ov01_021F3B44
ldr r1, [sp, #4]
add r2, sp, #0x14
add r6, r0, #0
bl sub_02054A9C
cmp r0, #0
beq _02054DA8
add r0, r6, #0
bl ov01_021F3B34
cmp r0, #0
beq _02054DA8
cmp r4, r7
blo _02054D9A
bl GF_AssertFail
ldr r0, [sp, #8]
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
_02054D9A:
add r1, r4, #1
lsl r1, r1, #0x18
add r2, r4, #0
lsr r4, r1, #0x18
ldr r1, [sp, #8]
lsl r2, r2, #2
str r0, [r1, r2]
_02054DA8:
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #0x20
blo _02054D6C
_02054DB2:
ldr r0, [sp, #0xc]
add r0, r0, #1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0xc]
cmp r0, #4
blo _02054D3A
ldr r0, [sp, #8]
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02054D10
thumb_func_start sub_02054DC8
sub_02054DC8: ; 0x02054DC8
push {r4, r5, r6, lr}
add r4, r2, #0
mov r2, #1
lsl r2, r2, #0x14
str r2, [r4]
add r5, r0, #0
add r6, r1, #0
str r2, [r4, #8]
bl _s32_div_f
lsl r1, r1, #0x10
lsr r1, r1, #0x10
ldr r0, [r4]
lsl r1, r1, #0x15
add r0, r0, r1
str r0, [r4]
add r0, r5, #0
add r1, r6, #0
bl _s32_div_f
lsl r0, r0, #0x10
lsr r0, r0, #0x10
ldr r1, [r4, #8]
lsl r0, r0, #0x15
add r0, r1, r0
str r0, [r4, #8]
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02054DC8
thumb_func_start sub_02054E00
sub_02054E00: ; 0x02054E00
ldr r3, _02054E1C ; =0x020FC60C
mov r2, #0
_02054E04:
ldrh r1, [r3]
cmp r0, r1
bne _02054E0E
mov r0, #1
bx lr
_02054E0E:
add r2, r2, #1
add r3, r3, #2
cmp r2, #4
blt _02054E04
mov r0, #0
bx lr
nop
_02054E1C: .word 0x020FC60C
thumb_func_end sub_02054E00
thumb_func_start sub_02054E20
sub_02054E20: ; 0x02054E20
push {r4, lr}
add r4, r0, #0
bl sub_02054E00
cmp r0, #0
bne _02054E30
mov r0, #0
pop {r4, pc}
_02054E30:
ldr r2, _02054E4C ; =0x020FC5FC
mov r1, #0
_02054E34:
ldrh r0, [r2]
cmp r4, r0
bne _02054E3E
mov r0, #1
pop {r4, pc}
_02054E3E:
add r1, r1, #1
add r2, r2, #2
cmp r1, #3
blt _02054E34
mov r0, #0
pop {r4, pc}
nop
_02054E4C: .word 0x020FC5FC
thumb_func_end sub_02054E20
thumb_func_start sub_02054E50
sub_02054E50: ; 0x02054E50
cmp r0, #0xd0
bne _02054E58
mov r0, #1
bx lr
_02054E58:
mov r0, #0
bx lr
thumb_func_end sub_02054E50
thumb_func_start sub_02054E5C
sub_02054E5C: ; 0x02054E5C
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r6, r0, #0
add r4, r2, #0
cmp r5, #0
blt _02054E6C
cmp r4, #0
bge _02054E74
_02054E6C:
bl GF_AssertFail
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02054E74:
ldr r0, [r6, #0x30]
bl sub_0203B004
add r7, r0, #0
ldr r0, [r6, #0x30]
bl sub_0203B014
asr r1, r5, #4
lsr r1, r1, #0x1b
add r1, r5, r1
asr r2, r1, #5
asr r1, r4, #4
lsr r1, r1, #0x1b
add r1, r4, r1
asr r1, r1, #5
cmp r2, r7
blt _02054EA2
cmp r1, r0
blt _02054EA2
bl GF_AssertFail
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02054EA2:
add r0, r1, #0
mul r0, r7
add r0, r2, r0
lsl r0, r0, #0x10
lsr r0, r0, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02054E5C
thumb_func_start sub_02054EB0
sub_02054EB0: ; 0x02054EB0
push {r4, r5, r6, r7, lr}
sub sp, #0xc
str r0, [sp]
mov r0, #0
add r6, r1, #0
add r7, r2, #0
str r0, [sp, #4]
_02054EBE:
ldr r1, [sp]
ldr r0, [sp, #4]
ldr r1, [r1, #0x2c]
add r2, sp, #8
bl ov01_021F630C
ldr r0, [sp, #8]
cmp r0, #0
beq _02054F00
mov r5, #0
_02054ED2:
ldr r0, [sp, #8]
add r1, r5, #0
bl ov01_021F3B44
add r4, r0, #0
bl ov01_021F3B30
cmp r0, #0
beq _02054EF6
add r0, r4, #0
bl ov01_021F3B34
cmp r0, r6
bne _02054EF6
add r0, r4, #0
add r1, r7, #0
bl ov01_021F3B2C
_02054EF6:
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #0x20
blo _02054ED2
_02054F00:
ldr r0, [sp, #4]
add r0, r0, #1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
cmp r0, #4
blo _02054EBE
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02054EB0
thumb_func_start sub_02054F14
sub_02054F14: ; 0x02054F14
push {r3, lr}
bl sub_02005FA0
bl sub_020053F0
mov r0, #0
bl sub_02004AD8
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02054F14
thumb_func_start sub_02054F28
sub_02054F28: ; 0x02054F28
push {r4, lr}
ldr r0, [r0, #0xc]
add r4, r1, #0
bl sub_0203B9C4
bl sub_0203B980
strh r4, [r0]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02054F28
thumb_func_start sub_02054F3C
sub_02054F3C: ; 0x02054F3C
push {r3, lr}
ldr r0, [r0, #0xc]
bl sub_0203B9C4
bl sub_0203B980
ldrh r0, [r0]
pop {r3, pc}
thumb_func_end sub_02054F3C
thumb_func_start sub_02054F4C
sub_02054F4C: ; 0x02054F4C
push {r3, lr}
ldr r0, [r0, #0xc]
bl sub_0203B9C4
bl sub_0203B980
mov r1, #0
strh r1, [r0]
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02054F4C
thumb_func_start sub_02054F60
sub_02054F60: ; 0x02054F60
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4, #0x40]
add r5, r1, #0
bl sub_0205C700
cmp r0, #2
bne _02054F82
ldr r0, [r4, #0xc]
bl sub_020503D0
bl sub_02066A3C
cmp r0, #0
bne _02054F82
ldr r0, _02054FA4 ; =0x000003F6
pop {r3, r4, r5, pc}
_02054F82:
add r0, r4, #0
add r1, r5, #0
bl sub_02054FA8
add r5, r0, #0
add r0, r4, #0
bl sub_02054F3C
cmp r0, #0
beq _02054F9E
add r0, r4, #0
bl sub_02054F3C
add r5, r0, #0
_02054F9E:
add r0, r5, #0
pop {r3, r4, r5, pc}
nop
_02054FA4: .word 0x000003F6
thumb_func_end sub_02054F60
thumb_func_start sub_02054FA8
sub_02054FA8: ; 0x02054FA8
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
bl IsNighttime
cmp r0, #0
bne _02054FBE
add r0, r4, #0
bl sub_0203B2FC
b _02054FC4
_02054FBE:
add r0, r4, #0
bl sub_0203B310
_02054FC4:
add r6, r0, #0
ldr r0, [r5, #0xc]
bl sub_020503D0
add r1, r4, #0
bl sub_020667A4
cmp r0, #0
beq _02054FD8
add r6, r0, #0
_02054FD8:
add r0, r6, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02054FA8
thumb_func_start sub_02054FDC
sub_02054FDC: ; 0x02054FDC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
ldr r0, [r5, #0x40]
add r4, r1, #0
add r7, r2, #0
bl sub_0205C700
add r6, r0, #0
bl sub_02004A54
cmp r0, #1
bne _02054FFC
add sp, #0x10
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02054FFC:
add r0, r5, #0
bl sub_02004A90
cmp r4, r0
bne _0205500C
add sp, #0x10
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0205500C:
bl sub_020053F0
add r0, r5, #0
add r1, r7, #0
add r2, sp, #0xc
add r3, sp, #8
bl sub_0205504C
cmp r6, #1
beq _02055022
bne _02055036
_02055022:
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r1, [sp, #0xc]
ldr r2, [sp, #8]
add r0, r4, #0
mov r3, #0x1e
bl sub_02005A4C
b _02055044
_02055036:
mov r3, #0
str r3, [sp]
ldr r1, [sp, #0xc]
ldr r2, [sp, #8]
add r0, r4, #0
bl sub_020059F0
_02055044:
mov r0, #1
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02054FDC
thumb_func_start sub_0205504C
sub_0205504C: ; 0x0205504C
cmp r1, #4
bhi _0205508E
add r0, r1, r1
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205505C: ; jump table
.short _02055066 - _0205505C - 2 ; case 0
.short _02055070 - _0205505C - 2 ; case 1
.short _0205507A - _0205505C - 2 ; case 2
.short _0205508E - _0205505C - 2 ; case 3
.short _02055084 - _0205505C - 2 ; case 4
_02055066:
mov r0, #0x1e
str r0, [r2]
mov r0, #0
str r0, [r3]
bx lr
_02055070:
mov r0, #0x3c
str r0, [r2]
mov r0, #0
str r0, [r3]
bx lr
_0205507A:
mov r0, #0x3c
str r0, [r2]
mov r0, #0xf
str r0, [r3]
bx lr
_02055084:
mov r0, #0x1e
str r0, [r2]
mov r0, #0
str r0, [r3]
bx lr
_0205508E:
mov r0, #0x3c
str r0, [r2]
mov r0, #0
str r0, [r3]
bx lr
thumb_func_end sub_0205504C
thumb_func_start sub_02055098
sub_02055098: ; 0x02055098
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r5, r0, #0
cmp r4, #2
blt _020550A6
bl GF_AssertFail
_020550A6:
add r0, r5, #0
mov r1, #1
bl sub_02073470
lsl r0, r0, #0x18
lsr r5, r0, #0x18
ldr r0, _020550DC ; =0x00000454
ldr r1, _020550E0 ; =0x020FC61C
mov r3, #0
mov r6, #6
_020550BA:
add r7, r3, #0
mul r7, r6
add r2, r1, r7
ldrh r7, [r1, r7]
cmp r5, r7
bne _020550CE
add r0, r4, #1
lsl r0, r0, #1
ldrh r0, [r2, r0]
pop {r3, r4, r5, r6, r7, pc}
_020550CE:
add r2, r3, #1
lsl r2, r2, #0x10
lsr r3, r2, #0x10
cmp r3, #0x2c
blo _020550BA
pop {r3, r4, r5, r6, r7, pc}
nop
_020550DC: .word 0x00000454
_020550E0: .word 0x020FC61C
thumb_func_end sub_02055098
thumb_func_start sub_020550E4
sub_020550E4: ; 0x020550E4
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r1, #0
bl sub_02004A54
cmp r0, #1
beq _0205510C
bl sub_02004A90
add r4, r0, #0
add r0, r5, #0
add r1, r6, #0
bl sub_02054FA8
cmp r4, r0
beq _0205510C
mov r0, #0
mov r1, #0x28
bl sub_02005F50
_0205510C:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020550E4
thumb_func_start sub_02055110
sub_02055110: ; 0x02055110
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r1, #0
add r4, r2, #0
bl sub_02004A54
cmp r0, #1
beq _02055160
mov r0, #0
bl sub_02004AD8
add r0, r5, #0
add r1, r6, #0
bl sub_02054FA8
add r6, r0, #0
bl sub_02004AC8
mov r0, #1
bl sub_02005CF4
mov r1, #2
add r0, r5, #0
mvn r1, r1
add r0, #0xc4
str r1, [r0]
cmp r4, #1
bne _02055152
add r0, r5, #0
add r1, r6, #0
bl sub_02055198
b _0205515A
_02055152:
mov r0, #0
add r1, r6, #0
bl sub_02055198
_0205515A:
mov r0, #0
bl sub_02005CF4
_02055160:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02055110
thumb_func_start sub_02055164
sub_02055164: ; 0x02055164
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_02054F60
add r6, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_02054FA8
bl sub_02004AC8
mov r0, #1
bl sub_02005CF4
mov r0, #0
add r1, r6, #0
bl sub_02055198
add r4, r0, #0
mov r0, #0
bl sub_02005CF4
add r0, r4, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02055164
thumb_func_start sub_02055198
sub_02055198: ; 0x02055198
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, r1, #0
bl sub_02004EB4
add r4, r0, #0
cmp r4, #1
bne _020551B4
cmp r5, #0
beq _020551B4
add r0, r5, #0
mov r1, #0
bl ov01_021E7F00
_020551B4:
add r0, r4, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02055198
thumb_func_start sub_020551B8
sub_020551B8: ; 0x020551B8
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
beq _020551D6
cmp r0, #1
beq _020551FC
b _02055212
_020551D6:
ldr r0, [r4, #8]
bl ov01_021EFB64
ldr r0, [r4, #8]
add r1, r5, #0
add r2, r4, #4
bl ov01_021EFC94
ldr r1, [r4, #0xc]
mov r0, #5
lsl r1, r1, #0x10
lsr r1, r1, #0x10
mov r2, #1
bl sub_02004EC4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02055212
_020551FC:
ldr r0, [r4, #4]
cmp r0, #1
bne _02055212
ldr r0, [r4, #8]
bl ov01_021EFC04
add r0, r4, #0
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, pc}
_02055212:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020551B8
thumb_func_start sub_02055218
sub_02055218: ; 0x02055218
push {r4, r5, r6, lr}
add r6, r0, #0
add r5, r1, #0
mov r0, #0xb
mov r1, #0x10
add r4, r2, #0
bl AllocFromHeapAtEnd
add r2, r0, #0
mov r0, #0
str r0, [r2]
str r0, [r2, #4]
str r5, [r2, #8]
ldr r1, _02055240 ; =sub_020551B8
add r0, r6, #0
str r4, [r2, #0xc]
bl sub_02050530
pop {r4, r5, r6, pc}
nop
_02055240: .word sub_020551B8
thumb_func_end sub_02055218
thumb_func_start sub_02055244
sub_02055244: ; 0x02055244
push {r3, lr}
bl sub_0205064C
bl sub_0203DF7C
cmp r0, #0
bne _02055256
mov r0, #1
pop {r3, pc}
_02055256:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02055244
thumb_func_start sub_0205525C
sub_0205525C: ; 0x0205525C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205064C
add r4, r0, #0
bl sub_0203DF7C
cmp r0, #0
bne _02055274
bl GF_AssertFail
pop {r3, r4, r5, pc}
_02055274:
add r0, r4, #0
bl sub_0203DF34
ldr r1, _02055288 ; =sub_02055244
add r0, r5, #0
mov r2, #0
bl sub_02050530
pop {r3, r4, r5, pc}
nop
_02055288: .word sub_02055244
thumb_func_end sub_0205525C
thumb_func_start sub_0205528C
sub_0205528C: ; 0x0205528C
push {r3, lr}
bl sub_0205064C
bl sub_020505C8
cmp r0, #0
beq _0205529E
mov r0, #1
pop {r3, pc}
_0205529E:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205528C
thumb_func_start sub_020552A4
sub_020552A4: ; 0x020552A4
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205064C
add r4, r0, #0
bl sub_0203DF7C
cmp r0, #0
beq _020552BC
bl GF_AssertFail
pop {r3, r4, r5, pc}
_020552BC:
add r0, r4, #0
bl sub_020505C0
ldr r1, _020552D0 ; =sub_0205528C
add r0, r5, #0
mov r2, #0
bl sub_02050530
pop {r3, r4, r5, pc}
nop
_020552D0: .word sub_0205528C
thumb_func_end sub_020552A4
thumb_func_start sub_020552D4
sub_020552D4: ; 0x020552D4
push {r3, lr}
bl sub_0200FB5C
cmp r0, #0
beq _020552E2
mov r0, #1
pop {r3, pc}
_020552E2:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020552D4
thumb_func_start sub_020552E8
sub_020552E8: ; 0x020552E8
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
bl sub_0205064C
bl sub_0203DF7C
cmp r0, #0
bne _02055302
bl GF_AssertFail
add sp, #0xc
pop {r3, r4, pc}
_02055302:
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl sub_0200FA24
ldr r1, _02055328 ; =sub_020552D4
add r0, r4, #0
mov r2, #0
bl sub_02050530
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
_02055328: .word sub_020552D4
thumb_func_end sub_020552E8
thumb_func_start sub_0205532C
sub_0205532C: ; 0x0205532C
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
bl sub_0205064C
bl sub_0203DF7C
cmp r0, #0
bne _02055346
bl GF_AssertFail
add sp, #0xc
pop {r3, r4, pc}
_02055346:
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #0
add r2, r1, #0
add r3, r0, #0
bl sub_0200FA24
ldr r1, _0205536C ; =sub_020552D4
add r0, r4, #0
mov r2, #0
bl sub_02050530
add sp, #0xc
pop {r3, r4, pc}
nop
_0205536C: .word sub_020552D4
thumb_func_end sub_0205532C
thumb_func_start sub_02055370
sub_02055370: ; 0x02055370
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
beq _0205538A
cmp r0, #1
beq _02055398
cmp r0, #2
beq _020553A6
b _020553AA
_0205538A:
add r0, r5, #0
bl sub_020552E8
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020553AA
_02055398:
add r0, r5, #0
bl sub_0205525C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _020553AA
_020553A6:
mov r0, #1
pop {r3, r4, r5, pc}
_020553AA:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02055370
thumb_func_start sub_020553B0
sub_020553B0: ; 0x020553B0
ldr r3, _020553B8 ; =sub_02050530
ldr r1, _020553BC ; =sub_02055370
mov r2, #0
bx r3
.balign 4, 0
_020553B8: .word sub_02050530
_020553BC: .word sub_02055370
thumb_func_end sub_020553B0
thumb_func_start sub_020553C0
sub_020553C0: ; 0x020553C0
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_02050654
add r4, r0, #0
add r0, r5, #0
bl sub_0205064C
ldr r1, [r4]
cmp r1, #0
beq _020553E0
cmp r1, #1
beq _020553EE
cmp r1, #2
beq _02055400
b _02055404
_020553E0:
add r0, r5, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02055404
_020553EE:
bl ov01_021EFAF8
add r0, r5, #0
bl sub_0205532C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02055404
_02055400:
mov r0, #1
pop {r3, r4, r5, pc}
_02055404:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_020553C0
thumb_func_start sub_02055408
sub_02055408: ; 0x02055408
ldr r3, _02055410 ; =sub_02050530
ldr r1, _02055414 ; =sub_020553C0
mov r2, #0
bx r3
.balign 4, 0
_02055410: .word sub_02050530
_02055414: .word sub_020553C0
thumb_func_end sub_02055408
thumb_func_start sub_02055418
sub_02055418: ; 0x02055418
push {r4, r5, lr}
sub sp, #0x1c
add r5, r0, #0
ldr r0, [r5, #0xc]
bl Sav2_SysInfo_RTC_get
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
beq _0205544A
add r0, sp, #0xc
add r1, sp, #0
bl GF_RTC_CopyDateTime
add r0, r5, #0
add r1, r4, #0
add r2, sp, #0xc
bl sub_02055450
add r0, r5, #0
add r1, r4, #0
add r2, sp, #0xc
add r3, sp, #0
bl sub_02055478
_0205544A:
add sp, #0x1c
pop {r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02055418
thumb_func_start sub_02055450
sub_02055450: ; 0x02055450
push {r4, r5, r6, lr}
add r6, r0, #0
add r5, r1, #0
add r0, r2, #0
bl sub_020DC284
ldr r1, [r5, #0x20]
add r4, r0, #0
cmp r4, r1
bhs _02055468
str r4, [r5, #0x20]
pop {r4, r5, r6, pc}
_02055468:
cmp r4, r1
bls _02055476
add r0, r6, #0
sub r1, r4, r1
bl sub_02055508
str r4, [r5, #0x20]
_02055476:
pop {r4, r5, r6, pc}
thumb_func_end sub_02055450
thumb_func_start sub_02055478
sub_02055478: ; 0x02055478
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r2, #0
str r0, [sp]
add r6, r3, #0
add r5, r1, #0
add r0, r4, #0
add r1, r6, #0
bl RTC_ConvertDateTimeToSecond
str r1, [sp, #8]
add r1, r5, #0
add r7, r0, #0
add r0, r5, #4
add r1, #0x14
bl RTC_ConvertDateTimeToSecond
sub r2, r7, r0
ldr r2, [sp, #8]
sbc r2, r1
bge _020554BA
add r2, r5, #4
ldmia r4!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r6!, {r0, r1}
add r5, #0x14
stmia r5!, {r0, r1}
ldr r0, [r6]
add sp, #0x10
str r0, [r5]
pop {r3, r4, r5, r6, r7, pc}
_020554BA:
sub r0, r7, r0
str r0, [sp, #0xc]
cmp r0, #0
ble _020554D0
ldr r0, [sp]
bl sub_02092DEC
ldr r2, [sp, #8]
add r1, r7, #0
bl sub_02092F30
_020554D0:
ldr r0, [sp, #0xc]
mov r1, #0x3c
bl _s32_div_f
add r7, r0, #0
cmp r7, #0
ble _02055504
add r0, r5, #0
add r1, r7, #0
bl sub_02028E2C
ldr r0, [sp]
add r1, r7, #0
add r2, r6, #0
bl sub_020555B4
add r2, r5, #4
ldmia r4!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r6!, {r0, r1}
add r5, #0x14
stmia r5!, {r0, r1}
ldr r0, [r6]
str r0, [r5]
_02055504:
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02055478
thumb_func_start sub_02055508
sub_02055508: ; 0x02055508
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_02055670
add r6, r0, #0
add r0, r5, #0
bl sub_02040470
ldr r0, [r5, #0xc]
add r1, r4, #0
bl sub_0206759C
ldr r0, [r5, #0xc]
bl sub_0202C854
add r1, r4, #0
bl sub_0202C78C
ldr r0, [r5, #0xc]
bl sub_0202D9C4
add r7, r0, #0
ldr r0, [r5, #0xc]
bl sub_0202C854
bl sub_0202C7DC
add r1, r0, #0
add r0, r7, #0
bl sub_0202D9A0
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
add r1, r4, #0
bl sub_02071A54
lsl r1, r4, #0x10
ldr r0, [r5, #0xc]
lsr r1, r1, #0x10
bl sub_02066D10
ldr r0, [r5, #0xc]
bl sub_02066D60
ldr r0, [r5, #0xc]
bl sub_020674BC
ldr r0, [r5, #0xc]
bl sub_0202CA44
bl sub_0202CB6C
add r0, r5, #0
bl sub_020556B8
ldr r0, [r5, #0xc]
bl sub_0202ED88
add r1, r4, #0
bl sub_0202F294
cmp r6, #0
bne _0205559E
ldr r0, [r5, #0xc]
bl sub_02031B14
add r1, r4, #0
bl sub_02031CCC
ldr r0, [r5, #0xc]
add r1, r4, #0
bl sub_0209730C
_0205559E:
ldr r0, [r5, #0xc]
bl sub_02031968
bl sub_02031AE4
ldr r0, [r5, #0xc]
bl sub_020503D0
bl sub_02066E94
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02055508
thumb_func_start sub_020555B4
sub_020555B4: ; 0x020555B4
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
add r6, r2, #0
bl sub_02092DEC
add r1, r4, #0
mov r2, #0
bl sub_02092E34
add r0, r5, #0
add r1, r4, #0
bl sub_0206DB34
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
add r1, r4, #0
add r2, r6, #0
bl sub_02071E78
pop {r4, r5, r6, pc}
thumb_func_end sub_020555B4
thumb_func_start sub_020555E0
sub_020555E0: ; 0x020555E0
push {r3, lr}
ldr r0, [r0, #0xc]
bl Sav2_SysInfo_RTC_get
ldr r0, [r0, #0x14]
bl GF_RTC_GetTimeOfDayByHour
pop {r3, pc}
thumb_func_end sub_020555E0
thumb_func_start sub_020555F0
sub_020555F0: ; 0x020555F0
push {r3, lr}
ldr r0, [r0, #0xc]
bl Sav2_SysInfo_RTC_get
ldr r0, [r0, #0x14]
bl sub_0201485C
pop {r3, pc}
thumb_func_end sub_020555F0
thumb_func_start sub_02055600
sub_02055600: ; 0x02055600
push {r3, lr}
ldr r0, [r0, #0xc]
bl Sav2_SysInfo_RTC_get
ldr r0, [r0, #8]
pop {r3, pc}
thumb_func_end sub_02055600
thumb_func_start sub_0205560C
sub_0205560C: ; 0x0205560C
push {r3, lr}
ldr r0, [r0, #0xc]
bl Sav2_SysInfo_RTC_get
ldr r0, [r0, #0xc]
pop {r3, pc}
thumb_func_end sub_0205560C
thumb_func_start sub_02055618
sub_02055618: ; 0x02055618
push {r3, lr}
ldr r0, [r0, #0xc]
bl Sav2_SysInfo_RTC_get
ldr r0, [r0, #0x14]
pop {r3, pc}
thumb_func_end sub_02055618
thumb_func_start sub_02055624
sub_02055624: ; 0x02055624
push {r3, r4, r5, lr}
ldr r0, [r0, #0xc]
add r5, r1, #0
add r4, r2, #0
bl Sav2_SysInfo_RTC_get
add r3, r0, #0
ldr r2, [r3, #0x24]
ldr r3, [r3, #0x28]
add r0, r5, #0
add r1, r4, #0
bl sub_020DC514
pop {r3, r4, r5, pc}
thumb_func_end sub_02055624
thumb_func_start sub_02055640
sub_02055640: ; 0x02055640
push {r3, r4, r5, lr}
ldr r0, [r0, #0xc]
add r5, r1, #0
add r4, r2, #0
bl Sav2_SysInfo_RTC_get
add r3, r0, #0
ldr r2, [r3, #0x2c]
ldr r3, [r3, #0x30]
add r0, r5, #0
add r1, r4, #0
bl sub_020DC514
pop {r3, r4, r5, pc}
thumb_func_end sub_02055640
thumb_func_start sub_0205565C
sub_0205565C: ; 0x0205565C
push {r4, lr}
ldr r0, [r0, #0xc]
bl Sav2_SysInfo_RTC_get
add r4, r0, #0
bl GF_RTC_DateTimeToSec
str r0, [r4, #0x2c]
str r1, [r4, #0x30]
pop {r4, pc}
thumb_func_end sub_0205565C
thumb_func_start sub_02055670
sub_02055670: ; 0x02055670
push {r3, lr}
ldr r0, [r0, #0xc]
bl Sav2_SysInfo_RTC_get
bl sub_02028E1C
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02055670
thumb_func_start sub_02055680
sub_02055680: ; 0x02055680
push {r4, r5, r6, lr}
add r6, r1, #0
add r5, r0, #0
add r0, r6, #0
mov r1, #0x60
bl AllocFromHeap
add r4, r0, #0
mov r1, #0
mov r2, #0x60
bl MIi_CpuFill8
add r0, r5, #0
add r1, r4, #0
str r6, [r4]
bl sub_020556C8
add r0, r4, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02055680
thumb_func_start sub_020556A8
sub_020556A8: ; 0x020556A8
push {r4, lr}
add r4, r0, #0
bl sub_020556FC
add r0, r4, #0
bl FreeToHeap
pop {r4, pc}
thumb_func_end sub_020556A8
thumb_func_start sub_020556B8
sub_020556B8: ; 0x020556B8
push {r3, lr}
ldr r0, [r0, #0xc]
bl sub_0202A96C
bl sub_0202AE74
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020556B8
thumb_func_start sub_020556C8
sub_020556C8: ; 0x020556C8
push {r3, r4, r5, lr}
ldr r4, [r0, #0x44]
add r5, r1, #0
add r0, r4, #0
mov r1, #0x1f
bl ov01_021F149C
add r1, r0, #0
ldr r0, [r5]
bl AllocFromHeap
str r0, [r5, #0x5c]
ldr r2, [r5, #0x5c]
add r0, r4, #0
mov r1, #0x1f
bl ov01_021F14A8
add r1, r5, #0
add r0, r5, #4
add r5, #0x5c
add r1, #0x58
add r2, r5, #0
bl sub_0201F51C
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020556C8
thumb_func_start sub_020556FC
sub_020556FC: ; 0x020556FC
ldr r3, _02055704 ; =ov01_021F1448
ldr r0, [r0, #0x5c]
bx r3
nop
_02055704: .word ov01_021F1448
thumb_func_end sub_020556FC
thumb_func_start sub_02055708
sub_02055708: ; 0x02055708
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bne _02055714
mov r0, #0
pop {r3, r4, r5, pc}
_02055714:
add r0, r4, #0
bl sub_0205F25C
ldr r1, _0205575C ; =0x00000107
cmp r0, r1
beq _02055748
add r2, r1, #1
cmp r0, r2
beq _02055748
add r2, r1, #2
cmp r0, r2
beq _02055748
add r2, r1, #3
cmp r0, r2
beq _02055748
add r2, r1, #4
cmp r0, r2
beq _02055748
add r2, r1, #5
cmp r0, r2
beq _02055748
add r1, r1, #6
cmp r0, r1
beq _02055748
mov r0, #0
pop {r3, r4, r5, pc}
_02055748:
add r0, r5, #0
add r1, r4, #0
bl sub_02055780
cmp r0, #1
bne _02055758
mov r0, #1
pop {r3, r4, r5, pc}
_02055758:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
_0205575C: .word 0x00000107
thumb_func_end sub_02055708
thumb_func_start sub_02055760
sub_02055760: ; 0x02055760
push {r3, r4, r5, lr}
ldr r0, [r0, #0xc]
add r5, r1, #0
bl sub_0202A96C
add r4, r0, #0
add r0, r5, #0
mov r1, #0
bl sub_0205F2F4
add r1, r0, #0
add r0, r4, #0
bl sub_0202AE68
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end sub_02055760
thumb_func_start sub_02055780
sub_02055780: ; 0x02055780
push {r3, r4, r5, lr}
ldr r0, [r0, #0xc]
add r5, r1, #0
bl sub_0202A96C
add r4, r0, #0
add r0, r5, #0
mov r1, #0
bl sub_0205F2F4
add r1, r0, #0
add r0, r4, #0
bl sub_0202AE38
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02055780
thumb_func_start sub_020557A0
sub_020557A0: ; 0x020557A0
push {r3, r4, r5, lr}
ldr r0, [r0, #0xc]
add r5, r1, #0
bl sub_0202A96C
add r4, r0, #0
add r0, r5, #0
mov r1, #0
bl sub_0205F2F4
add r1, r0, #0
add r0, r4, #0
bl sub_0202AE40
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020557A0
thumb_func_start sub_020557C0
sub_020557C0: ; 0x020557C0
push {r3, r4, r5, lr}
ldr r0, [r0, #0xc]
add r5, r1, #0
bl sub_0202A96C
add r4, r0, #0
add r0, r5, #0
mov r1, #0
bl sub_0205F2F4
add r1, r0, #0
add r0, r4, #0
bl sub_0202AE4C
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020557C0
thumb_func_start sub_020557E0
sub_020557E0: ; 0x020557E0
mov r2, #0
ldr r3, _020557F4 ; =0x021D4178
add r1, r2, #0
_020557E6:
add r0, r3, r2
add r0, #0x30
add r2, r2, #1
strb r1, [r0]
cmp r2, #6
blt _020557E6
bx lr
.balign 4, 0
_020557F4: .word 0x021D4178
thumb_func_end sub_020557E0
thumb_func_start sub_020557F8
sub_020557F8: ; 0x020557F8
push {r4, lr}
ldr r1, _02055820 ; =0x021D4178
add r4, r0, #0
mov r0, #0
mov r2, #0x4c
bl MIi_CpuClearFast
ldr r1, _02055820 ; =0x021D4178
add r0, r4, #0
bl sub_0205592C
ldr r0, _02055820 ; =0x021D4178
bl sub_020559D0
bl GF_RTC_DateTimeToSec
ldr r2, _02055824 ; =0x021D4178
str r0, [r2, #0x40]
str r1, [r2, #0x44]
pop {r4, pc}
.balign 4, 0
_02055820: .word 0x021D4178
_02055824: .word 0x021D4178
thumb_func_end sub_020557F8
thumb_func_start sub_02055828
sub_02055828: ; 0x02055828
push {r3, r4, r5, lr}
ldr r0, [r0, #0xc]
ldr r4, _0205586C ; =0x021D4178
bl sub_0202CF54
add r5, r0, #0
bl GF_RTC_DateTimeToSec
add r3, r1, #0
ldr r1, _02055870 ; =0x021D4178
add r2, r0, #0
ldr r0, [r1, #0x40]
ldr r1, [r1, #0x44]
bl GF_RTC_TimeDelta
mov r2, #0xfa
mov r3, #0
lsl r2, r2, #2
sub r2, r0, r2
sbc r1, r3
bge _0205585C
mov r1, #0xfa
lsl r1, r1, #2
sub r0, r1, r0
lsl r0, r0, #1
b _0205585E
_0205585C:
mov r0, #0
_0205585E:
str r0, [r4, #0x48]
add r0, r5, #0
mov r1, #0x11
bl sub_0202D1C0
pop {r3, r4, r5, pc}
nop
_0205586C: .word 0x021D4178
_02055870: .word 0x021D4178
thumb_func_end sub_02055828
thumb_func_start sub_02055874
sub_02055874: ; 0x02055874
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, _02055898 ; =0x021D4178
add r4, r1, #0
add r6, r2, #0
bl sub_020559E8
cmp r0, #1
bne _02055894
ldr r1, _02055898 ; =0x021D4178
add r0, r5, #0
add r2, r4, #0
add r3, r6, #0
bl sub_02055A48
pop {r4, r5, r6, pc}
_02055894:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_02055898: .word 0x021D4178
thumb_func_end sub_02055874
thumb_func_start sub_0205589C
sub_0205589C: ; 0x0205589C
ldr r3, _020558A4 ; =sub_02055B1C
ldr r1, _020558A8 ; =0x021D4178
bx r3
nop
_020558A4: .word sub_02055B1C
_020558A8: .word 0x021D4178
thumb_func_end sub_0205589C
thumb_func_start sub_020558AC
sub_020558AC: ; 0x020558AC
ldr r3, _020558B4 ; =sub_02055AF4
ldr r2, _020558B8 ; =0x021D4178
bx r3
nop
_020558B4: .word sub_02055AF4
_020558B8: .word 0x021D4178
thumb_func_end sub_020558AC
thumb_func_start sub_020558BC
sub_020558BC: ; 0x020558BC
push {r3, lr}
ldr r0, _020558CC ; =0x021D4178
bl sub_020559B4
mov r1, #6
sub r0, r1, r0
pop {r3, pc}
nop
_020558CC: .word 0x021D4178
thumb_func_end sub_020558BC
thumb_func_start sub_020558D0
sub_020558D0: ; 0x020558D0
ldr r3, _020558D8 ; =sub_02055B68
ldr r0, _020558DC ; =0x021D4178
bx r3
nop
_020558D8: .word sub_02055B68
_020558DC: .word 0x021D4178
thumb_func_end sub_020558D0
thumb_func_start sub_020558E0
sub_020558E0: ; 0x020558E0
ldr r3, _020558E8 ; =sub_02055BEC
ldr r0, _020558EC ; =0x021D4178
bx r3
nop
_020558E8: .word sub_02055BEC
_020558EC: .word 0x021D4178
thumb_func_end sub_020558E0
thumb_func_start sub_020558F0
sub_020558F0: ; 0x020558F0
ldr r3, _020558F8 ; =sub_02055B7C
ldr r0, _020558FC ; =0x021D4178
bx r3
nop
_020558F8: .word sub_02055B7C
_020558FC: .word 0x021D4178
thumb_func_end sub_020558F0
thumb_func_start sub_02055900
sub_02055900: ; 0x02055900
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
cmp r5, #0
beq _02055910
ldr r0, _02055928 ; =0x000001ED
cmp r5, r0
bls _02055914
_02055910:
bl GF_AssertFail
_02055914:
mov r3, #6
add r0, r4, #0
sub r4, r5, #1
str r3, [sp]
mov r1, #0x7d
mov r2, #0
mul r3, r4
bl ReadFromNarcMemberByIdPair
pop {r3, r4, r5, pc}
.balign 4, 0
_02055928: .word 0x000001ED
thumb_func_end sub_02055900
thumb_func_start sub_0205592C
sub_0205592C: ; 0x0205592C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
ldr r0, [r0, #0xc]
str r1, [sp]
bl sub_020270F8
str r0, [sp, #4]
mov r0, #4
bl AllocMonZeroed
ldr r5, [sp]
add r4, r0, #0
mov r6, #0
add r7, sp, #8
_02055948:
ldr r0, [sp]
add r2, r4, #0
add r1, r0, r6
add r1, #0x30
mov r0, #0
strb r0, [r1]
ldr r0, [sp, #4]
add r1, r6, #0
bl sub_0202EC70
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
strh r0, [r5]
add r1, sp, #8
bl sub_02055900
ldrb r0, [r7]
cmp r0, #0
beq _0205597A
b _0205597E
_0205597A:
ldrb r0, [r7, #1]
add r0, r0, #4
_0205597E:
strb r0, [r5, #2]
ldrb r0, [r7, #3]
mov r1, #0xb1
mov r2, #0
strb r0, [r5, #3]
ldrb r0, [r7, #2]
strh r0, [r5, #4]
add r0, r4, #0
bl GetMonData
strb r0, [r5, #6]
add r0, r4, #0
mov r1, #0xb2
mov r2, #0
bl GetMonData
strb r0, [r5, #7]
add r6, r6, #1
add r5, #8
cmp r6, #6
blt _02055948
add r0, r4, #0
bl FreeToHeap
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205592C
thumb_func_start sub_020559B4
sub_020559B4: ; 0x020559B4
mov r3, #0
add r2, r3, #0
_020559B8:
add r1, r0, r2
add r1, #0x30
ldrb r1, [r1]
cmp r1, #0
beq _020559C4
add r3, r3, #1
_020559C4:
add r2, r2, #1
cmp r2, #6
blt _020559B8
add r0, r3, #0
bx lr
.balign 4, 0
thumb_func_end sub_020559B4
thumb_func_start sub_020559D0
sub_020559D0: ; 0x020559D0
push {r4, lr}
add r4, r0, #0
bl LCRandom
mov r1, #0xa
bl _s32_div_f
lsl r0, r1, #0x10
lsr r0, r0, #0x10
add r0, r0, #5
str r0, [r4, #0x38]
pop {r4, pc}
thumb_func_end sub_020559D0
thumb_func_start sub_020559E8
sub_020559E8: ; 0x020559E8
push {r3, lr}
ldr r1, [r0, #0x38]
sub r1, r1, #1
str r1, [r0, #0x38]
bne _020559FA
bl sub_020559D0
mov r0, #1
pop {r3, pc}
_020559FA:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020559E8
thumb_func_start sub_02055A00
sub_02055A00: ; 0x02055A00
push {r4, r5, r6, lr}
add r5, r1, #0
add r6, r2, #0
bl sub_02054918
add r4, r0, #0
cmp r5, #0x20
blt _02055A14
mov r5, #1
b _02055A16
_02055A14:
mov r5, #0
_02055A16:
cmp r6, #0x20
bge _02055A1E
mov r0, #0
b _02055A20
_02055A1E:
mov r0, #2
_02055A20:
add r5, r5, r0
lsl r0, r4, #0x18
lsr r0, r0, #0x18
bl sub_0205B6E8
cmp r0, #0
beq _02055A32
add r0, r5, #1
pop {r4, r5, r6, pc}
_02055A32:
lsl r0, r4, #0x18
lsr r0, r0, #0x18
bl sub_0205B778
cmp r0, #0
beq _02055A42
add r0, r5, #5
pop {r4, r5, r6, pc}
_02055A42:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02055A00
thumb_func_start sub_02055A48
sub_02055A48: ; 0x02055A48
push {r4, r5, r6, lr}
add r5, r1, #0
add r1, r2, #0
add r2, r3, #0
mov r6, #0
bl sub_02055A00
add r4, r0, #0
bne _02055A5E
add r0, r6, #0
pop {r4, r5, r6, pc}
_02055A5E:
add r0, r6, #0
add r1, r5, #0
_02055A62:
add r2, r5, r0
add r2, #0x30
ldrb r2, [r2]
cmp r2, #0
bne _02055A76
ldrb r2, [r1, #2]
cmp r4, r2
bne _02055A76
ldrb r2, [r1, #3]
add r6, r6, r2
_02055A76:
add r0, r0, #1
add r1, #8
cmp r0, #6
blt _02055A62
cmp r6, #0
bne _02055A86
mov r0, #0
pop {r4, r5, r6, pc}
_02055A86:
add r0, r6, #0
add r0, #0x14
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bne _02055A94
bl GF_AssertFail
_02055A94:
add r0, r6, #0
add r0, #0x14
lsl r0, r0, #0x10
lsr r0, r0, #0x10
cmp r0, #1
bhi _02055AA4
mov r0, #0
b _02055AB6
_02055AA4:
bl LCRandom
add r6, #0x14
lsl r1, r6, #0x10
lsr r1, r1, #0x10
bl _s32_div_f
lsl r0, r1, #0x10
lsr r0, r0, #0x10
_02055AB6:
cmp r0, #0x14
bge _02055ABE
mov r0, #0
pop {r4, r5, r6, pc}
_02055ABE:
sub r0, #0x14
mov r2, #0
add r1, r5, #0
_02055AC4:
add r3, r5, r2
add r3, #0x30
ldrb r3, [r3]
cmp r3, #0
bne _02055AE2
ldrb r3, [r1, #2]
cmp r4, r3
bne _02055AE2
ldrb r3, [r1, #3]
cmp r0, r3
bge _02055AE0
str r2, [r5, #0x3c]
mov r0, #1
pop {r4, r5, r6, pc}
_02055AE0:
sub r0, r0, r3
_02055AE2:
add r2, r2, #1
add r1, #8
cmp r2, #6
blt _02055AC4
bl GF_AssertFail
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02055A48
thumb_func_start sub_02055AF4
sub_02055AF4: ; 0x02055AF4
push {r4, lr}
ldr r0, [r1, #0x14]
add r4, r2, #0
cmp r0, #4
beq _02055B04
cmp r0, #5
beq _02055B1A
b _02055B16
_02055B04:
add r0, r4, #0
bl sub_020559B4
add r1, r0, #1
ldr r0, [r4, #0x3c]
add r0, r4, r0
add r0, #0x30
strb r1, [r0]
pop {r4, pc}
_02055B16:
bl GF_AssertFail
_02055B1A:
pop {r4, pc}
thumb_func_end sub_02055AF4
thumb_func_start sub_02055B1C
sub_02055B1C: ; 0x02055B1C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #0x20
add r6, r1, #0
bl AllocMonZeroed
add r4, r0, #0
ldr r0, [r5, #0xc]
bl sub_020270F8
str r0, [sp]
add r0, r5, #0
bl sub_020558BC
add r1, r0, #0
mov r0, #0xb
bl sub_02051A98
add r1, r5, #0
add r7, r0, #0
bl sub_02051F00
ldr r0, [sp]
ldr r1, [r6, #0x3c]
add r2, r4, #0
bl sub_0202EC70
add r0, r7, #0
add r1, r4, #0
mov r2, #1
bl sub_02051C9C
add r0, r4, #0
bl FreeToHeap
add r0, r7, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02055B1C
thumb_func_start sub_02055B68
sub_02055B68: ; 0x02055B68
mov r3, #0
add r2, r3, #0
_02055B6C:
ldrh r1, [r0, #4]
add r2, r2, #1
add r0, #8
add r3, r3, r1
cmp r2, #6
blt _02055B6C
add r0, r3, #0
bx lr
thumb_func_end sub_02055B68
thumb_func_start sub_02055B7C
sub_02055B7C: ; 0x02055B7C
push {r4, r5, r6, r7}
mov r3, #0
add r5, r0, #0
add r4, r3, #0
mov r0, #1
_02055B86:
mov r1, #0
_02055B88:
add r2, r5, r1
add r2, #0x30
ldrb r2, [r2]
cmp r0, r2
bne _02055BC8
lsl r1, r1, #3
add r2, r5, r1
ldrb r1, [r2, #6]
ldrb r2, [r2, #7]
cmp r0, #1
beq _02055BB4
mov r6, ip
cmp r6, r1
beq _02055BB4
mov r6, ip
cmp r6, r2
beq _02055BB4
cmp r7, r1
beq _02055BB4
cmp r7, r2
beq _02055BB4
add r4, #0xc8
_02055BB4:
mov r6, #1
mov ip, r1
lsl r6, r1
add r1, r3, #0
mov r3, #1
lsl r3, r2
orr r1, r6
add r7, r2, #0
orr r3, r1
b _02055BCE
_02055BC8:
add r1, r1, #1
cmp r1, #6
blt _02055B88
_02055BCE:
add r0, r0, #1
cmp r0, #7
blt _02055B86
cmp r3, #0
beq _02055BE6
mov r0, #1
_02055BDA:
add r1, r3, #0
tst r1, r0
beq _02055BE2
add r4, #0x32
_02055BE2:
lsr r3, r3, #1
bne _02055BDA
_02055BE6:
add r0, r4, #0
pop {r4, r5, r6, r7}
bx lr
thumb_func_end sub_02055B7C
thumb_func_start sub_02055BEC
sub_02055BEC: ; 0x02055BEC
ldr r0, [r0, #0x48]
bx lr
thumb_func_end sub_02055BEC
thumb_func_start sub_02055BF0
sub_02055BF0: ; 0x02055BF0
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r1, #0
ldr r0, [sp, #0x24]
mov r1, #0x20
add r4, r2, #0
add r6, r3, #0
bl AllocFromHeap
add r2, r0, #0
str r5, [r2, #4]
str r4, [r2, #8]
str r6, [r2, #0xc]
add r0, sp, #8
ldrh r0, [r0, #0x10]
ldr r1, _02055C2C ; =sub_02055C30
strh r0, [r2, #0x10]
ldr r0, [sp, #0x1c]
str r0, [r2, #0x14]
ldr r0, [sp, #0x20]
str r0, [r2, #0x18]
ldr r0, [sp, #0x24]
str r0, [r2, #0x1c]
mov r0, #0
str r0, [r2]
add r0, r7, #0
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
nop
_02055C2C: .word sub_02055C30
thumb_func_end sub_02055BF0
thumb_func_start sub_02055C30
sub_02055C30: ; 0x02055C30
push {r4, r5, lr}
sub sp, #0xc
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
beq _02055C50
cmp r0, #1
beq _02055C78
b _02055C94
_02055C50:
ldr r0, [r5, #4]
ldr r0, [r0, #0x1c]
bl ov01_021FB514
ldr r0, [r4, #0x14]
str r0, [sp]
ldr r0, [r4, #0x18]
str r0, [sp, #4]
ldr r0, [r4, #0x1c]
str r0, [sp, #8]
ldrh r3, [r4, #0x10]
ldr r0, [r4, #4]
ldr r1, [r4, #8]
ldr r2, [r4, #0xc]
bl sub_0200FA24
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _02055C94
_02055C78:
bl sub_0200FB5C
cmp r0, #0
beq _02055C94
ldr r0, [r5, #4]
ldr r0, [r0, #0x1c]
bl ov01_021FB4F4
add r0, r4, #0
bl FreeToHeap
add sp, #0xc
mov r0, #1
pop {r4, r5, pc}
_02055C94:
mov r0, #0
add sp, #0xc
pop {r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02055C30
thumb_func_start sub_02055C9C
sub_02055C9C: ; 0x02055C9C
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r1, #0
mov r0, #0xb
mov r1, #0x28
add r4, r2, #0
add r6, r3, #0
bl AllocFromHeapAtEnd
add r2, r0, #0
mov r0, #0
strb r0, [r2]
strh r0, [r2, #2]
strb r0, [r2, #1]
str r5, [r2, #4]
str r4, [r2, #8]
ldr r0, [sp, #0x18]
str r6, [r2, #0xc]
str r0, [r2, #0x10]
ldr r0, [sp, #0x1c]
ldr r1, _02055CD4 ; =sub_02055DBC
str r0, [r2, #0x14]
ldr r0, [sp, #0x20]
str r0, [r2, #0x1c]
add r0, r7, #0
bl sub_020504F0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02055CD4: .word sub_02055DBC
thumb_func_end sub_02055C9C
thumb_func_start sub_02055CD8
sub_02055CD8: ; 0x02055CD8
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r7, r0, #0
add r5, r1, #0
mov r0, #0xb
mov r1, #0x28
str r2, [sp]
str r3, [sp, #4]
bl AllocFromHeapAtEnd
add r6, r0, #0
mov r4, #0
strb r4, [r6]
strh r4, [r6, #2]
strb r4, [r6, #1]
ldr r0, [sp]
str r5, [r6, #4]
str r0, [r6, #8]
ldr r0, [sp, #4]
str r0, [r6, #0xc]
ldr r0, [sp, #0x20]
str r0, [r6, #0x10]
ldr r0, [sp, #0x24]
str r0, [r6, #0x14]
ldr r0, [r7, #0x20]
ldr r0, [r0]
str r0, [sp, #8]
bl sub_0203B578
cmp r0, #0
beq _02055D46
add r0, r5, #0
bl sub_0203B578
cmp r0, #0
beq _02055D24
mov r4, #6
b _02055DA8
_02055D24:
add r0, r5, #0
bl sub_0203B5AC
cmp r0, #0
beq _02055D32
mov r4, #5
b _02055DA8
_02055D32:
add r0, r5, #0
bl sub_0203B58C
cmp r0, #0
beq _02055D40
mov r4, #6
b _02055DA8
_02055D40:
bl GF_AssertFail
b _02055DA8
_02055D46:
ldr r0, [sp, #8]
bl sub_0203B5AC
cmp r0, #0
beq _02055D72
add r0, r5, #0
bl sub_0203B578
cmp r0, #0
beq _02055D5E
mov r4, #4
b _02055DA8
_02055D5E:
add r0, r5, #0
bl sub_0203B58C
cmp r0, #0
beq _02055D6C
mov r4, #6
b _02055DA8
_02055D6C:
bl GF_AssertFail
b _02055DA8
_02055D72:
ldr r0, [sp, #8]
bl sub_0203B58C
cmp r0, #0
beq _02055DA4
add r0, r5, #0
bl sub_0203B5AC
cmp r0, #0
bne _02055DA8
add r0, r5, #0
bl sub_0203B58C
cmp r0, #0
beq _02055D94
mov r4, #6
b _02055DA8
_02055D94:
add r0, r5, #0
bl sub_0203B578
cmp r0, #0
bne _02055DA8
bl GF_AssertFail
b _02055DA8
_02055DA4:
bl GF_AssertFail
_02055DA8:
ldr r1, _02055DB8 ; =sub_02055DBC
add r0, r7, #0
add r2, r6, #0
str r4, [r6, #0x1c]
bl sub_020504F0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02055DB8: .word sub_02055DBC
thumb_func_end sub_02055CD8
thumb_func_start sub_02055DBC
sub_02055DBC: ; 0x02055DBC
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r6, #0
bl sub_02050650
add r4, r0, #0
ldrb r0, [r4]
cmp r0, #9
bhi _02055E74
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02055DE0: ; jump table
.short _02055DF4 - _02055DE0 - 2 ; case 0
.short _02055E20 - _02055DE0 - 2 ; case 1
.short _02055E66 - _02055DE0 - 2 ; case 2
.short _02055ED0 - _02055DE0 - 2 ; case 3
.short _02055EDE - _02055DE0 - 2 ; case 4
.short _02055EEE - _02055DE0 - 2 ; case 5
.short _02055EFC - _02055DE0 - 2 ; case 6
.short _02055F24 - _02055DE0 - 2 ; case 7
.short _02055FD0 - _02055DE0 - 2 ; case 8
.short _02055FE2 - _02055DE0 - 2 ; case 9
_02055DF4:
mov r0, #0
strh r0, [r4, #2]
str r0, [r4, #0x24]
strb r0, [r4, #1]
add r0, r5, #0
bl sub_02069F88
cmp r0, #0
beq _02055E20
add r0, r5, #0
bl ov01_022057C4
cmp r0, #0
beq _02055E20
ldr r0, [r5, #0x40]
bl sub_0205C700
cmp r0, #1
beq _02055E20
mov r0, #9
strb r0, [r4]
b _02055FF2
_02055E20:
add r0, r5, #0
bl sub_02069F88
cmp r0, #0
beq _02055E5E
add r0, r5, #0
bl ov01_022057C4
cmp r0, #0
bne _02055E5E
ldr r0, [r5, #0x40]
bl sub_0205C700
cmp r0, #1
beq _02055E5E
add r0, r5, #0
bl sub_02069D68
add r5, r0, #0
bl sub_02069F7C
ldr r1, [r4, #4]
bl sub_02069FF4
cmp r0, #0
bne _02055E5E
add r0, r5, #0
mov r1, #1
bl ov01_0220329C
str r0, [r4, #0x24]
_02055E5E:
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
b _02055FF2
_02055E66:
ldr r0, [r4, #0x24]
cmp r0, #0
beq _02055E76
bl sub_02068CCC
cmp r0, #0
beq _02055E76
_02055E74:
b _02055FF2
_02055E76:
ldr r1, [r4, #4]
add r0, r5, #0
bl sub_020550E4
ldr r1, [r4, #0x1c]
add r0, r6, #0
lsl r2, r1, #2
ldr r1, _02055FF8 ; =0x020FC748
ldr r1, [r1, r2]
add r2, r4, #0
bl sub_02050530
add r0, r5, #0
bl sub_02069F88
cmp r0, #0
beq _02055EB2
add r0, r5, #0
bl ov01_022057C4
cmp r0, #0
beq _02055EB2
add r0, r5, #0
bl sub_02069FD4
cmp r0, #0
bne _02055EB2
add r0, r5, #0
bl ov01_022057D0
_02055EB2:
ldr r0, [r5, #0xc]
bl sub_0202ED34
add r1, r0, #0
ldr r0, [r5, #0x20]
ldr r0, [r0]
bl sub_0202ED40
ldr r0, [r5, #0x20]
ldr r0, [r0]
str r0, [r4, #0x20]
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
b _02055FF2
_02055ED0:
add r0, r6, #0
bl sub_0205525C
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
b _02055FF2
_02055EDE:
add r0, r6, #0
add r1, r4, #4
bl sub_020537A8
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
b _02055FF2
_02055EEE:
add r0, r6, #0
bl sub_020552A4
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
b _02055FF2
_02055EFC:
ldr r0, [r4, #0x1c]
lsl r1, r0, #2
ldr r0, _02055FFC ; =0x020FC76C
ldr r0, [r0, r1]
cmp r0, #0
beq _02055F1C
ldr r0, [r5, #0x24]
mov r1, #0
bl sub_0202367C
ldr r1, [r4, #0x1c]
add r0, r5, #0
lsl r2, r1, #2
ldr r1, _02055FFC ; =0x020FC76C
ldr r1, [r1, r2]
blx r1
_02055F1C:
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
b _02055FF2
_02055F24:
bl sub_02005F88
cmp r0, #0
bne _02055FF2
ldr r1, [r4, #4]
add r0, r5, #0
mov r2, #1
bl sub_02055110
ldr r0, [r4, #0x20]
bl sub_0203B578
cmp r0, #0
bne _02055F78
ldr r0, [r4, #4]
bl sub_0206A360
str r0, [sp]
cmp r0, #0xff
beq _02055F78
ldr r0, [r4, #0x1c]
mov r7, #0
cmp r0, #8
bne _02055F56
mov r7, #1
_02055F56:
bl GF_RTC_GetTimeOfDay
add r2, r0, #0
lsl r2, r2, #0x18
ldr r1, [sp]
add r0, r6, #0
lsr r2, r2, #0x18
add r3, r7, #0
bl sub_0206A388
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
add r0, r5, #0
bl ov01_021EFAF8
b _02055FF2
_02055F78:
add r0, r5, #0
bl ov01_021EFAF8
mov r0, #0
strh r0, [r4, #2]
ldr r1, [r4, #0x1c]
add r0, r6, #0
lsl r2, r1, #2
ldr r1, _02056000 ; =0x020FC724
ldr r1, [r1, r2]
add r2, r4, #0
bl sub_02050530
add r0, r5, #0
bl sub_02069D68
add r6, r0, #0
add r0, r5, #0
bl sub_02069F88
cmp r0, #0
beq _02055FC8
add r0, r5, #0
bl sub_02069FD4
cmp r0, #0
bne _02055FC8
add r0, r6, #0
mov r1, #1
bl sub_02069E84
ldr r0, [r5, #0x40]
bl sub_0205C654
add r1, r0, #0
lsl r1, r1, #0x18
add r0, r5, #0
lsr r1, r1, #0x18
bl ov01_02205790
_02055FC8:
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
b _02055FF2
_02055FD0:
ldr r0, [r5, #0x24]
mov r1, #1
bl sub_0202367C
add r0, r4, #0
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02055FE2:
ldrb r0, [r4, #1]
add r0, r0, #1
strb r0, [r4, #1]
ldrb r0, [r4, #1]
cmp r0, #2
blo _02055FF2
mov r0, #1
strb r0, [r4]
_02055FF2:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_02055FF8: .word 0x020FC748
_02055FFC: .word 0x020FC76C
_02056000: .word 0x020FC724
thumb_func_end sub_02055DBC
thumb_func_start sub_02056004
sub_02056004: ; 0x02056004
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205064C
add r0, r5, #0
bl sub_02050650
add r4, r0, #0
ldrh r0, [r4, #2]
cmp r0, #0
beq _02056020
cmp r0, #1
beq _02056034
b _02056038
_02056020:
ldr r0, _0205603C ; =0x00000602
bl PlaySE
add r0, r5, #0
bl sub_020552E8
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056038
_02056034:
mov r0, #1
pop {r3, r4, r5, pc}
_02056038:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
_0205603C: .word 0x00000602
thumb_func_end sub_02056004
thumb_func_start sub_02056040
sub_02056040: ; 0x02056040
push {r4, r5, r6, lr}
add r6, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r6, #0
bl sub_02050650
add r4, r0, #0
ldrh r0, [r4, #2]
cmp r0, #3
bhi _020560BE
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02056064: ; jump table
.short _0205606C - _02056064 - 2 ; case 0
.short _02056092 - _02056064 - 2 ; case 1
.short _020560AC - _02056064 - 2 ; case 2
.short _020560BA - _02056064 - 2 ; case 3
_0205606C:
bl ov01_021E90C0
str r0, [r4, #0x18]
ldr r0, [r5, #0x40]
bl sub_0205C67C
add r6, r0, #0
ldr r0, [r5, #0x40]
bl sub_0205C688
add r1, r0, #0
ldr r2, [r4, #0x18]
add r0, r6, #0
bl ov01_021E90DC
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _020560BE
_02056092:
ldr r1, [r4, #0x18]
add r0, r5, #0
bl ov01_021E90E4
cmp r0, #0
beq _020560BE
ldr r0, [r4, #0x18]
bl ov01_021E90D4
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _020560BE
_020560AC:
add r0, r6, #0
bl sub_020552E8
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _020560BE
_020560BA:
mov r0, #1
pop {r4, r5, r6, pc}
_020560BE:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02056040
thumb_func_start sub_020560C4
sub_020560C4: ; 0x020560C4
push {r4, r5, r6, lr}
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldrh r0, [r4, #2]
cmp r0, #0
beq _020560E6
cmp r0, #1
beq _0205610C
cmp r0, #2
beq _02056134
b _02056138
_020560E6:
bl ov01_021E90C0
str r0, [r4, #0x18]
ldr r0, [r5, #0x40]
bl sub_0205C67C
add r6, r0, #0
ldr r0, [r5, #0x40]
bl sub_0205C688
add r1, r0, #0
ldr r2, [r4, #0x18]
add r0, r6, #0
bl ov01_021E90DC
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056138
_0205610C:
ldr r0, [r5, #0x40]
ldr r6, [r4, #0x18]
bl sub_0205C654
add r2, r0, #0
lsl r2, r2, #0x18
add r0, r5, #0
add r1, r6, #0
lsr r2, r2, #0x18
bl ov01_021E98F0
cmp r0, #0
beq _02056138
ldr r0, [r4, #0x18]
bl ov01_021E90D4
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056138
_02056134:
mov r0, #1
pop {r4, r5, r6, pc}
_02056138:
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_020560C4
thumb_func_start sub_0205613C
sub_0205613C: ; 0x0205613C
push {r4, r5, r6, lr}
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldrh r0, [r4, #2]
cmp r0, #4
bhi _02056218
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02056160: ; jump table
.short _0205616A - _02056160 - 2 ; case 0
.short _020561A8 - _02056160 - 2 ; case 1
.short _020561DA - _02056160 - 2 ; case 2
.short _020561F8 - _02056160 - 2 ; case 3
.short _0205620C - _02056160 - 2 ; case 4
_0205616A:
add r0, r5, #0
bl sub_02069F88
cmp r0, #0
beq _020561A0
add r0, r5, #0
bl sub_02069FB0
cmp r0, #0
beq _020561A0
add r0, r5, #0
bl sub_02069D68
bl sub_02062198
cmp r0, #0
beq _02056218
add r0, r5, #0
bl sub_02069D68
mov r1, #0x37
bl sub_0205FC94
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056218
_020561A0:
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056218
_020561A8:
ldr r0, [r5, #0x40]
bl sub_0205C654
add r6, r0, #0
ldr r0, [r5, #0x40]
bl sub_0205C6DC
cmp r6, #2
bne _020561C2
mov r1, #0xa
bl sub_0206214C
b _020561D2
_020561C2:
cmp r6, #3
bne _020561CE
mov r1, #0xb
bl sub_0206214C
b _020561D2
_020561CE:
bl GF_AssertFail
_020561D2:
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056218
_020561DA:
ldr r0, [r5, #0x40]
bl sub_0205C6DC
add r5, r0, #0
bl sub_02062198
cmp r0, #1
bne _02056218
add r0, r5, #0
bl sub_020621C0
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056218
_020561F8:
ldr r0, _0205621C ; =0x00000602
bl PlaySE
mov r0, #0
bl ov01_021E636C
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056218
_0205620C:
bl sub_0200FB5C
cmp r0, #0
beq _02056218
mov r0, #1
pop {r4, r5, r6, pc}
_02056218:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_0205621C: .word 0x00000602
thumb_func_end sub_0205613C
thumb_func_start sub_02056220
sub_02056220: ; 0x02056220
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r5, #0
bl sub_02050650
add r4, r0, #0
ldr r0, [r6, #0x40]
bl sub_0205C6DC
ldrh r0, [r4, #2]
cmp r0, #0
beq _02056244
cmp r0, #1
beq _0205625A
b _0205625E
_02056244:
bl ov01_021E9C30
add r2, r0, #0
ldr r1, _02056264 ; =0x021E9F79
add r0, r5, #0
bl sub_02050530
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _0205625E
_0205625A:
mov r0, #1
pop {r4, r5, r6, pc}
_0205625E:
mov r0, #0
pop {r4, r5, r6, pc}
nop
_02056264: .word 0x021E9F79
thumb_func_end sub_02056220
thumb_func_start sub_02056268
sub_02056268: ; 0x02056268
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r5, #0
bl sub_02050650
add r4, r0, #0
ldr r0, [r6, #0x40]
bl sub_0205C6DC
ldrh r0, [r4, #2]
cmp r0, #0
beq _0205628C
cmp r0, #1
beq _020562A2
b _020562A6
_0205628C:
bl ov01_021E9C30
add r2, r0, #0
ldr r1, _020562AC ; =0x021E9EED
add r0, r5, #0
bl sub_02050530
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _020562A6
_020562A2:
mov r0, #1
pop {r4, r5, r6, pc}
_020562A6:
mov r0, #0
pop {r4, r5, r6, pc}
nop
_020562AC: .word 0x021E9EED
thumb_func_end sub_02056268
thumb_func_start sub_020562B0
sub_020562B0: ; 0x020562B0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
bl sub_0205064C
add r4, r0, #0
add r0, r5, #0
bl sub_02050650
add r5, r0, #0
ldrh r0, [r5, #2]
cmp r0, #3
bls _020562CC
b _02056418
_020562CC:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_020562D8: ; jump table
.short _020562E0 - _020562D8 - 2 ; case 0
.short _02056396 - _020562D8 - 2 ; case 1
.short _020563E8 - _020562D8 - 2 ; case 2
.short _020563FC - _020562D8 - 2 ; case 3
_020562E0:
ldr r0, [r4, #0x40]
bl sub_0205C6DC
str r0, [sp]
bl sub_020621C0
mov r1, #2
ldr r0, [r4, #0x40]
lsl r1, r1, #8
bl ov01_021F1AFC
ldr r0, [r4, #0x40]
bl ov01_021F1B04
ldr r0, [sp]
mov r1, #0
bl sub_0205F328
mov r0, #0xb
mov r1, #8
bl AllocFromHeapAtEnd
str r0, [r5, #0x18]
add r7, r0, #0
mov r0, #0
str r0, [r7]
ldr r0, [r4, #0x40]
bl sub_0205C654
str r0, [r7, #4]
ldr r0, [r4, #0x40]
mov r1, #0
bl sub_0205C858
ldr r0, [r4, #0x2c]
bl ov01_021F6304
add r0, r4, #0
bl sub_02069F88
cmp r0, #0
beq _0205638E
add r0, r4, #0
mov r7, #1
bl sub_02069D68
bl sub_0205F2A8
cmp r0, #3
bhi _02056368
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02056350: ; jump table
.short _02056358 - _02056350 - 2 ; case 0
.short _0205635C - _02056350 - 2 ; case 1
.short _02056360 - _02056350 - 2 ; case 2
.short _02056364 - _02056350 - 2 ; case 3
_02056358:
mov r6, #0xc
b _0205636E
_0205635C:
mov r6, #0xd
b _0205636E
_02056360:
mov r6, #0xe
b _0205636E
_02056364:
mov r6, #0xf
b _0205636E
_02056368:
bl GF_AssertFail
mov r7, #0
_0205636E:
cmp r7, #0
beq _0205638E
ldr r0, [sp]
bl sub_0205F8FC
add r7, r0, #0
ldr r0, [sp]
bl sub_0205F90C
add r4, #0xe4
add r2, r0, #0
add r0, r6, #0
add r1, r7, #0
add r3, r4, #0
bl ov01_02205990
_0205638E:
ldrh r0, [r5, #2]
add r0, r0, #1
strh r0, [r5, #2]
b _02056418
_02056396:
ldr r0, [r4, #0x40]
bl sub_0205C6DC
ldr r4, [r5, #0x18]
add r6, r0, #0
ldr r1, [r4]
add r1, r1, #1
str r1, [r4]
add r1, sp, #4
bl sub_0205F944
ldr r0, [r4, #4]
cmp r0, #1
bne _020563C8
mov r0, #2
ldr r1, [sp, #8]
lsl r0, r0, #0xa
add r0, r1, r0
str r0, [sp, #8]
mov r0, #6
ldr r1, [sp, #0xc]
lsl r0, r0, #0xa
sub r0, r1, r0
str r0, [sp, #0xc]
b _020563D2
_020563C8:
mov r0, #2
ldr r1, [sp, #8]
lsl r0, r0, #0xc
add r0, r1, r0
str r0, [sp, #8]
_020563D2:
add r0, r6, #0
add r1, sp, #4
bl sub_0205F954
ldr r0, [r4]
cmp r0, #0x10
blt _02056418
ldrh r0, [r5, #2]
add r0, r0, #1
strh r0, [r5, #2]
b _02056418
_020563E8:
ldr r0, _02056420 ; =0x00000602
bl PlaySE
mov r0, #0
bl ov01_021E636C
ldrh r0, [r5, #2]
add r0, r0, #1
strh r0, [r5, #2]
b _02056418
_020563FC:
bl sub_0200FB5C
cmp r0, #0
beq _02056418
ldr r0, [r4, #0x40]
mov r1, #1
bl sub_0205C874
ldr r0, [r5, #0x18]
bl FreeToHeap
add sp, #0x10
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02056418:
mov r0, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_02056420: .word 0x00000602
thumb_func_end sub_020562B0
thumb_func_start sub_02056424
sub_02056424: ; 0x02056424
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldrh r0, [r4, #2]
cmp r0, #4
bhi _02056524
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205644A: ; jump table
.short _02056454 - _0205644A - 2 ; case 0
.short _02056474 - _0205644A - 2 ; case 1
.short _020564BE - _0205644A - 2 ; case 2
.short _020564F4 - _0205644A - 2 ; case 3
.short _02056508 - _0205644A - 2 ; case 4
_02056454:
ldr r0, [r5, #0x40]
bl sub_0205C6DC
add r5, r0, #0
bl sub_02062108
cmp r0, #0
beq _02056524
add r0, r5, #0
mov r1, #0
bl sub_0206214C
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056524
_02056474:
ldr r0, [r5, #0x40]
bl sub_0205C6DC
add r6, r0, #0
bl sub_02062108
cmp r0, #0
beq _02056524
add r0, r6, #0
bl sub_020621C0
mov r1, #2
ldr r0, [r5, #0x40]
lsl r1, r1, #8
bl ov01_021F1AFC
ldr r0, [r5, #0x40]
bl ov01_021F1B04
add r0, r6, #0
mov r1, #0
bl sub_0205F328
mov r0, #0xb
mov r1, #8
bl AllocFromHeapAtEnd
str r0, [r4, #0x18]
mov r1, #0
str r1, [r0]
ldr r0, [r5, #0x40]
bl sub_0205C858
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056524
_020564BE:
ldr r0, [r5, #0x40]
bl sub_0205C6DC
ldr r5, [r4, #0x18]
add r6, r0, #0
ldr r1, [r5]
add r1, r1, #1
str r1, [r5]
add r1, sp, #0
bl sub_0205F944
mov r0, #2
ldr r1, [sp, #4]
lsl r0, r0, #0xc
sub r0, r1, r0
str r0, [sp, #4]
add r0, r6, #0
add r1, sp, #0
bl sub_0205F954
ldr r0, [r5]
cmp r0, #0x10
blt _02056524
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056524
_020564F4:
ldr r0, _0205652C ; =0x00000602
bl PlaySE
mov r0, #0
bl ov01_021E636C
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056524
_02056508:
bl sub_0200FB5C
cmp r0, #0
beq _02056524
ldr r0, [r5, #0x40]
mov r1, #1
bl sub_0205C874
ldr r0, [r4, #0x18]
bl FreeToHeap
add sp, #0xc
mov r0, #1
pop {r3, r4, r5, r6, pc}
_02056524:
mov r0, #0
add sp, #0xc
pop {r3, r4, r5, r6, pc}
nop
_0205652C: .word 0x00000602
thumb_func_end sub_02056424
thumb_func_start sub_02056530
sub_02056530: ; 0x02056530
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
bl sub_0205064C
add r4, r0, #0
add r0, r6, #0
bl sub_02050650
add r5, r0, #0
ldrh r0, [r5, #2]
cmp r0, #3
bhi _020565F4
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02056554: ; jump table
.short _0205655C - _02056554 - 2 ; case 0
.short _020565A6 - _02056554 - 2 ; case 1
.short _020565CC - _02056554 - 2 ; case 2
.short _020565F0 - _02056554 - 2 ; case 3
_0205655C:
ldr r0, [r4, #0x40]
bl sub_0205C6DC
add r7, r0, #0
ldr r0, [r4, #0x40]
bl sub_0205C67C
str r0, [sp]
ldr r0, [r4, #0x40]
bl sub_0205C688
add r2, r0, #0
ldr r1, [sp]
add r0, r4, #0
bl sub_02054918
bl sub_0205B70C
cmp r0, #0
beq _02056592
add r0, r7, #0
mov r1, #1
bl sub_0205F690
mov r0, #1
strh r0, [r5, #2]
b _020565F4
_02056592:
bl ov01_021E9C30
add r2, r0, #0
ldr r1, _020565F8 ; =0x021E9FF9
add r0, r6, #0
bl sub_02050530
mov r0, #3
strh r0, [r5, #2]
b _020565F4
_020565A6:
bl ov01_021E90C0
str r0, [r5, #0x18]
ldr r0, [r4, #0x40]
bl sub_0205C67C
add r6, r0, #0
ldr r0, [r4, #0x40]
bl sub_0205C688
add r1, r0, #0
ldr r2, [r5, #0x18]
add r0, r6, #0
bl ov01_021E90DC
ldrh r0, [r5, #2]
add r0, r0, #1
strh r0, [r5, #2]
b _020565F4
_020565CC:
ldr r5, [r5, #0x18]
add r0, r4, #0
add r1, r5, #0
bl ov01_021E9374
cmp r0, #0
beq _020565F4
add r0, r5, #0
bl ov01_021E90D4
ldr r0, [r4, #0x40]
bl sub_0205C6DC
mov r1, #0
bl sub_0205F690
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_020565F0:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_020565F4:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020565F8: .word 0x021E9FF9
thumb_func_end sub_02056530
thumb_func_start sub_020565FC
sub_020565FC: ; 0x020565FC
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r6, #0
bl sub_02050650
add r4, r0, #0
ldrh r0, [r4, #2]
cmp r0, #0
beq _0205661A
cmp r0, #1
beq _02056670
b _02056674
_0205661A:
ldr r0, [r5, #0x40]
bl sub_0205C6DC
add r7, r0, #0
ldr r0, [r5, #0x40]
bl sub_0205C67C
str r0, [sp]
ldr r0, [r5, #0x40]
bl sub_0205C688
add r2, r0, #0
ldr r1, [sp]
add r0, r5, #0
bl sub_02054918
bl sub_0205B70C
cmp r0, #0
beq _0205665A
add r0, r7, #0
mov r1, #1
bl sub_0205F690
mov r0, #1
strh r0, [r4, #2]
ldr r1, _02056678 ; =sub_02056530
add r0, r6, #0
add r2, r4, #0
bl sub_02050510
b _02056674
_0205665A:
bl ov01_021E9C30
add r2, r0, #0
ldr r1, _0205667C ; =0x021EA129
add r0, r6, #0
bl sub_02050530
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056674
_02056670:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02056674:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02056678: .word sub_02056530
_0205667C: .word 0x021EA129
thumb_func_end sub_020565FC
thumb_func_start sub_02056680
sub_02056680: ; 0x02056680
push {r4, r5, r6, lr}
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldrh r0, [r4, #2]
cmp r0, #0
beq _020566A2
cmp r0, #1
beq _020566C8
cmp r0, #2
beq _020566F0
b _020566F4
_020566A2:
bl ov01_021E90C0
str r0, [r4, #0x18]
ldr r0, [r5, #0x40]
bl sub_0205C67C
add r6, r0, #0
ldr r0, [r5, #0x40]
bl sub_0205C688
add r1, r0, #0
ldr r2, [r4, #0x18]
add r0, r6, #0
bl ov01_021E90DC
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _020566F4
_020566C8:
ldr r0, [r5, #0x40]
ldr r6, [r4, #0x18]
bl sub_0205C654
add r2, r0, #0
lsl r2, r2, #0x18
add r0, r5, #0
add r1, r6, #0
lsr r2, r2, #0x18
bl ov01_021E971C
cmp r0, #0
beq _020566F4
ldr r0, [r4, #0x18]
bl ov01_021E90D4
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _020566F4
_020566F0:
mov r0, #1
pop {r4, r5, r6, pc}
_020566F4:
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02056680
thumb_func_start sub_020566F8
sub_020566F8: ; 0x020566F8
push {r4, r5, r6, lr}
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldrh r0, [r4, #2]
cmp r0, #3
bhi _020567AE
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205671C: ; jump table
.short _02056724 - _0205671C - 2 ; case 0
.short _02056760 - _0205671C - 2 ; case 1
.short _0205679A - _0205671C - 2 ; case 2
.short _020567AA - _0205671C - 2 ; case 3
_02056724:
mov r0, #1
bl ov01_021E636C
ldr r0, [r5, #0x40]
bl sub_0205C6DC
add r6, r0, #0
ldr r0, [r5, #0x40]
bl sub_0205C654
cmp r0, #2
bne _02056746
add r0, r6, #0
mov r1, #0xa
bl sub_0206214C
b _02056758
_02056746:
cmp r0, #3
bne _02056754
add r0, r6, #0
mov r1, #0xb
bl sub_0206214C
b _02056758
_02056754:
bl GF_AssertFail
_02056758:
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _020567AE
_02056760:
ldr r0, [r5, #0x40]
bl sub_0205C6DC
add r6, r0, #0
bl sub_02062198
cmp r0, #1
bne _020567AE
add r0, r6, #0
bl sub_020621C0
add r0, r5, #0
bl sub_02069F88
cmp r0, #0
beq _02056792
ldr r0, [r5, #0x40]
bl sub_0205C654
add r1, r0, #0
lsl r1, r1, #0x18
add r0, r5, #0
lsr r1, r1, #0x18
bl ov01_02205790
_02056792:
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _020567AE
_0205679A:
bl sub_0200FB5C
cmp r0, #0
beq _020567AE
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _020567AE
_020567AA:
mov r0, #1
pop {r4, r5, r6, pc}
_020567AE:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020566F8
thumb_func_start sub_020567B4
sub_020567B4: ; 0x020567B4
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r6, #0
bl sub_02050650
add r4, r0, #0
ldr r0, [r5, #0x40]
bl sub_0205C6DC
ldrh r0, [r4, #2]
cmp r0, #0
beq _020567D8
cmp r0, #1
beq _0205680A
b _02056814
_020567D8:
bl ov01_021E90C0
str r0, [r4, #0x18]
add r7, r0, #0
ldr r0, [r5, #0x40]
bl sub_0205C67C
str r0, [sp]
ldr r0, [r5, #0x40]
bl sub_0205C688
add r1, r0, #0
ldr r0, [sp]
add r2, r7, #0
bl ov01_021E90DC
ldr r1, _02056818 ; =0x021E9C41
add r0, r6, #0
add r2, r7, #0
bl sub_02050530
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056814
_0205680A:
ldr r0, [r4, #0x18]
bl ov01_021E90D4
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02056814:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02056818: .word 0x021E9C41
thumb_func_end sub_020567B4
thumb_func_start sub_0205681C
sub_0205681C: ; 0x0205681C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldrh r0, [r4, #2]
cmp r0, #5
bhi _02056932
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02056842: ; jump table
.short _0205684E - _02056842 - 2 ; case 0
.short _0205686A - _02056842 - 2 ; case 1
.short _020568A8 - _02056842 - 2 ; case 2
.short _020568BE - _02056842 - 2 ; case 3
.short _020568DE - _02056842 - 2 ; case 4
.short _02056926 - _02056842 - 2 ; case 5
_0205684E:
mov r0, #0xb
mov r1, #8
bl AllocFromHeapAtEnd
str r0, [r4, #0x18]
mov r1, #0
str r1, [r0]
mov r0, #1
bl ov01_021E636C
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056932
_0205686A:
ldr r0, [r5, #0x40]
bl sub_0205C6DC
ldr r6, [r4, #0x18]
add r7, r0, #0
ldr r1, [r6]
add r1, r1, #1
str r1, [r6]
add r1, sp, #0
bl sub_0205F944
mov r0, #2
ldr r1, [sp, #4]
lsl r0, r0, #0xc
add r0, r1, r0
str r0, [sp, #4]
add r0, r7, #0
add r1, sp, #0
bl sub_0205F954
ldr r0, [r6]
cmp r0, #0x10
blt _02056932
ldr r0, [r5, #0x40]
mov r1, #1
bl sub_0205C874
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056932
_020568A8:
ldr r0, [r5, #0x40]
mov r1, #1
bl ov01_021F1AFC
ldr r0, [r5, #0x40]
bl ov01_021F1B04
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056932
_020568BE:
ldr r0, [r5, #0x40]
bl sub_0205C6DC
add r5, r0, #0
bl sub_02062108
cmp r0, #0
beq _02056932
add r0, r5, #0
mov r1, #0xc
bl sub_0206214C
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056932
_020568DE:
ldr r0, [r5, #0x40]
bl sub_0205C6DC
bl sub_02062108
cmp r0, #0
beq _02056932
bl sub_0200FB5C
cmp r0, #0
beq _02056932
add r0, r5, #0
bl sub_02069F88
cmp r0, #0
beq _0205691E
add r0, r5, #0
mov r1, #0
bl ov01_02205790
add r0, r5, #0
bl sub_02069D68
mov r1, #0x30
bl sub_0205FC94
add r0, r5, #0
bl sub_02069D68
mov r1, #1
bl sub_02069DC8
_0205691E:
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056932
_02056926:
ldr r0, [r4, #0x18]
bl FreeToHeap
add sp, #0xc
mov r0, #1
pop {r4, r5, r6, r7, pc}
_02056932:
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_0205681C
thumb_func_start sub_02056938
sub_02056938: ; 0x02056938
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldrh r0, [r4, #2]
cmp r0, #5
bhi _02056A4E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205695E: ; jump table
.short _0205696A - _0205695E - 2 ; case 0
.short _02056986 - _0205695E - 2 ; case 1
.short _020569C4 - _0205695E - 2 ; case 2
.short _020569DA - _0205695E - 2 ; case 3
.short _020569FA - _0205695E - 2 ; case 4
.short _02056A42 - _0205695E - 2 ; case 5
_0205696A:
mov r0, #0xb
mov r1, #8
bl AllocFromHeapAtEnd
str r0, [r4, #0x18]
mov r1, #0
str r1, [r0]
mov r0, #1
bl ov01_021E636C
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056A4E
_02056986:
ldr r0, [r5, #0x40]
bl sub_0205C6DC
ldr r6, [r4, #0x18]
add r7, r0, #0
ldr r1, [r6]
add r1, r1, #1
str r1, [r6]
add r1, sp, #0
bl sub_0205F944
mov r0, #2
ldr r1, [sp, #4]
lsl r0, r0, #0xc
sub r0, r1, r0
str r0, [sp, #4]
add r0, r7, #0
add r1, sp, #0
bl sub_0205F954
ldr r0, [r6]
cmp r0, #0x10
blt _02056A4E
ldr r0, [r5, #0x40]
mov r1, #1
bl sub_0205C874
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056A4E
_020569C4:
ldr r0, [r5, #0x40]
mov r1, #1
bl ov01_021F1AFC
ldr r0, [r5, #0x40]
bl ov01_021F1B04
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056A4E
_020569DA:
ldr r0, [r5, #0x40]
bl sub_0205C6DC
add r5, r0, #0
bl sub_02062108
cmp r0, #0
beq _02056A4E
add r0, r5, #0
mov r1, #0xd
bl sub_0206214C
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056A4E
_020569FA:
ldr r0, [r5, #0x40]
bl sub_0205C6DC
bl sub_02062108
cmp r0, #0
beq _02056A4E
bl sub_0200FB5C
cmp r0, #0
beq _02056A4E
add r0, r5, #0
bl sub_02069F88
cmp r0, #0
beq _02056A3A
add r0, r5, #0
mov r1, #1
bl ov01_02205790
add r0, r5, #0
bl sub_02069D68
mov r1, #0x30
bl sub_0205FC94
add r0, r5, #0
bl sub_02069D68
mov r1, #1
bl sub_02069DC8
_02056A3A:
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
b _02056A4E
_02056A42:
ldr r0, [r4, #0x18]
bl FreeToHeap
add sp, #0xc
mov r0, #1
pop {r4, r5, r6, r7, pc}
_02056A4E:
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_02056938
thumb_func_start sub_02056A54
sub_02056A54: ; 0x02056A54
push {r3, r4, r5, r6, lr}
sub sp, #0x34
add r4, r0, #0
ldr r0, [r4, #0x24]
bl sub_02023658
add r5, r0, #0
ldr r1, [r4, #0x24]
add r0, sp, #4
bl sub_02023630
add r6, sp, #4
add r3, sp, #0x10
ldmia r6!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r6]
add r1, r5, #0
str r0, [r3]
add r0, r2, #0
add r2, sp, #0x1c
bl VEC_Subtract
ldr r0, [r4, #0x40]
bl sub_0205C654
add r5, r0, #0
ldr r0, [r4, #0x40]
add r1, sp, #0x28
bl sub_0205C6AC
cmp r5, #3
bne _02056AA2
mov r0, #1
ldr r1, [sp, #0x28]
lsl r0, r0, #0x10
sub r0, r1, r0
str r0, [sp, #0x28]
b _02056AAC
_02056AA2:
mov r0, #1
ldr r1, [sp, #0x28]
lsl r0, r0, #0x10
add r0, r1, r0
str r0, [sp, #0x28]
_02056AAC:
mov r0, #0
str r0, [sp]
ldr r1, [sp, #0x2c]
ldr r2, [sp, #0x28]
ldr r3, [sp, #0x30]
add r0, r4, #0
bl sub_02054940
str r0, [sp, #0x2c]
ldr r0, [r4, #0x40]
add r1, sp, #0x28
add r2, r5, #0
bl sub_0205C810
ldr r0, [r4, #0x40]
bl sub_0205C6BC
ldr r1, [r4, #0x24]
bl sub_020235E0
ldr r0, [r4, #0x40]
bl sub_0205C6BC
ldr r1, [r4, #0x24]
bl sub_02023214
ldr r1, [r4, #0x24]
add r0, sp, #0x1c
bl sub_02023514
add sp, #0x34
pop {r3, r4, r5, r6, pc}
thumb_func_end sub_02056A54
thumb_func_start sub_02056AEC
sub_02056AEC: ; 0x02056AEC
push {r3, r4, r5, r6, lr}
sub sp, #0x34
add r5, r0, #0
ldr r0, [r5, #0x24]
bl sub_02023658
add r4, r0, #0
ldr r1, [r5, #0x24]
add r0, sp, #4
bl sub_02023630
add r6, sp, #4
add r3, sp, #0x10
ldmia r6!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r6]
add r1, r4, #0
str r0, [r3]
add r0, r2, #0
add r2, sp, #0x1c
bl VEC_Subtract
ldr r0, [r5, #0x40]
bl sub_0205C654
add r4, r0, #0
ldr r0, [r5, #0x40]
add r1, sp, #0x28
bl sub_0205C6AC
ldr r0, [r5, #0x40]
bl sub_0205C67C
add r6, r0, #0
ldr r0, [r5, #0x40]
bl sub_0205C688
add r2, r0, #0
add r0, r5, #0
add r1, r6, #0
bl sub_02054918
add r6, r0, #0
bl sub_0205B810
cmp r0, #0
beq _02056B5A
mov r0, #1
ldr r1, [sp, #0x28]
lsl r0, r0, #0x10
add r0, r1, r0
str r0, [sp, #0x28]
mov r4, #2
b _02056B70
_02056B5A:
add r0, r6, #0
bl sub_0205B81C
cmp r0, #0
beq _02056B70
mov r0, #1
ldr r1, [sp, #0x28]
lsl r0, r0, #0x10
sub r0, r1, r0
str r0, [sp, #0x28]
mov r4, #3
_02056B70:
mov r0, #0
str r0, [sp]
ldr r1, [sp, #0x2c]
ldr r2, [sp, #0x28]
ldr r3, [sp, #0x30]
add r0, r5, #0
bl sub_02054940
str r0, [sp, #0x2c]
ldr r0, [r5, #0x40]
add r1, sp, #0x28
add r2, r4, #0
bl sub_0205C810
ldr r0, [r5, #0x40]
bl sub_0205C6BC
ldr r1, [r5, #0x24]
bl sub_020235E0
ldr r0, [r5, #0x40]
bl sub_0205C6BC
ldr r1, [r5, #0x24]
bl sub_02023214
ldr r1, [r5, #0x24]
add r0, sp, #0x1c
bl sub_02023514
add r0, r5, #0
bl sub_02069F88
cmp r0, #0
beq _02056BC2
add r0, r5, #0
bl sub_02069D68
add r1, r4, #0
bl sub_0205F288
_02056BC2:
add sp, #0x34
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02056AEC
thumb_func_start sub_02056BC8
sub_02056BC8: ; 0x02056BC8
push {r4, r5, r6, lr}
sub sp, #0x30
add r4, r0, #0
ldr r0, [r4, #0x24]
bl sub_02023658
add r5, r0, #0
ldr r1, [r4, #0x24]
add r0, sp, #0
bl sub_02023630
add r6, sp, #0
add r3, sp, #0xc
ldmia r6!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r6]
add r1, r5, #0
str r0, [r3]
add r0, r2, #0
add r2, sp, #0x18
bl VEC_Subtract
ldr r0, [r4, #0x40]
bl sub_0205C6DC
add r5, r0, #0
ldr r0, [r4, #0x40]
add r1, sp, #0x24
bl sub_0205C6AC
ldr r0, [r4, #0x40]
mov r1, #0
bl sub_0205C858
mov r0, #2
ldr r1, [sp, #0x28]
lsl r0, r0, #0x10
sub r0, r1, r0
str r0, [sp, #0x28]
ldr r0, [r4, #0x40]
add r1, sp, #0x24
mov r2, #0
bl sub_0205C810
ldr r0, [r4, #0x40]
bl sub_0205C6BC
ldr r1, [r4, #0x24]
bl sub_020235E0
ldr r0, [r4, #0x40]
bl sub_0205C6BC
ldr r1, [r4, #0x24]
bl sub_02023214
ldr r1, [r4, #0x24]
add r0, sp, #0x18
bl sub_02023514
add r0, r5, #0
bl sub_020621C0
mov r1, #2
ldr r0, [r4, #0x40]
lsl r1, r1, #8
bl ov01_021F1AFC
ldr r0, [r4, #0x40]
bl ov01_021F1B04
add r0, r5, #0
mov r1, #0
bl sub_0205F328
add sp, #0x30
pop {r4, r5, r6, pc}
thumb_func_end sub_02056BC8
thumb_func_start sub_02056C64
sub_02056C64: ; 0x02056C64
push {r4, r5, r6, lr}
sub sp, #0x30
add r4, r0, #0
ldr r0, [r4, #0x24]
bl sub_02023658
add r5, r0, #0
ldr r1, [r4, #0x24]
add r0, sp, #0
bl sub_02023630
add r6, sp, #0
add r3, sp, #0xc
ldmia r6!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r6]
add r1, r5, #0
str r0, [r3]
add r0, r2, #0
add r2, sp, #0x18
bl VEC_Subtract
ldr r0, [r4, #0x40]
bl sub_0205C6DC
add r5, r0, #0
ldr r0, [r4, #0x40]
add r1, sp, #0x24
bl sub_0205C6AC
ldr r0, [r4, #0x40]
mov r1, #0
bl sub_0205C858
mov r0, #2
ldr r1, [sp, #0x28]
lsl r0, r0, #0x10
add r0, r1, r0
str r0, [sp, #0x28]
ldr r0, [r4, #0x40]
add r1, sp, #0x24
mov r2, #0
bl sub_0205C810
ldr r0, [r4, #0x40]
bl sub_0205C6BC
ldr r1, [r4, #0x24]
bl sub_020235E0
ldr r0, [r4, #0x40]
bl sub_0205C6BC
ldr r1, [r4, #0x24]
bl sub_02023214
ldr r1, [r4, #0x24]
add r0, sp, #0x18
bl sub_02023514
add r0, r5, #0
bl sub_020621C0
mov r1, #2
ldr r0, [r4, #0x40]
lsl r1, r1, #8
bl ov01_021F1AFC
ldr r0, [r4, #0x40]
bl ov01_021F1B04
add r0, r5, #0
mov r1, #0
bl sub_0205F328
add sp, #0x30
pop {r4, r5, r6, pc}
thumb_func_end sub_02056C64
thumb_func_start sub_02056D00
sub_02056D00: ; 0x02056D00
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
mov r0, #0xb
mov r1, #0x10
bl AllocFromHeapAtEnd
add r2, r0, #0
add r3, r2, #0
mov r1, #0x10
mov r0, #0
_02056D16:
strb r0, [r3]
add r3, r3, #1
sub r1, r1, #1
bne _02056D16
ldr r1, _02056D2C ; =sub_02056D30
add r0, r5, #0
strh r4, [r2, #2]
bl sub_02050530
pop {r3, r4, r5, pc}
nop
_02056D2C: .word sub_02056D30
thumb_func_end sub_02056D00
thumb_func_start sub_02056D30
sub_02056D30: ; 0x02056D30
push {r4, r5, r6, lr}
add r6, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r6, #0
bl sub_02050650
add r4, r0, #0
ldrh r1, [r4]
cmp r1, #0
beq _02056D4E
cmp r1, #1
beq _02056D6C
b _02056D74
_02056D4E:
ldr r0, [r5, #0xc]
add r5, #0xb4
str r0, [r4, #8]
ldrh r0, [r4, #2]
ldr r1, _02056D78 ; =0x020FC790
add r2, r4, #4
str r0, [r4, #0xc]
str r5, [r4, #4]
add r0, r6, #0
bl sub_02050624
ldrh r0, [r4]
add r0, r0, #1
strh r0, [r4]
b _02056D74
_02056D6C:
bl FreeToHeap
mov r0, #1
pop {r4, r5, r6, pc}
_02056D74:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_02056D78: .word 0x020FC790
thumb_func_end sub_02056D30
thumb_func_start sub_02056D7C
sub_02056D7C: ; 0x02056D7C
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
ldr r1, _02056E2C ; =0x021D41C4
ldr r2, [r1]
cmp r2, #0
beq _02056D8C
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02056D8C:
bne _02056D98
str r0, [r1]
mov r1, #0
mov r2, #0xf4
bl MIi_CpuFill8
_02056D98:
ldr r0, _02056E2C ; =0x021D41C4
ldr r2, _02056E30 ; =0x0000FFFF
ldr r1, [r0]
mov r7, #2
str r4, [r1, #0x30]
mov r4, #0
add r5, r4, #0
sub r3, r4, #1
add r1, r4, #0
_02056DAA:
ldr r6, [r0]
add r6, r6, r5
add r6, #0x78
strb r3, [r6]
ldr r6, [r0]
add r6, r6, r5
add r6, #0x74
strh r2, [r6]
ldr r6, [r0]
add r6, r6, r5
add r6, #0x76
strh r2, [r6]
ldr r6, [r0]
add r6, r6, r5
add r6, #0x79
strb r7, [r6]
ldr r6, [r0]
add r6, r6, r5
add r6, #0x38
strb r3, [r6]
ldr r6, [r0]
add r6, r6, r5
strh r2, [r6, #0x34]
ldr r6, [r0]
add r6, r6, r5
strh r2, [r6, #0x36]
ldr r6, [r0]
add r6, r6, r5
add r6, #0x39
strb r7, [r6]
ldr r6, [r0]
add r5, #8
add r6, r6, r4
add r6, #0xb4
strb r1, [r6]
ldr r6, [r0]
add r6, r6, r4
add r6, #0xbc
add r4, r4, #1
strb r1, [r6]
cmp r4, #8
blt _02056DAA
ldr r2, _02056E2C ; =0x021D41C4
ldr r0, [r2]
add r0, #0xed
strb r1, [r0]
ldr r0, [r2]
add r0, #0xef
strb r1, [r0]
ldr r1, [r2]
ldr r0, _02056E34 ; =sub_020572DC
ldr r1, [r1, #0x30]
mov r2, #0xc8
bl sub_0200E320
ldr r1, _02056E2C ; =0x021D41C4
ldr r1, [r1]
str r0, [r1, #0x2c]
bl sub_020374E4
bl sub_02056EF4
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
nop
_02056E2C: .word 0x021D41C4
_02056E30: .word 0x0000FFFF
_02056E34: .word sub_020572DC
thumb_func_end sub_02056D7C
thumb_func_start sub_02056E38
sub_02056E38: ; 0x02056E38
push {r3, r4, r5, lr}
ldr r0, _02056E5C ; =0x021D41C4
ldr r0, [r0]
cmp r0, #0
beq _02056E58
mov r5, #0
mov r4, #1
_02056E46:
lsl r0, r5, #0x18
lsr r0, r0, #0x18
add r1, r4, #0
add r2, r4, #0
bl sub_0205724C
add r5, r5, #1
cmp r5, #8
blt _02056E46
_02056E58:
pop {r3, r4, r5, pc}
nop
_02056E5C: .word 0x021D41C4
thumb_func_end sub_02056E38
thumb_func_start sub_02056E60
sub_02056E60: ; 0x02056E60
push {r3, lr}
ldr r0, _02056E9C ; =0x021D41C4
ldr r2, [r0]
cmp r2, #0
beq _02056E9A
mov r1, #1
add r2, #0xec
strb r1, [r2]
ldr r0, [r0]
mov r1, #0
add r0, #0xee
strb r1, [r0]
bl sub_02056EF4
mov r0, #1
bl sub_0205701C
ldr r0, _02056E9C ; =0x021D41C4
ldr r0, [r0]
ldr r0, [r0, #0x30]
ldr r0, [r0, #0x40]
bl sub_0205C67C
ldr r0, _02056E9C ; =0x021D41C4
ldr r0, [r0]
ldr r0, [r0, #0x30]
ldr r0, [r0, #0x40]
bl sub_0205C688
_02056E9A:
pop {r3, pc}
.balign 4, 0
_02056E9C: .word 0x021D41C4
thumb_func_end sub_02056E60
thumb_func_start sub_02056EA0
sub_02056EA0: ; 0x02056EA0
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, _02056EDC ; =0x021D41C4
ldr r0, [r0]
cmp r0, #0
beq _02056EDA
mov r4, #0
add r6, r4, #0
_02056EB0:
lsl r0, r4, #0x18
lsr r0, r0, #0x18
add r1, r6, #0
add r2, r5, #0
bl sub_0205724C
add r4, r4, #1
cmp r4, #8
blt _02056EB0
ldr r0, _02056EDC ; =0x021D41C4
ldr r0, [r0]
ldr r0, [r0, #0x2c]
bl sub_0200E390
ldr r0, _02056EDC ; =0x021D41C4
ldr r0, [r0]
bl FreeToHeap
ldr r0, _02056EDC ; =0x021D41C4
mov r1, #0
str r1, [r0]
_02056EDA:
pop {r4, r5, r6, pc}
.balign 4, 0
_02056EDC: .word 0x021D41C4
thumb_func_end sub_02056EA0
thumb_func_start sub_02056EE0
sub_02056EE0: ; 0x02056EE0
ldr r0, _02056EF0 ; =0x021D41C4
ldr r0, [r0]
cmp r0, #0
beq _02056EEC
mov r0, #1
bx lr
_02056EEC:
mov r0, #0
bx lr
.balign 4, 0
_02056EF0: .word 0x021D41C4
thumb_func_end sub_02056EE0
thumb_func_start sub_02056EF4
sub_02056EF4: ; 0x02056EF4
push {r4, lr}
bl sub_0203769C
ldr r1, _02056FCC ; =0x021D41C4
lsl r0, r0, #2
ldr r2, [r1]
ldr r1, [r2, #0x30]
add r0, r2, r0
ldr r1, [r1, #0x40]
str r1, [r0, #4]
bl sub_0203769C
ldr r1, _02056FCC ; =0x021D41C4
mov r2, #1
ldr r1, [r1]
add r0, r1, r0
add r0, #0x24
strb r2, [r0]
bl sub_0203769C
add r4, r0, #0
ldr r0, _02056FCC ; =0x021D41C4
ldr r0, [r0]
ldr r0, [r0, #0x30]
ldr r0, [r0, #0x40]
bl sub_0205C67C
ldr r1, _02056FCC ; =0x021D41C4
ldr r2, [r1]
lsl r1, r4, #3
add r1, r2, r1
add r1, #0x74
strh r0, [r1]
bl sub_0203769C
add r4, r0, #0
ldr r0, _02056FCC ; =0x021D41C4
ldr r0, [r0]
ldr r0, [r0, #0x30]
ldr r0, [r0, #0x40]
bl sub_0205C688
ldr r1, _02056FCC ; =0x021D41C4
ldr r2, [r1]
lsl r1, r4, #3
add r1, r2, r1
add r1, #0x76
strh r0, [r1]
bl sub_0203769C
add r4, r0, #0
ldr r0, _02056FCC ; =0x021D41C4
ldr r0, [r0]
ldr r0, [r0, #0x30]
ldr r0, [r0, #0x40]
bl sub_0205C654
ldr r1, _02056FCC ; =0x021D41C4
ldr r2, [r1]
lsl r1, r4, #3
add r1, r2, r1
add r1, #0x78
strb r0, [r1]
bl sub_0203769C
add r4, r0, #0
ldr r0, _02056FCC ; =0x021D41C4
ldr r0, [r0]
ldr r0, [r0, #0x30]
ldr r0, [r0, #0x40]
bl sub_0205C67C
ldr r1, _02056FCC ; =0x021D41C4
ldr r2, [r1]
lsl r1, r4, #3
add r1, r2, r1
strh r0, [r1, #0x34]
bl sub_0203769C
add r4, r0, #0
ldr r0, _02056FCC ; =0x021D41C4
ldr r0, [r0]
ldr r0, [r0, #0x30]
ldr r0, [r0, #0x40]
bl sub_0205C688
ldr r1, _02056FCC ; =0x021D41C4
ldr r2, [r1]
lsl r1, r4, #3
add r1, r2, r1
strh r0, [r1, #0x36]
bl sub_0203769C
add r4, r0, #0
ldr r0, _02056FCC ; =0x021D41C4
ldr r0, [r0]
ldr r0, [r0, #0x30]
ldr r0, [r0, #0x40]
bl sub_0205C654
ldr r1, _02056FCC ; =0x021D41C4
ldr r2, [r1]
lsl r1, r4, #3
add r1, r2, r1
add r1, #0x38
strb r0, [r1]
pop {r4, pc}
nop
_02056FCC: .word 0x021D41C4
thumb_func_end sub_02056EF4
thumb_func_start sub_02056FD0
sub_02056FD0: ; 0x02056FD0
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
ldr r0, _02057018 ; =0x021D41C4
add r4, r1, #0
ldr r0, [r0]
add r6, r2, #0
ldr r0, [r0, #0x30]
ldr r0, [r0, #0x40]
bl sub_0205C654
add r1, sp, #0
strb r4, [r1]
asr r2, r4, #8
strb r2, [r1, #1]
asr r2, r6, #8
strb r6, [r1, #2]
strb r2, [r1, #3]
strb r0, [r1, #4]
cmp r5, #0
beq _02057002
ldrb r2, [r1, #4]
mov r0, #0x80
orr r0, r2
strb r0, [r1, #4]
_02057002:
mov r0, #0x16
add r1, sp, #0
bl sub_020376E0
ldr r0, _02057018 ; =0x021D41C4
mov r1, #1
ldr r0, [r0]
add r0, #0xec
strb r1, [r0]
add sp, #8
pop {r4, r5, r6, pc}
.balign 4, 0
_02057018: .word 0x021D41C4
thumb_func_end sub_02056FD0
thumb_func_start sub_0205701C
sub_0205701C: ; 0x0205701C
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _02057048 ; =0x021D41C4
ldr r0, [r0]
ldr r0, [r0, #0x30]
ldr r0, [r0, #0x40]
bl sub_0205C67C
add r4, r0, #0
ldr r0, _02057048 ; =0x021D41C4
ldr r0, [r0]
ldr r0, [r0, #0x30]
ldr r0, [r0, #0x40]
bl sub_0205C688
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_02056FD0
pop {r3, r4, r5, pc}
nop
_02057048: .word 0x021D41C4
thumb_func_end sub_0205701C
thumb_func_start sub_0205704C
sub_0205704C: ; 0x0205704C
push {r3, r4, r5, lr}
sub sp, #8
ldrh r2, [r1]
mov r4, #0xf
lsl r4, r4, #0xc
ldrh r3, [r1, #2]
cmp r2, r4
blo _0205705E
sub r2, r4, #1
_0205705E:
mov r4, #0xf
lsl r4, r4, #0xc
cmp r3, r4
blo _02057068
sub r3, r4, #1
_02057068:
mov r4, #0xf
and r0, r4
add r4, sp, #0
strb r0, [r4]
strb r2, [r4, #1]
asr r2, r2, #8
add r5, r2, #0
mov r0, #1
and r5, r0
asr r2, r3, #7
mov r0, #2
and r0, r2
add r0, r5, r0
strb r0, [r4, #2]
strb r3, [r4, #3]
ldrb r0, [r1, #7]
cmp r0, #0
beq _02057094
ldrb r2, [r4, #2]
mov r0, #0x80
orr r0, r2
strb r0, [r4, #2]
_02057094:
mov r2, #4
ldrsb r2, [r1, r2]
add r5, sp, #0
ldrb r0, [r5]
lsr r4, r2, #0x1f
lsl r3, r2, #0x1e
sub r3, r3, r4
mov r2, #0x1e
ror r3, r2
add r2, r4, r3
lsl r2, r2, #4
add r0, r0, r2
strb r0, [r5]
ldrb r0, [r1, #5]
ldrb r2, [r5]
add r1, sp, #0
lsl r0, r0, #6
add r0, r2, r0
strb r0, [r5]
mov r0, #0x17
mov r2, #0
bl sub_02037108
add sp, #8
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205704C
thumb_func_start sub_020570C8
sub_020570C8: ; 0x020570C8
push {r3, r4, r5, lr}
ldr r0, _02057128 ; =0x021D41C4
ldr r0, [r0]
ldr r0, [r0, #0x30]
ldr r0, [r0, #0x40]
bl sub_0205C6CC
add r4, r0, #0
ldr r0, _02057128 ; =0x021D41C4
ldr r0, [r0]
ldr r0, [r0, #0x30]
ldr r0, [r0, #0x40]
bl sub_0205C6D4
add r5, r0, #0
cmp r4, #0
bne _02057112
bl sub_0203769C
bl sub_020373B4
cmp r0, #0
beq _02057112
ldr r0, _02057128 ; =0x021D41C4
ldr r0, [r0]
add r0, #0xeb
ldrb r0, [r0]
cmp r0, #0
bne _02057112
mov r0, #1
bl sub_0205701C
ldr r0, _02057128 ; =0x021D41C4
mov r1, #1
ldr r0, [r0]
add r0, #0xeb
strb r1, [r0]
_02057112:
cmp r4, #1
bne _02057124
cmp r5, #1
bne _02057124
ldr r0, _02057128 ; =0x021D41C4
mov r1, #0
ldr r0, [r0]
add r0, #0xeb
strb r1, [r0]
_02057124:
pop {r3, r4, r5, pc}
nop
_02057128: .word 0x021D41C4
thumb_func_end sub_020570C8
thumb_func_start sub_0205712C
sub_0205712C: ; 0x0205712C
push {r3, r4, r5, r6, r7, lr}
mov r4, #0
ldr r7, _0205717C ; =0x021D41C4
add r5, r4, #0
add r6, r4, #0
_02057136:
ldr r0, [r7]
add r1, r0, r4
add r1, #0x24
ldrb r1, [r1]
cmp r1, #0
beq _02057168
add r2, r0, r4
add r2, #0xcc
ldrb r2, [r2]
add r1, r0, #0
add r1, #0x34
cmp r2, #0
bne _0205715A
add r2, r0, #0
add r2, #0xec
ldrb r2, [r2]
cmp r2, #0
beq _02057168
_0205715A:
add r0, r0, r4
add r0, #0xcc
strb r6, [r0]
add r0, r4, #0
add r1, r1, r5
bl sub_0205704C
_02057168:
add r4, r4, #1
add r5, #8
cmp r4, #8
blt _02057136
ldr r0, _0205717C ; =0x021D41C4
mov r1, #0
ldr r0, [r0]
add r0, #0xec
strb r1, [r0]
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0205717C: .word 0x021D41C4
thumb_func_end sub_0205712C
thumb_func_start sub_02057180
sub_02057180: ; 0x02057180
mov r0, #0xf4
bx lr
thumb_func_end sub_02057180
thumb_func_start sub_02057184
sub_02057184: ; 0x02057184
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
ldr r1, _02057248 ; =0x021D41C4
add r5, r0, #0
ldr r2, [r1]
lsl r4, r5, #2
add r1, r2, r4
ldr r1, [r1, #4]
cmp r1, #0
bne _02057242
add r2, #0xee
ldrb r1, [r2]
cmp r1, #0
bne _02057242
bl sub_02034818
str r0, [sp, #0x14]
cmp r0, #0
beq _02057242
bl sub_0203769C
cmp r5, r0
beq _020571CC
ldr r0, _02057248 ; =0x021D41C4
mov r1, #1
ldr r0, [r0]
lsl r1, r1, #8
ldr r0, [r0, #0x30]
add r1, r5, r1
ldr r0, [r0, #0x3c]
bl sub_0205EE60
cmp r0, #0
beq _020571CC
bl sub_0205E3CC
_020571CC:
ldr r0, [sp, #0x14]
mov r7, #2
bl sub_0202907C
cmp r0, #0
bne _020571DC
mov r7, #1
b _020571E2
_020571DC:
cmp r0, #0xc
bne _020571E2
mov r7, #0
_020571E2:
lsl r0, r5, #3
str r0, [sp, #0x10]
ldr r0, _02057248 ; =0x021D41C4
ldr r6, [r0]
ldr r0, [sp, #0x14]
bl PlayerProfile_GetTrainerGender
mov r1, #0
str r1, [sp]
str r0, [sp, #4]
str r7, [sp, #8]
str r1, [sp, #0xc]
ldr r1, [sp, #0x10]
ldr r0, [r6, #0x30]
add r3, r6, r1
add r1, r3, #0
add r2, r3, #0
add r1, #0x74
add r2, #0x76
mov r6, #0x78
ldrh r1, [r1]
ldrh r2, [r2]
ldrsb r3, [r3, r6]
ldr r0, [r0, #0x3c]
bl sub_0205C390
add r6, r0, #0
bne _0205721E
bl GF_AssertFail
_0205721E:
ldr r0, _02057248 ; =0x021D41C4
ldr r0, [r0]
add r0, r0, r4
str r6, [r0, #4]
add r0, r6, #0
bl sub_0205C6DC
mov r1, #1
lsl r1, r1, #8
add r1, r5, r1
bl sub_0205F248
ldr r0, _02057248 ; =0x021D41C4
mov r1, #1
ldr r0, [r0]
add r0, r0, r5
add r0, #0x24
strb r1, [r0]
_02057242:
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_02057248: .word 0x021D41C4
thumb_func_end sub_02057184
thumb_func_start sub_0205724C
sub_0205724C: ; 0x0205724C
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, _020572A8 ; =0x021D41C4
add r6, r1, #0
ldr r1, [r0]
cmp r1, #0
beq _020572A4
lsl r4, r5, #2
add r0, r1, r4
ldr r0, [r0, #4]
cmp r0, #0
beq _02057284
ldr r1, [r1, #0x30]
ldr r1, [r1, #0x40]
cmp r1, r0
beq _0205727A
cmp r2, #0
beq _02057276
bl sub_0205C4CC
b _0205727A
_02057276:
bl sub_0205C4C4
_0205727A:
ldr r0, _020572A8 ; =0x021D41C4
mov r1, #0
ldr r0, [r0]
add r0, r0, r4
str r1, [r0, #4]
_02057284:
ldr r0, _020572A8 ; =0x021D41C4
ldr r1, [r0]
add r1, #0x24
ldrb r0, [r1, r5]
cmp r0, #0
beq _02057298
cmp r6, #0
bne _02057298
mov r0, #0
strb r0, [r1, r5]
_02057298:
ldr r0, _020572A8 ; =0x021D41C4
mov r1, #1
ldr r0, [r0]
add r0, r0, r5
add r0, #0xcc
strb r1, [r0]
_020572A4:
pop {r4, r5, r6, pc}
nop
_020572A8: .word 0x021D41C4
thumb_func_end sub_0205724C
thumb_func_start sub_020572AC
sub_020572AC: ; 0x020572AC
push {r4, lr}
ldr r1, _020572D8 ; =gMain
mov r4, #2
ldr r1, [r1, #0x44]
tst r1, r4
beq _020572BC
mov r4, #1
b _020572CE
_020572BC:
cmp r0, #0
beq _020572CE
bl sub_0205CA1C
bl sub_0205CB38
cmp r0, #0
beq _020572CE
mov r4, #1
_020572CE:
add r0, r4, #0
bl sub_02037498
pop {r4, pc}
nop
_020572D8: .word gMain
thumb_func_end sub_020572AC
thumb_func_start sub_020572DC
sub_020572DC: ; 0x020572DC
push {r4, lr}
add r4, r1, #0
bl sub_02037474
cmp r0, #0
beq _02057310
add r0, r4, #0
bl sub_020572AC
bl sub_0203769C
cmp r0, #0
bne _02057304
add r0, r4, #0
bl sub_0205712C
add r0, r4, #0
bl sub_020570C8
b _0205730A
_02057304:
add r0, r4, #0
bl sub_020570C8
_0205730A:
add r0, r4, #0
bl sub_02057314
_02057310:
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020572DC
thumb_func_start sub_02057314
sub_02057314: ; 0x02057314
push {r3, r4, r5, r6, r7, lr}
mov r5, #0
ldr r4, _02057354 ; =0x021D41C4
add r7, r5, #0
add r6, sp, #0
_0205731E:
lsl r0, r5, #0x10
lsr r0, r0, #0x10
bl sub_020373B4
cmp r0, #0
beq _02057332
add r0, r5, #0
bl sub_02057818
b _0205734C
_02057332:
ldr r3, [r4]
add r0, r3, r5
add r0, #0x24
ldrb r0, [r0]
cmp r0, #0
beq _0205734C
strb r5, [r6]
ldr r3, [r3, #0x30]
add r0, r7, #0
mov r1, #1
add r2, sp, #0
bl sub_0205776C
_0205734C:
add r5, r5, #1
cmp r5, #8
blt _0205731E
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02057354: .word 0x021D41C4
thumb_func_end sub_02057314
thumb_func_start sub_02057358
sub_02057358: ; 0x02057358
push {r3, lr}
ldr r1, _02057380 ; =0x021D41C4
ldr r2, [r1]
cmp r2, #0
beq _0205737C
add r1, r2, #0
add r1, #0xed
ldrb r1, [r1]
cmp r1, r0
beq _02057370
add r2, #0xed
strb r0, [r2]
_02057370:
ldr r1, _02057380 ; =0x021D41C4
mov r0, #0x3e
ldr r1, [r1]
add r1, #0xed
bl sub_020376E0
_0205737C:
pop {r3, pc}
nop
_02057380: .word 0x021D41C4
thumb_func_end sub_02057358
thumb_func_start sub_02057384
sub_02057384: ; 0x02057384
push {r3, lr}
ldr r2, _020573A8 ; =0x021D41C4
ldr r3, [r2]
cmp r3, #0
beq _020573A6
add r1, r3, #0
add r1, #0xed
ldrb r1, [r1]
cmp r1, r0
beq _020573A6
add r3, #0xed
strb r0, [r3]
ldr r1, [r2]
mov r0, #0x3e
add r1, #0xed
bl sub_020376E0
_020573A6:
pop {r3, pc}
.balign 4, 0
_020573A8: .word 0x021D41C4
thumb_func_end sub_02057384
thumb_func_start sub_020573AC
sub_020573AC: ; 0x020573AC
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _020573EC ; =0x021D41C4
add r4, r2, #0
ldr r0, [r0]
cmp r0, #0
beq _020573E8
cmp r1, #1
beq _020573C2
bl GF_AssertFail
_020573C2:
cmp r5, #8
blt _020573CA
bl GF_AssertFail
_020573CA:
ldrb r0, [r4]
mov r1, #1
cmp r0, #1
beq _020573D8
cmp r0, #0
beq _020573D8
mov r1, #0
_020573D8:
cmp r1, #0
bne _020573E0
bl GF_AssertFail
_020573E0:
ldrb r1, [r4]
add r0, r5, #0
bl sub_02057C5C
_020573E8:
pop {r3, r4, r5, pc}
nop
_020573EC: .word 0x021D41C4
thumb_func_end sub_020573AC
thumb_func_start sub_020573F0
sub_020573F0: ; 0x020573F0
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _02057450 ; =0x021D41C4
add r4, r1, #0
ldr r0, [r0]
cmp r0, #0
beq _0205744E
add r0, r4, #0
bl sub_02057384
ldr r0, _02057450 ; =0x021D41C4
ldr r0, [r0]
add r0, #0xf1
strb r4, [r0]
ldr r4, [r5, #0x40]
cmp r4, #0
beq _02057420
bl sub_0203769C
ldr r1, _02057450 ; =0x021D41C4
lsl r0, r0, #2
ldr r1, [r1]
add r0, r1, r0
str r4, [r0, #4]
_02057420:
bl sub_02037474
cmp r0, #0
beq _0205743A
bl sub_0203769C
cmp r0, #0
bne _0205743A
ldr r1, _02057450 ; =0x021D41C4
mov r0, #0
ldr r1, [r1]
bl sub_02057550
_0205743A:
bl sub_02037474
cmp r0, #0
beq _0205744E
bl sub_0203769C
cmp r0, #0
bne _0205744E
bl sub_02057D74
_0205744E:
pop {r3, r4, r5, pc}
.balign 4, 0
_02057450: .word 0x021D41C4
thumb_func_end sub_020573F0
thumb_func_start sub_02057454
sub_02057454: ; 0x02057454
mov r0, #0x20
tst r0, r1
beq _0205745E
mov r0, #2
bx lr
_0205745E:
mov r0, #0x10
tst r0, r1
beq _02057468
mov r0, #3
bx lr
_02057468:
mov r0, #0x40
tst r0, r1
beq _02057472
mov r0, #0
bx lr
_02057472:
mov r0, #0x80
tst r1, r0
beq _0205747C
mov r0, #1
bx lr
_0205747C:
sub r0, #0x81
bx lr
thumb_func_end sub_02057454
thumb_func_start sub_02057480
sub_02057480: ; 0x02057480
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, _020574C0 ; =0x021D41C4
add r6, r1, #0
ldr r0, [r0]
ldr r0, [r0, #0x30]
bl sub_0203B74C
add r4, r0, #0
ldr r0, _020574C0 ; =0x021D41C4
ldr r0, [r0]
ldr r0, [r0, #0x30]
bl sub_0203B754
mov r2, #0
cmp r4, #0
ble _020574BA
_020574A2:
ldrh r1, [r0, #0x18]
cmp r5, r1
bne _020574B2
ldrh r1, [r0, #0x1a]
cmp r6, r1
bne _020574B2
mov r0, #1
pop {r4, r5, r6, pc}
_020574B2:
add r2, r2, #1
add r0, #0x20
cmp r2, r4
blt _020574A2
_020574BA:
mov r0, #0
pop {r4, r5, r6, pc}
nop
_020574C0: .word 0x021D41C4
thumb_func_end sub_02057480
thumb_func_start sub_020574C4
sub_020574C4: ; 0x020574C4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, _0205751C ; =0x0000FFFF
add r6, r1, #0
add r7, r2, #0
cmp r5, r0
beq _0205750A
cmp r6, r0
beq _0205750A
mov r4, #0
_020574D8:
cmp r4, r7
beq _020574F4
add r0, r4, #0
bl sub_02057B4C
cmp r5, r0
bne _020574F4
add r0, r4, #0
bl sub_02057B9C
cmp r6, r0
bne _020574F4
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_020574F4:
add r4, r4, #1
cmp r4, #8
blt _020574D8
add r0, r5, #0
add r1, r6, #0
bl sub_02057480
cmp r0, #0
beq _0205750A
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205750A:
ldr r0, _02057520 ; =0x021D41C4
add r1, r5, #0
ldr r0, [r0]
add r2, r6, #0
ldr r0, [r0, #0x30]
bl sub_020548C0
pop {r3, r4, r5, r6, r7, pc}
nop
_0205751C: .word 0x0000FFFF
_02057520: .word 0x021D41C4
thumb_func_end sub_020574C4
thumb_func_start sub_02057524
sub_02057524: ; 0x02057524
push {r3, r4, lr}
sub sp, #0x14
ldr r3, _0205754C ; =0x020FC7B8
add r4, r0, #0
ldmia r3!, {r0, r1}
add r2, sp, #0
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3]
cmp r4, #5
str r0, [r2]
blt _02057542
bl GF_AssertFail
_02057542:
lsl r1, r4, #2
add r0, sp, #0
ldr r0, [r0, r1]
add sp, #0x14
pop {r3, r4, pc}
.balign 4, 0
_0205754C: .word 0x020FC7B8
thumb_func_end sub_02057524
thumb_func_start sub_02057550
sub_02057550: ; 0x02057550
push {r4, r5, r6, r7, lr}
sub sp, #0xc
mov r5, #0
ldr r6, _020576B8 ; =0x021D41C4
str r5, [sp]
_0205755A:
ldr r0, [r6]
add r1, r0, r5
add r1, #0x24
ldrb r1, [r1]
cmp r1, #0
beq _02057570
add r1, r0, r5
add r1, #0xb4
ldrb r1, [r1]
cmp r1, #0
bne _02057572
_02057570:
b _020576A4
_02057572:
add r2, r0, #0
ldr r1, [sp]
add r2, #0x34
add r4, r2, r1
add r1, r0, r5
add r1, #0xd4
ldrb r1, [r1]
cmp r1, #0
beq _02057592
add r1, r0, r5
add r1, #0xd4
ldrb r1, [r1]
add r0, r0, r5
add r0, #0xd4
sub r1, r1, #1
strb r1, [r0]
_02057592:
ldr r0, [r6]
add r0, r0, r5
add r0, #0xbc
ldrb r0, [r0]
cmp r0, #0
beq _020575A2
mov r7, #0
b _020575AA
_020575A2:
add r0, r5, #0
bl sub_020374C0
add r7, r0, #0
_020575AA:
add r0, r5, #0
bl sub_020374AC
strb r0, [r4, #5]
ldr r0, [r6]
add r1, r0, r5
add r1, #0xd4
ldrb r1, [r1]
cmp r1, #0
bne _020576A4
ldrb r1, [r4, #7]
cmp r1, #1
bne _020575CC
add r1, r0, r5
add r1, #0xcc
mov r0, #1
strb r0, [r1]
_020575CC:
mov r0, #0
strb r0, [r4, #7]
ldr r1, [r6]
add r0, r1, r5
add r0, #0xc4
ldrb r0, [r0]
cmp r0, #2
bne _020575E6
add r1, r1, r5
add r1, #0xc4
mov r0, #1
strb r0, [r1]
b _020576A4
_020575E6:
add r0, r7, #0
add r1, r7, #0
bl sub_02057454
add r7, r0, #0
add r0, r5, #0
bl sub_02057BEC
str r0, [sp, #4]
add r0, r5, #0
bl sub_02057C24
str r0, [sp, #8]
ldr r1, [sp, #4]
ldr r0, _020576BC ; =0x0000FFFF
cmp r1, r0
beq _020576A4
ldr r1, [sp, #8]
cmp r1, r0
beq _020576A4
mov r0, #0
mvn r0, r0
cmp r7, r0
beq _020576A4
mov r0, #4
ldrsb r0, [r4, r0]
cmp r0, r7
beq _02057650
strb r7, [r4, #4]
ldr r0, [r6]
add r1, r0, r5
add r1, #0xd4
mov r0, #4
strb r0, [r1]
ldr r0, [r6]
add r1, r0, r5
add r1, #0xcc
mov r0, #1
strb r0, [r1]
ldr r0, [r6]
add r1, r0, r5
add r1, #0xc4
ldrb r1, [r1]
cmp r1, #2
bls _020576A4
add r1, r0, r5
add r1, #0xc4
ldrb r1, [r1]
add r0, r0, r5
add r0, #0xc4
sub r1, r1, #1
strb r1, [r0]
b _020576A4
_02057650:
ldr r0, [r6]
add r0, r0, r5
add r0, #0xc4
ldrb r0, [r0]
cmp r0, #0
bne _020576A4
ldr r0, [sp, #4]
add r2, r5, #0
bl sub_020574C4
cmp r0, #0
beq _02057682
mov r0, #1
strb r0, [r4, #7]
ldr r0, [r6]
add r1, r0, r5
add r1, #0xcc
mov r0, #1
strb r0, [r1]
ldr r0, [r6]
add r1, r0, r5
add r1, #0xd4
mov r0, #4
strb r0, [r1]
b _020576A4
_02057682:
ldr r0, [r6]
add r1, r0, r5
add r1, #0xcc
mov r0, #1
strb r0, [r1]
ldr r0, [sp, #4]
strh r0, [r4]
ldr r0, [sp, #8]
strh r0, [r4, #2]
strb r7, [r4, #4]
ldrb r0, [r4, #5]
bl sub_02057524
ldr r1, [r6]
add r1, r1, r5
add r1, #0xd4
strb r0, [r1]
_020576A4:
ldr r0, [sp]
add r5, r5, #1
add r0, #8
str r0, [sp]
cmp r5, #8
bge _020576B2
b _0205755A
_020576B2:
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
_020576B8: .word 0x021D41C4
_020576BC: .word 0x0000FFFF
thumb_func_end sub_02057550
thumb_func_start sub_020576C0
sub_020576C0: ; 0x020576C0
push {r4, r5, r6, lr}
ldr r3, _02057768 ; =0x021D41C4
add r1, r0, #0
ldr r4, [r3]
add r0, r2, #0
cmp r4, #0
beq _02057764
add r5, r4, #0
ldrb r6, [r0, #4]
add r5, #0x34
lsl r2, r1, #3
add r2, r5, r2
mov r5, #0x80
tst r5, r6
beq _020576E6
mov r0, #1
add r4, #0xec
strb r0, [r4]
pop {r4, r5, r6, pc}
_020576E6:
mov r4, #4
ldrsb r5, [r2, r4]
sub r4, r4, #5
cmp r5, r4
bne _02057702
mov r5, #0
mov r4, #1
_020576F4:
ldr r6, [r3]
add r6, r6, r5
add r6, #0xcc
add r5, r5, #1
strb r4, [r6]
cmp r5, #8
blt _020576F4
_02057702:
mov r3, #0
strh r3, [r2]
strh r3, [r2, #2]
ldrh r4, [r2]
ldrb r3, [r0]
add r3, r4, r3
strh r3, [r2]
ldrb r4, [r0, #1]
ldrh r3, [r2]
lsl r5, r4, #8
mov r4, #0xff
lsl r4, r4, #8
and r5, r4
add r3, r3, r5
strh r3, [r2]
ldrh r5, [r2, #2]
ldrb r3, [r0, #2]
add r3, r5, r3
strh r3, [r2, #2]
ldrb r5, [r0, #3]
ldrh r3, [r2, #2]
lsl r5, r5, #8
and r4, r5
add r3, r3, r4
strh r3, [r2, #2]
ldrb r3, [r0, #4]
mov r0, #0xf
ldr r4, _02057768 ; =0x021D41C4
and r0, r3
strb r0, [r2, #4]
ldr r3, [r4]
mov r0, #1
add r3, r3, r1
add r3, #0x24
strb r0, [r3]
ldr r3, [r4]
add r1, r3, r1
add r1, #0xcc
strb r0, [r1]
ldr r0, [r4]
ldrh r1, [r2]
ldrh r2, [r2, #2]
ldr r0, [r0, #0x30]
bl sub_020548C0
cmp r0, #0
beq _02057764
bl GF_AssertFail
_02057764:
pop {r4, r5, r6, pc}
nop
_02057768: .word 0x021D41C4
thumb_func_end sub_020576C0
thumb_func_start sub_0205776C
sub_0205776C: ; 0x0205776C
push {r4, lr}
ldr r0, _02057794 ; =0x021D41C4
ldrb r4, [r2]
ldr r0, [r0]
cmp r0, #0
beq _02057790
bl sub_0203769C
cmp r4, r0
beq _02057790
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl sub_0205724C
add r0, r4, #0
bl sub_020346E8
_02057790:
pop {r4, pc}
nop
_02057794: .word 0x021D41C4
thumb_func_end sub_0205776C
thumb_func_start sub_02057798
sub_02057798: ; 0x02057798
mov r0, #5
bx lr
thumb_func_end sub_02057798
thumb_func_start sub_0205779C
sub_0205779C: ; 0x0205779C
push {r3, r4, r5, lr}
ldrb r1, [r2]
mov r0, #0xf
add r3, r1, #0
and r3, r0
ldr r0, _02057814 ; =0x021D41C4
ldr r1, [r0]
cmp r1, #0
beq _02057810
ldrb r4, [r2, #2]
add r1, #0x74
lsl r0, r3, #3
add r1, r1, r0
mov r0, #0x80
tst r0, r4
beq _020577C0
mov r0, #1
b _020577C2
_020577C0:
mov r0, #0
_020577C2:
strb r0, [r1, #7]
mov r0, #0
strh r0, [r1]
strh r0, [r1, #2]
ldrh r4, [r1]
ldrb r0, [r2, #1]
add r0, r4, r0
strh r0, [r1]
ldrb r4, [r2, #2]
ldrh r0, [r1]
lsl r5, r4, #8
mov r4, #1
lsl r4, r4, #8
and r5, r4
add r0, r0, r5
strh r0, [r1]
ldrh r5, [r1, #2]
ldrb r0, [r2, #3]
add r0, r5, r0
strh r0, [r1, #2]
ldrb r5, [r2, #2]
ldrh r0, [r1, #2]
lsl r5, r5, #7
and r4, r5
add r0, r0, r4
strh r0, [r1, #2]
ldrb r0, [r2]
asr r4, r0, #4
mov r0, #3
and r4, r0
strb r4, [r1, #4]
ldrb r2, [r2]
asr r2, r2, #6
and r0, r2
strb r0, [r1, #5]
lsl r0, r3, #0x18
lsr r0, r0, #0x18
bl sub_02057184
_02057810:
pop {r3, r4, r5, pc}
nop
_02057814: .word 0x021D41C4
thumb_func_end sub_0205779C
thumb_func_start sub_02057818
sub_02057818: ; 0x02057818
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r5, r0, #0
ldr r0, _02057A00 ; =0x021D41C4
lsl r1, r5, #3
ldr r0, [r0]
add r2, r0, #0
add r2, #0x74
add r6, r2, r1
add r2, r0, #0
add r2, #0xdc
ldrb r1, [r2, r5]
cmp r1, #0
beq _0205783C
sub r0, r1, #1
add sp, #0x1c
strb r0, [r2, r5]
pop {r4, r5, r6, r7, pc}
_0205783C:
ldrh r2, [r6]
ldr r1, _02057A04 ; =0x0000FFFF
cmp r2, r1
beq _02057866
ldrh r2, [r6, #2]
cmp r2, r1
beq _02057866
add r0, #0xee
ldrb r0, [r0]
cmp r0, #0
bne _02057866
bl sub_0203769C
cmp r5, r0
bne _02057868
ldr r0, _02057A00 ; =0x021D41C4
ldr r0, [r0]
add r0, #0xf1
ldrb r0, [r0]
cmp r0, #0
bne _02057868
_02057866:
b _020579FC
_02057868:
ldr r0, _02057A00 ; =0x021D41C4
ldr r1, [r0]
lsl r0, r5, #2
add r0, r1, r0
ldr r0, [r0, #4]
str r0, [sp, #0x18]
cmp r0, #0
bne _0205787A
b _020579FC
_0205787A:
bl sub_0205C67C
ldrh r1, [r6]
sub r0, r0, r1
str r0, [sp, #0x10]
ldr r0, [sp, #0x18]
bl sub_0205C688
ldrh r1, [r6, #2]
sub r7, r0, r1
ldr r0, [sp, #0x18]
bl sub_0205C654
str r0, [sp, #0xc]
ldr r0, [sp, #0x10]
cmp r0, #0
bne _020578A4
cmp r7, #0
bne _020578A4
mov r4, #0
b _020578CE
_020578A4:
ldr r0, [sp, #0x10]
bl abs
add r4, r0, #0
add r0, r7, #0
bl abs
cmp r4, r0
ble _020578C4
ldr r0, [sp, #0x10]
cmp r0, #0
ble _020578C0
mov r4, #0x20
b _020578CE
_020578C0:
mov r4, #0x10
b _020578CE
_020578C4:
cmp r7, #0
ble _020578CC
mov r4, #0x40
b _020578CE
_020578CC:
mov r4, #0x80
_020578CE:
add r0, r7, #0
bl abs
ldr r0, [sp, #0x10]
bl abs
ldrb r0, [r6, #5]
mov r7, #0xff
str r0, [sp, #0x14]
cmp r0, #3
bhi _02057916
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_020578F0: ; jump table
.short _020578F8 - _020578F0 - 2 ; case 0
.short _020578FE - _020578F0 - 2 ; case 1
.short _0205790C - _020578F0 - 2 ; case 2
.short _02057912 - _020578F0 - 2 ; case 3
_020578F8:
mov r0, #5
str r0, [sp, #8]
b _02057916
_020578FE:
mov r0, #4
str r0, [sp, #8]
mov r0, #2
orr r0, r4
lsl r0, r0, #0x10
lsr r4, r0, #0x10
b _02057916
_0205790C:
mov r0, #2
str r0, [sp, #8]
b _02057916
_02057912:
mov r0, #1
str r0, [sp, #8]
_02057916:
ldr r0, _02057A00 ; =0x021D41C4
ldr r0, [r0]
add r0, #0xf0
ldrb r0, [r0]
cmp r0, #0
beq _0205793C
bl sub_0203769C
cmp r5, r0
bne _0205793C
ldr r0, _02057A00 ; =0x021D41C4
ldr r1, [r0]
add r0, r1, #0
add r0, #0xf0
ldrb r0, [r0]
add r1, #0xf0
sub r0, r0, #1
strb r0, [r1]
b _020579A8
_0205793C:
mov r0, #2
add r1, r4, #0
bic r1, r0
bne _0205797A
ldrb r0, [r6, #7]
cmp r0, #0
beq _0205797A
mov r0, #3
str r0, [sp, #0x14]
mov r0, #4
ldrsb r0, [r6, r0]
cmp r0, #3
bhi _0205796E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02057962: ; jump table
.short _0205796A - _02057962 - 2 ; case 0
.short _0205796E - _02057962 - 2 ; case 1
.short _02057972 - _02057962 - 2 ; case 2
.short _02057976 - _02057962 - 2 ; case 3
_0205796A:
mov r7, #0x1c
b _020579A8
_0205796E:
mov r7, #0x1d
b _020579A8
_02057972:
mov r7, #0x1e
b _020579A8
_02057976:
mov r7, #0x1f
b _020579A8
_0205797A:
cmp r1, #0
bne _02057992
mov r0, #4
ldrsb r0, [r6, r0]
ldr r1, [sp, #0xc]
cmp r0, r1
beq _02057992
mov r1, #0x24
bl sub_0206234C
add r7, r0, #0
b _020579A8
_02057992:
mov r0, #1
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
ldr r0, [sp, #0x18]
ldr r3, [sp, #8]
add r1, r4, #0
add r2, r4, #0
bl sub_0205DF0C
add r7, r0, #0
_020579A8:
ldr r0, [sp, #0x18]
bl sub_0205DFC8
cmp r0, #0
bne _020579BC
ldr r0, [sp, #0x18]
bl sub_0205DE38
cmp r0, #0
beq _020579FC
_020579BC:
cmp r7, #0xff
beq _020579FC
ldr r0, [sp, #0x18]
add r1, r7, #0
bl sub_0205DFD4
mov r0, #2
bic r4, r0
beq _020579FC
ldr r0, _02057A00 ; =0x021D41C4
ldr r0, [r0]
add r0, r0, r5
add r0, #0xdc
ldrb r0, [r0]
cmp r0, #0
bne _020579EC
ldr r0, [sp, #0x14]
bl sub_02057524
ldr r1, _02057A00 ; =0x021D41C4
ldr r1, [r1]
add r1, r1, r5
add r1, #0xdc
strb r0, [r1]
_020579EC:
ldr r0, _02057A00 ; =0x021D41C4
ldr r1, [r0]
add r1, #0xdc
ldrb r0, [r1, r5]
cmp r0, #0
beq _020579FC
sub r0, r0, #1
strb r0, [r1, r5]
_020579FC:
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02057A00: .word 0x021D41C4
_02057A04: .word 0x0000FFFF
thumb_func_end sub_02057818
thumb_func_start sub_02057A08
sub_02057A08: ; 0x02057A08
mov r0, #4
bx lr
thumb_func_end sub_02057A08
thumb_func_start sub_02057A0C
sub_02057A0C: ; 0x02057A0C
push {r3, lr}
ldr r0, _02057A30 ; =0x021D41C4
ldr r0, [r0]
cmp r0, #0
bne _02057A1A
mov r0, #0
pop {r3, pc}
_02057A1A:
bl sub_0203769C
bl sub_020373B4
cmp r0, #0
beq _02057A2A
mov r0, #1
pop {r3, pc}
_02057A2A:
mov r0, #0
pop {r3, pc}
nop
_02057A30: .word 0x021D41C4
thumb_func_end sub_02057A0C
thumb_func_start sub_02057A34
sub_02057A34: ; 0x02057A34
push {r4, lr}
add r4, r0, #0
ldr r0, _02057A80 ; =0x021D41C4
ldr r0, [r0]
cmp r0, #0
bne _02057A44
ldr r0, _02057A84 ; =0x0000FFFF
pop {r4, pc}
_02057A44:
bl sub_0203769C
cmp r4, r0
bne _02057A5A
ldr r0, _02057A80 ; =0x021D41C4
ldr r1, [r0]
lsl r0, r4, #3
add r0, r1, r0
add r0, #0x74
ldrh r0, [r0]
pop {r4, pc}
_02057A5A:
bl sub_02057A0C
cmp r0, #0
beq _02057A70
ldr r0, _02057A80 ; =0x021D41C4
ldr r1, [r0]
add r0, r1, r4
add r0, #0x24
ldrb r0, [r0]
cmp r0, #0
bne _02057A74
_02057A70:
ldr r0, _02057A84 ; =0x0000FFFF
pop {r4, pc}
_02057A74:
lsl r0, r4, #3
add r0, r1, r0
add r0, #0x74
ldrh r0, [r0]
pop {r4, pc}
nop
_02057A80: .word 0x021D41C4
_02057A84: .word 0x0000FFFF
thumb_func_end sub_02057A34
thumb_func_start sub_02057A88
sub_02057A88: ; 0x02057A88
push {r4, lr}
add r4, r0, #0
ldr r0, _02057AD4 ; =0x021D41C4
ldr r0, [r0]
cmp r0, #0
bne _02057A98
ldr r0, _02057AD8 ; =0x0000FFFF
pop {r4, pc}
_02057A98:
bl sub_0203769C
cmp r4, r0
bne _02057AAE
ldr r0, _02057AD4 ; =0x021D41C4
ldr r1, [r0]
lsl r0, r4, #3
add r0, r1, r0
add r0, #0x76
ldrh r0, [r0]
pop {r4, pc}
_02057AAE:
bl sub_02057A0C
cmp r0, #0
beq _02057AC4
ldr r0, _02057AD4 ; =0x021D41C4
ldr r1, [r0]
add r0, r1, r4
add r0, #0x24
ldrb r0, [r0]
cmp r0, #0
bne _02057AC8
_02057AC4:
ldr r0, _02057AD8 ; =0x0000FFFF
pop {r4, pc}
_02057AC8:
lsl r0, r4, #3
add r0, r1, r0
add r0, #0x76
ldrh r0, [r0]
pop {r4, pc}
nop
_02057AD4: .word 0x021D41C4
_02057AD8: .word 0x0000FFFF
thumb_func_end sub_02057A88
thumb_func_start sub_02057ADC
sub_02057ADC: ; 0x02057ADC
push {r4, lr}
add r4, r0, #0
bl sub_02057A34
ldr r1, _02057B0C ; =0x0000FFFF
cmp r0, r1
bne _02057AEE
add r0, r1, #0
pop {r4, pc}
_02057AEE:
ldr r0, _02057B10 ; =0x021D41C4
lsl r4, r4, #3
ldr r0, [r0]
add r1, r0, r4
mov r0, #0x78
ldrsb r0, [r1, r0]
bl sub_02060F0C
ldr r1, _02057B10 ; =0x021D41C4
ldr r1, [r1]
add r1, r1, r4
add r1, #0x74
ldrh r1, [r1]
add r0, r1, r0
pop {r4, pc}
.balign 4, 0
_02057B0C: .word 0x0000FFFF
_02057B10: .word 0x021D41C4
thumb_func_end sub_02057ADC
thumb_func_start sub_02057B14
sub_02057B14: ; 0x02057B14
push {r4, lr}
add r4, r0, #0
bl sub_02057A88
ldr r1, _02057B44 ; =0x0000FFFF
cmp r0, r1
bne _02057B26
add r0, r1, #0
pop {r4, pc}
_02057B26:
ldr r0, _02057B48 ; =0x021D41C4
lsl r4, r4, #3
ldr r0, [r0]
add r1, r0, r4
mov r0, #0x78
ldrsb r0, [r1, r0]
bl sub_02060F18
ldr r1, _02057B48 ; =0x021D41C4
ldr r1, [r1]
add r1, r1, r4
add r1, #0x76
ldrh r1, [r1]
add r0, r1, r0
pop {r4, pc}
.balign 4, 0
_02057B44: .word 0x0000FFFF
_02057B48: .word 0x021D41C4
thumb_func_end sub_02057B14
thumb_func_start sub_02057B4C
sub_02057B4C: ; 0x02057B4C
push {r4, lr}
add r4, r0, #0
ldr r0, _02057B94 ; =0x021D41C4
ldr r0, [r0]
cmp r0, #0
bne _02057B5C
ldr r0, _02057B98 ; =0x0000FFFF
pop {r4, pc}
_02057B5C:
bl sub_0203769C
cmp r4, r0
bne _02057B70
ldr r0, _02057B94 ; =0x021D41C4
ldr r1, [r0]
lsl r0, r4, #3
add r0, r1, r0
ldrh r0, [r0, #0x34]
pop {r4, pc}
_02057B70:
bl sub_02057A0C
cmp r0, #0
beq _02057B86
ldr r0, _02057B94 ; =0x021D41C4
ldr r1, [r0]
add r0, r1, r4
add r0, #0x24
ldrb r0, [r0]
cmp r0, #0
bne _02057B8A
_02057B86:
ldr r0, _02057B98 ; =0x0000FFFF
pop {r4, pc}
_02057B8A:
lsl r0, r4, #3
add r0, r1, r0
ldrh r0, [r0, #0x34]
pop {r4, pc}
nop
_02057B94: .word 0x021D41C4
_02057B98: .word 0x0000FFFF
thumb_func_end sub_02057B4C
thumb_func_start sub_02057B9C
sub_02057B9C: ; 0x02057B9C
push {r4, lr}
add r4, r0, #0
ldr r0, _02057BE4 ; =0x021D41C4
ldr r0, [r0]
cmp r0, #0
bne _02057BAC
ldr r0, _02057BE8 ; =0x0000FFFF
pop {r4, pc}
_02057BAC:
bl sub_0203769C
cmp r4, r0
bne _02057BC0
ldr r0, _02057BE4 ; =0x021D41C4
ldr r1, [r0]
lsl r0, r4, #3
add r0, r1, r0
ldrh r0, [r0, #0x36]
pop {r4, pc}
_02057BC0:
bl sub_02057A0C
cmp r0, #0
beq _02057BD6
ldr r0, _02057BE4 ; =0x021D41C4
ldr r1, [r0]
add r0, r1, r4
add r0, #0x24
ldrb r0, [r0]
cmp r0, #0
bne _02057BDA
_02057BD6:
ldr r0, _02057BE8 ; =0x0000FFFF
pop {r4, pc}
_02057BDA:
lsl r0, r4, #3
add r0, r1, r0
ldrh r0, [r0, #0x36]
pop {r4, pc}
nop
_02057BE4: .word 0x021D41C4
_02057BE8: .word 0x0000FFFF
thumb_func_end sub_02057B9C
thumb_func_start sub_02057BEC
sub_02057BEC: ; 0x02057BEC
push {r4, lr}
add r4, r0, #0
bl sub_02057B4C
ldr r1, _02057C1C ; =0x0000FFFF
cmp r0, r1
bne _02057BFE
add r0, r1, #0
pop {r4, pc}
_02057BFE:
ldr r0, _02057C20 ; =0x021D41C4
lsl r4, r4, #3
ldr r0, [r0]
add r1, r0, r4
mov r0, #0x38
ldrsb r0, [r1, r0]
bl sub_02060F0C
ldr r1, _02057C20 ; =0x021D41C4
ldr r1, [r1]
add r1, r1, r4
ldrh r1, [r1, #0x34]
add r0, r1, r0
pop {r4, pc}
nop
_02057C1C: .word 0x0000FFFF
_02057C20: .word 0x021D41C4
thumb_func_end sub_02057BEC
thumb_func_start sub_02057C24
sub_02057C24: ; 0x02057C24
push {r4, lr}
add r4, r0, #0
bl sub_02057B9C
ldr r1, _02057C54 ; =0x0000FFFF
cmp r0, r1
bne _02057C36
add r0, r1, #0
pop {r4, pc}
_02057C36:
ldr r0, _02057C58 ; =0x021D41C4
lsl r4, r4, #3
ldr r0, [r0]
add r1, r0, r4
mov r0, #0x38
ldrsb r0, [r1, r0]
bl sub_02060F18
ldr r1, _02057C58 ; =0x021D41C4
ldr r1, [r1]
add r1, r1, r4
ldrh r1, [r1, #0x36]
add r0, r1, r0
pop {r4, pc}
nop
_02057C54: .word 0x0000FFFF
_02057C58: .word 0x021D41C4
thumb_func_end sub_02057C24
thumb_func_start sub_02057C5C
sub_02057C5C: ; 0x02057C5C
push {r3, r4}
ldr r3, _02057C90 ; =0x021D41C4
ldr r4, [r3]
add r4, #0xb4
ldrb r2, [r4, r0]
cmp r1, r2
beq _02057C8C
strb r1, [r4, r0]
ldr r2, [r3]
lsl r1, r0, #3
add r2, r2, r1
mov r4, #0
add r2, #0x3b
strb r4, [r2]
ldr r2, [r3]
mov r4, #1
add r0, r2, r0
add r0, #0xcc
strb r4, [r0]
ldr r0, [r3]
mov r2, #2
add r0, r0, r1
add r0, #0x39
strb r2, [r0]
_02057C8C:
pop {r3, r4}
bx lr
.balign 4, 0
_02057C90: .word 0x021D41C4
thumb_func_end sub_02057C5C
thumb_func_start sub_02057C94
sub_02057C94: ; 0x02057C94
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
ldr r1, _02057D48 ; =0x020FC7A0
add r0, sp, #8
ldrh r2, [r1]
ldr r3, _02057D4C ; =0x020FC7A8
strh r2, [r0]
ldrh r2, [r1, #2]
strh r2, [r0, #2]
ldrh r2, [r1, #4]
ldrh r1, [r1, #6]
strh r2, [r0, #4]
strh r1, [r0, #6]
add r2, sp, #0x20
mov r1, #8
_02057CB2:
ldrh r0, [r3]
add r3, r3, #2
strh r0, [r2]
add r2, r2, #2
sub r1, r1, #1
bne _02057CB2
bl sub_0203993C
bl sub_0203774C
add r6, r0, #0
mov r0, #0
str r0, [sp, #4]
str r0, [sp]
cmp r6, #2
bne _02057CD6
add r5, sp, #8
b _02057CD8
_02057CD6:
add r5, sp, #0x20
_02057CD8:
mov r7, #0
cmp r6, #0
ble _02057D24
_02057CDE:
mov r4, #0
cmp r6, #0
ble _02057D1C
_02057CE4:
add r0, r4, #0
bl sub_02057A34
ldrh r1, [r5]
cmp r1, r0
bne _02057D16
add r0, r4, #0
bl sub_02057A88
ldrh r1, [r5, #2]
cmp r1, r0
bne _02057D16
ldr r0, [sp, #4]
lsl r1, r4, #2
add r0, r0, #1
str r0, [sp, #4]
add r0, sp, #0x10
str r7, [r0, r1]
bl sub_0203769C
cmp r4, r0
bne _02057D1C
mov r0, #1
str r0, [sp]
b _02057D1C
_02057D16:
add r4, r4, #1
cmp r4, r6
blt _02057CE4
_02057D1C:
add r7, r7, #1
add r5, r5, #4
cmp r7, r6
blt _02057CDE
_02057D24:
ldr r0, [sp, #4]
cmp r0, r6
bne _02057D42
mov r5, #0
cmp r6, #0
ble _02057D42
add r4, sp, #0x10
_02057D32:
ldr r0, [r4]
add r1, r5, #0
bl sub_02037894
add r5, r5, #1
add r4, r4, #4
cmp r5, r6
blt _02057D32
_02057D42:
ldr r0, [sp]
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02057D48: .word 0x020FC7A0
_02057D4C: .word 0x020FC7A8
thumb_func_end sub_02057C94
thumb_func_start sub_02057D50
sub_02057D50: ; 0x02057D50
ldrb r2, [r2]
cmp r2, #3
bne _02057D64
ldr r1, _02057D70 ; =0x021D41C4
mov r2, #0
ldr r1, [r1]
add r0, r1, r0
add r0, #0xbc
strb r2, [r0]
bx lr
_02057D64:
ldr r1, _02057D70 ; =0x021D41C4
ldr r1, [r1]
add r0, r1, r0
add r0, #0xe6
strb r2, [r0]
bx lr
.balign 4, 0
_02057D70: .word 0x021D41C4
thumb_func_end sub_02057D50
thumb_func_start sub_02057D74
sub_02057D74: ; 0x02057D74
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
bl sub_0203993C
bl sub_0203774C
add r7, r0, #0
cmp r7, #2
bne _02057D8C
ldr r0, _02057DFC ; =0x0210FAB4
str r0, [sp]
b _02057D90
_02057D8C:
ldr r0, _02057E00 ; =0x0210FABC
str r0, [sp]
_02057D90:
mov r1, #0
add r0, sp, #4
strb r1, [r0]
cmp r7, #0
ble _02057DF8
_02057D9A:
ldr r0, _02057E04 ; =0x021D41C4
add r6, sp, #4
ldr r1, [r0]
ldrb r0, [r6]
add r0, r1, r0
add r0, #0xe6
ldrb r0, [r0]
cmp r0, #0
beq _02057DEA
mov r4, #0
cmp r7, #0
ble _02057DEA
ldr r5, [sp]
_02057DB4:
ldrb r0, [r6]
bl sub_02057B4C
ldrh r1, [r5]
cmp r1, r0
bne _02057DE2
ldrb r0, [r6]
bl sub_02057B9C
ldrh r1, [r5, #2]
cmp r1, r0
bne _02057DE2
ldr r0, _02057E04 ; =0x021D41C4
ldr r1, [r0]
ldrb r0, [r6]
add r1, r1, r0
add r1, #0xbc
mov r0, #1
strb r0, [r1]
mov r0, #0x5f
add r1, sp, #4
bl sub_02037184
_02057DE2:
add r4, r4, #1
add r5, r5, #4
cmp r4, r7
blt _02057DB4
_02057DEA:
add r0, sp, #4
ldrb r1, [r0]
add r1, r1, #1
strb r1, [r0]
ldrb r0, [r0]
cmp r0, r7
blt _02057D9A
_02057DF8:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02057DFC: .word 0x0210FAB4
_02057E00: .word 0x0210FABC
_02057E04: .word 0x021D41C4
thumb_func_end sub_02057D74
thumb_func_start sub_02057E08
sub_02057E08: ; 0x02057E08
push {r4, lr}
bl sub_0203769C
add r4, r0, #0
bl sub_02057A34
cmp r0, #8
ble _02057E28
mov r0, #2
bl sub_02057F28
mov r0, #2
mov r1, #0x24
bl sub_0206234C
b _02057E36
_02057E28:
mov r0, #3
bl sub_02057F28
mov r0, #3
mov r1, #0x24
bl sub_0206234C
_02057E36:
add r1, r0, #0
ldr r0, _02057E4C ; =0x021D41C4
ldr r2, [r0]
lsl r0, r4, #2
add r0, r2, r0
ldr r0, [r0, #4]
bl sub_0205DFD4
bl sub_02058024
pop {r4, pc}
.balign 4, 0
_02057E4C: .word 0x021D41C4
thumb_func_end sub_02057E08
thumb_func_start sub_02057E50
sub_02057E50: ; 0x02057E50
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
bl sub_0203993C
bl sub_0203774C
str r0, [sp]
ldr r1, [sp]
mov r0, #0
cmp r1, #0
ble _02057E8E
ldr r1, _02057EE8 ; =0x021D41C4
ldr r2, [r1]
_02057E6A:
add r1, r2, #0
add r1, #0x24
ldrb r1, [r1]
cmp r1, #0
beq _02057E7E
add r1, r2, #0
add r1, #0xcc
ldrb r1, [r1]
cmp r1, #1
bne _02057E84
_02057E7E:
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02057E84:
ldr r1, [sp]
add r0, r0, #1
add r2, r2, #1
cmp r0, r1
blt _02057E6A
_02057E8E:
ldr r0, [sp]
mov r5, #0
cmp r0, #0
ble _02057EE2
add r4, r5, #0
_02057E98:
ldr r0, _02057EE8 ; =0x021D41C4
ldr r7, [r0]
mov r0, #4
add r7, #0x34
add r6, r7, r4
ldrsb r0, [r6, r0]
bl sub_02057EEC
str r0, [sp, #4]
bl sub_02060F0C
ldrh r1, [r7, r4]
add r0, r1, r0
strh r0, [r7, r4]
ldr r0, [sp, #4]
bl sub_02060F18
ldrh r1, [r6, #2]
add r0, r1, r0
strh r0, [r6, #2]
mov r0, #2
strb r0, [r6, #5]
ldr r0, _02057EE8 ; =0x021D41C4
ldr r0, [r0]
add r1, r0, r5
add r1, #0xcc
mov r0, #1
strb r0, [r1]
add r0, r5, #0
mov r1, #1
bl sub_02057C5C
ldr r0, [sp]
add r5, r5, #1
add r4, #8
cmp r5, r0
blt _02057E98
_02057EE2:
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02057EE8: .word 0x021D41C4
thumb_func_end sub_02057E50
thumb_func_start sub_02057EEC
sub_02057EEC: ; 0x02057EEC
push {r3, lr}
cmp r0, #0
bne _02057EF6
mov r0, #1
pop {r3, pc}
_02057EF6:
cmp r0, #1
bne _02057EFE
mov r0, #0
pop {r3, pc}
_02057EFE:
cmp r0, #2
bne _02057F06
mov r0, #3
pop {r3, pc}
_02057F06:
cmp r0, #3
bne _02057F0E
mov r0, #2
pop {r3, pc}
_02057F0E:
bl GF_AssertFail
mov r0, #2
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02057EEC
thumb_func_start sub_02057F18
sub_02057F18: ; 0x02057F18
ldr r1, _02057F24 ; =0x021D41C4
ldr r1, [r1]
add r0, r1, r0
add r0, #0xdc
ldrb r0, [r0]
bx lr
.balign 4, 0
_02057F24: .word 0x021D41C4
thumb_func_end sub_02057F18
thumb_func_start sub_02057F28
sub_02057F28: ; 0x02057F28
push {r4, lr}
add r4, r0, #0
ldr r0, _02057F54 ; =0x021D41C4
add r1, r4, #0
ldr r0, [r0]
ldr r0, [r0, #0x30]
ldr r0, [r0, #0x40]
bl sub_0205C660
bl sub_0203769C
ldr r1, _02057F54 ; =0x021D41C4
lsl r0, r0, #3
ldr r1, [r1]
add r0, r1, r0
add r0, #0x78
strb r4, [r0]
mov r0, #0
bl sub_0205701C
pop {r4, pc}
nop
_02057F54: .word 0x021D41C4
thumb_func_end sub_02057F28
thumb_func_start sub_02057F58
sub_02057F58: ; 0x02057F58
push {r3, lr}
bl sub_0203E2F4
ldr r0, _02057F6C ; =0x021D41C4
mov r1, #0
ldr r0, [r0]
add r0, #0xed
strb r1, [r0]
pop {r3, pc}
nop
_02057F6C: .word 0x021D41C4
thumb_func_end sub_02057F58
thumb_func_start sub_02057F70
sub_02057F70: ; 0x02057F70
push {r3, lr}
bl sub_0203E30C
mov r0, #1
bl sub_02057358
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02057F70
thumb_func_start sub_02057F80
sub_02057F80: ; 0x02057F80
push {r3, lr}
ldr r0, _02057FA0 ; =0x021D41C4
ldr r0, [r0]
add r0, #0xef
ldrb r0, [r0]
cmp r0, #0
bne _02057F9C
bl sub_02057F70
ldr r0, _02057FA0 ; =0x021D41C4
mov r1, #1
ldr r0, [r0]
add r0, #0xef
strb r1, [r0]
_02057F9C:
pop {r3, pc}
nop
_02057FA0: .word 0x021D41C4
thumb_func_end sub_02057F80
thumb_func_start sub_02057FA4
sub_02057FA4: ; 0x02057FA4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
ldr r0, _02058020 ; =0x021D41C4
ldr r0, [r0]
cmp r0, #0
beq _0205801A
mov r6, #0
add r4, r6, #0
add r5, r6, #0
_02057FB6:
ldr r0, _02058020 ; =0x021D41C4
ldr r0, [r0]
add r0, r0, r4
ldr r0, [r0, #4]
cmp r0, #0
beq _02058010
bl sub_0203769C
cmp r6, r0
beq _02058010
ldr r0, _02058020 ; =0x021D41C4
ldr r0, [r0]
add r0, r0, r4
ldr r0, [r0, #4]
bl sub_0205C6DC
ldr r1, _02058020 ; =0x021D41C4
str r0, [sp, #0xc]
ldr r1, [r1]
add r1, r1, r5
add r2, r1, #0
add r2, #0x74
ldrh r2, [r2]
str r2, [sp, #8]
add r2, r1, #0
add r2, #0x76
ldrh r7, [r2]
mov r2, #0x78
ldrsb r1, [r1, r2]
str r1, [sp, #4]
ldr r1, [sp, #8]
bl sub_0205F918
ldr r0, [sp, #0xc]
add r1, r7, #0
bl sub_0205F938
ldr r0, [sp, #4]
ldr r1, [sp, #8]
str r0, [sp]
ldr r0, [sp, #0xc]
mov r2, #0
add r3, r7, #0
bl sub_0205FC2C
_02058010:
add r6, r6, #1
add r4, r4, #4
add r5, #8
cmp r6, #8
blt _02057FB6
_0205801A:
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_02058020: .word 0x021D41C4
thumb_func_end sub_02057FA4
thumb_func_start sub_02058024
sub_02058024: ; 0x02058024
ldr r0, _02058030 ; =0x021D41C4
mov r1, #8
ldr r0, [r0]
add r0, #0xf0
strb r1, [r0]
bx lr
.balign 4, 0
_02058030: .word 0x021D41C4
thumb_func_end sub_02058024
thumb_func_start sub_02058034
sub_02058034: ; 0x02058034
bx lr
.balign 4, 0
thumb_func_end sub_02058034
thumb_func_start sub_02058038
sub_02058038: ; 0x02058038
push {r4, lr}
ldr r1, _02058090 ; =0x021D41C8
add r4, r0, #0
ldr r1, [r1]
cmp r1, #0
bne _0205808C
bl sub_02091574
mov r0, #0xf
mov r1, #0x44
bl AllocFromHeap
ldr r1, _02058090 ; =0x021D41C8
mov r2, #0x44
str r0, [r1]
mov r1, #0
bl MIi_CpuFill8
ldr r0, _02058090 ; =0x021D41C8
mov r1, #0x32
ldr r0, [r0]
mov r2, #0xa
strh r1, [r0, #0x38]
ldr r0, _02058094 ; =sub_020582CC
mov r1, #0
bl sub_0200E320
ldr r1, _02058090 ; =0x021D41C8
ldr r2, [r1]
str r0, [r2, #0x34]
ldr r0, [r1]
mov r2, #0
str r4, [r0, #0x14]
ldr r0, [r1]
str r2, [r0, #0x40]
bl sub_02058034
ldr r0, _02058090 ; =0x021D41C8
ldr r0, [r0]
add r0, #0x18
bl sub_0203778C
_0205808C:
pop {r4, pc}
nop
_02058090: .word 0x021D41C8
_02058094: .word sub_020582CC
thumb_func_end sub_02058038
thumb_func_start sub_02058098
sub_02058098: ; 0x02058098
push {r4, r5, r6, lr}
ldr r0, _020580E0 ; =0x021D41C8
ldr r0, [r0]
cmp r0, #0
beq _020580DE
ldr r0, [r0, #0x34]
bl sub_0200E390
mov r4, #0
ldr r6, _020580E0 ; =0x021D41C8
add r5, r4, #0
_020580AE:
ldr r0, [r6]
ldr r0, [r0, r5]
cmp r0, #0
beq _020580BA
bl FreeToHeap
_020580BA:
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blt _020580AE
ldr r0, _020580E0 ; =0x021D41C8
ldr r0, [r0]
ldr r0, [r0, #0x40]
cmp r0, #0
beq _020580D0
bl FreeToHeap
_020580D0:
ldr r0, _020580E0 ; =0x021D41C8
ldr r0, [r0]
bl FreeToHeap
ldr r0, _020580E0 ; =0x021D41C8
mov r1, #0
str r1, [r0]
_020580DE:
pop {r4, r5, r6, pc}
.balign 4, 0
_020580E0: .word 0x021D41C8
thumb_func_end sub_02058098
thumb_func_start sub_020580E4
sub_020580E4: ; 0x020580E4
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
bl sub_02037474
cmp r0, #0
bne _0205811C
add r0, r5, #0
bl sub_0203E344
mov r1, #0
add r3, r5, #0
str r1, [sp]
add r3, #0xa4
ldr r3, [r3]
add r1, r4, #0
add r2, r6, #0
bl sub_02037D8C
add r0, r5, #0
bl sub_02058038
ldr r0, _02058120 ; =sub_02058304
mov r1, #0
bl sub_020582F4
_0205811C:
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_02058120: .word sub_02058304
thumb_func_end sub_020580E4
thumb_func_start sub_02058124
sub_02058124: ; 0x02058124
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
bl sub_02037474
cmp r0, #0
bne _0205815C
add r0, r5, #0
bl sub_0203E344
mov r1, #0
add r3, r5, #0
str r1, [sp]
add r3, #0xa4
ldr r3, [r3]
add r1, r4, #0
add r2, r6, #0
bl sub_02037DD4
add r0, r5, #0
bl sub_02058038
ldr r0, _02058160 ; =sub_0205832C
mov r1, #0
bl sub_020582F4
_0205815C:
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_02058160: .word sub_0205832C
thumb_func_end sub_02058124
thumb_func_start sub_02058164
sub_02058164: ; 0x02058164
ldr r1, _02058174 ; =0x021D41C8
ldr r3, _02058178 ; =sub_020582F4
ldr r1, [r1]
add r1, #0x3a
strb r0, [r1]
ldr r0, _0205817C ; =sub_0205834C
mov r1, #0
bx r3
.balign 4, 0
_02058174: .word 0x021D41C8
_02058178: .word sub_020582F4
_0205817C: .word sub_0205834C
thumb_func_end sub_02058164
thumb_func_start sub_02058180
sub_02058180: ; 0x02058180
ldr r3, _02058188 ; =sub_020582F4
ldr r0, _0205818C ; =sub_020588A0
mov r1, #0
bx r3
.balign 4, 0
_02058188: .word sub_020582F4
_0205818C: .word sub_020588A0
thumb_func_end sub_02058180
thumb_func_start sub_02058190
sub_02058190: ; 0x02058190
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r0, #0
mov r0, #0
add r1, r0, #0
bl sub_0200FC60
mov r0, #1
mov r1, #0
bl sub_0200FC60
mov r0, #1
add r1, r0, #0
bl sub_020398D4
bl sub_02037D78
cmp r0, #0
beq _02058248
ldr r0, _0205824C ; =0x021D41C8
ldr r1, [r0]
cmp r1, #0
bne _020581D0
add r0, r4, #0
bl sub_02058038
ldr r0, _0205824C ; =0x021D41C8
mov r1, #1
ldr r0, [r0]
add r0, #0x3e
strb r1, [r0]
b _020581D6
_020581D0:
mov r0, #0
add r1, #0x3e
strb r0, [r1]
_020581D6:
ldr r0, _0205824C ; =0x021D41C8
mov r1, #0
ldr r0, [r0]
add r0, #0x3f
strb r1, [r0]
bl sub_0203769C
str r0, [sp, #8]
bl sub_0203769C
bl sub_02034818
mov r4, #0
bl sub_02037454
cmp r0, #0
ble _0205821E
ldr r6, _0205824C ; =0x021D41C8
add r5, r4, #0
add r7, r4, #0
_020581FE:
ldr r0, [r6]
ldr r0, [r0, r5]
cmp r0, #0
bne _02058212
ldr r1, _02058250 ; =0x0000066C
add r0, r7, #0
bl AllocFromHeap
ldr r1, [r6]
str r0, [r1, r5]
_02058212:
add r5, r5, #4
add r4, r4, #1
bl sub_02037454
cmp r4, r0
blt _020581FE
_0205821E:
ldr r0, _0205824C ; =0x021D41C8
mov r3, #0xff
ldr r1, [r0]
ldr r0, [r1, #0x14]
str r0, [sp]
ldr r0, [sp, #8]
lsl r0, r0, #2
ldr r0, [r1, r0]
str r0, [sp, #4]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
bl sub_02068FC8
mov r0, #0x5f
bl sub_02037AC0
ldr r0, _02058254 ; =sub_020588F8
mov r1, #0
bl sub_020582F4
_02058248:
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0205824C: .word 0x021D41C8
_02058250: .word 0x0000066C
_02058254: .word sub_020588F8
thumb_func_end sub_02058190
thumb_func_start sub_02058258
sub_02058258: ; 0x02058258
ldr r0, _02058278 ; =0x021D41C8
ldr r0, [r0]
ldr r1, [r0, #0x30]
ldr r0, _0205827C ; =sub_020588F8
cmp r1, r0
bne _02058268
mov r0, #0
bx lr
_02058268:
ldr r0, _02058280 ; =sub_02058930
cmp r1, r0
beq _02058272
mov r0, #1
bx lr
_02058272:
mov r0, #0
bx lr
nop
_02058278: .word 0x021D41C8
_0205827C: .word sub_020588F8
_02058280: .word sub_02058930
thumb_func_end sub_02058258
thumb_func_start sub_02058284
sub_02058284: ; 0x02058284
push {r3, lr}
ldr r0, _020582A0 ; =0x021D41C8
ldr r0, [r0]
cmp r0, #0
beq _0205829E
mov r0, #0
add r1, r0, #0
bl sub_020398D4
ldr r0, _020582A4 ; =sub_02058A60
mov r1, #5
bl sub_020582F4
_0205829E:
pop {r3, pc}
.balign 4, 0
_020582A0: .word 0x021D41C8
_020582A4: .word sub_02058A60
thumb_func_end sub_02058284
thumb_func_start sub_020582A8
sub_020582A8: ; 0x020582A8
push {r3, lr}
ldr r0, _020582C4 ; =0x021D41C8
ldr r0, [r0]
cmp r0, #0
beq _020582C0
mov r0, #0x5b
bl sub_02037AC0
ldr r0, _020582C8 ; =sub_02058A38
mov r1, #5
bl sub_020582F4
_020582C0:
pop {r3, pc}
nop
_020582C4: .word 0x021D41C8
_020582C8: .word sub_02058A38
thumb_func_end sub_020582A8
thumb_func_start sub_020582CC
sub_020582CC: ; 0x020582CC
push {r3, lr}
ldr r1, _020582F0 ; =0x021D41C8
ldr r2, [r1]
cmp r2, #0
bne _020582DC
bl sub_0200E390
pop {r3, pc}
_020582DC:
ldr r1, [r2, #0x30]
cmp r1, #0
beq _020582EC
add r2, #0x3c
ldrb r0, [r2]
cmp r0, #0
bne _020582EC
blx r1
_020582EC:
pop {r3, pc}
nop
_020582F0: .word 0x021D41C8
thumb_func_end sub_020582CC
thumb_func_start sub_020582F4
sub_020582F4: ; 0x020582F4
ldr r2, _02058300 ; =0x021D41C8
ldr r3, [r2]
str r0, [r3, #0x30]
ldr r0, [r2]
strh r1, [r0, #0x38]
bx lr
.balign 4, 0
_02058300: .word 0x021D41C8
thumb_func_end sub_020582F4
thumb_func_start sub_02058304
sub_02058304: ; 0x02058304
push {r3, lr}
bl sub_0203769C
bl sub_020373B4
cmp r0, #0
beq _02058322
bl ov03_02255C54
bl sub_02034434
ldr r0, _02058324 ; =sub_02058328
mov r1, #0
bl sub_020582F4
_02058322:
pop {r3, pc}
.balign 4, 0
_02058324: .word sub_02058328
thumb_func_end sub_02058304
thumb_func_start sub_02058328
sub_02058328: ; 0x02058328
bx lr
.balign 4, 0
thumb_func_end sub_02058328
thumb_func_start sub_0205832C
sub_0205832C: ; 0x0205832C
push {r3, lr}
bl sub_02034DB8
cmp r0, #0
beq _02058342
bl ov03_02255BEC
ldr r0, _02058344 ; =sub_02058348
mov r1, #0
bl sub_020582F4
_02058342:
pop {r3, pc}
.balign 4, 0
_02058344: .word sub_02058348
thumb_func_end sub_0205832C
thumb_func_start sub_02058348
sub_02058348: ; 0x02058348
bx lr
.balign 4, 0
thumb_func_end sub_02058348
thumb_func_start sub_0205834C
sub_0205834C: ; 0x0205834C
push {r3, lr}
ldr r0, _02058364 ; =0x021D41C8
ldr r0, [r0]
add r0, #0x3a
ldrb r0, [r0]
bl sub_02037E1C
ldr r0, _02058368 ; =sub_0205836C
mov r1, #0
bl sub_020582F4
pop {r3, pc}
.balign 4, 0
_02058364: .word 0x021D41C8
_02058368: .word sub_0205836C
thumb_func_end sub_0205834C
thumb_func_start sub_0205836C
sub_0205836C: ; 0x0205836C
push {r3, lr}
bl sub_02037EC8
cmp r0, #0
beq _02058382
bl sub_02034434
ldr r0, _02058384 ; =sub_02058388
mov r1, #0
bl sub_020582F4
_02058382:
pop {r3, pc}
.balign 4, 0
_02058384: .word sub_02058388
thumb_func_end sub_0205836C
thumb_func_start sub_02058388
sub_02058388: ; 0x02058388
bx lr
.balign 4, 0
thumb_func_end sub_02058388
thumb_func_start sub_0205838C
sub_0205838C: ; 0x0205838C
push {r3, lr}
mov r0, #0x62
bl sub_02037B38
cmp r0, #0
beq _020583C8
bl sub_02057180
add r1, r0, #0
mov r0, #0xf
bl AllocFromHeap
ldr r1, _020583E4 ; =0x021D41C8
mov r2, #0
ldr r1, [r1]
ldr r1, [r1, #0x14]
bl sub_02056D7C
bl sub_02057F80
bl sub_02037504
mov r0, #0x5c
bl sub_02037AC0
ldr r0, _020583E8 ; =sub_020583EC
mov r1, #0
bl sub_020582F4
pop {r3, pc}
_020583C8:
ldr r0, _020583E4 ; =0x021D41C8
ldr r1, [r0]
ldrh r0, [r1, #0x38]
cmp r0, #0
beq _020583D8
sub r0, r0, #1
strh r0, [r1, #0x38]
pop {r3, pc}
_020583D8:
mov r0, #0x1e
strh r0, [r1, #0x38]
mov r0, #0x62
bl sub_02037AC0
pop {r3, pc}
.balign 4, 0
_020583E4: .word 0x021D41C8
_020583E8: .word sub_020583EC
thumb_func_end sub_0205838C
thumb_func_start sub_020583EC
sub_020583EC: ; 0x020583EC
push {lr}
sub sp, #0xc
bl sub_0203769C
cmp r0, #0
bne _020583FC
bl sub_02034638
_020583FC:
mov r0, #0x5c
bl sub_02037B38
cmp r0, #0
beq _0205843A
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #0
add r2, r1, #0
add r3, r0, #0
bl sub_0200FA24
mov r0, #0
bl sub_0200FBDC
mov r0, #1
bl sub_0200FBDC
bl sub_02056E60
mov r0, #0
bl sub_0205701C
ldr r0, _02058440 ; =sub_02058478
mov r1, #1
bl sub_020582F4
_0205843A:
add sp, #0xc
pop {pc}
nop
_02058440: .word sub_02058478
thumb_func_end sub_020583EC
thumb_func_start sub_02058444
sub_02058444: ; 0x02058444
push {r3, lr}
ldr r0, _02058470 ; =0x021D41C8
ldr r1, [r0]
ldrh r0, [r1, #0x38]
cmp r0, #0
beq _02058456
sub r0, r0, #1
strh r0, [r1, #0x38]
pop {r3, pc}
_02058456:
mov r0, #0x1e
bl sub_02037B38
cmp r0, #0
beq _0205846C
bl sub_020374E4
ldr r0, _02058474 ; =sub_02058608
mov r1, #0
bl sub_020582F4
_0205846C:
pop {r3, pc}
nop
_02058470: .word 0x021D41C8
_02058474: .word sub_02058608
thumb_func_end sub_02058444
thumb_func_start sub_02058478
sub_02058478: ; 0x02058478
push {r3, lr}
ldr r0, _020584B4 ; =0x021D41C8
ldr r1, [r0]
ldrh r0, [r1, #0x38]
cmp r0, #0
beq _0205848A
sub r0, r0, #1
strh r0, [r1, #0x38]
pop {r3, pc}
_0205848A:
bl sub_0203769C
cmp r0, #0
bne _020584A2
bl sub_02057E50
cmp r0, #0
beq _020584B0
mov r0, #0x1e
bl sub_02037AC0
b _020584A8
_020584A2:
mov r0, #0x1e
bl sub_02037AC0
_020584A8:
ldr r0, _020584B8 ; =sub_02058444
mov r1, #0x14
bl sub_020582F4
_020584B0:
pop {r3, pc}
nop
_020584B4: .word 0x021D41C8
_020584B8: .word sub_02058444
thumb_func_end sub_02058478
thumb_func_start sub_020584BC
sub_020584BC: ; 0x020584BC
push {r3, lr}
mov r0, #0x62
bl sub_02037B38
cmp r0, #0
beq _020584F4
bl sub_02057180
add r1, r0, #0
mov r0, #0xf
bl AllocFromHeap
ldr r1, _02058510 ; =0x021D41C8
mov r2, #0
ldr r1, [r1]
ldr r1, [r1, #0x14]
bl sub_02056D7C
bl sub_02057F80
mov r0, #0x5c
bl sub_02037AC0
ldr r0, _02058514 ; =sub_02058518
mov r1, #0
bl sub_020582F4
pop {r3, pc}
_020584F4:
ldr r0, _02058510 ; =0x021D41C8
ldr r1, [r0]
ldrh r0, [r1, #0x38]
cmp r0, #0
beq _02058504
sub r0, r0, #1
strh r0, [r1, #0x38]
pop {r3, pc}
_02058504:
mov r0, #0x1e
strh r0, [r1, #0x38]
mov r0, #0x62
bl sub_02037AC0
pop {r3, pc}
.balign 4, 0
_02058510: .word 0x021D41C8
_02058514: .word sub_02058518
thumb_func_end sub_020584BC
thumb_func_start sub_02058518
sub_02058518: ; 0x02058518
push {r3, lr}
sub sp, #0x10
bl sub_0203769C
cmp r0, #0
bne _02058528
bl sub_02034638
_02058528:
mov r0, #0x5c
bl sub_02037B38
cmp r0, #0
beq _02058574
bl sub_02056E60
mov r0, #0
bl sub_0205701C
mov r1, #1
add r0, sp, #0xc
strb r1, [r0]
mov r0, #0x5e
add r1, sp, #0xc
bl sub_020376E0
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #0
add r2, r1, #0
add r3, r0, #0
bl sub_0200FA24
mov r0, #0
bl sub_0200FBDC
mov r0, #1
bl sub_0200FBDC
ldr r0, _02058578 ; =sub_020586EC
mov r1, #0
bl sub_020582F4
_02058574:
add sp, #0x10
pop {r3, pc}
.balign 4, 0
_02058578: .word sub_020586EC
thumb_func_end sub_02058518
thumb_func_start sub_0205857C
sub_0205857C: ; 0x0205857C
push {r3, r4, r5, r6, r7, lr}
mov r0, #0
str r0, [sp]
bl sub_02037454
cmp r0, #0
ble _020585F0
mov r7, #0
_0205858C:
bl sub_0203769C
ldr r1, [sp]
cmp r1, r0
beq _020585E0
add r0, r1, #0
bl sub_02037B5C
cmp r0, #0x5e
bne _020585E0
ldr r6, _02058600 ; =0x021D41C8
ldr r0, [r6]
ldr r1, [r0, #0x14]
ldr r0, [r1, #0x10]
cmp r0, #0
bne _020585E0
add r1, #0xd2
ldrb r0, [r1]
lsl r0, r0, #0x1a
lsr r0, r0, #0x1a
bne _020585E0
mov r4, #0
add r5, r4, #0
_020585BA:
ldr r0, [r6]
ldr r0, [r0, r5]
cmp r0, #0
beq _020585CA
bl FreeToHeap
ldr r0, [r6]
str r7, [r0, r5]
_020585CA:
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blt _020585BA
ldr r0, _02058600 ; =0x021D41C8
ldr r1, _02058604 ; =0x0000238E
ldr r0, [r0]
mov r2, #0
ldr r0, [r0, #0x14]
bl sub_0203FE74
_020585E0:
ldr r0, [sp]
add r0, r0, #1
str r0, [sp]
bl sub_02037454
ldr r1, [sp]
cmp r1, r0
blt _0205858C
_020585F0:
ldr r1, _02058600 ; =0x021D41C8
mov r0, #4
ldr r1, [r1]
ldr r1, [r1, #0x14]
ldr r1, [r1, #8]
bl sub_020399FC
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02058600: .word 0x021D41C8
_02058604: .word 0x0000238E
thumb_func_end sub_0205857C
thumb_func_start sub_02058608
sub_02058608: ; 0x02058608
push {r3, lr}
bl sub_02057C94
cmp r0, #0
bne _02058632
ldr r0, _02058638 ; =0x021D41C8
mov r1, #0
ldr r0, [r0]
add r0, #0x3f
strb r1, [r0]
mov r1, #1
add r0, sp, #0
strb r1, [r0]
mov r0, #0x5e
add r1, sp, #0
bl sub_020376E0
ldr r0, _0205863C ; =sub_020586EC
mov r1, #0
bl sub_020582F4
_02058632:
bl sub_0205857C
pop {r3, pc}
.balign 4, 0
_02058638: .word 0x021D41C8
_0205863C: .word sub_020586EC
thumb_func_end sub_02058608
thumb_func_start sub_02058640
sub_02058640: ; 0x02058640
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
beq _0205865E
mov r0, #0xb
bl sub_020744BC
ldr r1, _02058684 ; =0x021D41C8
ldr r2, [r1]
str r0, [r2, #0x40]
ldr r1, [r1]
add r0, r4, #0
ldr r1, [r1, #0x40]
bl sub_020748B8
_0205865E:
cmp r5, #0
beq _0205866C
ldr r0, _02058688 ; =sub_02058870
mov r1, #3
bl sub_020582F4
pop {r3, r4, r5, pc}
_0205866C:
mov r1, #3
add r0, sp, #0
strb r1, [r0]
mov r0, #0x5e
add r1, sp, #0
bl sub_020376E0
ldr r0, _0205868C ; =sub_02058608
mov r1, #0
bl sub_020582F4
pop {r3, r4, r5, pc}
.balign 4, 0
_02058684: .word 0x021D41C8
_02058688: .word sub_02058870
_0205868C: .word sub_02058608
thumb_func_end sub_02058640
thumb_func_start sub_02058690
sub_02058690: ; 0x02058690
ldr r3, _02058698 ; =sub_020582F4
ldr r0, _0205869C ; =sub_02058608
mov r1, #0
bx r3
.balign 4, 0
_02058698: .word sub_020582F4
_0205869C: .word sub_02058608
thumb_func_end sub_02058690
thumb_func_start sub_020586A0
sub_020586A0: ; 0x020586A0
push {r3, lr}
bl sub_02037958
cmp r0, #0
bne _020586DE
bl sub_0203769C
bl sub_02057F18
cmp r0, #0
bne _020586DE
ldr r0, _020586E0 ; =0x021D41C8
ldr r1, [r0]
ldrh r0, [r1, #0x38]
cmp r0, #0
beq _020586C6
sub r0, r0, #1
strh r0, [r1, #0x38]
pop {r3, pc}
_020586C6:
bl sub_02057F58
ldr r0, _020586E0 ; =0x021D41C8
ldr r1, _020586E4 ; =sub_02058640
ldr r0, [r0]
ldr r0, [r0, #0x14]
bl sub_02059538
ldr r0, _020586E8 ; =sub_02058690
mov r1, #0
bl sub_020582F4
_020586DE:
pop {r3, pc}
.balign 4, 0
_020586E0: .word 0x021D41C8
_020586E4: .word sub_02058640
_020586E8: .word sub_02058690
thumb_func_end sub_020586A0
thumb_func_start sub_020586EC
sub_020586EC: ; 0x020586EC
push {r3, lr}
ldr r0, _02058718 ; =0x021D41C8
ldr r0, [r0]
add r0, #0x3f
ldrb r0, [r0]
cmp r0, #0
beq _02058710
ldr r0, _0205871C ; =sub_020586A0
mov r1, #5
bl sub_020582F4
mov r1, #0
add r0, sp, #0
strb r1, [r0]
mov r0, #0x5e
add r1, sp, #0
bl sub_020376E0
_02058710:
bl sub_0205857C
pop {r3, pc}
nop
_02058718: .word 0x021D41C8
_0205871C: .word sub_020586A0
thumb_func_end sub_020586EC
thumb_func_start sub_02058720
sub_02058720: ; 0x02058720
push {r4, lr}
add r4, r2, #0
bl sub_0203769C
ldrb r1, [r4]
cmp r1, r0
bne _02058738
ldr r0, _0205873C ; =0x021D41C8
mov r1, #1
ldr r0, [r0]
add r0, #0x3f
strb r1, [r0]
_02058738:
pop {r4, pc}
nop
_0205873C: .word 0x021D41C8
thumb_func_end sub_02058720
thumb_func_start sub_02058740
sub_02058740: ; 0x02058740
ldr r0, _02058760 ; =0x021D41C8
ldr r0, [r0]
cmp r0, #0
beq _0205875A
ldr r1, [r0, #0x30]
ldr r0, _02058764 ; =sub_020586EC
cmp r1, r0
beq _02058756
ldr r0, _02058768 ; =sub_02058608
cmp r1, r0
bne _0205875A
_02058756:
mov r0, #1
bx lr
_0205875A:
mov r0, #0
bx lr
nop
_02058760: .word 0x021D41C8
_02058764: .word sub_020586EC
_02058768: .word sub_02058608
thumb_func_end sub_02058740
thumb_func_start sub_0205876C
sub_0205876C: ; 0x0205876C
push {r4, lr}
sub sp, #8
ldr r0, _020587E4 ; =0x021D41C8
ldr r1, [r0]
ldrh r0, [r1, #0x38]
cmp r0, #0
beq _02058782
sub r0, r0, #1
strh r0, [r1, #0x38]
add sp, #8
pop {r4, pc}
_02058782:
mov r4, #5
bl sub_0203993C
cmp r0, #5
bgt _0205879C
cmp r0, #2
blt _020587A8
beq _020587A6
cmp r0, #4
beq _020587A2
cmp r0, #5
beq _020587A2
b _020587A8
_0205879C:
cmp r0, #0x26
beq _020587A6
b _020587A8
_020587A2:
mov r4, #0xf
b _020587A8
_020587A6:
mov r4, #7
_020587A8:
add r0, sp, #0
bl sub_02039980
ldr r0, _020587E4 ; =0x021D41C8
ldr r0, [r0]
ldr r1, [r0, #0x40]
ldr r0, [r0, #0x14]
cmp r1, #0
bne _020587C4
add r1, sp, #0
add r2, r4, #0
bl sub_02051598
b _020587DC
_020587C4:
add r2, r4, #0
bl sub_020515FC
ldr r0, _020587E4 ; =0x021D41C8
ldr r0, [r0]
ldr r0, [r0, #0x40]
bl FreeToHeap
ldr r0, _020587E4 ; =0x021D41C8
mov r1, #0
ldr r0, [r0]
str r1, [r0, #0x40]
_020587DC:
bl sub_02058098
add sp, #8
pop {r4, pc}
.balign 4, 0
_020587E4: .word 0x021D41C8
thumb_func_end sub_0205876C
thumb_func_start sub_020587E8
sub_020587E8: ; 0x020587E8
push {r3, lr}
bl sub_02036010
cmp r0, #0
beq _02058822
ldr r0, _02058824 ; =0x021D41C8
ldr r1, [r0]
ldrh r0, [r1, #0x38]
cmp r0, #0
beq _02058800
sub r0, r0, #1
strh r0, [r1, #0x38]
_02058800:
ldr r0, _02058824 ; =0x021D41C8
ldr r0, [r0]
ldrh r0, [r0, #0x38]
cmp r0, #0x5a
bne _02058810
mov r0, #4
bl sub_02037AC0
_02058810:
mov r0, #4
bl sub_02037B38
cmp r0, #0
beq _02058822
ldr r0, _02058828 ; =sub_0205876C
mov r1, #0
bl sub_020582F4
_02058822:
pop {r3, pc}
.balign 4, 0
_02058824: .word 0x021D41C8
_02058828: .word sub_0205876C
thumb_func_end sub_020587E8
thumb_func_start sub_0205882C
sub_0205882C: ; 0x0205882C
push {r3, lr}
ldr r0, _0205884C ; =0x021D41C8
ldr r1, [r0]
ldrh r0, [r1, #0x38]
cmp r0, #0
beq _0205883E
sub r0, r0, #1
strh r0, [r1, #0x38]
pop {r3, pc}
_0205883E:
bl sub_02035FD8
ldr r0, _02058850 ; =sub_020587E8
mov r1, #0x78
bl sub_020582F4
pop {r3, pc}
.balign 4, 0
_0205884C: .word 0x021D41C8
_02058850: .word sub_020587E8
thumb_func_end sub_0205882C
thumb_func_start sub_02058854
sub_02058854: ; 0x02058854
push {r3, lr}
mov r0, #3
bl sub_02037B38
cmp r0, #0
beq _02058868
ldr r0, _0205886C ; =sub_0205882C
mov r1, #2
bl sub_020582F4
_02058868:
pop {r3, pc}
nop
_0205886C: .word sub_0205882C
thumb_func_end sub_02058854
thumb_func_start sub_02058870
sub_02058870: ; 0x02058870
push {r3, lr}
ldr r0, _02058898 ; =0x021D41C8
ldr r1, [r0]
ldrh r0, [r1, #0x38]
cmp r0, #0
beq _02058882
sub r0, r0, #1
strh r0, [r1, #0x38]
pop {r3, pc}
_02058882:
mov r0, #0
bl sub_02056EA0
mov r0, #3
bl sub_02037AC0
ldr r0, _0205889C ; =sub_02058854
mov r1, #0
bl sub_020582F4
pop {r3, pc}
.balign 4, 0
_02058898: .word 0x021D41C8
_0205889C: .word sub_02058854
thumb_func_end sub_02058870
thumb_func_start sub_020588A0
sub_020588A0: ; 0x020588A0
push {r3, lr}
bl sub_02037E38
ldr r0, _020588B0 ; =sub_020588B4
mov r1, #2
bl sub_020582F4
pop {r3, pc}
.balign 4, 0
_020588B0: .word sub_020588B4
thumb_func_end sub_020588A0
thumb_func_start sub_020588B4
sub_020588B4: ; 0x020588B4
push {r3, lr}
bl sub_02035664
cmp r0, #0
beq _020588C6
ldr r0, _020588C8 ; =sub_0205836C
mov r1, #0xa
bl sub_020582F4
_020588C6:
pop {r3, pc}
.balign 4, 0
_020588C8: .word sub_0205836C
thumb_func_end sub_020588B4
thumb_func_start sub_020588CC
sub_020588CC: ; 0x020588CC
ldr r1, _020588D8 ; =0x021D41C8
mov r2, #1
ldr r1, [r1]
add r0, r1, r0
strb r2, [r0, #0x10]
bx lr
.balign 4, 0
_020588D8: .word 0x021D41C8
thumb_func_end sub_020588CC
thumb_func_start sub_020588DC
sub_020588DC: ; 0x020588DC
push {r4, lr}
add r4, r0, #0
cmp r4, #4
blt _020588E8
bl GF_AssertFail
_020588E8:
ldr r0, _020588F4 ; =0x021D41C8
ldr r1, [r0]
lsl r0, r4, #2
ldr r0, [r1, r0]
pop {r4, pc}
nop
_020588F4: .word 0x021D41C8
thumb_func_end sub_020588DC
thumb_func_start sub_020588F8
sub_020588F8: ; 0x020588F8
push {r4, lr}
bl sub_0203769C
add r4, r0, #0
mov r0, #0x5f
bl sub_02037B38
cmp r0, #0
beq _02058922
ldr r1, _02058924 ; =0x021D41C8
mov r0, #0x58
ldr r2, [r1]
lsl r1, r4, #2
ldr r1, [r2, r1]
ldr r2, _02058928 ; =0x0000066C
bl sub_02036FD8
ldr r0, _0205892C ; =sub_02058930
mov r1, #0
bl sub_020582F4
_02058922:
pop {r4, pc}
.balign 4, 0
_02058924: .word 0x021D41C8
_02058928: .word 0x0000066C
_0205892C: .word sub_02058930
thumb_func_end sub_020588F8
thumb_func_start sub_02058930
sub_02058930: ; 0x02058930
push {r3, r4, r5, lr}
mov r4, #0
bl sub_02037454
cmp r0, #0
ble _02058952
ldr r5, _02058964 ; =0x021D41C8
_0205893E:
ldr r0, [r5]
add r0, r0, r4
ldrb r0, [r0, #0x10]
cmp r0, #0
beq _02058960
add r4, r4, #1
bl sub_02037454
cmp r4, r0
blt _0205893E
_02058952:
mov r0, #0x61
bl sub_02037AC0
ldr r0, _02058968 ; =sub_020589D8
mov r1, #0
bl sub_020582F4
_02058960:
pop {r3, r4, r5, pc}
nop
_02058964: .word 0x021D41C8
_02058968: .word sub_020589D8
thumb_func_end sub_02058930
thumb_func_start sub_0205896C
sub_0205896C: ; 0x0205896C
push {r3, lr}
bl sub_02036010
cmp r0, #0
bne _020589A6
ldr r0, _020589A8 ; =0x021D41C8
ldr r1, [r0]
ldrh r0, [r1, #0x38]
cmp r0, #0
beq _02058984
sub r0, r0, #1
strh r0, [r1, #0x38]
_02058984:
ldr r0, _020589A8 ; =0x021D41C8
ldr r0, [r0]
ldrh r0, [r0, #0x38]
cmp r0, #0x5a
bne _02058994
mov r0, #5
bl sub_02037AC0
_02058994:
mov r0, #5
bl sub_02037B38
cmp r0, #0
beq _020589A6
ldr r0, _020589AC ; =sub_020589F4
mov r1, #0
bl sub_020582F4
_020589A6:
pop {r3, pc}
.balign 4, 0
_020589A8: .word 0x021D41C8
_020589AC: .word sub_020589F4
thumb_func_end sub_0205896C
thumb_func_start sub_020589B0
sub_020589B0: ; 0x020589B0
push {r3, lr}
ldr r0, _020589D0 ; =0x021D41C8
ldr r1, [r0]
ldrh r0, [r1, #0x38]
cmp r0, #0
beq _020589C2
sub r0, r0, #1
strh r0, [r1, #0x38]
pop {r3, pc}
_020589C2:
bl sub_02035FE4
ldr r0, _020589D4 ; =sub_0205896C
mov r1, #0x78
bl sub_020582F4
pop {r3, pc}
.balign 4, 0
_020589D0: .word 0x021D41C8
_020589D4: .word sub_0205896C
thumb_func_end sub_020589B0
thumb_func_start sub_020589D8
sub_020589D8: ; 0x020589D8
push {r3, lr}
mov r0, #0x61
bl sub_02037B38
cmp r0, #0
beq _020589EC
ldr r0, _020589F0 ; =sub_020589B0
mov r1, #2
bl sub_020582F4
_020589EC:
pop {r3, pc}
nop
_020589F0: .word sub_020589B0
thumb_func_end sub_020589D8
thumb_func_start sub_020589F4
sub_020589F4: ; 0x020589F4
push {r3, lr}
ldr r0, _02058A2C ; =0x021D41C8
ldr r1, [r0]
ldrh r0, [r1, #0x38]
cmp r0, #0
beq _02058A06
sub r0, r0, #1
strh r0, [r1, #0x38]
pop {r3, pc}
_02058A06:
mov r0, #0x62
bl sub_02037AC0
ldr r0, _02058A2C ; =0x021D41C8
ldr r0, [r0]
add r0, #0x3e
ldrb r0, [r0]
cmp r0, #0
beq _02058A22
ldr r0, _02058A30 ; =sub_0205838C
mov r1, #0x1e
bl sub_020582F4
pop {r3, pc}
_02058A22:
ldr r0, _02058A34 ; =sub_020584BC
mov r1, #0x1e
bl sub_020582F4
pop {r3, pc}
.balign 4, 0
_02058A2C: .word 0x021D41C8
_02058A30: .word sub_0205838C
_02058A34: .word sub_020584BC
thumb_func_end sub_020589F4
thumb_func_start sub_02058A38
sub_02058A38: ; 0x02058A38
push {r3, lr}
mov r0, #0x5b
bl sub_02037B38
cmp r0, #0
beq _02058A5A
mov r0, #0
add r1, r0, #0
bl sub_020398D4
mov r0, #1
bl sub_02056EA0
ldr r0, _02058A5C ; =sub_02058A78
mov r1, #5
bl sub_020582F4
_02058A5A:
pop {r3, pc}
.balign 4, 0
_02058A5C: .word sub_02058A78
thumb_func_end sub_02058A38
thumb_func_start sub_02058A60
sub_02058A60: ; 0x02058A60
push {r3, lr}
mov r0, #1
bl sub_02056EA0
ldr r0, _02058A74 ; =sub_02058A78
mov r1, #5
bl sub_020582F4
pop {r3, pc}
nop
_02058A74: .word sub_02058A78
thumb_func_end sub_02058A60
thumb_func_start sub_02058A78
sub_02058A78: ; 0x02058A78
push {r3, lr}
ldr r0, _02058A98 ; =0x021D41C8
ldr r1, [r0]
ldrh r0, [r1, #0x38]
cmp r0, #0
beq _02058A8A
sub r0, r0, #1
strh r0, [r1, #0x38]
pop {r3, pc}
_02058A8A:
bl sub_02037E9C
ldr r0, _02058A9C ; =sub_02058098
mov r1, #0
bl sub_020582F4
pop {r3, pc}
.balign 4, 0
_02058A98: .word 0x021D41C8
_02058A9C: .word sub_02058098
thumb_func_end sub_02058A78
thumb_func_start sub_02058AA0
sub_02058AA0: ; 0x02058AA0
ldr r0, _02058AD4 ; =0x021D41C8
ldr r0, [r0]
cmp r0, #0
bne _02058AAC
mov r0, #0
bx lr
_02058AAC:
ldr r1, [r0, #0x30]
ldr r0, _02058AD8 ; =sub_02058870
cmp r1, r0
beq _02058ACC
ldr r0, _02058ADC ; =sub_02058854
cmp r1, r0
beq _02058ACC
ldr r0, _02058AE0 ; =sub_0205882C
cmp r1, r0
beq _02058ACC
ldr r0, _02058AE4 ; =sub_020587E8
cmp r1, r0
beq _02058ACC
ldr r0, _02058AE8 ; =sub_0205876C
cmp r1, r0
bne _02058AD0
_02058ACC:
mov r0, #1
bx lr
_02058AD0:
mov r0, #0
bx lr
.balign 4, 0
_02058AD4: .word 0x021D41C8
_02058AD8: .word sub_02058870
_02058ADC: .word sub_02058854
_02058AE0: .word sub_0205882C
_02058AE4: .word sub_020587E8
_02058AE8: .word sub_0205876C
thumb_func_end sub_02058AA0
thumb_func_start sub_02058AEC
sub_02058AEC: ; 0x02058AEC
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r7, r0, #0
add r6, r1, #0
ldr r0, [sp, #0x24]
mov r1, #0x3c
str r2, [sp]
str r3, [sp, #4]
ldr r5, [r6, #0xc]
bl AllocFromHeapAtEnd
mov r1, #0
mov r2, #0x3c
add r4, r0, #0
bl MIi_CpuFill8
ldr r0, [r6, #0xc]
bl Sav2_PlayerData_GetProfileAddr
add r1, r0, #0
add r0, r4, #0
bl sub_0208AD34
add r0, r5, #0
bl sub_02074910
str r0, [r4, #0x1c]
add r0, r5, #0
bl sub_02088288
str r0, [r4, #0x2c]
add r0, r5, #0
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #4]
ldr r0, [sp]
str r0, [r4]
mov r0, #1
strb r0, [r4, #0x11]
ldr r0, [sp, #4]
strb r0, [r4, #0x14]
ldr r0, [r4]
bl GetPartyCount
strb r0, [r4, #0x13]
mov r0, #0
strh r0, [r4, #0x18]
ldr r0, [sp, #0x20]
strb r0, [r4, #0x12]
add r0, r5, #0
bl sub_0202D95C
str r0, [r4, #0x20]
mov r0, #0
str r0, [r4, #0x30]
add r0, r5, #0
bl sub_0208828C
str r0, [r4, #0x34]
ldr r1, _02058B7C ; =0x020FC7CC
add r0, r4, #0
bl sub_02089D40
ldr r1, _02058B80 ; =0x02103A1C
add r0, r6, #0
add r2, r4, #0
bl SwitchToPokegearApp
str r4, [r7]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_02058B7C: .word 0x020FC7CC
_02058B80: .word 0x02103A1C
thumb_func_end sub_02058AEC
thumb_func_start sub_02058B84
sub_02058B84: ; 0x02058B84
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, r1, #0
mov r1, #0x44
bl AllocFromHeap
mov r1, #0
mov r2, #0x44
add r4, r0, #0
bl MIi_CpuFill8
ldr r0, [r5, #0x24]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #0xc]
ldr r0, [r5, #0x24]
add r0, #0xa4
ldr r0, [r0]
str r0, [r4, #0x14]
ldr r0, [r5, #0x24]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
str r0, [r4]
ldr r0, [r5, #0x24]
ldr r0, [r0, #0xc]
bl sub_0207879C
str r0, [r4, #4]
mov r0, #0x43
ldr r1, [r5, #0x24]
lsl r0, r0, #2
add r0, r1, r0
str r0, [r4, #0x20]
add r0, r4, #0
mov r1, #0
add r0, #0x25
strb r1, [r0]
add r0, r4, #0
mov r1, #2
add r0, #0x24
strb r1, [r0]
ldr r0, [r5, #0x24]
add r0, #0xa4
ldr r0, [r0]
cmp r0, #0
beq _02058C1E
mov r1, #1
bl sub_020290FC
add r1, r4, #0
add r1, #0x36
ldrb r1, [r1]
mov r2, #0xf
lsl r0, r0, #0x18
bic r1, r2
lsr r2, r0, #0x18
mov r0, #0xf
and r0, r2
orr r1, r0
add r0, r4, #0
add r0, #0x36
strb r1, [r0]
add r0, r4, #0
add r0, #0x36
ldrb r0, [r0]
mov r1, #0xf0
bic r0, r1
add r1, r4, #0
add r1, #0x36
ldrb r1, [r1]
lsl r1, r1, #0x1c
lsr r1, r1, #0x1c
lsl r1, r1, #0x1c
lsr r1, r1, #0x18
b _02058C3E
_02058C1E:
add r0, r4, #0
add r0, #0x36
ldrb r1, [r0]
mov r0, #0xf
bic r1, r0
mov r0, #3
orr r1, r0
add r0, r4, #0
add r0, #0x36
strb r1, [r0]
add r0, r4, #0
add r0, #0x36
ldrb r1, [r0]
mov r0, #0xf0
bic r1, r0
mov r0, #0x30
_02058C3E:
orr r1, r0
add r0, r4, #0
add r0, #0x36
strb r1, [r0]
add r0, r4, #0
mov r1, #0x64
add r0, #0x37
strb r1, [r0]
add r0, r5, #0
add r0, #0x3c
ldrb r1, [r0]
add r0, r4, #0
add r0, #0x26
strb r1, [r0]
mov r2, #0
_02058C5C:
add r0, r5, r2
add r0, #0x3d
ldrb r1, [r0]
add r0, r4, r2
add r0, #0x30
add r2, r2, #1
strb r1, [r0]
cmp r2, #6
blt _02058C5C
ldr r0, [r5, #0x24]
ldr r1, _02058C7C ; =0x0210159C
add r2, r4, #0
bl SwitchToPokegearApp
str r4, [r5, #4]
pop {r3, r4, r5, pc}
.balign 4, 0
_02058C7C: .word 0x0210159C
thumb_func_end sub_02058B84
thumb_func_start sub_02058C80
sub_02058C80: ; 0x02058C80
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
bl sub_020505A0
cmp r0, #0
beq _02058C92
mov r0, #0
pop {r4, pc}
_02058C92:
ldr r0, [r4, #4]
add r1, r4, #0
add r0, #0x30
add r1, #0x3d
mov r2, #6
bl MIi_CpuCopy8
ldr r0, [r4, #4]
add r0, #0x26
ldrb r0, [r0]
cmp r0, #6
beq _02058CB4
cmp r0, #7
bne _02058CBA
mov r0, #0
str r0, [r4, #0x38]
b _02058CBE
_02058CB4:
mov r0, #1
str r0, [r4, #0x38]
b _02058CBE
_02058CBA:
mov r0, #2
str r0, [r4, #0x38]
_02058CBE:
ldr r0, [r4, #4]
add r0, #0x26
ldrb r1, [r0]
add r0, r4, #0
add r0, #0x3c
strb r1, [r0]
ldr r0, [r4, #4]
bl FreeToHeap
mov r0, #0
str r0, [r4, #4]
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02058C80
thumb_func_start sub_02058CD8
sub_02058CD8: ; 0x02058CD8
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
bl sub_020505A0
cmp r0, #0
beq _02058CEA
mov r0, #0
pop {r4, pc}
_02058CEA:
ldr r0, [r4]
ldrb r1, [r0, #0x14]
add r0, r4, #0
add r0, #0x3c
strb r1, [r0]
ldr r0, [r4]
bl FreeToHeap
mov r0, #0
str r0, [r4]
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02058CD8
thumb_func_start sub_02058D04
sub_02058D04: ; 0x02058D04
push {r3, lr}
ldr r0, [r0, #0x24]
bl sub_020505C8
cmp r0, #0
beq _02058D1E
mov r0, #1
bl ov01_021E636C
bl sub_02056E60
mov r0, #1
pop {r3, pc}
_02058D1E:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02058D04
thumb_func_start sub_02058D24
sub_02058D24: ; 0x02058D24
push {r3, r4, r5, lr}
bl sub_02037454
add r5, r0, #0
mov r4, #0
cmp r5, #0
ble _02058D46
_02058D32:
add r0, r4, #0
bl sub_02037B5C
cmp r0, #0x5e
bne _02058D40
mov r0, #1
pop {r3, r4, r5, pc}
_02058D40:
add r4, r4, #1
cmp r4, r5
blt _02058D32
_02058D46:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02058D24
thumb_func_start sub_02058D4C
sub_02058D4C: ; 0x02058D4C
push {r3, r4, r5, lr}
sub sp, #8
add r5, r0, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_0205064C
ldr r1, [r4, #0x34]
cmp r1, #0x2c
bls _02058D66
b _02059472
_02058D66:
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02058D72: ; jump table
.short _02058DCC - _02058D72 - 2 ; case 0
.short _02058DEE - _02058D72 - 2 ; case 1
.short _02058E08 - _02058D72 - 2 ; case 2
.short _02058E22 - _02058D72 - 2 ; case 3
.short _02058E5E - _02058D72 - 2 ; case 4
.short _02058EAE - _02058D72 - 2 ; case 5
.short _02059472 - _02058D72 - 2 ; case 6
.short _02058E9C - _02058D72 - 2 ; case 7
.short _02058EC4 - _02058D72 - 2 ; case 8
.short _02058EEA - _02058D72 - 2 ; case 9
.short _02058EF6 - _02058D72 - 2 ; case 10
.short _02058F22 - _02058D72 - 2 ; case 11
.short _02058F40 - _02058D72 - 2 ; case 12
.short _02058F54 - _02058D72 - 2 ; case 13
.short _02058F60 - _02058D72 - 2 ; case 14
.short _02058F82 - _02058D72 - 2 ; case 15
.short _02058F98 - _02058D72 - 2 ; case 16
.short _02058FC6 - _02058D72 - 2 ; case 17
.short _02058FEC - _02058D72 - 2 ; case 18
.short _02058FFE - _02058D72 - 2 ; case 19
.short _02059042 - _02058D72 - 2 ; case 20
.short _02059022 - _02058D72 - 2 ; case 21
.short _0205905E - _02058D72 - 2 ; case 22
.short _0205906E - _02058D72 - 2 ; case 23
.short _0205908C - _02058D72 - 2 ; case 24
.short _020590AA - _02058D72 - 2 ; case 25
.short _020590BE - _02058D72 - 2 ; case 26
.short _0205912A - _02058D72 - 2 ; case 27
.short _02059162 - _02058D72 - 2 ; case 28
.short _02059178 - _02058D72 - 2 ; case 29
.short _020591C2 - _02058D72 - 2 ; case 30
.short _020591FA - _02058D72 - 2 ; case 31
.short _02059220 - _02058D72 - 2 ; case 32
.short _02059340 - _02058D72 - 2 ; case 33
.short _02059370 - _02058D72 - 2 ; case 34
.short _02059388 - _02058D72 - 2 ; case 35
.short _02059274 - _02058D72 - 2 ; case 36
.short _020592B2 - _02058D72 - 2 ; case 37
.short _020592CE - _02058D72 - 2 ; case 38
.short _02059398 - _02058D72 - 2 ; case 39
.short _02059472 - _02058D72 - 2 ; case 40
.short _020593BC - _02058D72 - 2 ; case 41
.short _020593FE - _02058D72 - 2 ; case 42
.short _02059420 - _02058D72 - 2 ; case 43
.short _02059452 - _02058D72 - 2 ; case 44
_02058DCC:
add r0, r4, #0
add r0, #0x43
ldrb r0, [r0]
sub r1, r0, #1
add r0, r4, #0
add r0, #0x43
strb r1, [r0]
add r0, r4, #0
add r0, #0x43
ldrb r0, [r0]
cmp r0, #0
bne _02058E94
mov r0, #1
str r0, [r4, #0x34]
bl sub_02057E08
b _02059472
_02058DEE:
ldr r0, [r4, #0x2c]
ldr r2, [r4, #0xc]
mov r1, #1
bl ReadMsgDataIntoString
ldr r1, [r4, #0xc]
add r0, r4, #0
bl sub_02059478
str r0, [r4, #0x30]
mov r0, #2
str r0, [r4, #0x34]
b _02059472
_02058E08:
ldr r0, [r4, #0x30]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0205B624
cmp r0, #0
beq _02058E94
mov r0, #0x5d
bl sub_02037AC0
mov r0, #3
str r0, [r4, #0x34]
b _02059472
_02058E22:
mov r0, #0x5d
bl sub_02037B38
cmp r0, #0
beq _02058E42
mov r0, #7
str r0, [r4, #0x34]
ldr r0, [r4, #0x24]
ldr r0, [r0, #0x3c]
bl sub_0205F55C
ldr r1, [r4, #0x50]
ldr r2, [r4, #8]
mov r0, #1
blx r2
b _02059472
_02058E42:
ldr r0, _02059148 ; =gMain
ldr r1, [r0, #0x48]
mov r0, #2
tst r0, r1
beq _02058E94
mov r0, #4
str r0, [r4, #0x34]
mov r0, #0x5c
bl sub_02037AC0
mov r0, #5
add r4, #0x43
strb r0, [r4]
b _02059472
_02058E5E:
mov r0, #0x5d
bl sub_02037B38
cmp r0, #0
beq _02058E7C
mov r0, #7
str r0, [r4, #0x34]
ldr r0, [r4, #0x24]
ldr r0, [r0, #0x3c]
bl sub_0205F55C
ldr r1, [r4, #0x50]
ldr r2, [r4, #8]
mov r0, #1
blx r2
_02058E7C:
add r0, r4, #0
add r0, #0x43
ldrb r0, [r0]
sub r1, r0, #1
add r0, r4, #0
add r0, #0x43
strb r1, [r0]
add r0, r4, #0
add r0, #0x43
ldrb r0, [r0]
cmp r0, #0
beq _02058E96
_02058E94:
b _02059472
_02058E96:
mov r0, #8
str r0, [r4, #0x34]
b _02059472
_02058E9C:
add r0, r4, #0
bl sub_02059650
add r0, r4, #0
bl FreeToHeap
add sp, #8
mov r0, #1
pop {r3, r4, r5, pc}
_02058EAE:
add r0, r4, #0
bl sub_02059650
add r0, r4, #0
bl FreeToHeap
bl sub_02057F70
add sp, #8
mov r0, #1
pop {r3, r4, r5, pc}
_02058EC4:
mov r0, #0x5d
bl sub_02037B38
cmp r0, #0
beq _02058EDC
mov r0, #5
str r0, [r4, #0x34]
ldr r1, [r4, #0x50]
ldr r2, [r4, #8]
mov r0, #1
blx r2
b _02059472
_02058EDC:
ldr r1, [r4, #0x50]
ldr r2, [r4, #8]
mov r0, #0
blx r2
mov r0, #5
str r0, [r4, #0x34]
b _02059472
_02058EEA:
mov r0, #0xa
str r0, [r4, #0x34]
mov r0, #5
add r4, #0x44
strb r0, [r4]
b _02059472
_02058EF6:
add r1, r4, #0
add r1, #0x44
ldrb r1, [r1]
cmp r1, #0
beq _02058F0E
add r0, r4, #0
add r0, #0x44
ldrb r0, [r0]
add r4, #0x44
sub r0, r0, #1
strb r0, [r4]
b _02059472
_02058F0E:
ldr r0, [r0, #0x40]
bl sub_0205C6DC
bl sub_02062198
cmp r0, #0
beq _02058FB2
mov r0, #0xb
str r0, [r4, #0x34]
b _02059472
_02058F22:
bl sub_02057E08
ldr r0, [r4, #0x2c]
ldr r2, [r4, #0xc]
mov r1, #0xd
bl ReadMsgDataIntoString
ldr r1, [r4, #0xc]
add r0, r4, #0
bl sub_02059478
str r0, [r4, #0x30]
mov r0, #0xc
str r0, [r4, #0x34]
b _02059472
_02058F40:
ldr r0, [r4, #0x30]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0205B624
cmp r0, #0
beq _02058FB2
mov r0, #0xd
str r0, [r4, #0x34]
b _02059472
_02058F54:
mov r0, #0
bl ov01_021E636C
mov r0, #0xe
str r0, [r4, #0x34]
b _02059472
_02058F60:
add r0, r4, #0
add r0, #0x43
ldrb r0, [r0]
sub r1, r0, #1
add r0, r4, #0
add r0, #0x43
strb r1, [r0]
add r0, r4, #0
add r0, #0x43
ldrb r0, [r0]
cmp r0, #0
bne _02058FB2
bl sub_02057E08
mov r0, #0xf
str r0, [r4, #0x34]
b _02059472
_02058F82:
add r0, r4, #0
mov r1, #0
bl sub_020594C8
add r0, r4, #0
mov r1, #0xb
bl sub_02058B84
mov r0, #0x10
str r0, [r4, #0x34]
b _02059472
_02058F98:
ldr r1, [r4, #0x24]
add r0, r4, #0
bl sub_02058C80
cmp r0, #0
beq _02058FB2
ldr r0, [r4, #0x38]
cmp r0, #0
beq _02058FB4
cmp r0, #1
beq _02058FBA
cmp r0, #2
beq _02058FC0
_02058FB2:
b _02059472
_02058FB4:
mov r0, #0x14
str r0, [r4, #0x34]
b _02059472
_02058FBA:
mov r0, #0x13
str r0, [r4, #0x34]
b _02059472
_02058FC0:
mov r0, #0x11
str r0, [r4, #0x34]
b _02059472
_02058FC6:
ldr r0, [r4, #0x24]
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
add r2, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #0xb
str r0, [sp, #4]
add r3, r4, #0
add r3, #0x3c
ldrb r3, [r3]
ldr r1, [r4, #0x24]
add r0, r4, #0
bl sub_02058AEC
mov r0, #0x12
str r0, [r4, #0x34]
b _02059472
_02058FEC:
ldr r1, [r4, #0x24]
add r0, r4, #0
bl sub_02058CD8
cmp r0, #0
beq _020590C8
mov r0, #0xf
str r0, [r4, #0x34]
b _02059472
_02058FFE:
ldr r0, [r4, #0x24]
bl sub_020505C0
add r0, r4, #0
add r0, #0x88
ldrb r0, [r0]
cmp r0, #3
beq _0205901C
add r0, r4, #0
mov r1, #5
add r0, #0x43
strb r1, [r0]
mov r0, #0x15
str r0, [r4, #0x34]
b _02059472
_0205901C:
mov r0, #0x1a
str r0, [r4, #0x34]
b _02059472
_02059022:
add r0, r4, #0
add r0, #0x3d
bl sub_0203996C
add r0, r4, #0
bl sub_02058D04
cmp r0, #0
beq _020590C8
add r0, r4, #0
mov r1, #5
add r0, #0x43
strb r1, [r0]
mov r0, #0
str r0, [r4, #0x34]
b _02059472
_02059042:
ldr r0, [r4, #0x24]
bl sub_020505C0
add r0, r4, #0
add r0, #0x88
ldrb r0, [r0]
cmp r0, #3
beq _02059058
mov r0, #0x16
str r0, [r4, #0x34]
b _02059472
_02059058:
mov r0, #0x1a
str r0, [r4, #0x34]
b _02059472
_0205905E:
add r0, r4, #0
bl sub_02058D04
cmp r0, #0
beq _020590C8
mov r0, #8
str r0, [r4, #0x34]
b _02059472
_0205906E:
add r0, r4, #0
add r0, #0x44
ldrb r0, [r0]
sub r1, r0, #1
add r0, r4, #0
add r0, #0x44
strb r1, [r0]
add r0, r4, #0
add r0, #0x44
ldrb r0, [r0]
cmp r0, #0
bne _020590C8
mov r0, #0x18
str r0, [r4, #0x34]
b _02059472
_0205908C:
bl sub_02057E08
ldr r0, [r4, #0x2c]
ldr r2, [r4, #0xc]
mov r1, #0x13
bl ReadMsgDataIntoString
ldr r1, [r4, #0xc]
add r0, r4, #0
bl sub_02059478
str r0, [r4, #0x30]
mov r0, #0x19
str r0, [r4, #0x34]
b _02059472
_020590AA:
ldr r0, [r4, #0x30]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0205B624
cmp r0, #0
beq _020590C8
mov r0, #0xd
str r0, [r4, #0x34]
b _02059472
_020590BE:
add r0, r4, #0
bl sub_02058D04
cmp r0, #0
bne _020590CA
_020590C8:
b _02059472
_020590CA:
bl sub_02058D24
cmp r0, #0
beq _020590D8
mov r0, #5
str r0, [r4, #0x34]
b _02059472
_020590D8:
ldr r0, [r4, #0x38]
cmp r0, #0
beq _020590E2
mov r1, #1
b _020590E4
_020590E2:
mov r1, #0
_020590E4:
add r0, r4, #0
add r0, #0x82
strb r1, [r0]
add r1, r4, #0
add r1, #0x82
ldrb r1, [r1]
add r0, r4, #0
bl sub_020596A8
mov r0, #0
bl sub_02037AC0
ldr r0, [r4, #0x28]
ldr r2, [r4, #0x74]
mov r1, #0
bl BufferPlayersName
ldr r0, [r4, #0x2c]
ldr r2, [r4, #0xc]
mov r1, #0xe
bl ReadMsgDataIntoString
ldr r0, [r4, #0x28]
ldr r1, [r4, #0x10]
ldr r2, [r4, #0xc]
bl StringExpandPlaceholders
ldr r1, [r4, #0x10]
add r0, r4, #0
bl sub_02059478
str r0, [r4, #0x30]
mov r0, #0x1b
str r0, [r4, #0x34]
b _02059472
_0205912A:
ldr r0, [r4, #0x30]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0205B624
cmp r0, #0
beq _0205922E
bl sub_02058D24
cmp r0, #0
beq _0205914C
mov r0, #5
str r0, [r4, #0x34]
b _02059472
nop
_02059148: .word gMain
_0205914C:
mov r0, #0
bl sub_02037B38
cmp r0, #0
beq _0205922E
add r0, r4, #0
bl sub_020596F0
mov r0, #0x1c
str r0, [r4, #0x34]
b _02059472
_02059162:
add r0, r4, #0
bl sub_02059738
cmp r0, #0
beq _0205922E
mov r0, #1
bl sub_02037AC0
mov r0, #0x1d
str r0, [r4, #0x34]
b _02059472
_02059178:
mov r0, #1
bl sub_02037B38
cmp r0, #0
beq _0205922E
add r0, r4, #0
bl sub_02059748
add r1, r4, #0
add r1, #0x83
strb r0, [r1]
add r0, r4, #0
add r0, #0x82
ldrb r0, [r0]
cmp r0, #0
beq _020591BC
add r0, r4, #0
add r0, #0x83
ldrb r0, [r0]
cmp r0, #0
beq _020591BC
ldr r0, [r4, #0x2c]
ldr r2, [r4, #0xc]
mov r1, #0x14
bl ReadMsgDataIntoString
ldr r1, [r4, #0xc]
add r0, r4, #0
bl sub_02059478
str r0, [r4, #0x30]
mov r0, #0x1e
str r0, [r4, #0x34]
b _02059472
_020591BC:
mov r0, #0x2a
str r0, [r4, #0x34]
b _02059472
_020591C2:
ldr r0, [r4, #0x30]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0205B624
cmp r0, #0
beq _0205922E
add r0, r4, #0
mov r1, #0
add r0, #0x89
strb r1, [r0]
ldr r0, [r4, #0x2c]
ldr r2, [r4, #0xc]
mov r1, #0x11
bl ReadMsgDataIntoString
ldr r1, [r4, #0xc]
add r0, r4, #0
bl sub_02059478
str r0, [r4, #0x30]
add r0, r4, #0
mov r1, #0
add r0, #0x84
strb r1, [r0]
mov r0, #0x1f
str r0, [r4, #0x34]
b _02059472
_020591FA:
ldr r0, [r4, #0x30]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0205B624
cmp r0, #0
beq _0205922E
add r0, r4, #0
bl sub_020597A8
add r1, r4, #0
add r1, #0x84
ldrb r1, [r1]
add r0, r4, #0
bl sub_02059820
mov r0, #0x20
str r0, [r4, #0x34]
b _02059472
_02059220:
add r0, r4, #0
bl sub_02059A08
cmp r0, #1
beq _02059230
cmp r0, #2
beq _02059246
_0205922E:
b _02059472
_02059230:
add r0, r4, #0
bl sub_02059AD8
mov r0, #0x81
ldrsb r1, [r4, r0]
add r0, r4, #0
add r0, #0x84
strb r1, [r0]
mov r0, #0x24
str r0, [r4, #0x34]
b _02059472
_02059246:
add r0, r4, #0
bl sub_02059AD8
add r0, r4, #0
mov r1, #0xff
add r0, #0x84
strb r1, [r0]
ldr r0, [r4, #0x2c]
ldr r2, [r4, #0xc]
mov r1, #0xf
bl ReadMsgDataIntoString
ldr r1, [r4, #0xc]
add r0, r4, #0
bl sub_02059478
str r0, [r4, #0x30]
mov r0, #2
bl sub_02037AC0
mov r0, #0x27
str r0, [r4, #0x34]
b _02059472
_02059274:
add r1, r4, #0
add r1, #0x84
ldrb r1, [r1]
ldr r0, [r4, #0x50]
bl GetPartyMonByIndex
bl sub_02070DB0
add r2, r0, #0
ldr r0, [r4, #0x28]
mov r1, #1
bl BufferBoxMonSpeciesName
ldr r0, [r4, #0x2c]
ldr r2, [r4, #0xc]
mov r1, #0x12
bl ReadMsgDataIntoString
ldr r0, [r4, #0x28]
ldr r1, [r4, #0x10]
ldr r2, [r4, #0xc]
bl StringExpandPlaceholders
ldr r1, [r4, #0x10]
add r0, r4, #0
bl sub_02059478
str r0, [r4, #0x30]
mov r0, #0x25
str r0, [r4, #0x34]
b _02059472
_020592B2:
ldr r0, [r4, #0x30]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0205B624
cmp r0, #0
beq _02059348
add r0, r4, #0
mov r1, #0
bl sub_0205993C
mov r0, #0x26
str r0, [r4, #0x34]
b _02059472
_020592CE:
add r0, r4, #0
bl sub_02059A08
cmp r0, #1
beq _020592FC
cmp r0, #2
bne _02059348
add r0, r4, #0
bl sub_02059AD8
ldr r0, [r4, #0x2c]
ldr r2, [r4, #0xc]
mov r1, #0x11
bl ReadMsgDataIntoString
ldr r1, [r4, #0xc]
add r0, r4, #0
bl sub_02059478
str r0, [r4, #0x30]
mov r0, #0x1f
str r0, [r4, #0x34]
b _02059472
_020592FC:
mov r0, #0x81
ldrsb r0, [r4, r0]
cmp r0, #1
bne _02059334
add r0, r4, #0
bl sub_02059AD8
ldr r0, [r4, #0x2c]
ldr r2, [r4, #0xc]
mov r1, #0xe
bl ReadMsgDataIntoString
ldr r0, [r4, #0x28]
ldr r1, [r4, #0x10]
ldr r2, [r4, #0xc]
bl StringExpandPlaceholders
ldr r1, [r4, #0x10]
add r0, r4, #0
bl sub_02059478
str r0, [r4, #0x30]
mov r0, #2
bl sub_02037AC0
mov r0, #0x27
str r0, [r4, #0x34]
b _02059472
_02059334:
mov r0, #0
bl ov01_021E636C
mov r0, #0x21
str r0, [r4, #0x34]
b _02059472
_02059340:
bl sub_0200FB5C
cmp r0, #0
bne _0205934A
_02059348:
b _02059472
_0205934A:
add r0, r4, #0
mov r1, #0
bl sub_020594C8
mov r0, #1
str r0, [sp]
mov r0, #0xb
str r0, [sp, #4]
add r3, r4, #0
add r3, #0x84
ldrb r3, [r3]
ldr r1, [r4, #0x24]
ldr r2, [r4, #0x50]
add r0, r4, #0
bl sub_02058AEC
mov r0, #0x22
str r0, [r4, #0x34]
b _02059472
_02059370:
ldr r1, [r4, #0x24]
add r0, r4, #0
bl sub_02058CD8
cmp r0, #0
beq _02059472
ldr r0, [r4, #0x24]
bl sub_020505C0
mov r0, #0x23
str r0, [r4, #0x34]
b _02059472
_02059388:
add r0, r4, #0
bl sub_02058D04
cmp r0, #0
beq _02059472
mov r0, #0x24
str r0, [r4, #0x34]
b _02059472
_02059398:
ldr r0, [r4, #0x30]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0205B624
cmp r0, #0
beq _02059472
mov r0, #2
bl sub_02037B38
cmp r0, #0
beq _02059472
add r0, r4, #0
bl sub_0205975C
mov r0, #0x29
str r0, [r4, #0x34]
b _02059472
_020593BC:
add r0, r4, #0
bl sub_02059798
cmp r0, #0
beq _02059472
add r0, r4, #0
add r0, #0x84
ldrb r0, [r0]
cmp r0, #0xff
bne _020593DC
mov r0, #4
bl sub_02037AC0
mov r0, #0x2c
str r0, [r4, #0x34]
b _02059472
_020593DC:
add r0, r4, #0
add r0, #0x85
ldrb r0, [r0]
cmp r0, #0xff
bne _020593EC
mov r0, #0x2a
str r0, [r4, #0x34]
b _02059472
_020593EC:
add r0, r4, #0
bl sub_020597D4
mov r0, #0x5d
bl sub_02037AC0
mov r0, #2
str r0, [r4, #0x34]
b _02059472
_020593FE:
ldr r0, [r4, #0x2c]
ldr r2, [r4, #0xc]
mov r1, #0xf
bl ReadMsgDataIntoString
ldr r1, [r4, #0xc]
add r0, r4, #0
bl sub_02059478
str r0, [r4, #0x30]
add r0, r4, #0
mov r1, #0
add r0, #0x43
strb r1, [r0]
mov r0, #0x2b
str r0, [r4, #0x34]
b _02059472
_02059420:
ldr r0, [r4, #0x30]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0205B624
cmp r0, #0
beq _02059472
add r0, r4, #0
add r0, #0x43
ldrb r0, [r0]
add r1, r0, #1
add r0, r4, #0
add r0, #0x43
strb r1, [r0]
add r0, r4, #0
add r0, #0x43
ldrb r0, [r0]
cmp r0, #0x3c
bls _02059472
mov r0, #4
bl sub_02037AC0
mov r0, #0x2c
str r0, [r4, #0x34]
b _02059472
_02059452:
mov r0, #4
bl sub_02037B38
cmp r0, #0
beq _02059472
add r0, r4, #0
add r0, #0x14
mov r1, #0
bl sub_0200E9BC
mov r0, #0
ldr r2, [r4, #8]
add r1, r0, #0
blx r2
mov r0, #5
str r0, [r4, #0x34]
_02059472:
mov r0, #0
add sp, #8
pop {r3, r4, r5, pc}
thumb_func_end sub_02058D4C
thumb_func_start sub_02059478
sub_02059478: ; 0x02059478
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r5, #0
add r4, #0x14
add r0, r4, #0
add r6, r1, #0
bl sub_0201D3F0
cmp r0, #0
bne _020594AA
ldr r0, [r5, #0x24]
add r1, r4, #0
ldr r0, [r0, #8]
mov r2, #3
bl sub_0205B514
ldr r0, [r5, #0x24]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
add r1, r0, #0
add r0, r4, #0
bl sub_0205B564
b _020594B0
_020594AA:
add r0, r4, #0
bl sub_0205B5A8
_020594B0:
ldr r0, [r5, #0x24]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
add r2, r0, #0
add r0, r4, #0
add r1, r6, #0
mov r3, #1
bl sub_0205B5B4
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02059478
thumb_func_start sub_020594C8
sub_020594C8: ; 0x020594C8
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x14
add r4, r1, #0
bl sub_0201D3F0
cmp r0, #0
beq _020594FE
cmp r4, #0
beq _020594EE
add r0, r5, #0
add r0, #0x14
mov r1, #0
bl sub_0200E9BC
add r0, r5, #0
add r0, #0x14
bl ClearWindowTilemapAndCopyToVram
_020594EE:
add r0, r5, #0
add r0, #0x14
bl RemoveWindow
add r0, r5, #0
add r0, #0x14
bl sub_0201D3C4
_020594FE:
add r0, r5, #0
add r0, #0x54
bl sub_0201D3F0
cmp r0, #0
beq _0205951A
add r0, r5, #0
add r0, #0x54
bl RemoveWindow
add r0, r5, #0
add r0, #0x54
bl sub_0201D3C4
_0205951A:
add r0, r5, #0
add r0, #0x64
bl sub_0201D3F0
cmp r0, #0
beq _02059536
add r0, r5, #0
add r0, #0x64
bl RemoveWindow
add r5, #0x64
add r0, r5, #0
bl sub_0201D3C4
_02059536:
pop {r3, r4, r5, pc}
thumb_func_end sub_020594C8
thumb_func_start sub_02059538
sub_02059538: ; 0x02059538
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0x10]
add r6, r1, #0
cmp r0, #0
beq _02059546
b _0205964A
_02059546:
mov r0, #0xb
mov r1, #0x8c
bl AllocFromHeapAtEnd
add r4, r0, #0
mov r1, #0
mov r2, #0x8c
bl MIi_CpuFill8
add r0, r4, #0
mov r1, #5
add r0, #0x43
strb r1, [r0]
str r5, [r4, #0x24]
str r6, [r4, #8]
mov r0, #0xb
bl ScrStrBufs_new
str r0, [r4, #0x28]
mov r0, #0
mov r1, #0x1b
mov r2, #0xe
mov r3, #0xb
bl NewMsgDataFromNarc
str r0, [r4, #0x2c]
mov r0, #0xc8
mov r1, #0xb
bl String_ctor
str r0, [r4, #0xc]
mov r0, #0xc8
mov r1, #0xb
bl String_ctor
str r0, [r4, #0x10]
add r0, r4, #0
add r0, #0x14
bl sub_0201D3C4
add r0, r4, #0
add r0, #0x54
bl sub_0201D3C4
add r0, r4, #0
add r0, #0x64
bl sub_0201D3C4
mov r0, #0xb
bl ListMenuCursorNew
str r0, [r4, #0x78]
bl sub_0203993C
add r1, r4, #0
add r1, #0x88
strb r0, [r1]
mov r1, #0
str r1, [r4, #0x4c]
str r1, [r4, #0x48]
add r0, r4, #0
str r1, [r4, #0x50]
add r0, #0x89
strb r1, [r0]
bl sub_0203769C
add r1, r4, #0
add r1, #0x86
strh r0, [r1]
add r0, r4, #0
add r0, #0x86
ldrh r1, [r0]
mov r0, #1
eor r0, r1
bl sub_02034818
str r0, [r4, #0x74]
add r0, r4, #0
add r0, #0x88
ldrb r0, [r0]
cmp r0, #3
beq _020595F0
cmp r0, #4
beq _02059626
b _0205962C
_020595F0:
bl sub_02059B08
add r6, r0, #0
mov r0, #0xb
add r1, r6, #0
bl AllocFromHeapAtEnd
str r0, [r4, #0x4c]
mov r0, #0xb
add r1, r6, #0
bl AllocFromHeapAtEnd
str r0, [r4, #0x48]
mov r0, #0xb
bl sub_020744BC
mov r1, #3
str r0, [r4, #0x50]
bl sub_020744DC
add r0, r4, #0
mov r1, #5
add r0, #0x44
strb r1, [r0]
mov r0, #0x17
str r0, [r4, #0x34]
b _02059640
_02059626:
mov r0, #9
str r0, [r4, #0x34]
b _02059640
_0205962C:
ldr r0, [r4, #0x24]
add r0, #0xa4
ldr r0, [r0]
cmp r0, #0
beq _0205963C
mov r0, #9
str r0, [r4, #0x34]
b _02059640
_0205963C:
mov r0, #0
str r0, [r4, #0x34]
_02059640:
ldr r1, _0205964C ; =sub_02058D4C
add r0, r5, #0
add r2, r4, #0
bl sub_020504F0
_0205964A:
pop {r4, r5, r6, pc}
.balign 4, 0
_0205964C: .word sub_02058D4C
thumb_func_end sub_02059538
thumb_func_start sub_02059650
sub_02059650: ; 0x02059650
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x50]
cmp r0, #0
beq _0205965E
bl FreeToHeap
_0205965E:
ldr r0, [r4, #0x4c]
cmp r0, #0
beq _02059668
bl FreeToHeap
_02059668:
ldr r0, [r4, #0x48]
cmp r0, #0
beq _02059672
bl FreeToHeap
_02059672:
ldr r0, [r4, #0x2c]
bl DestroyMsgData
ldr r0, [r4, #0x28]
bl ScrStrBufs_delete
ldr r0, [r4, #0xc]
bl String_dtor
ldr r0, [r4, #0x10]
bl String_dtor
ldr r0, [r4, #0x78]
bl DestroyListMenuCursorObj
add r0, r4, #0
mov r1, #1
bl sub_020594C8
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02059650
thumb_func_start sub_0205969C
sub_0205969C: ; 0x0205969C
ldr r3, _020596A4 ; =sub_02050650
ldr r0, [r0, #0x10]
bx r3
nop
_020596A4: .word sub_02050650
thumb_func_end sub_0205969C
thumb_func_start sub_020596A8
sub_020596A8: ; 0x020596A8
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
ldr r0, [r7, #0x24]
add r5, r1, #0
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
str r0, [sp]
ldr r4, [r7, #0x4c]
bl sub_02070D90
add r6, r0, #0
lsl r0, r6, #1
add r0, r6, r0
str r5, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0
beq _020596EC
mov r5, #0
_020596CE:
add r1, r7, r5
add r1, #0x3d
ldrb r1, [r1]
ldr r0, [sp]
sub r1, r1, #1
bl GetPartyMonByIndex
add r1, r4, #0
add r2, r6, #0
bl MIi_CpuCopy8
add r5, r5, #1
add r4, r4, r6
cmp r5, #3
blt _020596CE
_020596EC:
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020596A8
thumb_func_start sub_020596F0
sub_020596F0: ; 0x020596F0
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x89
ldrb r1, [r0]
mov r0, #1
tst r1, r0
bne _02059734
ldr r4, [r5, #0x4c]
bl sub_02059B08
add r2, r0, #0
add r0, r5, #0
add r0, #0x86
ldrh r0, [r0]
cmp r0, #0
bne _0205971A
mov r0, #0x6a
add r1, r4, #0
bl sub_02037088
b _02059722
_0205971A:
mov r0, #0x6a
add r1, r4, #0
bl sub_02036FD8
_02059722:
cmp r0, #0
beq _02059734
add r1, r5, #0
add r1, #0x89
ldrb r2, [r1]
mov r1, #1
add r5, #0x89
orr r1, r2
strb r1, [r5]
_02059734:
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020596F0
thumb_func_start sub_02059738
sub_02059738: ; 0x02059738
add r0, #0x89
ldrb r0, [r0]
cmp r0, #3
bne _02059744
mov r0, #1
bx lr
_02059744:
mov r0, #0
bx lr
thumb_func_end sub_02059738
thumb_func_start sub_02059748
sub_02059748: ; 0x02059748
push {r4, lr}
add r4, r0, #0
bl sub_02070D90
lsl r1, r0, #1
ldr r2, [r4, #0x48]
add r0, r0, r1
ldr r0, [r2, r0]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02059748
thumb_func_start sub_0205975C
sub_0205975C: ; 0x0205975C
push {r4, lr}
add r4, r0, #0
add r0, #0x86
ldrh r0, [r0]
cmp r0, #0
bne _02059776
add r1, r4, #0
mov r0, #0x6b
add r1, #0x84
mov r2, #1
bl sub_02037108
b _02059782
_02059776:
add r1, r4, #0
mov r0, #0x6b
add r1, #0x84
mov r2, #1
bl sub_02037030
_02059782:
cmp r0, #0
beq _02059794
add r1, r4, #0
add r1, #0x89
ldrb r2, [r1]
mov r1, #1
add r4, #0x89
orr r1, r2
strb r1, [r4]
_02059794:
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205975C
thumb_func_start sub_02059798
sub_02059798: ; 0x02059798
add r0, #0x89
ldrb r0, [r0]
cmp r0, #3
bne _020597A4
mov r0, #1
bx lr
_020597A4:
mov r0, #0
bx lr
thumb_func_end sub_02059798
thumb_func_start sub_020597A8
sub_020597A8: ; 0x020597A8
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_02070D90
add r6, r0, #0
ldr r0, [r5, #0x50]
mov r1, #3
bl sub_020744DC
mov r4, #0
_020597BC:
add r1, r4, #0
ldr r2, [r5, #0x48]
mul r1, r6
ldr r0, [r5, #0x50]
add r1, r2, r1
bl sub_02074524
add r4, r4, #1
cmp r4, #3
blt _020597BC
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020597A8
thumb_func_start sub_020597D4
sub_020597D4: ; 0x020597D4
push {r4, r5, r6, lr}
add r6, r0, #0
bl sub_02070D90
add r4, r0, #0
add r0, r6, #0
add r0, #0x84
ldrb r0, [r0]
ldr r2, [r6, #0x48]
ldr r3, [r6, #0x4c]
add r1, r0, #0
mul r1, r4
add r0, r2, r1
add r1, r6, #0
add r1, #0x85
ldrb r1, [r1]
add r2, r1, #0
mul r2, r4
add r1, r3, r2
add r2, r4, #0
bl MIi_CpuCopy8
ldr r0, [r6, #0x50]
mov r1, #3
bl sub_020744DC
mov r5, #0
_0205980A:
add r1, r5, #0
ldr r2, [r6, #0x4c]
mul r1, r4
ldr r0, [r6, #0x50]
add r1, r2, r1
bl sub_02074524
add r5, r5, #1
cmp r5, #3
blt _0205980A
pop {r4, r5, r6, pc}
thumb_func_end sub_020597D4
thumb_func_start sub_02059820
sub_02059820: ; 0x02059820
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r5, r0, #0
str r0, [sp, #0x20]
add r0, #0x54
str r1, [sp, #0x14]
str r0, [sp, #0x20]
bl sub_0201D3F0
cmp r0, #0
bne _020598EC
mov r0, #1
mov r1, #0x1b
mov r2, #0xed
mov r3, #4
bl NewMsgDataFromNarc
str r0, [sp, #0x18]
bl sub_02070D90
str r0, [sp, #0x1c]
mov r0, #9
str r0, [sp]
mov r1, #0xa
str r1, [sp, #4]
mov r0, #8
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
str r1, [sp, #0x10]
ldr r0, [r5, #0x24]
ldr r1, [sp, #0x20]
ldr r0, [r0, #8]
mov r2, #3
mov r3, #0x15
bl sub_0201D40C
mov r0, #0
str r0, [sp]
mov r0, #4
str r0, [sp, #4]
ldr r0, [r5, #0x24]
mov r1, #3
ldr r0, [r0, #8]
mov r2, #1
mov r3, #0xb
bl sub_0200E3DC
ldr r0, [sp, #0x20]
mov r1, #0xf
bl FillWindowPixelBuffer
mov r7, #0
add r6, r7, #0
add r4, r7, #0
_0205988E:
ldr r0, [r5, #0x48]
mov r1, #5
add r0, r0, r6
mov r2, #0
bl GetMonData
add r1, r0, #0
ldr r0, [sp, #0x18]
ldr r2, [r5, #0xc]
bl ReadMsgDataIntoString
str r4, [sp]
mov r0, #0xff
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
ldr r0, [sp, #0x20]
ldr r2, [r5, #0xc]
mov r1, #0
mov r3, #0x10
bl AddTextPrinterParameterized
ldr r0, [sp, #0x1c]
add r7, r7, #1
add r6, r6, r0
add r4, #0x10
cmp r7, #3
blt _0205988E
ldr r0, [r5, #0x2c]
ldr r2, [r5, #0xc]
mov r1, #0x15
bl ReadMsgDataIntoString
lsl r0, r7, #4
str r0, [sp]
mov r0, #0xff
str r0, [sp, #4]
mov r1, #0
str r1, [sp, #8]
ldr r0, [sp, #0x20]
ldr r2, [r5, #0xc]
mov r3, #0x10
bl AddTextPrinterParameterized
ldr r0, [sp, #0x18]
bl DestroyMsgData
_020598EC:
mov r0, #0x10
str r0, [sp]
ldr r0, [sp, #0x20]
mov r2, #0
ldrb r0, [r0, #8]
mov r1, #0xf
add r3, r2, #0
lsl r0, r0, #0x13
lsr r0, r0, #0x10
str r0, [sp, #4]
ldr r0, [sp, #0x20]
bl FillWindowPixelRect
ldr r3, [sp, #0x14]
add r1, r5, #0
ldr r0, [r5, #0x78]
add r1, #0x54
mov r2, #0
lsl r3, r3, #4
bl ListMenuUpdateCursorObj
add r0, r5, #0
add r0, #0x54
mov r1, #0
mov r2, #1
mov r3, #0xb
bl sub_0200E580
add r1, r5, #0
ldr r0, [sp, #0x14]
add r1, #0x81
strb r0, [r1]
add r0, r5, #0
mov r1, #4
add r0, #0x80
strb r1, [r0]
ldr r0, [sp, #0x20]
str r0, [r5, #0x7c]
add sp, #0x24
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_02059820
thumb_func_start sub_0205993C
sub_0205993C: ; 0x0205993C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
add r7, r5, #0
add r7, #0x64
add r0, r7, #0
str r1, [sp, #0x14]
bl sub_0201D3F0
cmp r0, #0
bne _020599BE
mov r0, #0xb
str r0, [sp]
str r0, [sp, #4]
mov r0, #6
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
mov r0, #0x5a
str r0, [sp, #0x10]
ldr r0, [r5, #0x24]
add r1, r7, #0
ldr r0, [r0, #8]
mov r2, #3
mov r3, #0x14
bl sub_0201D40C
mov r0, #0
str r0, [sp]
mov r0, #4
str r0, [sp, #4]
ldr r0, [r5, #0x24]
mov r1, #3
ldr r0, [r0, #8]
mov r2, #1
mov r3, #0xb
bl sub_0200E3DC
add r0, r7, #0
mov r1, #0xf
bl FillWindowPixelBuffer
mov r6, #0
add r4, r6, #0
_02059994:
add r1, r6, #0
ldr r0, [r5, #0x2c]
ldr r2, [r5, #0xc]
add r1, #0x16
bl ReadMsgDataIntoString
str r4, [sp]
mov r0, #0xff
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
ldr r2, [r5, #0xc]
add r0, r7, #0
mov r1, #0
mov r3, #0x10
bl AddTextPrinterParameterized
add r6, r6, #1
add r4, #0x10
cmp r6, #3
blt _02059994
_020599BE:
add r0, r5, #0
mov r1, #3
add r0, #0x80
strb r1, [r0]
add r1, r5, #0
ldr r0, [sp, #0x14]
str r7, [r5, #0x7c]
add r1, #0x81
strb r0, [r1]
mov r0, #0x10
str r0, [sp]
ldrb r0, [r7, #8]
mov r2, #0
mov r1, #0xf
lsl r0, r0, #0x13
lsr r0, r0, #0x10
str r0, [sp, #4]
add r0, r7, #0
add r3, r2, #0
bl FillWindowPixelRect
ldr r3, [sp, #0x14]
ldr r0, [r5, #0x78]
ldr r1, [r5, #0x7c]
mov r2, #0
lsl r3, r3, #4
bl ListMenuUpdateCursorObj
ldr r0, [r5, #0x7c]
mov r1, #0
mov r2, #1
mov r3, #0xb
bl sub_0200E580
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205993C
thumb_func_start sub_02059A08
sub_02059A08: ; 0x02059A08
push {r4, lr}
sub sp, #8
add r4, r0, #0
ldr r0, _02059AD0 ; =gMain
mov r1, #0x40
ldr r0, [r0, #0x48]
tst r1, r0
beq _02059A32
mov r0, #0x81
ldrsb r0, [r4, r0]
cmp r0, #0
bne _02059A28
add r0, r4, #0
add r0, #0x80
ldrb r0, [r0]
b _02059A28
_02059A28:
sub r1, r0, #1
add r0, r4, #0
add r0, #0x81
strb r1, [r0]
b _02059A94
_02059A32:
mov r1, #0x80
tst r1, r0
beq _02059A56
mov r0, #0x81
ldrsb r1, [r4, r0]
add r0, r4, #0
add r0, #0x80
ldrb r0, [r0]
sub r0, r0, #1
cmp r1, r0
bne _02059A4C
mov r1, #0
b _02059A4E
_02059A4C:
add r1, r1, #1
_02059A4E:
add r0, r4, #0
add r0, #0x81
strb r1, [r0]
b _02059A94
_02059A56:
mov r1, #1
tst r1, r0
beq _02059A7C
ldr r0, _02059AD4 ; =0x000005DC
bl PlaySE
mov r0, #0x81
ldrsb r1, [r4, r0]
add r4, #0x80
ldrb r0, [r4]
sub r0, r0, #1
cmp r1, r0
bge _02059A76
add sp, #8
mov r0, #1
pop {r4, pc}
_02059A76:
add sp, #8
mov r0, #2
pop {r4, pc}
_02059A7C:
mov r1, #2
tst r0, r1
beq _02059A8E
ldr r0, _02059AD4 ; =0x000005DC
bl PlaySE
add sp, #8
mov r0, #2
pop {r4, pc}
_02059A8E:
add sp, #8
mov r0, #0
pop {r4, pc}
_02059A94:
ldr r0, _02059AD4 ; =0x000005DC
bl PlaySE
ldr r0, [r4, #0x7c]
mov r1, #0x10
str r1, [sp]
ldrb r1, [r0, #8]
mov r2, #0
add r3, r2, #0
lsl r1, r1, #0x13
lsr r1, r1, #0x10
str r1, [sp, #4]
mov r1, #0xf
bl FillWindowPixelRect
mov r3, #0x81
ldrsb r3, [r4, r3]
ldr r0, [r4, #0x78]
ldr r1, [r4, #0x7c]
mov r2, #0
lsl r3, r3, #4
bl ListMenuUpdateCursorObj
ldr r0, [r4, #0x7c]
bl sub_0201D8A0
mov r0, #0
add sp, #8
pop {r4, pc}
nop
_02059AD0: .word gMain
_02059AD4: .word 0x000005DC
thumb_func_end sub_02059A08
thumb_func_start sub_02059AD8
sub_02059AD8: ; 0x02059AD8
ldr r3, _02059AE0 ; =sub_0200E5D4
ldr r0, [r0, #0x7c]
mov r1, #1
bx r3
.balign 4, 0
_02059AE0: .word sub_0200E5D4
thumb_func_end sub_02059AD8
thumb_func_start sub_02059AE4
sub_02059AE4: ; 0x02059AE4
push {r4, lr}
add r4, r0, #0
add r0, r3, #0
bl sub_0205969C
add r1, r0, #0
add r1, #0x86
ldrh r1, [r1]
cmp r1, r4
beq _02059B06
add r1, r0, #0
add r1, #0x89
ldrb r2, [r1]
mov r1, #2
add r0, #0x89
orr r1, r2
strb r1, [r0]
_02059B06:
pop {r4, pc}
thumb_func_end sub_02059AE4
thumb_func_start sub_02059B08
sub_02059B08: ; 0x02059B08
push {r3, lr}
bl sub_02070D90
lsl r1, r0, #1
add r0, r0, r1
add r0, r0, #4
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02059B08
thumb_func_start sub_02059B18
sub_02059B18: ; 0x02059B18
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
bl sub_0205969C
add r1, r0, #0
add r1, #0x86
ldrh r1, [r1]
cmp r1, r4
beq _02059B30
ldr r0, [r0, #0x48]
pop {r4, pc}
_02059B30:
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02059B18
thumb_func_start sub_02059B34
sub_02059B34: ; 0x02059B34
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, r3, #0
add r4, r2, #0
bl sub_0205969C
add r1, r0, #0
add r1, #0x86
ldrh r1, [r1]
cmp r1, r5
beq _02059B60
ldrb r2, [r4]
add r1, r0, #0
add r1, #0x85
strb r2, [r1]
add r1, r0, #0
add r1, #0x89
ldrb r2, [r1]
mov r1, #2
add r0, #0x89
orr r1, r2
strb r1, [r0]
_02059B60:
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02059B34
thumb_func_start sub_02059B64
sub_02059B64: ; 0x02059B64
push {r4, r5, r6, lr}
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
mov r1, #0
ldr r0, [r4, #0x24]
add r2, r1, #0
bl sub_020588DC
ldr r1, [r4, #0x28]
add r6, r0, #0
cmp r1, #7
bls _02059B8A
b _02059D32
_02059B8A:
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02059B96: ; jump table
.short _02059BA6 - _02059B96 - 2 ; case 0
.short _02059C6C - _02059B96 - 2 ; case 1
.short _02059CBC - _02059B96 - 2 ; case 2
.short _02059CCC - _02059B96 - 2 ; case 3
.short _02059CE8 - _02059B96 - 2 ; case 4
.short _02059CFA - _02059B96 - 2 ; case 5
.short _02059D08 - _02059B96 - 2 ; case 6
.short _02059D24 - _02059B96 - 2 ; case 7
_02059BA6:
mov r0, #4
bl ScrStrBufs_new
str r0, [r4, #0x18]
mov r0, #0
mov r1, #0x1b
mov r2, #0xe
mov r3, #4
bl NewMsgDataFromNarc
str r0, [r4, #0x1c]
mov r0, #0xc8
mov r1, #4
bl String_ctor
str r0, [r4]
mov r0, #0xc8
mov r1, #4
bl String_ctor
str r0, [r4, #4]
ldrb r0, [r6]
cmp r0, #0xc
bhi _02059C0E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02059BE2: ; jump table
.short _02059C0E - _02059BE2 - 2 ; case 0
.short _02059C0E - _02059BE2 - 2 ; case 1
.short _02059C0E - _02059BE2 - 2 ; case 2
.short _02059C0E - _02059BE2 - 2 ; case 3
.short _02059C0E - _02059BE2 - 2 ; case 4
.short _02059C0E - _02059BE2 - 2 ; case 5
.short _02059C0E - _02059BE2 - 2 ; case 6
.short _02059BFC - _02059BE2 - 2 ; case 7
.short _02059BFC - _02059BE2 - 2 ; case 8
.short _02059C0E - _02059BE2 - 2 ; case 9
.short _02059C02 - _02059BE2 - 2 ; case 10
.short _02059C06 - _02059BE2 - 2 ; case 11
.short _02059C0A - _02059BE2 - 2 ; case 12
_02059BFC:
ldrb r0, [r6, #3]
add r1, r0, #2
b _02059C10
_02059C02:
mov r1, #0x19
b _02059C10
_02059C06:
mov r1, #0x1a
b _02059C10
_02059C0A:
mov r1, #0x1b
b _02059C10
_02059C0E:
mov r1, #2
_02059C10:
ldr r0, [r4, #0x1c]
ldr r2, [r4]
bl ReadMsgDataIntoString
ldr r0, [r4, #0x24]
bl sub_02034818
add r2, r0, #0
ldr r0, [r4, #0x18]
mov r1, #0
bl BufferPlayersName
ldr r0, [r4, #0x18]
ldr r1, [r4, #4]
ldr r2, [r4]
bl StringExpandPlaceholders
add r1, r4, #0
ldr r0, [r5, #8]
add r1, #8
mov r2, #3
bl sub_0205B514
ldr r0, [r5, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
add r1, r0, #0
add r0, r4, #0
add r0, #8
bl sub_0205B564
ldr r0, [r5, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
add r2, r0, #0
add r0, r4, #0
ldr r1, [r4, #4]
add r0, #8
mov r3, #1
bl sub_0205B5B4
str r0, [r4, #0x20]
ldr r0, [r4, #0x28]
add r0, r0, #1
str r0, [r4, #0x28]
b _02059D36
_02059C6C:
ldr r0, [r4, #0x20]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0205B624
cmp r0, #0
beq _02059D36
ldr r0, _02059D3C ; =gMain
ldr r1, [r0, #0x48]
mov r0, #1
tst r0, r1
beq _02059D36
ldr r0, [r4, #0x1c]
bl DestroyMsgData
ldr r0, [r4, #0x18]
bl ScrStrBufs_delete
ldr r0, [r4]
bl String_dtor
ldr r0, [r4, #4]
bl String_dtor
add r0, r4, #0
add r0, #8
mov r1, #0
bl sub_0200E9BC
add r0, r4, #0
add r0, #8
bl RemoveWindow
mov r0, #0
bl ov01_021E636C
ldr r0, [r4, #0x28]
add r0, r0, #1
str r0, [r4, #0x28]
b _02059D36
_02059CBC:
bl sub_0200FB5C
cmp r0, #0
beq _02059D36
ldr r0, [r4, #0x28]
add r0, r0, #1
str r0, [r4, #0x28]
b _02059D36
_02059CCC:
add r1, r4, #0
ldr r2, _02059D40 ; =0x0000066C
add r1, #0x2c
bl MIi_CpuCopy8
add r1, r4, #0
add r0, r5, #0
add r1, #0x2c
bl sub_0203F7B0
ldr r0, [r4, #0x28]
add r0, r0, #1
str r0, [r4, #0x28]
b _02059D36
_02059CE8:
add r0, r5, #0
bl sub_020505A0
cmp r0, #0
bne _02059D36
ldr r0, [r4, #0x28]
add r0, r0, #1
str r0, [r4, #0x28]
b _02059D36
_02059CFA:
add r0, r5, #0
bl sub_020505C0
ldr r0, [r4, #0x28]
add r0, r0, #1
str r0, [r4, #0x28]
b _02059D36
_02059D08:
add r0, r5, #0
bl sub_020505C8
cmp r0, #0
bne _02059D36
mov r0, #1
bl ov01_021E636C
bl sub_02056E60
ldr r0, [r4, #0x28]
add r0, r0, #1
str r0, [r4, #0x28]
b _02059D36
_02059D24:
bl sub_02057F70
add r0, r4, #0
bl FreeToHeap
mov r0, #1
pop {r4, r5, r6, pc}
_02059D32:
mov r0, #1
pop {r4, r5, r6, pc}
_02059D36:
mov r0, #0
pop {r4, r5, r6, pc}
nop
_02059D3C: .word gMain
_02059D40: .word 0x0000066C
thumb_func_end sub_02059B64
thumb_func_start sub_02059D44
sub_02059D44: ; 0x02059D44
push {r3, r4, r5, r6, r7, lr}
str r0, [sp]
bl sub_0203769C
add r5, r0, #0
bl sub_02057ADC
add r7, r0, #0
add r0, r5, #0
bl sub_02057B14
add r6, r0, #0
mov r4, #0
bl sub_02037454
cmp r0, #0
ble _02059DA6
_02059D66:
cmp r4, r5
beq _02059D9C
add r0, r4, #0
bl sub_02057A34
cmp r7, r0
bne _02059D9C
add r0, r4, #0
bl sub_02057A88
cmp r6, r0
bne _02059D9C
ldr r1, _02059DA8 ; =0x000006A8
mov r0, #0xb
bl AllocFromHeapAtEnd
add r2, r0, #0
str r4, [r2, #0x24]
mov r0, #0
str r0, [r2, #0x28]
ldr r0, [sp]
ldr r1, _02059DAC ; =sub_02059B64
bl sub_020504F0
bl sub_0203E2F4
pop {r3, r4, r5, r6, r7, pc}
_02059D9C:
add r4, r4, #1
bl sub_02037454
cmp r4, r0
blt _02059D66
_02059DA6:
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02059DA8: .word 0x000006A8
_02059DAC: .word sub_02059B64
thumb_func_end sub_02059D44
thumb_func_start sub_02059DB0
sub_02059DB0: ; 0x02059DB0
push {r3, r4, r5, lr}
add r4, r0, #0
bne _02059DBA
bl GF_AssertFail
_02059DBA:
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
cmp r0, #0
beq _02059DC8
mov r0, #0
pop {r3, r4, r5, pc}
_02059DC8:
mov r2, #0x2a
mov r0, #3
mov r1, #0x1f
lsl r2, r2, #6
bl sub_0201A91C
add r0, r4, #0
bl sub_02059E1C
add r5, r0, #0
bne _02059DE4
add r0, r4, #0
add r0, #0x80
ldr r5, [r0]
_02059DE4:
add r0, r4, #0
bl sub_02091574
mov r0, #2
bl sub_02038C1C
ldr r1, _02059E00 ; =sub_02059E88
add r0, r5, #0
mov r2, #0x28
bl sub_0205A034
add r0, r5, #0
pop {r3, r4, r5, pc}
nop
_02059E00: .word sub_02059E88
thumb_func_end sub_02059DB0
thumb_func_start sub_02059E04
sub_02059E04: ; 0x02059E04
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
cmp r0, #0
beq _02059E16
ldr r1, _02059E18 ; =sub_0205A07C
mov r2, #5
bl sub_0205A034
_02059E16:
pop {r3, pc}
.balign 4, 0
_02059E18: .word sub_0205A07C
thumb_func_end sub_02059E04
thumb_func_start sub_02059E1C
sub_02059E1C: ; 0x02059E1C
push {r4, r5, r6, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #0x80
ldr r1, [r1]
cmp r1, #0
beq _02059E2E
mov r0, #0
pop {r4, r5, r6, pc}
_02059E2E:
bl sub_0203E344
add r6, r0, #0
bl sub_02037F18
mov r1, #0x19
mov r0, #0x1f
lsl r1, r1, #4
bl AllocFromHeap
mov r2, #0x19
mov r1, #0
lsl r2, r2, #4
add r4, r0, #0
bl MIi_CpuFill8
mov r0, #0
str r0, [r4, #0x10]
mov r0, #0x28
str r0, [r4, #0x14]
ldr r0, _02059E84 ; =sub_0205A03C
add r1, r4, #0
mov r2, #0xa
bl sub_0200E320
str r0, [r4, #0xc]
str r5, [r4]
str r6, [r4, #4]
add r0, r6, #0
bl Sav2_PlayerData_GetProfileAddr
str r0, [r4, #8]
add r0, r4, #0
bl sub_0205ABBC
mov r0, #0x15
lsl r0, r0, #4
add r0, r4, r0
bl sub_0203778C
add r0, r4, #0
pop {r4, r5, r6, pc}
nop
_02059E84: .word sub_0205A03C
thumb_func_end sub_02059E1C
thumb_func_start sub_02059E88
sub_02059E88: ; 0x02059E88
push {r4, lr}
sub sp, #8
add r4, r0, #0
bl sub_02035650
cmp r0, #0
beq _02059EB4
add r0, sp, #0
bl MailMsg_init_default
add r0, sp, #0
bl sub_0205AB88
add r0, r4, #0
add r1, sp, #0
bl sub_0205AA6C
ldr r1, _02059EB8 ; =sub_02059EBC
add r0, r4, #0
mov r2, #0x28
bl sub_0205A034
_02059EB4:
add sp, #8
pop {r4, pc}
.balign 4, 0
_02059EB8: .word sub_02059EBC
thumb_func_end sub_02059E88
thumb_func_start sub_02059EBC
sub_02059EBC: ; 0x02059EBC
push {r4, lr}
add r4, r0, #0
bl sub_02037FCC
cmp r0, #0
beq _02059ED8
ldr r0, _02059F24 ; =0x021D41CC
mov r2, #0
str r2, [r0]
ldr r1, _02059F28 ; =sub_02059F78
add r0, r4, #0
bl sub_0205A034
pop {r4, pc}
_02059ED8:
ldr r0, [r4, #0x20]
cmp r0, #0
beq _02059F22
mov r0, #2
str r0, [r4, #0x28]
ldr r0, [r4, #0x20]
cmp r0, #1
bne _02059F08
ldr r0, [r4, #0x30]
cmp r0, #5
bne _02059EF6
ldr r0, [r4, #0x18]
bl sub_0203894C
b _02059F18
_02059EF6:
cmp r0, #6
ldr r0, [r4, #0x18]
bne _02059F02
bl sub_0203898C
b _02059F18
_02059F02:
bl sub_02037F64
b _02059F18
_02059F08:
cmp r0, #2
bne _02059F18
mov r0, #0
bl sub_0208F814
ldr r0, [r4, #0x18]
bl sub_02038918
_02059F18:
ldr r1, _02059F2C ; =sub_0205A0B4
add r0, r4, #0
mov r2, #0xc
bl sub_0205A034
_02059F22:
pop {r4, pc}
.balign 4, 0
_02059F24: .word 0x021D41CC
_02059F28: .word sub_02059F78
_02059F2C: .word sub_0205A0B4
thumb_func_end sub_02059EBC
thumb_func_start sub_02059F30
sub_02059F30: ; 0x02059F30
push {r4, lr}
add r4, r0, #0
bl sub_02038070
cmp r0, #1
bne _02059F4C
ldr r0, [r4]
bl sub_02091574
ldr r1, _02059F50 ; =sub_02059EBC
add r0, r4, #0
mov r2, #2
bl sub_0205A034
_02059F4C:
pop {r4, pc}
nop
_02059F50: .word sub_02059EBC
thumb_func_end sub_02059F30
thumb_func_start sub_02059F54
sub_02059F54: ; 0x02059F54
push {r3, r4, r5, lr}
mov r5, #0
mov r4, #1
_02059F5A:
add r0, r4, #0
bl sub_02034818
cmp r0, #0
beq _02059F66
add r5, r5, #1
_02059F66:
add r4, r4, #1
cmp r4, #5
blt _02059F5A
cmp r5, #1
blt _02059F74
mov r0, #1
pop {r3, r4, r5, pc}
_02059F74:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02059F54
thumb_func_start sub_02059F78
sub_02059F78: ; 0x02059F78
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4, #0x14]
cmp r0, #0
ble _02059F88
sub r0, r0, #1
str r0, [r4, #0x14]
pop {r3, r4, r5, pc}
_02059F88:
ldr r0, _02059FEC ; =0x021D41CC
ldr r1, [r0]
add r1, r1, #1
str r1, [r0]
bl sub_02035878
add r5, r0, #0
bl sub_020376F8
cmp r0, #0
beq _02059FC8
bl sub_02059F54
cmp r0, #1
bne _02059FC8
ldrb r0, [r5, #0x1c]
cmp r0, #4
beq _02059FC8
bl sub_02034434
mov r0, #1
add r1, r0, #0
bl sub_020398D4
mov r0, #0xb
bl sub_0205A904
ldr r1, _02059FF0 ; =sub_02059FF8
add r0, r4, #0
mov r2, #0
bl sub_0205A034
_02059FC8:
bl sub_02037FCC
cmp r0, #0
bne _02059FEA
bl sub_02037FF0
add r0, r4, #0
bl sub_0205ABBC
mov r0, #0
bl sub_0205A904
ldr r1, _02059FF4 ; =sub_02059F30
add r0, r4, #0
mov r2, #2
bl sub_0205A034
_02059FEA:
pop {r3, r4, r5, pc}
.balign 4, 0
_02059FEC: .word 0x021D41CC
_02059FF0: .word sub_02059FF8
_02059FF4: .word sub_02059F30
thumb_func_end sub_02059F78
thumb_func_start sub_02059FF8
sub_02059FF8: ; 0x02059FF8
push {r4, lr}
add r4, r0, #0
bl sub_02039918
cmp r0, #0
beq _0205A00C
bl sub_020376F8
cmp r0, #0
beq _0205A02E
_0205A00C:
bl sub_020376F8
cmp r0, #0
bne _0205A02E
bl sub_02037FF0
add r0, r4, #0
bl sub_0205ABBC
mov r0, #0
bl sub_0205A904
ldr r1, _0205A030 ; =sub_02059F30
add r0, r4, #0
mov r2, #2
bl sub_0205A034
_0205A02E:
pop {r4, pc}
.balign 4, 0
_0205A030: .word sub_02059F30
thumb_func_end sub_02059FF8
thumb_func_start sub_0205A034
sub_0205A034: ; 0x0205A034
str r1, [r0, #0x10]
str r2, [r0, #0x14]
bx lr
.balign 4, 0
thumb_func_end sub_0205A034
thumb_func_start sub_0205A03C
sub_0205A03C: ; 0x0205A03C
push {r3, r4, r5, r6, r7, lr}
str r1, [sp]
cmp r1, #0
bne _0205A04A
bl sub_0200E390
pop {r3, r4, r5, r6, r7, pc}
_0205A04A:
mov r7, #0x11
ldr r5, _0205A078 ; =0x021D41D8
mov r6, #0
add r4, r1, #0
lsl r7, r7, #4
_0205A054:
add r0, r6, #0
bl sub_02035754
mov r1, #0x11
lsl r1, r1, #4
str r0, [r4, r1]
ldr r0, [r4, r7]
add r6, r6, #1
add r4, r4, #4
stmia r5!, {r0}
cmp r6, #0x10
blt _0205A054
ldr r0, [sp]
ldr r1, [r0, #0x10]
cmp r1, #0
beq _0205A076
blx r1
_0205A076:
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0205A078: .word 0x021D41D8
thumb_func_end sub_0205A03C
thumb_func_start sub_0205A07C
sub_0205A07C: ; 0x0205A07C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x14]
cmp r0, #0
beq _0205A08C
sub r0, r0, #1
str r0, [r4, #0x14]
pop {r4, pc}
_0205A08C:
bl sub_02038094
ldr r1, _0205A09C ; =sub_0205A0A0
add r0, r4, #0
mov r2, #0
bl sub_0205A034
pop {r4, pc}
.balign 4, 0
_0205A09C: .word sub_0205A0A0
thumb_func_end sub_0205A07C
thumb_func_start sub_0205A0A0
sub_0205A0A0: ; 0x0205A0A0
push {r4, lr}
add r4, r0, #0
bl sub_02037474
cmp r0, #0
bne _0205A0B2
add r0, r4, #0
bl sub_0205A1D4
_0205A0B2:
pop {r4, pc}
thumb_func_end sub_0205A0A0
thumb_func_start sub_0205A0B4
sub_0205A0B4: ; 0x0205A0B4
push {r4, lr}
add r4, r0, #0
bl sub_02037F94
cmp r0, #1
bne _0205A0D0
bl sub_02034434
ldr r1, _0205A108 ; =sub_0205A144
add r0, r4, #0
mov r2, #3
bl sub_0205A034
pop {r4, pc}
_0205A0D0:
bl sub_020376F8
cmp r0, #0
beq _0205A0E8
mov r2, #0
str r2, [r4, #0x20]
mov r0, #3
str r0, [r4, #0x1c]
ldr r1, _0205A10C ; =sub_02059F78
add r0, r4, #0
bl sub_0205A034
_0205A0E8:
bl sub_02037F94
cmp r0, #0
beq _0205A106
ldr r1, _0205A110 ; =sub_0205A114
add r0, r4, #0
mov r2, #2
bl sub_0205A034
mov r1, #0
str r1, [r4, #0x24]
mov r0, #2
str r0, [r4, #0x1c]
str r1, [r4, #0x20]
str r1, [r4, #0x44]
_0205A106:
pop {r4, pc}
.balign 4, 0
_0205A108: .word sub_0205A144
_0205A10C: .word sub_02059F78
_0205A110: .word sub_0205A114
thumb_func_end sub_0205A0B4
thumb_func_start sub_0205A114
sub_0205A114: ; 0x0205A114
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
bl sub_02050590
cmp r0, #0
bne _0205A13C
bl sub_02037FF0
add r0, r4, #0
bl sub_0205ABBC
mov r0, #0
bl sub_0205A904
ldr r1, _0205A140 ; =sub_02059F30
add r0, r4, #0
mov r2, #2
bl sub_0205A034
_0205A13C:
pop {r4, pc}
nop
_0205A140: .word sub_02059F30
thumb_func_end sub_0205A114
thumb_func_start sub_0205A144
sub_0205A144: ; 0x0205A144
push {r4, lr}
add r4, r0, #0
bl sub_02037F94
cmp r0, #1
bne _0205A178
bl sub_0203769C
bl sub_02034818
cmp r0, #0
beq _0205A1A0
mov r1, #0
str r1, [r4, #0x20]
mov r0, #1
str r0, [r4, #0x1c]
str r1, [r4, #0x44]
add r1, r0, #0
bl sub_020398D4
ldr r1, _0205A1A4 ; =sub_0205A1AC
add r0, r4, #0
mov r2, #3
bl sub_0205A034
pop {r4, pc}
_0205A178:
bl sub_02037F94
cmp r0, #0
bne _0205A1A0
bl sub_02037FF0
add r0, r4, #0
bl sub_0205ABBC
ldr r1, _0205A1A8 ; =sub_02059F30
add r0, r4, #0
mov r2, #2
bl sub_0205A034
mov r1, #0
str r1, [r4, #0x24]
mov r0, #2
str r0, [r4, #0x1c]
str r1, [r4, #0x20]
str r1, [r4, #0x44]
_0205A1A0:
pop {r4, pc}
nop
_0205A1A4: .word sub_0205A1AC
_0205A1A8: .word sub_02059F30
thumb_func_end sub_0205A144
thumb_func_start sub_0205A1AC
sub_0205A1AC: ; 0x0205A1AC
push {r4, lr}
add r4, r0, #0
bl sub_02037F94
cmp r0, #0
bne _0205A1CC
bl sub_02037FF0
add r0, r4, #0
bl sub_0205ABBC
ldr r1, _0205A1D0 ; =sub_02059F30
add r0, r4, #0
mov r2, #2
bl sub_0205A034
_0205A1CC:
pop {r4, pc}
nop
_0205A1D0: .word sub_02059F30
thumb_func_end sub_0205A1AC
thumb_func_start sub_0205A1D4
sub_0205A1D4: ; 0x0205A1D4
push {r4, lr}
add r4, r0, #0
beq _0205A1EC
ldr r0, [r4, #0xc]
bl sub_0200E390
add r0, r4, #0
bl FreeToHeap
mov r0, #0x1f
bl sub_0201A9C4
_0205A1EC:
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205A1D4
thumb_func_start sub_0205A1F0
sub_0205A1F0: ; 0x0205A1F0
ldr r0, [r0]
bx lr
thumb_func_end sub_0205A1F0
thumb_func_start sub_0205A1F4
sub_0205A1F4: ; 0x0205A1F4
lsl r1, r1, #2
add r1, r0, r1
mov r0, #0x11
lsl r0, r0, #4
ldr r0, [r1, r0]
bx lr
thumb_func_end sub_0205A1F4
thumb_func_start sub_0205A200
sub_0205A200: ; 0x0205A200
push {r4, r5, r6, lr}
add r5, r1, #0
add r4, r0, #0
sub r0, r5, #1
bl sub_02035798
add r6, r0, #0
add r0, r4, #0
bl sub_0205ABB0
cmp r6, #0
bne _0205A21C
mov r0, #5
pop {r4, r5, r6, pc}
_0205A21C:
sub r0, r5, #1
lsl r0, r0, #2
add r1, r4, r0
mov r0, #0x11
lsl r0, r0, #4
ldr r1, [r1, r0]
cmp r1, #0
bne _0205A230
mov r0, #5
pop {r4, r5, r6, pc}
_0205A230:
add r1, #0x50
ldr r0, _0205A280 ; =0x021D41CC
add r1, #0x30
str r1, [r0, #4]
ldrb r0, [r1, #0x1c]
cmp r0, #0xd
bhi _0205A27A
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205A24A: ; jump table
.short _0205A266 - _0205A24A - 2 ; case 0
.short _0205A26A - _0205A24A - 2 ; case 1
.short _0205A26E - _0205A24A - 2 ; case 2
.short _0205A272 - _0205A24A - 2 ; case 3
.short _0205A276 - _0205A24A - 2 ; case 4
.short _0205A276 - _0205A24A - 2 ; case 5
.short _0205A276 - _0205A24A - 2 ; case 6
.short _0205A276 - _0205A24A - 2 ; case 7
.short _0205A276 - _0205A24A - 2 ; case 8
.short _0205A27A - _0205A24A - 2 ; case 9
.short _0205A27A - _0205A24A - 2 ; case 10
.short _0205A276 - _0205A24A - 2 ; case 11
.short _0205A27A - _0205A24A - 2 ; case 12
.short _0205A272 - _0205A24A - 2 ; case 13
_0205A266:
mov r0, #1
pop {r4, r5, r6, pc}
_0205A26A:
mov r0, #2
pop {r4, r5, r6, pc}
_0205A26E:
mov r0, #3
pop {r4, r5, r6, pc}
_0205A272:
mov r0, #4
pop {r4, r5, r6, pc}
_0205A276:
mov r0, #5
pop {r4, r5, r6, pc}
_0205A27A:
mov r0, #5
pop {r4, r5, r6, pc}
nop
_0205A280: .word 0x021D41CC
thumb_func_end sub_0205A200
thumb_func_start sub_0205A284
sub_0205A284: ; 0x0205A284
push {r3, r4}
sub r1, r1, #1
lsl r3, r1, #2
add r4, r0, r3
mov r3, #0x11
lsl r3, r3, #4
ldr r4, [r4, r3]
cmp r4, #0
bne _0205A29C
mov r0, #5
pop {r3, r4}
bx lr
_0205A29C:
add r4, #0x50
ldr r3, _0205A354 ; =0x021D41CC
add r4, #0x30
str r4, [r3, #4]
ldrb r3, [r4, #0x1c]
cmp r3, #0xd
bhi _0205A34E
add r3, r3, r3
add r3, pc
ldrh r3, [r3, #6]
lsl r3, r3, #0x10
asr r3, r3, #0x10
add pc, r3
_0205A2B6: ; jump table
.short _0205A2F2 - _0205A2B6 - 2 ; case 0
.short _0205A30E - _0205A2B6 - 2 ; case 1
.short _0205A2D2 - _0205A2B6 - 2 ; case 2
.short _0205A32A - _0205A2B6 - 2 ; case 3
.short _0205A348 - _0205A2B6 - 2 ; case 4
.short _0205A348 - _0205A2B6 - 2 ; case 5
.short _0205A348 - _0205A2B6 - 2 ; case 6
.short _0205A348 - _0205A2B6 - 2 ; case 7
.short _0205A348 - _0205A2B6 - 2 ; case 8
.short _0205A34E - _0205A2B6 - 2 ; case 9
.short _0205A34E - _0205A2B6 - 2 ; case 10
.short _0205A348 - _0205A2B6 - 2 ; case 11
.short _0205A34E - _0205A2B6 - 2 ; case 12
.short _0205A32A - _0205A2B6 - 2 ; case 13
_0205A2D2:
cmp r2, #3
beq _0205A2DC
mov r0, #5
pop {r3, r4}
bx lr
_0205A2DC:
mov r2, #5
str r2, [r0, #0x30]
str r1, [r0, #0x18]
mov r2, #1
str r2, [r0, #0x20]
mov r1, #0
str r1, [r0, #0x24]
str r1, [r0, #0x1c]
add r0, r2, #0
pop {r3, r4}
bx lr
_0205A2F2:
cmp r2, #1
beq _0205A2FC
mov r0, #5
pop {r3, r4}
bx lr
_0205A2FC:
str r1, [r0, #0x18]
mov r2, #1
str r2, [r0, #0x20]
mov r1, #0
str r1, [r0, #0x24]
str r1, [r0, #0x1c]
add r0, r2, #0
pop {r3, r4}
bx lr
_0205A30E:
cmp r2, #2
beq _0205A318
mov r0, #5
pop {r3, r4}
bx lr
_0205A318:
str r1, [r0, #0x18]
mov r1, #2
str r1, [r0, #0x20]
mov r1, #0
str r1, [r0, #0x24]
str r1, [r0, #0x1c]
mov r0, #1
pop {r3, r4}
bx lr
_0205A32A:
cmp r2, #4
beq _0205A334
mov r0, #5
pop {r3, r4}
bx lr
_0205A334:
mov r2, #6
str r2, [r0, #0x30]
str r1, [r0, #0x18]
mov r2, #1
str r2, [r0, #0x20]
mov r1, #0
str r1, [r0, #0x1c]
add r0, r2, #0
pop {r3, r4}
bx lr
_0205A348:
mov r0, #5
pop {r3, r4}
bx lr
_0205A34E:
mov r0, #5
pop {r3, r4}
bx lr
.balign 4, 0
_0205A354: .word 0x021D41CC
thumb_func_end sub_0205A284
thumb_func_start sub_0205A358
sub_0205A358: ; 0x0205A358
ldr r0, [r0, #0x1c]
bx lr
thumb_func_end sub_0205A358
thumb_func_start sub_0205A35C
sub_0205A35C: ; 0x0205A35C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x44]
cmp r0, #0
beq _0205A36A
mov r0, #7
pop {r4, pc}
_0205A36A:
bl sub_02037454
cmp r0, #2
bge _0205A376
mov r0, #7
pop {r4, pc}
_0205A376:
bl sub_0203769C
cmp r0, #0
bne _0205A38A
bl sub_02037FCC
cmp r0, #1
bne _0205A396
ldr r0, [r4, #0x40]
pop {r4, pc}
_0205A38A:
bl sub_02037F94
cmp r0, #1
bne _0205A396
ldr r0, [r4, #0x40]
pop {r4, pc}
_0205A396:
mov r0, #7
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205A35C
thumb_func_start sub_0205A39C
sub_0205A39C: ; 0x0205A39C
push {r4, lr}
add r4, r0, #0
bl sub_02037FCC
cmp r0, #1
bne _0205A3AC
ldr r0, [r4, #0x30]
pop {r4, pc}
_0205A3AC:
mov r0, #7
pop {r4, pc}
thumb_func_end sub_0205A39C
thumb_func_start sub_0205A3B0
sub_0205A3B0: ; 0x0205A3B0
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r2, #0
add r0, sp, #0
strb r4, [r0, #2]
cmp r1, #0
beq _0205A3C4
cmp r1, #1
beq _0205A3DC
pop {r3, r4, r5, pc}
_0205A3C4:
ldr r1, [r5, #0x44]
cmp r1, #0
bne _0205A404
ldrb r0, [r0, #2]
add r1, sp, #0
add r1, #2
str r0, [r5, #0x34]
mov r0, #0x63
mov r2, #1
bl sub_02037030
pop {r3, r4, r5, pc}
_0205A3DC:
cmp r4, #0
bne _0205A3F4
ldr r1, [r5, #0x30]
mov r2, #1
strb r1, [r0, #1]
add r1, sp, #0
mov r0, #0x67
add r1, #1
bl sub_02037108
str r4, [r5, #0x3c]
pop {r3, r4, r5, pc}
_0205A3F4:
mov r1, #7
strb r1, [r0]
mov r0, #0x67
add r1, sp, #0
mov r2, #1
bl sub_02037108
str r4, [r5, #0x3c]
_0205A404:
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205A3B0
thumb_func_start sub_0205A408
sub_0205A408: ; 0x0205A408
bx lr
.balign 4, 0
thumb_func_end sub_0205A408
thumb_func_start sub_0205A40C
sub_0205A40C: ; 0x0205A40C
bx lr
.balign 4, 0
thumb_func_end sub_0205A40C
thumb_func_start sub_0205A410
sub_0205A410: ; 0x0205A410
push {r4, lr}
add r4, r3, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
ldr r1, _0205A42C ; =sub_02059EBC
mov r2, #2
bl sub_0205A034
add r4, #0x80
ldr r0, [r4]
bl sub_0205ABBC
pop {r4, pc}
.balign 4, 0
_0205A42C: .word sub_02059EBC
thumb_func_end sub_0205A410
thumb_func_start sub_0205A430
sub_0205A430: ; 0x0205A430
add r3, #0x80
ldr r1, [r3]
ldr r0, [r1, #0x44]
cmp r0, #0
bne _0205A444
ldrb r0, [r2]
str r0, [r1, #0x30]
ldrb r1, [r2]
ldr r0, _0205A448 ; =0x021D41CC
str r1, [r0, #8]
_0205A444:
bx lr
nop
_0205A448: .word 0x021D41CC
thumb_func_end sub_0205A430
thumb_func_start sub_0205A44C
sub_0205A44C: ; 0x0205A44C
push {r3, lr}
add r0, r3, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #1
str r1, [r0, #0x2c]
add r3, #0x80
ldrb r1, [r2]
ldr r0, [r3]
str r1, [r0, #0x40]
ldrb r0, [r2]
cmp r0, #4
bne _0205A46A
bl sub_020388E0
_0205A46A:
pop {r3, pc}
thumb_func_end sub_0205A44C
thumb_func_start sub_0205A46C
sub_0205A46C: ; 0x0205A46C
add r3, #0x80
ldr r0, [r3]
mov r1, #1
str r1, [r0, #0x44]
bx lr
.balign 4, 0
thumb_func_end sub_0205A46C
thumb_func_start sub_0205A478
sub_0205A478: ; 0x0205A478
ldr r0, [r0, #0x44]
bx lr
thumb_func_end sub_0205A478
thumb_func_start sub_0205A47C
sub_0205A47C: ; 0x0205A47C
push {r4, lr}
ldr r0, [r0, #0x30]
add r4, r1, #0
cmp r0, #0
bne _0205A494
mov r1, #0
mov r0, #0x68
add r2, r1, #0
bl sub_02037030
add r0, r4, #0
pop {r4, pc}
_0205A494:
mov r0, #0
pop {r4, pc}
thumb_func_end sub_0205A47C
thumb_func_start sub_0205A498
sub_0205A498: ; 0x0205A498
push {r4, lr}
add r4, r2, #0
bl sub_0203769C
mov r1, #1
eor r0, r1
bl sub_02034818
ldr r0, _0205A4B0 ; =0x0000066A
mov r1, #1
strh r1, [r4, r0]
pop {r4, pc}
.balign 4, 0
_0205A4B0: .word 0x0000066A
thumb_func_end sub_0205A498
thumb_func_start sub_0205A4B4
sub_0205A4B4: ; 0x0205A4B4
add r1, #0x80
ldr r1, [r1]
lsl r0, r0, #2
add r1, r1, r0
mov r0, #0x62
lsl r0, r0, #2
ldr r0, [r1, r0]
bx lr
thumb_func_end sub_0205A4B4
thumb_func_start sub_0205A4C4
sub_0205A4C4: ; 0x0205A4C4
add r3, #0x80
ldr r1, [r3]
ldrb r2, [r2]
add r1, r1, r0
ldr r0, _0205A4D4 ; =0x00000176
strb r2, [r1, r0]
bx lr
nop
_0205A4D4: .word 0x00000176
thumb_func_end sub_0205A4C4
thumb_func_start sub_0205A4D8
sub_0205A4D8: ; 0x0205A4D8
push {r4, lr}
add r4, r0, #0
bl sub_0203769C
ldr r2, _0205A504 ; =0x00000176
add r1, r4, r0
ldrb r1, [r1, r2]
cmp r1, #2
bne _0205A4EE
mov r0, #1
pop {r4, pc}
_0205A4EE:
mov r1, #1
eor r0, r1
add r0, r4, r0
ldrb r0, [r0, r2]
cmp r0, #2
bne _0205A4FE
mov r0, #2
pop {r4, pc}
_0205A4FE:
mov r0, #0
pop {r4, pc}
nop
_0205A504: .word 0x00000176
thumb_func_end sub_0205A4D8
thumb_func_start sub_0205A508
sub_0205A508: ; 0x0205A508
push {r3, lr}
add r1, sp, #0
strb r0, [r1]
mov r0, #0x65
add r1, sp, #0
mov r2, #1
bl sub_02037030
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205A508
thumb_func_start sub_0205A51C
sub_0205A51C: ; 0x0205A51C
ldr r3, _0205A540 ; =0x020FC824
mov r2, #0
_0205A520:
ldrh r1, [r3]
cmp r1, r0
bgt _0205A530
add r1, r1, #4
cmp r1, r0
ble _0205A530
add r0, r2, #0
bx lr
_0205A530:
add r2, r2, #1
add r3, r3, #2
cmp r2, #0xa
blt _0205A520
mov r0, #0
mvn r0, r0
bx lr
nop
_0205A540: .word 0x020FC824
thumb_func_end sub_0205A51C
thumb_func_start sub_0205A544
sub_0205A544: ; 0x0205A544
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r6, r0, #0
cmp r4, #9
ble _0205A564
add r0, r4, #0
bl sub_0205A51C
add r5, r0, #0
mov r0, #0
mvn r0, r0
cmp r4, r0
bne _0205A566
bl GF_AssertFail
b _0205A566
_0205A564:
add r5, r4, #0
_0205A566:
mov r0, #0x11
lsl r0, r0, #4
add r6, r6, r0
lsl r7, r5, #2
ldr r0, [r6, r7]
cmp r0, #0
bne _0205A578
mov r0, #0x28
pop {r3, r4, r5, r6, r7, pc}
_0205A578:
add r0, r5, #0
bl sub_02035798
ldr r5, [r6, r7]
add r5, #0x50
add r5, #0x30
cmp r0, #0
bne _0205A58C
mov r0, #0x28
pop {r3, r4, r5, r6, r7, pc}
_0205A58C:
cmp r4, #9
ble _0205A5A6
sub r4, #0xa
lsr r2, r4, #0x1f
lsl r1, r4, #0x1e
sub r1, r1, r2
mov r0, #0x1e
ror r1, r0
add r0, r2, r1
add r0, r5, r0
ldrb r0, [r0, #0x18]
asr r4, r0, #7
b _0205A5AC
_0205A5A6:
bl PlayerProfile_GetTrainerGender
add r4, r0, #0
_0205A5AC:
ldrb r0, [r5, #0x1c]
cmp r0, #0xd
bhi _0205A68A
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205A5BE: ; jump table
.short _0205A68A - _0205A5BE - 2 ; case 0
.short _0205A636 - _0205A5BE - 2 ; case 1
.short _0205A652 - _0205A5BE - 2 ; case 2
.short _0205A66E - _0205A5BE - 2 ; case 3
.short _0205A5DA - _0205A5BE - 2 ; case 4
.short _0205A5E2 - _0205A5BE - 2 ; case 5
.short _0205A5FE - _0205A5BE - 2 ; case 6
.short _0205A61A - _0205A5BE - 2 ; case 7
.short _0205A636 - _0205A5BE - 2 ; case 8
.short _0205A652 - _0205A5BE - 2 ; case 9
.short _0205A66E - _0205A5BE - 2 ; case 10
.short _0205A5DA - _0205A5BE - 2 ; case 11
.short _0205A66E - _0205A5BE - 2 ; case 12
.short _0205A66E - _0205A5BE - 2 ; case 13
_0205A5DA:
ldr r0, _0205A690 ; =0x020FC7FC
lsl r1, r4, #2
ldr r0, [r0, r1]
pop {r3, r4, r5, r6, r7, pc}
_0205A5E2:
bl LCRandom
lsr r2, r0, #0x1f
lsl r1, r0, #0x1f
sub r1, r1, r2
mov r0, #0x1f
ror r1, r0
add r0, r2, r1
lsl r2, r0, #3
ldr r0, _0205A694 ; =0x020FC814
lsl r1, r4, #2
add r0, r0, r2
ldr r0, [r1, r0]
pop {r3, r4, r5, r6, r7, pc}
_0205A5FE:
bl LCRandom
lsr r2, r0, #0x1f
lsl r1, r0, #0x1e
sub r1, r1, r2
mov r0, #0x1e
ror r1, r0
add r0, r2, r1
lsl r2, r0, #3
ldr r0, _0205A698 ; =0x020FC8D4
lsl r1, r4, #2
add r0, r0, r2
ldr r0, [r1, r0]
pop {r3, r4, r5, r6, r7, pc}
_0205A61A:
bl LCRandom
lsr r2, r0, #0x1f
lsl r1, r0, #0x1f
sub r1, r1, r2
mov r0, #0x1f
ror r1, r0
add r0, r2, r1
lsl r2, r0, #3
ldr r0, _0205A69C ; =0x020FC804
lsl r1, r4, #2
add r0, r0, r2
ldr r0, [r1, r0]
pop {r3, r4, r5, r6, r7, pc}
_0205A636:
bl LCRandom
lsr r2, r0, #0x1f
lsl r1, r0, #0x1e
sub r1, r1, r2
mov r0, #0x1e
ror r1, r0
add r0, r2, r1
lsl r2, r0, #3
ldr r0, _0205A6A0 ; =0x020FC8B4
lsl r1, r4, #2
add r0, r0, r2
ldr r0, [r1, r0]
pop {r3, r4, r5, r6, r7, pc}
_0205A652:
bl LCRandom
lsr r2, r0, #0x1f
lsl r1, r0, #0x1e
sub r1, r1, r2
mov r0, #0x1e
ror r1, r0
add r0, r2, r1
lsl r2, r0, #3
ldr r0, _0205A6A4 ; =0x020FC8F4
lsl r1, r4, #2
add r0, r0, r2
ldr r0, [r1, r0]
pop {r3, r4, r5, r6, r7, pc}
_0205A66E:
bl LCRandom
lsr r2, r0, #0x1f
lsl r1, r0, #0x1e
sub r1, r1, r2
mov r0, #0x1e
ror r1, r0
add r0, r2, r1
lsl r2, r0, #3
ldr r0, _0205A6A8 ; =0x020FC914
lsl r1, r4, #2
add r0, r0, r2
ldr r0, [r1, r0]
pop {r3, r4, r5, r6, r7, pc}
_0205A68A:
mov r0, #0x28
pop {r3, r4, r5, r6, r7, pc}
nop
_0205A690: .word 0x020FC7FC
_0205A694: .word 0x020FC814
_0205A698: .word 0x020FC8D4
_0205A69C: .word 0x020FC804
_0205A6A0: .word 0x020FC8B4
_0205A6A4: .word 0x020FC8F4
_0205A6A8: .word 0x020FC914
thumb_func_end sub_0205A544
thumb_func_start sub_0205A6AC
sub_0205A6AC: ; 0x0205A6AC
push {r3, r4, r5, r6, r7, lr}
str r0, [sp]
bl sub_0203769C
bl sub_020348A8
lsl r0, r0, #0x18
lsr r7, r0, #0x18
bl sub_0203769C
mov r1, #1
eor r0, r1
bl sub_020348A8
lsl r0, r0, #0x18
lsr r4, r0, #0x18
bl sub_0203769C
bl sub_020348CC
lsl r0, r0, #0x18
lsr r6, r0, #0x18
bl sub_0203769C
mov r1, #1
eor r0, r1
bl sub_020348CC
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r4, #0
bne _0205A6F0
mov r0, #0xf
pop {r3, r4, r5, r6, r7, pc}
_0205A6F0:
beq _0205A70C
ldr r0, [sp]
mov r1, #3
add r2, r4, #0
bl BufferCountryName
cmp r5, #0
beq _0205A70C
ldr r0, [sp]
mov r1, #4
add r2, r4, #0
add r3, r5, #0
bl BufferCityName
_0205A70C:
cmp r7, r4
beq _0205A724
cmp r5, #0
bne _0205A718
mov r0, #0xd
pop {r3, r4, r5, r6, r7, pc}
_0205A718:
cmp r6, r5
bne _0205A720
mov r0, #0xd
pop {r3, r4, r5, r6, r7, pc}
_0205A720:
mov r0, #0xc
pop {r3, r4, r5, r6, r7, pc}
_0205A724:
cmp r6, r5
beq _0205A72C
mov r0, #0xe
pop {r3, r4, r5, r6, r7, pc}
_0205A72C:
mov r0, #0xf
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205A6AC
thumb_func_start sub_0205A730
sub_0205A730: ; 0x0205A730
push {r3, lr}
cmp r0, #0
beq _0205A742
lsl r2, r0, #3
ldr r0, _0205A74C ; =0x020FC99C
lsl r1, r1, #2
add r0, r0, r2
ldr r0, [r1, r0]
pop {r3, pc}
_0205A742:
add r0, r2, #0
bl sub_0205A6AC
pop {r3, pc}
nop
_0205A74C: .word 0x020FC99C
thumb_func_end sub_0205A730
thumb_func_start sub_0205A750
sub_0205A750: ; 0x0205A750
push {r4, r5, r6, lr}
add r4, r2, #0
add r5, r0, #0
add r6, r3, #0
cmp r4, #0
bne _0205A764
sub r1, r1, #1
bl sub_0205A544
pop {r4, r5, r6, pc}
_0205A764:
sub r0, r1, #1
bl sub_02035798
cmp r0, #0
bne _0205A780
mov r0, #1
add r1, r0, #0
bl sub_020398D4
mov r0, #1
bl sub_02039AD8
mov r0, #0
pop {r4, r5, r6, pc}
_0205A780:
bl PlayerProfile_GetTrainerGender
add r1, r0, #0
cmp r4, #0x1a
bhi _0205A860
add r0, r4, r4
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205A796: ; jump table
.short _0205A860 - _0205A796 - 2 ; case 0
.short _0205A7CC - _0205A796 - 2 ; case 1
.short _0205A7D8 - _0205A796 - 2 ; case 2
.short _0205A804 - _0205A796 - 2 ; case 3
.short _0205A804 - _0205A796 - 2 ; case 4
.short _0205A804 - _0205A796 - 2 ; case 5
.short _0205A804 - _0205A796 - 2 ; case 6
.short _0205A804 - _0205A796 - 2 ; case 7
.short _0205A804 - _0205A796 - 2 ; case 8
.short _0205A7E0 - _0205A796 - 2 ; case 9
.short _0205A812 - _0205A796 - 2 ; case 10
.short _0205A812 - _0205A796 - 2 ; case 11
.short _0205A812 - _0205A796 - 2 ; case 12
.short _0205A820 - _0205A796 - 2 ; case 13
.short _0205A820 - _0205A796 - 2 ; case 14
.short _0205A820 - _0205A796 - 2 ; case 15
.short _0205A82E - _0205A796 - 2 ; case 16
.short _0205A82E - _0205A796 - 2 ; case 17
.short _0205A82E - _0205A796 - 2 ; case 18
.short _0205A7F6 - _0205A796 - 2 ; case 19
.short _0205A7F6 - _0205A796 - 2 ; case 20
.short _0205A7F6 - _0205A796 - 2 ; case 21
.short _0205A83C - _0205A796 - 2 ; case 22
.short _0205A844 - _0205A796 - 2 ; case 23
.short _0205A84C - _0205A796 - 2 ; case 24
.short _0205A854 - _0205A796 - 2 ; case 25
.short _0205A858 - _0205A796 - 2 ; case 26
_0205A7CC:
ldr r0, [r5, #0x34]
add r2, r6, #0
sub r0, r0, #1
bl sub_0205A730
pop {r4, r5, r6, pc}
_0205A7D8:
ldr r0, _0205A868 ; =0x020FC7D4
lsl r1, r1, #2
ldr r0, [r0, r1]
pop {r4, r5, r6, pc}
_0205A7E0:
ldr r0, [r5, #0x34]
cmp r0, #0
bne _0205A7EA
mov r0, #0
pop {r4, r5, r6, pc}
_0205A7EA:
lsl r2, r0, #3
ldr r0, _0205A86C ; =0x020FC95C
lsl r1, r1, #2
add r0, r0, r2
ldr r0, [r1, r0]
pop {r4, r5, r6, pc}
_0205A7F6:
sub r4, #0x13
ldr r0, _0205A870 ; =0x020FC880
lsl r2, r4, #3
lsl r1, r1, #2
add r0, r0, r2
ldr r0, [r1, r0]
pop {r4, r5, r6, pc}
_0205A804:
sub r0, r4, #3
lsl r2, r0, #3
ldr r0, _0205A874 ; =0x020FC934
lsl r1, r1, #2
add r0, r0, r2
ldr r0, [r1, r0]
pop {r4, r5, r6, pc}
_0205A812:
sub r4, #0xa
ldr r0, _0205A878 ; =0x020FC838
lsl r2, r4, #3
lsl r1, r1, #2
add r0, r0, r2
ldr r0, [r1, r0]
pop {r4, r5, r6, pc}
_0205A820:
sub r4, #0xd
ldr r0, _0205A87C ; =0x020FC850
lsl r2, r4, #3
lsl r1, r1, #2
add r0, r0, r2
ldr r0, [r1, r0]
pop {r4, r5, r6, pc}
_0205A82E:
sub r4, #0x10
ldr r0, _0205A880 ; =0x020FC868
lsl r2, r4, #3
lsl r1, r1, #2
add r0, r0, r2
ldr r0, [r1, r0]
pop {r4, r5, r6, pc}
_0205A83C:
ldr r0, _0205A884 ; =0x020FC7E4
lsl r1, r1, #2
ldr r0, [r0, r1]
pop {r4, r5, r6, pc}
_0205A844:
ldr r0, _0205A888 ; =0x020FC7DC
lsl r1, r1, #2
ldr r0, [r0, r1]
pop {r4, r5, r6, pc}
_0205A84C:
ldr r0, _0205A88C ; =0x020FC7EC
lsl r1, r1, #2
ldr r0, [r0, r1]
pop {r4, r5, r6, pc}
_0205A854:
mov r0, #0xda
pop {r4, r5, r6, pc}
_0205A858:
ldr r0, _0205A890 ; =0x020FC7F4
lsl r1, r1, #2
ldr r0, [r0, r1]
pop {r4, r5, r6, pc}
_0205A860:
bl GF_AssertFail
mov r0, #0x28
pop {r4, r5, r6, pc}
.balign 4, 0
_0205A868: .word 0x020FC7D4
_0205A86C: .word 0x020FC95C
_0205A870: .word 0x020FC880
_0205A874: .word 0x020FC934
_0205A878: .word 0x020FC838
_0205A87C: .word 0x020FC850
_0205A880: .word 0x020FC868
_0205A884: .word 0x020FC7E4
_0205A888: .word 0x020FC7DC
_0205A88C: .word 0x020FC7EC
_0205A890: .word 0x020FC7F4
thumb_func_end sub_0205A750
thumb_func_start sub_0205A894
sub_0205A894: ; 0x0205A894
push {r4, lr}
bl sub_0203769C
mov r1, #1
eor r0, r1
bl sub_02034818
add r4, r0, #0
bne _0205A8AA
bl GF_AssertFail
_0205A8AA:
add r0, r4, #0
bl sub_0202907C
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205A894
thumb_func_start sub_0205A8B4
sub_0205A8B4: ; 0x0205A8B4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r7, #1
_0205A8BA:
add r0, r7, #0
sub r4, r7, #1
bl sub_02034818
add r6, r0, #0
beq _0205A8F2
bl sub_0203769C
cmp r0, #0
bne _0205A8FC
add r0, r6, #0
bl PlayerProfile_GetTrainerID
lsl r1, r4, #2
str r0, [r5, r1]
add r0, r6, #0
bl sub_0202903C
str r0, [sp]
add r0, r6, #0
bl PlayerProfile_GetTrainerGender
lsl r1, r0, #7
ldr r0, [sp]
orr r1, r0
add r0, r5, r4
strb r1, [r0, #0x18]
b _0205A8FC
_0205A8F2:
lsl r1, r4, #2
mov r0, #0
str r0, [r5, r1]
add r1, r5, r4
strb r0, [r1, #0x18]
_0205A8FC:
add r7, r7, #1
cmp r7, #5
blt _0205A8BA
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205A8B4
thumb_func_start sub_0205A904
sub_0205A904: ; 0x0205A904
push {r4, lr}
sub sp, #0x20
add r4, r0, #0
add r0, sp, #0
mov r1, #0
mov r2, #0x20
bl MIi_CpuFill8
cmp r4, #0xd
bhi _0205A98E
add r0, r4, r4
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205A924: ; jump table
.short _0205A98E - _0205A924 - 2 ; case 0
.short _0205A95E - _0205A924 - 2 ; case 1
.short _0205A972 - _0205A924 - 2 ; case 2
.short _0205A986 - _0205A924 - 2 ; case 3
.short _0205A98E - _0205A924 - 2 ; case 4
.short _0205A94A - _0205A924 - 2 ; case 5
.short _0205A94A - _0205A924 - 2 ; case 6
.short _0205A94A - _0205A924 - 2 ; case 7
.short _0205A954 - _0205A924 - 2 ; case 8
.short _0205A968 - _0205A924 - 2 ; case 9
.short _0205A97C - _0205A924 - 2 ; case 10
.short _0205A940 - _0205A924 - 2 ; case 11
.short _0205A97C - _0205A924 - 2 ; case 12
.short _0205A986 - _0205A924 - 2 ; case 13
_0205A940:
add r0, sp, #0
mov r1, #2
bl sub_0205A8B4
b _0205A98E
_0205A94A:
add r0, sp, #0
mov r1, #2
bl sub_0205A8B4
b _0205A98E
_0205A954:
add r0, sp, #0
mov r1, #5
bl sub_0205A8B4
b _0205A98E
_0205A95E:
add r0, sp, #0
mov r1, #4
bl sub_0205A8B4
b _0205A98E
_0205A968:
add r0, sp, #0
mov r1, #5
bl sub_0205A8B4
b _0205A98E
_0205A972:
add r0, sp, #0
mov r1, #4
bl sub_0205A8B4
b _0205A98E
_0205A97C:
add r0, sp, #0
mov r1, #5
bl sub_0205A8B4
b _0205A98E
_0205A986:
add r0, sp, #0
mov r1, #4
bl sub_0205A8B4
_0205A98E:
add r0, sp, #0
strb r4, [r0, #0x1c]
add r0, sp, #0
bl sub_02035854
bl sub_0203588C
add sp, #0x20
pop {r4, pc}
thumb_func_end sub_0205A904
thumb_func_start sub_0205A9A0
sub_0205A9A0: ; 0x0205A9A0
push {r4, r5, r6, lr}
add r5, r0, #0
mov r3, #0
mov r0, #0x11
add r6, r1, #0
add r2, r3, #0
add r4, r5, #0
lsl r0, r0, #4
_0205A9B0:
ldr r1, [r4, r0]
cmp r1, #0
beq _0205A9B8
add r3, r3, #1
_0205A9B8:
add r2, r2, #1
add r4, r4, #4
cmp r2, #0xa
blt _0205A9B0
cmp r3, #0
beq _0205A9C8
mov r0, #0xa6
pop {r4, r5, r6, pc}
_0205A9C8:
mov r0, #0x5e
lsl r0, r0, #2
add r0, r5, r0
bl MailMsg_IsInit
cmp r0, #0
bne _0205A9DA
mov r0, #0xa7
pop {r4, r5, r6, pc}
_0205A9DA:
mov r0, #0x5e
lsl r0, r0, #2
add r0, r5, r0
bl MailMsg_GetMsgBank
cmp r0, #4
beq _0205AA0C
ldr r0, [r5, #8]
bl sub_0202903C
add r4, r0, #0
ldr r0, [r5, #8]
bl PlayerProfile_GetTrainerGender
add r1, r4, #0
mov r2, #2
bl sub_0205B46C
add r2, r0, #0
add r0, r6, #0
mov r1, #0
bl BufferTrainerClassName
mov r0, #0xa8
pop {r4, r5, r6, pc}
_0205AA0C:
mov r0, #0x5e
lsl r0, r0, #2
add r0, r5, r0
bl MailMsg_GetMsgNo
add r4, r0, #0
cmp r4, #0x14
blt _0205AA1E
mov r4, #0
_0205AA1E:
mov r0, #0x5e
lsl r0, r0, #2
add r0, r5, r0
mov r1, #0
bl MailMsg_GetFieldI
add r2, r0, #0
ldr r0, _0205AA44 ; =0x0000FFFF
cmp r2, r0
beq _0205AA3A
add r0, r6, #0
mov r1, #0
bl sub_0200C528
_0205AA3A:
ldr r0, _0205AA48 ; =0x020FC9D4
lsl r1, r4, #2
ldr r0, [r0, r1]
pop {r4, r5, r6, pc}
nop
_0205AA44: .word 0x0000FFFF
_0205AA48: .word 0x020FC9D4
thumb_func_end sub_0205A9A0
thumb_func_start sub_0205AA4C
sub_0205AA4C: ; 0x0205AA4C
push {r3, r4}
mov r3, #0
strb r3, [r0, #0x1c]
add r4, r0, #0
add r2, r3, #0
_0205AA56:
stmia r4!, {r2}
add r1, r0, r3
strb r2, [r1, #0x18]
strb r2, [r1, #0x10]
add r3, r3, #1
strb r2, [r1, #0x14]
cmp r3, #4
blt _0205AA56
pop {r3, r4}
bx lr
.balign 4, 0
thumb_func_end sub_0205AA4C
thumb_func_start sub_0205AA6C
sub_0205AA6C: ; 0x0205AA6C
push {r4, lr}
add r4, r0, #0
mov r0, #0x5e
lsl r0, r0, #2
add r0, r4, r0
bl MailMsg_copy
mov r0, #6
mov r1, #1
lsl r0, r0, #6
str r1, [r4, r0]
pop {r4, pc}
thumb_func_end sub_0205AA6C
thumb_func_start sub_0205AA84
sub_0205AA84: ; 0x0205AA84
mov r1, #6
lsl r1, r1, #6
ldr r2, [r0, r1]
cmp r2, #0
bne _0205AA92
mov r0, #0
bx lr
_0205AA92:
mov r2, #0
str r2, [r0, r1]
sub r1, #8
add r0, r0, r1
bx lr
thumb_func_end sub_0205AA84
thumb_func_start sub_0205AA9C
sub_0205AA9C: ; 0x0205AA9C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r7, r2, #0
add r5, r0, #0
add r4, r1, #0
str r3, [sp, #8]
ldr r2, _0205AB80 ; =0x000002E2
mov r0, #1
mov r1, #0x1b
mov r3, #4
bl NewMsgDataFromNarc
add r6, r0, #0
cmp r4, #0
bne _0205AAC2
sub r0, r7, #1
bl sub_02035798
b _0205AACE
_0205AAC2:
bl sub_0203769C
mov r1, #1
eor r0, r1
bl sub_02034818
_0205AACE:
add r4, r0, #0
cmp r4, #0
bne _0205AADE
add r0, r6, #0
bl DestroyMsgData
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0205AADE:
add r0, r5, #0
mov r1, #0
add r2, r4, #0
bl BufferPlayersName
ldr r2, [sp, #8]
add r0, r5, #0
mov r1, #1
bl BufferPlayersName
add r0, r4, #0
bl sub_02029088
add r4, r0, #0
cmp r4, #1
blt _0205AB1C
cmp r4, #7
bgt _0205AB1C
sub r0, r4, #1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
cmp r0, #7
bhs _0205AB1C
lsl r1, r0, #2
ldr r0, _0205AB84 ; =0x020FC898
ldr r1, [r0, r1]
cmp r1, #0
blt _0205AB1C
ldr r0, [sp, #0x20]
bl sub_02015CFC
_0205AB1C:
cmp r4, #7
bhi _0205AB54
add r0, r4, r4
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205AB2C: ; jump table
.short _0205AB54 - _0205AB2C - 2 ; case 0
.short _0205AB3C - _0205AB2C - 2 ; case 1
.short _0205AB40 - _0205AB2C - 2 ; case 2
.short _0205AB44 - _0205AB2C - 2 ; case 3
.short _0205AB48 - _0205AB2C - 2 ; case 4
.short _0205AB4C - _0205AB2C - 2 ; case 5
.short _0205AB54 - _0205AB2C - 2 ; case 6
.short _0205AB50 - _0205AB2C - 2 ; case 7
_0205AB3C:
mov r1, #0xd3
b _0205AB56
_0205AB40:
mov r1, #0xd4
b _0205AB56
_0205AB44:
mov r1, #0xd5
b _0205AB56
_0205AB48:
mov r1, #0xd6
b _0205AB56
_0205AB4C:
mov r1, #0xd7
b _0205AB56
_0205AB50:
mov r1, #0xd8
b _0205AB56
_0205AB54:
mov r1, #0xd9
_0205AB56:
add r0, r6, #0
bl NewString_ReadMsgData
add r7, r0, #0
mov r0, #1
str r0, [sp]
add r0, r5, #0
mov r1, #2
add r2, r7, #0
mov r3, #0
str r4, [sp, #4]
bl BufferString
add r0, r7, #0
bl FreeToHeap
add r0, r6, #0
bl DestroyMsgData
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0205AB80: .word 0x000002E2
_0205AB84: .word 0x020FC898
thumb_func_end sub_0205AA9C
thumb_func_start sub_0205AB88
sub_0205AB88: ; 0x0205AB88
push {r4, lr}
sub sp, #0x20
add r4, r0, #0
add r0, sp, #0
bl sub_0205AA4C
mov r1, #0
add r0, sp, #0
strb r1, [r0, #0x1c]
add r0, r4, #0
bl sub_02035838
add r0, sp, #0
bl sub_02035854
bl sub_0203588C
add sp, #0x20
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205AB88
thumb_func_start sub_0205ABB0
sub_0205ABB0: ; 0x0205ABB0
mov r1, #0
str r1, [r0, #0x30]
str r1, [r0, #0x40]
str r1, [r0, #0x44]
bx lr
.balign 4, 0
thumb_func_end sub_0205ABB0
thumb_func_start sub_0205ABBC
sub_0205ABBC: ; 0x0205ABBC
mov r2, #0
str r2, [r0, #0x20]
str r2, [r0, #0x24]
str r2, [r0, #0x2c]
str r2, [r0, #0x30]
mov r1, #0x5d
str r2, [r0, #0x40]
lsl r1, r1, #2
strh r2, [r0, r1]
add r1, #0xc
str r2, [r0, r1]
str r2, [r0, #0x44]
bx lr
.balign 4, 0
thumb_func_end sub_0205ABBC
thumb_func_start sub_0205ABD8
sub_0205ABD8: ; 0x0205ABD8
push {r3, r4, r5, lr}
sub sp, #8
add r4, r0, #0
mov r0, #0
bl sub_020691A8
mov r1, #0x61
lsl r1, r1, #2
str r0, [r4, r1]
mov r0, #0
bl sub_020691A8
mov r1, #0x62
lsl r1, r1, #2
str r0, [r4, r1]
mov r0, #0
bl sub_020691A8
mov r1, #0x63
lsl r1, r1, #2
str r0, [r4, r1]
ldr r0, [r4, #8]
bl PlayerProfile_GetTrainerGender
add r5, r0, #0
ldr r0, [r4, #8]
bl sub_0202903C
add r1, r0, #0
add r0, r5, #0
mov r2, #0
bl sub_0205B46C
add r3, r0, #0
ldr r0, [r4]
lsl r3, r3, #0x18
str r0, [sp]
mov r0, #0x61
lsl r0, r0, #2
ldr r0, [r4, r0]
lsr r3, r3, #0x18
str r0, [sp, #4]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
bl sub_02068FC8
bl sub_0203769C
mov r1, #1
eor r0, r1
lsl r0, r0, #2
add r1, r4, r0
mov r0, #0x62
lsl r0, r0, #2
ldr r0, [r1, r0]
add sp, #8
pop {r3, r4, r5, pc}
thumb_func_end sub_0205ABD8
thumb_func_start sub_0205AC4C
sub_0205AC4C: ; 0x0205AC4C
push {r4, lr}
add r4, r0, #0
mov r0, #0x62
lsl r0, r0, #2
ldr r0, [r4, r0]
bl FreeToHeap
mov r0, #0x63
lsl r0, r0, #2
ldr r0, [r4, r0]
bl FreeToHeap
mov r0, #0x61
lsl r0, r0, #2
ldr r0, [r4, r0]
bl FreeToHeap
pop {r4, pc}
thumb_func_end sub_0205AC4C
thumb_func_start sub_0205AC70
sub_0205AC70: ; 0x0205AC70
mov r1, #0x61
add r2, r0, #0
lsl r1, r1, #2
ldr r1, [r2, r1]
ldr r3, _0205AC80 ; =sub_02036FD8
mov r0, #0x69
ldr r2, _0205AC84 ; =0x0000066C
bx r3
.balign 4, 0
_0205AC80: .word sub_02036FD8
_0205AC84: .word 0x0000066C
thumb_func_end sub_0205AC70
thumb_func_start sub_0205AC88
sub_0205AC88: ; 0x0205AC88
push {r3, r4, r5, lr}
ldr r1, _0205ACF4 ; =0x000004E8
add r5, r0, #0
mov r0, #0x1f
bl AllocFromHeap
add r4, r0, #0
ldr r2, _0205ACF4 ; =0x000004E8
mov r0, #0
add r1, r4, #0
bl MIi_CpuClearFast
mov r0, #0x4e
str r5, [r4]
mov r1, #1
lsl r0, r0, #4
str r1, [r4, r0]
ldr r0, _0205ACF8 ; =sub_0205AD60
add r1, r4, #0
mov r2, #0xb
bl sub_0200E320
str r0, [r4, #4]
add r0, r5, #0
bl sub_0205A1F0
ldr r1, _0205ACFC ; =0x000004D4
str r0, [r4, r1]
ldr r0, [r4, r1]
mov r1, #8
ldr r0, [r0, #0xc]
bl SavArray_get
ldr r1, _0205AD00 ; =0x000004D8
ldr r2, _0205AD04 ; =0x00002710
str r0, [r4, r1]
sub r0, r1, #4
ldr r0, [r4, r0]
mov r1, #0x57
ldr r0, [r0, #0x40]
str r0, [r4, #8]
mov r0, #0xb
bl sub_0201A91C
mov r0, #0x57
bl sub_0205B3B8
ldr r1, _0205AD08 ; =0x000004DC
str r0, [r4, r1]
add r0, r4, #0
bl sub_0205AD24
add r0, r4, #0
pop {r3, r4, r5, pc}
.balign 4, 0
_0205ACF4: .word 0x000004E8
_0205ACF8: .word sub_0205AD60
_0205ACFC: .word 0x000004D4
_0205AD00: .word 0x000004D8
_0205AD04: .word 0x00002710
_0205AD08: .word 0x000004DC
thumb_func_end sub_0205AC88
thumb_func_start sub_0205AD0C
sub_0205AD0C: ; 0x0205AD0C
mov r3, #0
mov r1, #3
_0205AD10:
ldrb r2, [r0, #0xd]
cmp r2, #0
beq _0205AD18
strb r1, [r0, #0xc]
_0205AD18:
add r3, r3, #1
add r0, #0x18
cmp r3, #0x33
blt _0205AD10
bx lr
.balign 4, 0
thumb_func_end sub_0205AD0C
thumb_func_start sub_0205AD24
sub_0205AD24: ; 0x0205AD24
mov r2, #0
add r1, r2, #0
_0205AD28:
strb r1, [r0, #0xc]
strb r1, [r0, #0xd]
strb r1, [r0, #0xe]
strb r1, [r0, #0xf]
add r2, r2, #1
add r0, #0x18
cmp r2, #0x33
blt _0205AD28
bx lr
.balign 4, 0
thumb_func_end sub_0205AD24
thumb_func_start sub_0205AD3C
sub_0205AD3C: ; 0x0205AD3C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #4]
bl sub_0200E390
ldr r0, _0205AD5C ; =0x000004DC
ldr r0, [r4, r0]
bl sub_0205B3CC
mov r0, #0x57
bl sub_0201A9C4
add r0, r4, #0
bl FreeToHeap
pop {r4, pc}
.balign 4, 0
_0205AD5C: .word 0x000004DC
thumb_func_end sub_0205AD3C
thumb_func_start sub_0205AD60
sub_0205AD60: ; 0x0205AD60
push {r3, r4, r5, lr}
ldr r0, _0205AD98 ; =0x000004D4
add r5, r1, #0
ldr r0, [r5, r0]
ldr r4, [r5]
bl sub_02050590
cmp r0, #0
bne _0205AD96
ldr r3, _0205AD98 ; =0x000004D4
add r1, r4, #0
ldr r0, [r5, r3]
ldr r0, [r0, #0x40]
str r0, [r5, #8]
ldr r2, [r5, r3]
add r3, r3, #4
ldr r2, [r2, #0x3c]
ldr r3, [r5, r3]
add r0, r5, #0
bl sub_0205AEA8
ldr r1, _0205AD98 ; =0x000004D4
add r0, r5, #0
ldr r1, [r5, r1]
ldr r1, [r1, #0x3c]
bl sub_0205AF78
_0205AD96:
pop {r3, r4, r5, pc}
.balign 4, 0
_0205AD98: .word 0x000004D4
thumb_func_end sub_0205AD60
thumb_func_start sub_0205AD9C
sub_0205AD9C: ; 0x0205AD9C
push {r4, r5, r6, r7, lr}
sub sp, #0x14
mov r5, #0
str r0, [sp]
str r3, [sp, #4]
cmp r2, #0
bne _0205ADD0
ldr r0, _0205AE9C ; =0x020FC824
lsl r1, r1, #1
ldrh r4, [r0, r1]
ldr r0, [sp]
mov r6, #3
add r0, #0xc
str r0, [sp]
_0205ADB8:
ldr r0, [sp]
add r1, r4, #0
add r2, r6, #0
bl sub_0205AEA0
add r5, r5, #1
add r4, r4, #1
cmp r5, #4
blt _0205ADB8
add sp, #0x14
mov r0, #0
pop {r4, r5, r6, r7, pc}
_0205ADD0:
add r0, r2, #0
str r0, [sp, #0xc]
add r0, #0x50
str r0, [sp, #0xc]
add r0, #0x30
str r0, [sp, #0xc]
ldr r0, [r2, #0x50]
mov r2, #0x18
add r3, r1, #0
mul r3, r2
ldr r2, [sp]
add r2, r2, r3
ldr r2, [r2, #0x18]
cmp r0, r2
beq _0205AE14
ldr r0, _0205AE9C ; =0x020FC824
lsl r1, r1, #1
ldrh r4, [r0, r1]
ldr r0, [sp]
mov r6, #3
add r0, #0xc
str r0, [sp]
_0205ADFC:
ldr r0, [sp]
add r1, r4, #0
add r2, r6, #0
bl sub_0205AEA0
add r5, r5, #1
add r4, r4, #1
cmp r5, #4
blt _0205ADFC
add sp, #0x14
mov r0, #0
pop {r4, r5, r6, r7, pc}
_0205AE14:
ldr r0, _0205AE9C ; =0x020FC824
lsl r1, r1, #1
ldrh r7, [r0, r1]
ldr r0, [sp, #0xc]
add r6, r5, #0
str r0, [sp, #8]
ldr r0, [sp]
str r0, [sp, #0x10]
add r0, #0xc
str r0, [sp, #0x10]
_0205AE28:
mov r0, #0x18
add r1, r7, #0
mul r1, r0
ldr r0, [sp]
add r4, r0, r1
ldrb r0, [r4, #0xd]
cmp r0, #0
beq _0205AE42
cmp r0, #2
beq _0205AE68
cmp r0, #4
beq _0205AE82
b _0205AE86
_0205AE42:
ldr r0, [sp, #0xc]
add r1, r0, r6
ldrb r0, [r1, #0x18]
cmp r0, #0
beq _0205AE86
mov r0, #2
strb r0, [r4, #0xc]
ldrb r1, [r1, #0x18]
mov r0, #0x7f
and r0, r1
strb r0, [r4, #0x14]
ldr r1, [sp, #8]
ldr r0, [sp, #4]
ldr r1, [r1]
bl sub_0202B01C
strb r0, [r4, #0xe]
mov r5, #1
b _0205AE86
_0205AE68:
ldr r0, [sp, #0xc]
add r0, r0, r6
ldrb r0, [r0, #0x18]
cmp r0, #0
bne _0205AE7E
ldr r0, [sp, #0x10]
add r1, r7, #0
mov r2, #3
bl sub_0205AEA0
b _0205AE86
_0205AE7E:
mov r5, #1
b _0205AE86
_0205AE82:
mov r0, #0
strb r0, [r4, #0xc]
_0205AE86:
ldr r0, [sp, #8]
add r6, r6, #1
add r0, r0, #4
add r7, r7, #1
str r0, [sp, #8]
cmp r6, #4
blt _0205AE28
add r0, r5, #0
add sp, #0x14
pop {r4, r5, r6, r7, pc}
nop
_0205AE9C: .word 0x020FC824
thumb_func_end sub_0205AD9C
thumb_func_start sub_0205AEA0
sub_0205AEA0: ; 0x0205AEA0
mov r3, #0x18
mul r3, r1
strb r2, [r0, r3]
bx lr
thumb_func_end sub_0205AEA0
thumb_func_start sub_0205AEA8
sub_0205AEA8: ; 0x0205AEA8
push {r4, r5, r6, r7, lr}
sub sp, #0x14
str r0, [sp]
add r5, r0, #0
str r0, [sp, #0x10]
add r0, #0xc
str r1, [sp, #4]
str r3, [sp, #8]
mov r4, #0
str r0, [sp, #0x10]
_0205AEBC:
ldr r0, [sp, #4]
add r1, r4, #0
bl sub_0205A1F4
add r6, r0, #0
beq _0205AED6
add r7, r6, #0
add r7, #0x50
add r0, r7, #0
str r0, [sp, #0xc]
add r0, #0x10
str r0, [sp, #0xc]
b _0205AEDC
_0205AED6:
mov r7, #0
add r0, r7, #0
str r0, [sp, #0xc]
_0205AEDC:
ldrb r0, [r5, #0xd]
cmp r0, #0
beq _0205AEEC
cmp r0, #2
beq _0205AF28
cmp r0, #4
beq _0205AF66
b _0205AF6A
_0205AEEC:
cmp r6, #0
beq _0205AF6A
ldr r0, [sp, #0xc]
bl sub_0202903C
strb r0, [r5, #0x14]
ldr r0, [sp, #0xc]
bl PlayerProfile_GetTrainerID
add r1, r0, #0
ldr r0, [sp, #8]
bl sub_0202B01C
strb r0, [r5, #0xe]
ldr r0, [r7]
ldr r3, [sp, #8]
str r0, [r5, #0x18]
ldr r0, [sp]
add r1, r4, #0
add r2, r6, #0
bl sub_0205AD9C
cmp r0, #0
beq _0205AF22
mov r0, #2
strb r0, [r5, #0xc]
b _0205AF6A
_0205AF22:
mov r0, #1
strb r0, [r5, #0xc]
b _0205AF6A
_0205AF28:
cmp r6, #0
bne _0205AF38
ldr r0, [sp, #0x10]
add r1, r4, #0
mov r2, #3
bl sub_0205AEA0
b _0205AF4A
_0205AF38:
ldr r1, [r7]
ldr r0, [r5, #0x18]
cmp r1, r0
beq _0205AF4A
ldr r0, [sp, #0x10]
add r1, r4, #0
mov r2, #3
bl sub_0205AEA0
_0205AF4A:
ldr r0, [sp]
ldr r3, [sp, #8]
add r1, r4, #0
add r2, r6, #0
bl sub_0205AD9C
cmp r0, #0
beq _0205AF6A
ldrb r0, [r5, #0x15]
cmp r0, #1
bne _0205AF6A
mov r0, #3
strb r0, [r5, #0xc]
b _0205AF6A
_0205AF66:
mov r0, #0
strb r0, [r5, #0xc]
_0205AF6A:
add r4, r4, #1
add r5, #0x18
cmp r4, #0xa
blt _0205AEBC
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205AEA8
thumb_func_start sub_0205AF78
sub_0205AF78: ; 0x0205AF78
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
str r0, [sp]
ldr r0, [r0, #8]
str r1, [sp, #4]
cmp r0, #0
bne _0205AF8A
bl GF_AssertFail
_0205AF8A:
ldr r0, [sp]
ldr r0, [r0, #8]
bl sub_0205C67C
str r0, [sp, #0xc]
ldr r0, [sp]
ldr r0, [r0, #8]
bl sub_0205C688
ldr r4, [sp]
str r0, [sp, #8]
add r6, r4, #0
mov r7, #0
add r6, #0xc
_0205AFA6:
ldr r0, [sp, #4]
add r1, r7, #1
bl sub_0205EE60
add r5, r0, #0
bne _0205AFB6
bl GF_AssertFail
_0205AFB6:
ldrb r0, [r4, #0xd]
cmp r0, #4
bhi _0205B0AA
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205AFC8: ; jump table
.short _0205AFD2 - _0205AFC8 - 2 ; case 0
.short _0205AFF2 - _0205AFC8 - 2 ; case 1
.short _0205B052 - _0205AFC8 - 2 ; case 2
.short _0205B07A - _0205AFC8 - 2 ; case 3
.short _0205B0A6 - _0205AFC8 - 2 ; case 4
_0205AFD2:
add r0, r5, #0
bl sub_02062108
cmp r0, #1
bne _0205B0AA
ldrb r0, [r4, #0xc]
sub r0, r0, #1
cmp r0, #1
bhi _0205B0AA
ldr r2, [sp, #0xc]
ldr r3, [sp, #8]
add r0, r6, #0
add r1, r5, #0
bl sub_0205B13C
b _0205B0AA
_0205AFF2:
add r0, r5, #0
bl sub_02062108
cmp r0, #1
bne _0205B0AA
ldrb r0, [r4, #0xc]
cmp r0, #3
bne _0205B012
mov r0, #0
strb r0, [r4, #0xd]
strb r0, [r4, #0xc]
add r0, r6, #0
mov r1, #1
bl sub_0205B0DC
b _0205B0AA
_0205B012:
add r0, r5, #0
bl sub_020621C0
add r0, r5, #0
mov r1, #0
bl sub_0205F6E0
ldrb r0, [r4, #0xc]
cmp r0, #1
bne _0205B048
ldrb r0, [r4, #0x15]
cmp r0, #0
bne _0205B048
add r0, r5, #0
mov r1, #3
bl sub_0205FC94
add r0, r5, #0
mov r1, #1
bl sub_0205F318
add r0, r5, #0
mov r1, #1
bl sub_0205F320
mov r0, #1
strb r0, [r4, #0x15]
_0205B048:
mov r0, #2
strb r0, [r4, #0xd]
mov r0, #0
strb r0, [r4, #0xc]
b _0205B0AA
_0205B052:
add r0, r5, #0
bl sub_02062108
cmp r0, #1
bne _0205B0AA
add r0, r6, #0
add r1, r5, #0
bl sub_0205B218
ldrb r0, [r4, #0xc]
cmp r0, #3
bne _0205B072
add r0, r6, #0
add r1, r5, #0
bl sub_0205B1E4
_0205B072:
add r0, r6, #0
bl sub_0205B118
b _0205B0AA
_0205B07A:
add r0, r5, #0
bl sub_02062108
cmp r0, #1
bne _0205B0AA
add r0, r5, #0
bl sub_020621C0
mov r0, #4
strb r0, [r4, #0xd]
mov r0, #0
strb r0, [r4, #0xc]
strb r0, [r4, #0x15]
add r0, r5, #0
mov r1, #1
bl sub_0205F690
add r0, r5, #0
mov r1, #0
bl sub_0205F6AC
b _0205B0AA
_0205B0A6:
mov r0, #0
strb r0, [r4, #0xd]
_0205B0AA:
add r7, r7, #1
add r4, #0x18
add r6, #0x18
cmp r7, #0x32
bge _0205B0B6
b _0205AFA6
_0205B0B6:
ldr r0, [sp]
ldr r0, [r0, #8]
bl sub_0205C6DC
add r1, r0, #0
ldr r2, _0205B0D8 ; =0x000004BC
ldr r0, [sp]
add r0, r0, r2
bl sub_0205B218
ldr r1, _0205B0D8 ; =0x000004BC
ldr r0, [sp]
add r0, r0, r1
bl sub_0205B118
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0205B0D8: .word 0x000004BC
thumb_func_end sub_0205AF78
thumb_func_start sub_0205B0DC
sub_0205B0DC: ; 0x0205B0DC
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x10]
add r4, r1, #0
cmp r0, #0
beq _0205B0FA
bl sub_02068CCC
cmp r0, #0
beq _0205B0F6
ldr r0, [r5, #0x10]
bl sub_02068B48
_0205B0F6:
mov r0, #0
str r0, [r5, #0x10]
_0205B0FA:
cmp r4, #0
beq _0205B116
ldr r0, [r5, #0x14]
cmp r0, #0
beq _0205B116
bl sub_02068CCC
cmp r0, #0
beq _0205B112
ldr r0, [r5, #0x14]
bl sub_02068B48
_0205B112:
mov r0, #0
str r0, [r5, #0x14]
_0205B116:
pop {r3, r4, r5, pc}
thumb_func_end sub_0205B0DC
thumb_func_start sub_0205B118
sub_0205B118: ; 0x0205B118
push {r4, lr}
add r4, r0, #0
ldrb r1, [r4, #4]
cmp r1, #0
beq _0205B138
ldrh r1, [r4, #6]
sub r1, r1, #1
strh r1, [r4, #6]
ldrh r1, [r4, #6]
cmp r1, #0
bne _0205B138
mov r1, #0
bl sub_0205B0DC
mov r0, #0
strb r0, [r4, #4]
_0205B138:
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205B118
thumb_func_start sub_0205B13C
sub_0205B13C: ; 0x0205B13C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
str r2, [sp, #4]
str r3, [sp, #8]
bl sub_0205F8E4
add r7, r0, #0
add r0, r4, #0
bl sub_0205F8EC
str r0, [sp, #0xc]
add r0, r4, #0
bl sub_0205F8F4
add r6, r0, #0
ldr r0, [sp, #4]
cmp r7, r0
bne _0205B16C
ldr r0, [sp, #8]
cmp r6, r0
beq _0205B1DC
_0205B16C:
ldr r0, _0205B1E0 ; =0x0000064E
bl PlaySE
ldrb r1, [r5, #8]
add r0, r4, #0
bl sub_0205E3AC
add r0, r5, #0
mov r1, #0
bl sub_0205B0DC
mov r0, #1
str r0, [sp]
ldr r2, [sp, #0xc]
add r0, r4, #0
add r1, r7, #0
add r3, r6, #0
bl sub_0205FC2C
add r0, r4, #0
mov r1, #1
bl sub_0205F288
add r0, r4, #0
mov r1, #0x44
bl sub_0206214C
add r0, r4, #0
mov r1, #0
bl sub_0205F690
add r0, r4, #0
mov r1, #1
bl sub_0205F6AC
mov r1, #1
strb r1, [r5, #1]
ldrb r0, [r5, #2]
cmp r0, #0
beq _0205B1DC
cmp r0, #1
bne _0205B1CA
add r0, r4, #0
bl ov01_021FD8E8
str r0, [r5, #0x14]
b _0205B1D8
_0205B1CA:
cmp r0, #2
blo _0205B1D8
add r0, r4, #0
mov r1, #2
bl ov01_021FD8E8
str r0, [r5, #0x14]
_0205B1D8:
mov r0, #0
strb r0, [r5, #2]
_0205B1DC:
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0205B1E0: .word 0x0000064E
thumb_func_end sub_0205B13C
thumb_func_start sub_0205B1E4
sub_0205B1E4: ; 0x0205B1E4
push {r3, r4, r5, lr}
add r5, r1, #0
add r4, r0, #0
add r0, r5, #0
mov r1, #0x43
bl sub_0206214C
add r0, r5, #0
mov r1, #1
bl sub_0205F6E0
add r0, r5, #0
mov r1, #0
bl sub_0205FC94
add r0, r4, #0
mov r1, #1
bl sub_0205B0DC
mov r0, #0
strb r0, [r4, #4]
strh r0, [r4, #6]
mov r0, #3
strb r0, [r4, #1]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205B1E4
thumb_func_start sub_0205B218
sub_0205B218: ; 0x0205B218
push {r4, lr}
add r4, r0, #0
ldrb r0, [r4, #3]
cmp r0, #1
bne _0205B23C
ldrb r0, [r4, #4]
cmp r0, #0
bne _0205B23C
add r0, r1, #0
bl ov01_02200730
str r0, [r4, #0x10]
mov r0, #0x1e
strh r0, [r4, #6]
mov r0, #0
strb r0, [r4, #3]
mov r0, #1
strb r0, [r4, #4]
_0205B23C:
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205B218
thumb_func_start sub_0205B240
sub_0205B240: ; 0x0205B240
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r6, r2, #0
add r7, r0, #0
cmp r5, r6
bge _0205B27A
_0205B24C:
add r0, r7, #0
add r1, r5, #0
bl sub_0205EE60
add r4, r0, #0
bne _0205B25C
bl GF_AssertFail
_0205B25C:
add r0, r4, #0
mov r1, #1
bl sub_0205F690
add r0, r4, #0
mov r1, #0
bl sub_0205F6AC
add r0, r4, #0
mov r1, #1
bl sub_0205F6E0
add r5, r5, #1
cmp r5, r6
blt _0205B24C
_0205B27A:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205B240
thumb_func_start sub_0205B27C
sub_0205B27C: ; 0x0205B27C
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
mov r1, #0
add r7, r0, #0
bl sub_0205EE60
add r4, r0, #0
bne _0205B290
bl GF_AssertFail
_0205B290:
add r0, r4, #0
bl sub_02062108
cmp r0, #1
bne _0205B336
bl sub_02037FCC
cmp r0, #0
bne _0205B2AA
bl sub_02037F94
cmp r0, #0
beq _0205B32C
_0205B2AA:
mov r6, #0
add r5, #0xc
_0205B2AE:
ldrb r0, [r5, #1]
cmp r0, #1
bne _0205B318
add r0, r7, #0
add r1, r6, #1
bl sub_0205EE60
add r4, r0, #0
bne _0205B2C4
bl GF_AssertFail
_0205B2C4:
ldrb r1, [r5, #8]
add r0, r4, #0
bl sub_0205E3AC
add r0, r4, #0
mov r1, #1
bl sub_0205F288
add r0, r4, #0
mov r1, #0x44
bl sub_0206214C
add r0, r4, #0
mov r1, #0
bl sub_0205F690
add r0, r4, #0
mov r1, #1
bl sub_0205F6AC
mov r0, #1
strb r0, [r5, #1]
ldrb r0, [r5, #2]
cmp r0, #0
beq _0205B318
cmp r0, #1
bne _0205B306
add r0, r4, #0
mov r1, #1
bl ov01_021FD8E8
str r0, [r5, #0x14]
b _0205B314
_0205B306:
cmp r0, #2
blo _0205B314
add r0, r4, #0
mov r1, #2
bl ov01_021FD8E8
str r0, [r5, #0x14]
_0205B314:
mov r0, #0
strb r0, [r5, #2]
_0205B318:
add r6, r6, #1
add r5, #0x18
cmp r6, #0xa
blt _0205B2AE
add r0, r7, #0
mov r1, #0xb
mov r2, #0x33
bl sub_0205B240
pop {r3, r4, r5, r6, r7, pc}
_0205B32C:
add r0, r7, #0
mov r1, #1
mov r2, #0x33
bl sub_0205B240
_0205B336:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205B27C
thumb_func_start sub_0205B338
sub_0205B338: ; 0x0205B338
push {r4, lr}
add r4, r0, #0
mov r0, #8
mov r1, #0x57
bl String_ctor
str r0, [r4]
mov r1, #0
add r0, r4, #0
str r1, [r4, #4]
add r0, #0x14
str r1, [r4, #8]
bl MailMsg_init_withBank
mov r0, #0
str r0, [r4, #0x10]
str r0, [r4, #0xc]
pop {r4, pc}
thumb_func_end sub_0205B338
thumb_func_start sub_0205B35C
sub_0205B35C: ; 0x0205B35C
push {r4, r5, r6, lr}
add r6, r0, #0
mov r4, #0
add r5, r6, #0
_0205B364:
add r0, r5, #0
bl sub_0205B338
add r4, r4, #1
add r5, #0x1c
cmp r4, #0x1e
blt _0205B364
mov r0, #0xd2
mov r1, #0
lsl r0, r0, #2
str r1, [r6, r0]
add r0, r0, #4
str r1, [r6, r0]
pop {r4, r5, r6, pc}
thumb_func_end sub_0205B35C
thumb_func_start sub_0205B380
sub_0205B380: ; 0x0205B380
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
bl FreeToHeap
ldr r0, [r4, #4]
cmp r0, #0
beq _0205B394
bl String_dtor
_0205B394:
ldr r0, [r4, #8]
cmp r0, #0
beq _0205B39E
bl String_dtor
_0205B39E:
pop {r4, pc}
thumb_func_end sub_0205B380
thumb_func_start sub_0205B3A0
sub_0205B3A0: ; 0x0205B3A0
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_0205B3A6:
add r0, r5, #0
bl sub_0205B380
add r4, r4, #1
add r5, #0x1c
cmp r4, #0x1e
blt _0205B3A6
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205B3A0
thumb_func_start sub_0205B3B8
sub_0205B3B8: ; 0x0205B3B8
push {r4, lr}
mov r1, #0x35
lsl r1, r1, #4
bl AllocFromHeap
add r4, r0, #0
bl sub_0205B35C
add r0, r4, #0
pop {r4, pc}
thumb_func_end sub_0205B3B8
thumb_func_start sub_0205B3CC
sub_0205B3CC: ; 0x0205B3CC
push {r4, lr}
add r4, r0, #0
bl sub_0205B3A0
add r0, r4, #0
bl FreeToHeap
pop {r4, pc}
thumb_func_end sub_0205B3CC
thumb_func_start sub_0205B3DC
sub_0205B3DC: ; 0x0205B3DC
push {r3, r4, r5, r6, r7, lr}
add r7, r2, #0
lsl r0, r0, #0x1d
ldr r2, _0205B410 ; =0x020FCA24
lsr r0, r0, #0x1b
add r5, r2, r0
lsl r2, r1, #3
lsl r1, r2, #1
ldr r0, _0205B414 ; =0x020FCA44
add r1, r2, r1
mov r4, #0
add r6, r0, r1
_0205B3F4:
ldrb r3, [r5]
add r0, r7, #0
add r1, r4, #0
lsl r2, r3, #1
add r2, r3, r2
add r2, r6, r2
ldrb r2, [r2, #1]
bl BufferTrainerClassName
add r4, r4, #1
add r5, r5, #1
cmp r4, #4
blt _0205B3F4
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0205B410: .word 0x020FCA24
_0205B414: .word 0x020FCA44
thumb_func_end sub_0205B3DC
thumb_func_start sub_0205B418
sub_0205B418: ; 0x0205B418
lsl r0, r0, #0x1d
lsr r3, r0, #0x1b
ldr r0, _0205B430 ; =0x020FCA24
add r0, r0, r3
ldrb r2, [r2, r0]
lsl r0, r1, #3
add r1, r2, r0
lsl r0, r1, #1
add r1, r1, r0
ldr r0, _0205B434 ; =0x020FCA44
ldrb r0, [r0, r1]
bx lr
.balign 4, 0
_0205B430: .word 0x020FCA24
_0205B434: .word 0x020FCA44
thumb_func_end sub_0205B418
thumb_func_start sub_0205B438
sub_0205B438: ; 0x0205B438
push {r3, r4}
lsl r4, r0, #3
lsl r0, r4, #1
ldr r2, _0205B460 ; =0x020FCA44
add r0, r4, r0
mov r3, #0
add r2, r2, r0
_0205B446:
ldrb r0, [r2]
cmp r1, r0
bne _0205B452
add r0, r3, r4
pop {r3, r4}
bx lr
_0205B452:
add r3, r3, #1
add r2, r2, #3
cmp r3, #8
blt _0205B446
mov r0, #0
pop {r3, r4}
bx lr
.balign 4, 0
_0205B460: .word 0x020FCA44
thumb_func_end sub_0205B438
thumb_func_start sub_0205B464
sub_0205B464: ; 0x0205B464
ldr r3, _0205B468 ; =sub_0205B438
bx r3
.balign 4, 0
_0205B468: .word sub_0205B438
thumb_func_end sub_0205B464
thumb_func_start sub_0205B46C
sub_0205B46C: ; 0x0205B46C
push {r4, lr}
add r4, r2, #0
bl sub_0205B438
cmp r4, #0
beq _0205B49A
cmp r4, #1
beq _0205B48A
cmp r4, #2
bne _0205B494
lsl r1, r0, #1
add r1, r0, r1
ldr r0, _0205B49C ; =0x020FCA45
ldrb r0, [r0, r1]
pop {r4, pc}
_0205B48A:
lsl r1, r0, #1
add r1, r0, r1
ldr r0, _0205B4A0 ; =0x020FCA46
ldrb r0, [r0, r1]
pop {r4, pc}
_0205B494:
bl GF_AssertFail
mov r0, #0
_0205B49A:
pop {r4, pc}
.balign 4, 0
_0205B49C: .word 0x020FCA45
_0205B4A0: .word 0x020FCA46
thumb_func_end sub_0205B46C
thumb_func_start sub_0205B4A4
sub_0205B4A4: ; 0x0205B4A4
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
mov r0, #0x54
mov r1, #0xb
add r2, sp, #0
add r3, r5, #0
bl GfGfxLoader_GetPlttData
mov r1, #9
add r4, r0, #0
add r0, r5, #0
lsl r1, r1, #6
bl AllocFromHeap
add r5, r0, #0
ldr r0, [sp]
mov r2, #0
ldr r3, [r0, #0xc]
mov r0, #1
add r6, r5, #0
lsl r0, r0, #8
_0205B4D0:
ldrh r1, [r3]
add r2, r2, #1
add r3, r3, #2
strh r1, [r6]
add r6, r6, #2
cmp r2, r0
blt _0205B4D0
add r0, r4, #0
bl FreeToHeap
add r0, r5, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205B4A4
thumb_func_start sub_0205B4EC
sub_0205B4EC: ; 0x0205B4EC
push {r4, lr}
add r4, r0, #0
cmp r1, #1
bne _0205B4F8
bl sub_02020080
_0205B4F8:
mov r1, #0x1a
add r0, r4, #0
lsl r1, r1, #4
mov r2, #4
bl sub_02003030
mov r1, #6
add r0, r4, #0
lsl r1, r1, #6
mov r2, #4
bl sub_0200304C
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205B4EC
thumb_func_start sub_0205B514
sub_0205B514: ; 0x0205B514
push {lr}
sub sp, #0x14
cmp r2, #3
bne _0205B53C
mov r2, #0x13
str r2, [sp]
mov r2, #0x1b
str r2, [sp, #4]
mov r2, #4
str r2, [sp, #8]
mov r2, #0xc
str r2, [sp, #0xc]
ldr r2, _0205B560 ; =0x00000237
mov r3, #2
str r2, [sp, #0x10]
mov r2, #3
bl sub_0201D40C
add sp, #0x14
pop {pc}
_0205B53C:
mov r2, #0x13
str r2, [sp]
mov r2, #0x1b
str r2, [sp, #4]
mov r2, #4
str r2, [sp, #8]
mov r2, #0xc
str r2, [sp, #0xc]
mov r2, #0x65
lsl r2, r2, #2
str r2, [sp, #0x10]
mov r2, #7
mov r3, #2
bl sub_0201D40C
add sp, #0x14
pop {pc}
nop
_0205B560: .word 0x00000237
thumb_func_end sub_0205B514
thumb_func_start sub_0205B564
sub_0205B564: ; 0x0205B564
push {r4, r5, r6, lr}
sub sp, #8
add r4, r1, #0
add r5, r0, #0
bl GetWindowBgId
add r6, r0, #0
add r0, r4, #0
bl sub_0202ADCC
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #4
str r0, [sp, #4]
ldr r0, [r5]
ldr r2, _0205B5A4 ; =0x000003E2
add r1, r6, #0
mov r3, #0xa
bl sub_0200E644
add r0, r5, #0
bl sub_0205B5A8
ldr r2, _0205B5A4 ; =0x000003E2
add r0, r5, #0
mov r1, #0
mov r3, #0xa
bl sub_0200E998
add sp, #8
pop {r4, r5, r6, pc}
.balign 4, 0
_0205B5A4: .word 0x000003E2
thumb_func_end sub_0205B564
thumb_func_start sub_0205B5A8
sub_0205B5A8: ; 0x0205B5A8
ldr r3, _0205B5B0 ; =FillWindowPixelBuffer
mov r1, #0xf
bx r3
nop
_0205B5B0: .word FillWindowPixelBuffer
thumb_func_end sub_0205B5A8
thumb_func_start sub_0205B5B4
sub_0205B5B4: ; 0x0205B5B4
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r0, #0
add r0, r3, #0
add r4, r1, #0
add r6, r2, #0
bl TextFlags_SetCanABSpeedUpPrint
mov r0, #0
bl sub_02002B50
mov r0, #0
bl sub_02002B8C
add r0, r6, #0
bl sub_0202AD3C
mov r3, #0
str r3, [sp]
str r0, [sp, #4]
add r0, r5, #0
mov r1, #1
add r2, r4, #0
str r3, [sp, #8]
bl AddTextPrinterParameterized
add sp, #0xc
pop {r3, r4, r5, r6, pc}
thumb_func_end sub_0205B5B4
thumb_func_start sub_0205B5EC
sub_0205B5EC: ; 0x0205B5EC
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
add r0, sp, #0x10
ldrb r0, [r0, #0x10]
add r6, r1, #0
add r7, r2, #0
add r4, r3, #0
bl TextFlags_SetCanABSpeedUpPrint
ldr r0, [sp, #0x24]
bl sub_02002B50
mov r0, #0
bl sub_02002B8C
mov r3, #0
str r3, [sp]
str r4, [sp, #4]
add r0, r5, #0
add r1, r7, #0
add r2, r6, #0
str r3, [sp, #8]
bl AddTextPrinterParameterized
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205B5EC
thumb_func_start sub_0205B624
sub_0205B624: ; 0x0205B624
push {r3, lr}
bl sub_02020094
cmp r0, #0
bne _0205B632
mov r0, #1
b _0205B634
_0205B632:
mov r0, #0
_0205B634:
lsl r0, r0, #0x18
lsr r0, r0, #0x18
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205B624
thumb_func_start sub_0205B63C
sub_0205B63C: ; 0x0205B63C
push {r4, r5, lr}
sub sp, #0x14
cmp r2, #1
bhi _0205B64A
mov r4, #9
mov r5, #0x14
b _0205B64E
_0205B64A:
mov r4, #2
mov r5, #0x1b
_0205B64E:
cmp r3, #3
bne _0205B676
mov r2, #0x13
str r2, [sp]
lsl r2, r5, #0x18
lsr r2, r2, #0x18
str r2, [sp, #4]
mov r2, #4
str r2, [sp, #8]
mov r2, #9
str r2, [sp, #0xc]
ldr r2, _0205B69C ; =0x00000237
lsl r3, r4, #0x18
str r2, [sp, #0x10]
mov r2, #3
lsr r3, r3, #0x18
bl sub_0201D40C
add sp, #0x14
pop {r4, r5, pc}
_0205B676:
mov r2, #0x13
str r2, [sp]
lsl r2, r5, #0x18
lsr r2, r2, #0x18
str r2, [sp, #4]
mov r2, #4
str r2, [sp, #8]
mov r2, #9
str r2, [sp, #0xc]
mov r2, #0x65
lsl r2, r2, #2
lsl r3, r4, #0x18
str r2, [sp, #0x10]
mov r2, #7
lsr r3, r3, #0x18
bl sub_0201D40C
add sp, #0x14
pop {r4, r5, pc}
.balign 4, 0
_0205B69C: .word 0x00000237
thumb_func_end sub_0205B63C
thumb_func_start sub_0205B6A0
sub_0205B6A0: ; 0x0205B6A0
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r4, r1, #0
add r5, r0, #0
add r6, r2, #0
bl GetWindowBgId
add r1, r0, #0
lsl r0, r4, #0x18
lsr r0, r0, #0x18
str r0, [sp]
str r6, [sp, #4]
mov r0, #4
str r0, [sp, #8]
ldr r0, [r5]
ldr r2, _0205B6E4 ; =0x000002A3
mov r3, #9
bl sub_0200EC0C
add r0, r5, #0
mov r1, #0xf
bl FillWindowPixelBuffer
lsl r0, r4, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldr r2, _0205B6E4 ; =0x000002A3
add r0, r5, #0
mov r1, #0
mov r3, #9
bl sub_0200F004
add sp, #0xc
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_0205B6E4: .word 0x000002A3
thumb_func_end sub_0205B6A0
thumb_func_start sub_0205B6E8
sub_0205B6E8: ; 0x0205B6E8
cmp r0, #2
bne _0205B6F0
mov r0, #1
bx lr
_0205B6F0:
mov r0, #0
bx lr
thumb_func_end sub_0205B6E8
thumb_func_start sub_0205B6F4
sub_0205B6F4: ; 0x0205B6F4
cmp r0, #3
bne _0205B6FC
mov r0, #1
bx lr
_0205B6FC:
mov r0, #0
bx lr
thumb_func_end sub_0205B6F4
thumb_func_start sub_0205B700
sub_0205B700: ; 0x0205B700
cmp r0, #0x80
bne _0205B708
mov r0, #1
bx lr
_0205B708:
mov r0, #0
bx lr
thumb_func_end sub_0205B700
thumb_func_start sub_0205B70C
sub_0205B70C: ; 0x0205B70C
cmp r0, #0x69
bne _0205B714
mov r0, #1
bx lr
_0205B714:
mov r0, #0
bx lr
thumb_func_end sub_0205B70C
thumb_func_start sub_0205B718
sub_0205B718: ; 0x0205B718
cmp r0, #0x62
bne _0205B720
mov r0, #1
bx lr
_0205B720:
mov r0, #0
bx lr
thumb_func_end sub_0205B718
thumb_func_start sub_0205B724
sub_0205B724: ; 0x0205B724
cmp r0, #0x63
bne _0205B72C
mov r0, #1
bx lr
_0205B72C:
mov r0, #0
bx lr
thumb_func_end sub_0205B724
thumb_func_start sub_0205B730
sub_0205B730: ; 0x0205B730
cmp r0, #0x64
bne _0205B738
mov r0, #1
bx lr
_0205B738:
mov r0, #0
bx lr
thumb_func_end sub_0205B730
thumb_func_start sub_0205B73C
sub_0205B73C: ; 0x0205B73C
cmp r0, #0x65
bne _0205B744
mov r0, #1
bx lr
_0205B744:
mov r0, #0
bx lr
thumb_func_end sub_0205B73C
thumb_func_start sub_0205B748
sub_0205B748: ; 0x0205B748
cmp r0, #0x6c
bne _0205B750
mov r0, #1
bx lr
_0205B750:
mov r0, #0
bx lr
thumb_func_end sub_0205B748
thumb_func_start sub_0205B754
sub_0205B754: ; 0x0205B754
cmp r0, #0x6d
bne _0205B75C
mov r0, #1
bx lr
_0205B75C:
mov r0, #0
bx lr
thumb_func_end sub_0205B754
thumb_func_start sub_0205B760
sub_0205B760: ; 0x0205B760
cmp r0, #0x6e
bne _0205B768
mov r0, #1
bx lr
_0205B768:
mov r0, #0
bx lr
thumb_func_end sub_0205B760
thumb_func_start sub_0205B76C
sub_0205B76C: ; 0x0205B76C
cmp r0, #0x6f
bne _0205B774
mov r0, #1
bx lr
_0205B774:
mov r0, #0
bx lr
thumb_func_end sub_0205B76C
thumb_func_start sub_0205B778
sub_0205B778: ; 0x0205B778
ldr r1, _0205B788 ; =0x020FCA74
ldrb r1, [r1, r0]
mov r0, #1
tst r1, r0
bne _0205B784
mov r0, #0
_0205B784:
bx lr
nop
_0205B788: .word 0x020FCA74
thumb_func_end sub_0205B778
thumb_func_start sub_0205B78C
sub_0205B78C: ; 0x0205B78C
cmp r0, #0x22
bne _0205B794
mov r0, #1
bx lr
_0205B794:
mov r0, #0
bx lr
thumb_func_end sub_0205B78C
thumb_func_start sub_0205B798
sub_0205B798: ; 0x0205B798
cmp r0, #0x21
bne _0205B7A0
mov r0, #1
bx lr
_0205B7A0:
mov r0, #0
bx lr
thumb_func_end sub_0205B798
thumb_func_start sub_0205B7A4
sub_0205B7A4: ; 0x0205B7A4
cmp r0, #0x17
bne _0205B7AC
mov r0, #1
bx lr
_0205B7AC:
mov r0, #0
bx lr
thumb_func_end sub_0205B7A4
thumb_func_start sub_0205B7B0
sub_0205B7B0: ; 0x0205B7B0
cmp r0, #0x3a
bne _0205B7B8
mov r0, #1
bx lr
_0205B7B8:
mov r0, #0
bx lr
thumb_func_end sub_0205B7B0
thumb_func_start sub_0205B7BC
sub_0205B7BC: ; 0x0205B7BC
cmp r0, #0x3b
bne _0205B7C4
mov r0, #1
bx lr
_0205B7C4:
mov r0, #0
bx lr
thumb_func_end sub_0205B7BC
thumb_func_start sub_0205B7C8
sub_0205B7C8: ; 0x0205B7C8
cmp r0, #0x39
bne _0205B7D0
mov r0, #1
bx lr
_0205B7D0:
mov r0, #0
bx lr
thumb_func_end sub_0205B7C8
thumb_func_start sub_0205B7D4
sub_0205B7D4: ; 0x0205B7D4
cmp r0, #0x38
bne _0205B7DC
mov r0, #1
bx lr
_0205B7DC:
mov r0, #0
bx lr
thumb_func_end sub_0205B7D4
thumb_func_start sub_0205B7E0
sub_0205B7E0: ; 0x0205B7E0
cmp r0, #0x83
bne _0205B7E8
mov r0, #1
bx lr
_0205B7E8:
mov r0, #0
bx lr
thumb_func_end sub_0205B7E0
thumb_func_start sub_0205B7EC
sub_0205B7EC: ; 0x0205B7EC
cmp r0, #0x85
bne _0205B7F4
mov r0, #1
bx lr
_0205B7F4:
mov r0, #0
bx lr
thumb_func_end sub_0205B7EC
thumb_func_start sub_0205B7F8
sub_0205B7F8: ; 0x0205B7F8
cmp r0, #0x6a
bne _0205B800
mov r0, #1
bx lr
_0205B800:
mov r0, #0
bx lr
thumb_func_end sub_0205B7F8
thumb_func_start sub_0205B804
sub_0205B804: ; 0x0205B804
cmp r0, #0x6b
bne _0205B80C
mov r0, #1
bx lr
_0205B80C:
mov r0, #0
bx lr
thumb_func_end sub_0205B804
thumb_func_start sub_0205B810
sub_0205B810: ; 0x0205B810
cmp r0, #0x5e
bne _0205B818
mov r0, #1
bx lr
_0205B818:
mov r0, #0
bx lr
thumb_func_end sub_0205B810
thumb_func_start sub_0205B81C
sub_0205B81C: ; 0x0205B81C
cmp r0, #0x5f
bne _0205B824
mov r0, #1
bx lr
_0205B824:
mov r0, #0
bx lr
thumb_func_end sub_0205B81C
thumb_func_start sub_0205B828
sub_0205B828: ; 0x0205B828
cmp r0, #0x20
bne _0205B830
mov r0, #1
bx lr
_0205B830:
mov r0, #0
bx lr
thumb_func_end sub_0205B828
thumb_func_start sub_0205B834
sub_0205B834: ; 0x0205B834
cmp r0, #0x4b
bne _0205B83C
mov r0, #1
bx lr
_0205B83C:
mov r0, #0
bx lr
thumb_func_end sub_0205B834
thumb_func_start sub_0205B840
sub_0205B840: ; 0x0205B840
cmp r0, #0x4c
bne _0205B848
mov r0, #1
bx lr
_0205B848:
mov r0, #0
bx lr
thumb_func_end sub_0205B840
thumb_func_start sub_0205B84C
sub_0205B84C: ; 0x0205B84C
cmp r0, #0xe0
bne _0205B854
mov r0, #1
bx lr
_0205B854:
mov r0, #0
bx lr
thumb_func_end sub_0205B84C
thumb_func_start sub_0205B858
sub_0205B858: ; 0x0205B858
cmp r0, #0xea
bne _0205B860
mov r0, #1
bx lr
_0205B860:
mov r0, #0
bx lr
thumb_func_end sub_0205B858
thumb_func_start sub_0205B864
sub_0205B864: ; 0x0205B864
cmp r0, #0xe1
bne _0205B86C
mov r0, #1
bx lr
_0205B86C:
mov r0, #0
bx lr
thumb_func_end sub_0205B864
thumb_func_start sub_0205B870
sub_0205B870: ; 0x0205B870
cmp r0, #0xe2
bne _0205B878
mov r0, #1
bx lr
_0205B878:
mov r0, #0
bx lr
thumb_func_end sub_0205B870
thumb_func_start sub_0205B87C
sub_0205B87C: ; 0x0205B87C
cmp r0, #0xe4
bne _0205B884
mov r0, #1
bx lr
_0205B884:
mov r0, #0
bx lr
thumb_func_end sub_0205B87C
thumb_func_start sub_0205B888
sub_0205B888: ; 0x0205B888
cmp r0, #0xe5
bne _0205B890
mov r0, #1
bx lr
_0205B890:
mov r0, #0
bx lr
thumb_func_end sub_0205B888
thumb_func_start sub_0205B894
sub_0205B894: ; 0x0205B894
cmp r0, #0xeb
bne _0205B89C
mov r0, #1
bx lr
_0205B89C:
mov r0, #0
bx lr
thumb_func_end sub_0205B894
thumb_func_start sub_0205B8A0
sub_0205B8A0: ; 0x0205B8A0
cmp r0, #0xec
bne _0205B8A8
mov r0, #1
bx lr
_0205B8A8:
mov r0, #0
bx lr
thumb_func_end sub_0205B8A0
thumb_func_start sub_0205B8AC
sub_0205B8AC: ; 0x0205B8AC
cmp r0, #0xa4
bne _0205B8B4
mov r0, #1
bx lr
_0205B8B4:
mov r0, #0
bx lr
thumb_func_end sub_0205B8AC
thumb_func_start sub_0205B8B8
sub_0205B8B8: ; 0x0205B8B8
cmp r0, #0xa8
bne _0205B8C0
mov r0, #1
bx lr
_0205B8C0:
mov r0, #0
bx lr
thumb_func_end sub_0205B8B8
thumb_func_start sub_0205B8C4
sub_0205B8C4: ; 0x0205B8C4
cmp r0, #0xa8
bne _0205B8CC
mov r0, #1
bx lr
_0205B8CC:
mov r0, #0
bx lr
thumb_func_end sub_0205B8C4
thumb_func_start sub_0205B8D0
sub_0205B8D0: ; 0x0205B8D0
cmp r0, #8
bne _0205B8D8
mov r0, #1
bx lr
_0205B8D8:
mov r0, #0
bx lr
thumb_func_end sub_0205B8D0
thumb_func_start sub_0205B8DC
sub_0205B8DC: ; 0x0205B8DC
cmp r0, #0x13
bne _0205B8E4
mov r0, #1
bx lr
_0205B8E4:
mov r0, #0
bx lr
thumb_func_end sub_0205B8DC
thumb_func_start sub_0205B8E8
sub_0205B8E8: ; 0x0205B8E8
cmp r0, #0x11
bne _0205B8F0
mov r0, #1
bx lr
_0205B8F0:
mov r0, #0
bx lr
thumb_func_end sub_0205B8E8
thumb_func_start sub_0205B8F4
sub_0205B8F4: ; 0x0205B8F4
add r0, #0xce
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r3, #0
cmp r0, #0x17
bhi _0205B90E
mov r1, #1
add r2, r1, #0
lsl r2, r0
ldr r0, _0205B914 ; =0x0080040D
tst r0, r2
beq _0205B90E
add r3, r1, #0
_0205B90E:
add r0, r3, #0
bx lr
nop
_0205B914: .word 0x0080040D
thumb_func_end sub_0205B8F4
thumb_func_start sub_0205B918
sub_0205B918: ; 0x0205B918
add r0, #0xcd
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r3, #0
cmp r0, #0x16
bhi _0205B932
mov r1, #1
add r2, r1, #0
lsl r2, r0
ldr r0, _0205B938 ; =0x00400419
tst r0, r2
beq _0205B932
add r3, r1, #0
_0205B932:
add r0, r3, #0
bx lr
nop
_0205B938: .word 0x00400419
thumb_func_end sub_0205B918
thumb_func_start sub_0205B93C
sub_0205B93C: ; 0x0205B93C
add r0, #0xcf
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r3, #0
cmp r0, #0x19
bhi _0205B956
mov r1, #1
add r2, r1, #0
lsl r2, r0
ldr r0, _0205B95C ; =0x02000051
tst r0, r2
beq _0205B956
add r3, r1, #0
_0205B956:
add r0, r3, #0
bx lr
nop
_0205B95C: .word 0x02000051
thumb_func_end sub_0205B93C
thumb_func_start sub_0205B960
sub_0205B960: ; 0x0205B960
add r0, #0xd0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r3, #0
cmp r0, #0x1a
bhi _0205B97A
mov r1, #1
add r2, r1, #0
lsl r2, r0
ldr r0, _0205B980 ; =0x04000051
tst r0, r2
beq _0205B97A
add r3, r1, #0
_0205B97A:
add r0, r3, #0
bx lr
nop
_0205B980: .word 0x04000051
thumb_func_end sub_0205B960
thumb_func_start sub_0205B984
sub_0205B984: ; 0x0205B984
cmp r0, #0x16
beq _0205B98C
cmp r0, #0x1d
bne _0205B990
_0205B98C:
mov r0, #1
bx lr
_0205B990:
mov r0, #0
bx lr
thumb_func_end sub_0205B984
thumb_func_start sub_0205B994
sub_0205B994: ; 0x0205B994
ldr r1, _0205B9A8 ; =0x020FCA74
ldrb r1, [r1, r0]
mov r0, #2
tst r0, r1
beq _0205B9A2
mov r0, #1
bx lr
_0205B9A2:
mov r0, #0
bx lr
nop
_0205B9A8: .word 0x020FCA74
thumb_func_end sub_0205B994
thumb_func_start sub_0205B9AC
sub_0205B9AC: ; 0x0205B9AC
cmp r0, #0x86
bne _0205B9B4
mov r0, #1
bx lr
_0205B9B4:
mov r0, #0
bx lr
thumb_func_end sub_0205B9AC
thumb_func_start sub_0205B9B8
sub_0205B9B8: ; 0x0205B9B8
add r0, #0xf0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r3, #0
cmp r0, #0x1d
bhi _0205B9D2
mov r1, #1
add r2, r1, #0
lsl r2, r0
ldr r0, _0205B9D8 ; =0x20012041
tst r0, r2
beq _0205B9D2
add r3, r1, #0
_0205B9D2:
add r0, r3, #0
bx lr
nop
_0205B9D8: .word 0x20012041
thumb_func_end sub_0205B9B8
thumb_func_start sub_0205B9DC
sub_0205B9DC: ; 0x0205B9DC
cmp r0, #0x40
bne _0205B9E4
mov r0, #1
bx lr
_0205B9E4:
mov r0, #0
bx lr
thumb_func_end sub_0205B9DC
thumb_func_start sub_0205B9E8
sub_0205B9E8: ; 0x0205B9E8
cmp r0, #0x41
bne _0205B9F0
mov r0, #1
bx lr
_0205B9F0:
mov r0, #0
bx lr
thumb_func_end sub_0205B9E8
thumb_func_start sub_0205B9F4
sub_0205B9F4: ; 0x0205B9F4
cmp r0, #0x42
bne _0205B9FC
mov r0, #1
bx lr
_0205B9FC:
mov r0, #0
bx lr
thumb_func_end sub_0205B9F4
thumb_func_start sub_0205BA00
sub_0205BA00: ; 0x0205BA00
cmp r0, #0x43
bne _0205BA08
mov r0, #1
bx lr
_0205BA08:
mov r0, #0
bx lr
thumb_func_end sub_0205BA00
thumb_func_start sub_0205BA0C
sub_0205BA0C: ; 0x0205BA0C
cmp r0, #0x4d
bne _0205BA14
mov r0, #1
bx lr
_0205BA14:
mov r0, #0
bx lr
thumb_func_end sub_0205BA0C
thumb_func_start sub_0205BA18
sub_0205BA18: ; 0x0205BA18
cmp r0, #0x67
bne _0205BA20
mov r0, #1
bx lr
_0205BA20:
mov r0, #0
bx lr
thumb_func_end sub_0205BA18
thumb_func_start sub_0205BA24
sub_0205BA24: ; 0x0205BA24
cmp r0, #0x70
bne _0205BA2C
mov r0, #1
bx lr
_0205BA2C:
mov r0, #0
bx lr
thumb_func_end sub_0205BA24
thumb_func_start sub_0205BA30
sub_0205BA30: ; 0x0205BA30
add r0, #0x8f
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r0, #2
bhi _0205BA3E
mov r0, #1
bx lr
_0205BA3E:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end sub_0205BA30
thumb_func_start sub_0205BA44
sub_0205BA44: ; 0x0205BA44
cmp r0, #0x71
beq _0205BA4C
cmp r0, #0x72
bne _0205BA50
_0205BA4C:
mov r0, #1
bx lr
_0205BA50:
mov r0, #0
bx lr
thumb_func_end sub_0205BA44
thumb_func_start sub_0205BA54
sub_0205BA54: ; 0x0205BA54
cmp r0, #0x73
bne _0205BA5C
mov r0, #1
bx lr
_0205BA5C:
mov r0, #0
bx lr
thumb_func_end sub_0205BA54
thumb_func_start sub_0205BA60
sub_0205BA60: ; 0x0205BA60
cmp r0, #0xff
bne _0205BA68
mov r0, #1
bx lr
_0205BA68:
mov r0, #0
bx lr
thumb_func_end sub_0205BA60
thumb_func_start sub_0205BA6C
sub_0205BA6C: ; 0x0205BA6C
mov r0, #0xff
bx lr
thumb_func_end sub_0205BA6C
thumb_func_start sub_0205BA70
sub_0205BA70: ; 0x0205BA70
add r0, #0xe3
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r3, #0
cmp r0, #0x10
bhi _0205BA8A
mov r1, #1
add r2, r1, #0
lsl r2, r0
ldr r0, _0205BA90 ; =0x00010009
tst r0, r2
beq _0205BA8A
add r3, r1, #0
_0205BA8A:
add r0, r3, #0
bx lr
nop
_0205BA90: .word 0x00010009
thumb_func_end sub_0205BA70
thumb_func_start sub_0205BA94
sub_0205BA94: ; 0x0205BA94
cmp r0, #0xa9
bne _0205BA9C
mov r0, #1
bx lr
_0205BA9C:
mov r0, #0
bx lr
thumb_func_end sub_0205BA94
thumb_func_start sub_0205BAA0
sub_0205BAA0: ; 0x0205BAA0
cmp r0, #0x3c
bne _0205BAA8
mov r0, #1
bx lr
_0205BAA8:
mov r0, #0
bx lr
thumb_func_end sub_0205BAA0
thumb_func_start sub_0205BAAC
sub_0205BAAC: ; 0x0205BAAC
cmp r0, #0x3d
bne _0205BAB4
mov r0, #1
bx lr
_0205BAB4:
mov r0, #0
bx lr
thumb_func_end sub_0205BAAC
thumb_func_start sub_0205BAB8
sub_0205BAB8: ; 0x0205BAB8
cmp r0, #0x3e
bne _0205BAC0
mov r0, #1
bx lr
_0205BAC0:
mov r0, #0
bx lr
thumb_func_end sub_0205BAB8
thumb_func_start sub_0205BAC4
sub_0205BAC4: ; 0x0205BAC4
cmp r0, #0x2c
bne _0205BACC
mov r0, #1
bx lr
_0205BACC:
mov r0, #0
bx lr
thumb_func_end sub_0205BAC4
thumb_func_start sub_0205BAD0
sub_0205BAD0: ; 0x0205BAD0
cmp r0, #0
beq _0205BADC
cmp r0, #0x21
beq _0205BADC
cmp r0, #0xa4
bne _0205BAE0
_0205BADC:
mov r0, #1
bx lr
_0205BAE0:
mov r0, #0
bx lr
thumb_func_end sub_0205BAD0
thumb_func_start sub_0205BAE4
sub_0205BAE4: ; 0x0205BAE4
ldr r3, _0205BAE8 ; =sub_0205B778
bx r3
.balign 4, 0
_0205BAE8: .word sub_0205B778
thumb_func_end sub_0205BAE4
thumb_func_start sub_0205BAEC
sub_0205BAEC: ; 0x0205BAEC
cmp r0, #0x23
bne _0205BAF4
mov r0, #1
bx lr
_0205BAF4:
mov r0, #0
bx lr
thumb_func_end sub_0205BAEC
thumb_func_start sub_0205BAF8
sub_0205BAF8: ; 0x0205BAF8
cmp r0, #6
bne _0205BB00
mov r0, #1
bx lr
_0205BB00:
mov r0, #0
bx lr
thumb_func_end sub_0205BAF8
thumb_func_start sub_0205BB04
sub_0205BB04: ; 0x0205BB04
push {r4, lr}
add r4, r0, #0
bl sub_0205BA44
cmp r0, #0
bne _0205BB14
cmp r4, #0x2e
bne _0205BB18
_0205BB14:
mov r0, #1
pop {r4, pc}
_0205BB18:
mov r0, #0
pop {r4, pc}
thumb_func_end sub_0205BB04
thumb_func_start sub_0205BB1C
sub_0205BB1C: ; 0x0205BB1C
push {r4, lr}
mov r1, #0xa
add r4, r0, #0
bl _u32_div_f
cmp r0, #0
bne _0205BB2E
mov r0, #1
pop {r4, pc}
_0205BB2E:
add r0, r4, #0
mov r1, #0x64
bl _u32_div_f
cmp r0, #0
bne _0205BB3E
mov r0, #2
pop {r4, pc}
_0205BB3E:
mov r1, #0xfa
add r0, r4, #0
lsl r1, r1, #2
bl _u32_div_f
cmp r0, #0
bne _0205BB50
mov r0, #3
pop {r4, pc}
_0205BB50:
ldr r1, _0205BBA4 ; =0x00002710
add r0, r4, #0
bl _u32_div_f
cmp r0, #0
bne _0205BB60
mov r0, #4
pop {r4, pc}
_0205BB60:
ldr r1, _0205BBA8 ; =0x000186A0
add r0, r4, #0
bl _u32_div_f
cmp r0, #0
bne _0205BB70
mov r0, #5
pop {r4, pc}
_0205BB70:
ldr r1, _0205BBAC ; =0x000F4240
add r0, r4, #0
bl _u32_div_f
cmp r0, #0
bne _0205BB80
mov r0, #6
pop {r4, pc}
_0205BB80:
ldr r1, _0205BBB0 ; =0x00989680
add r0, r4, #0
bl _u32_div_f
cmp r0, #0
bne _0205BB90
mov r0, #7
pop {r4, pc}
_0205BB90:
ldr r1, _0205BBB4 ; =0x05F5E100
add r0, r4, #0
bl _u32_div_f
cmp r0, #0
bne _0205BBA0
mov r0, #8
pop {r4, pc}
_0205BBA0:
mov r0, #1
pop {r4, pc}
.balign 4, 0
_0205BBA4: .word 0x00002710
_0205BBA8: .word 0x000186A0
_0205BBAC: .word 0x000F4240
_0205BBB0: .word 0x00989680
_0205BBB4: .word 0x05F5E100
thumb_func_end sub_0205BB1C
thumb_func_start sub_0205BBB8
sub_0205BBB8: ; 0x0205BBB8
mov r1, #0x52
lsl r1, r1, #2
cmp r0, r1
blo _0205BBCA
add r1, #0x63
cmp r0, r1
bhi _0205BBCA
mov r0, #1
bx lr
_0205BBCA:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end sub_0205BBB8
thumb_func_start sub_0205BBD0
sub_0205BBD0: ; 0x0205BBD0
ldr r3, _0205BC74 ; =0x000004AA
cmp r0, #9
strh r3, [r2]
bhi _0205BBDC
mov r0, #0x1c
bx lr
_0205BBDC:
cmp r0, #0x13
bhi _0205BBE4
mov r0, #0x1d
bx lr
_0205BBE4:
cmp r0, #0x22
bhi _0205BBEC
mov r0, #0x1e
bx lr
_0205BBEC:
cmp r0, #0x31
bhi _0205BBF4
mov r0, #0x1f
bx lr
_0205BBF4:
cmp r0, #0x40
bhi _0205BBFC
mov r0, #0x20
bx lr
_0205BBFC:
cmp r0, #0x4f
bhi _0205BC04
mov r0, #0x21
bx lr
_0205BC04:
cmp r0, #0x5e
bhi _0205BC0C
mov r0, #0x22
bx lr
_0205BC0C:
cmp r0, #0x6d
bhi _0205BC14
mov r0, #0x23
bx lr
_0205BC14:
cmp r0, #0x7c
bhi _0205BC1C
mov r0, #0x24
bx lr
_0205BC1C:
cmp r0, #0x8b
bhi _0205BC24
mov r0, #0x25
bx lr
_0205BC24:
cmp r0, #0x9a
bhi _0205BC2C
mov r0, #0x26
bx lr
_0205BC2C:
cmp r0, #0xa9
bhi _0205BC34
mov r0, #0x27
bx lr
_0205BC34:
cmp r0, #0xb8
bhi _0205BC3C
mov r0, #0x28
bx lr
_0205BC3C:
cmp r0, #0xc7
bhi _0205BC44
mov r0, #0x29
bx lr
_0205BC44:
cmp r0, #0xd6
bhi _0205BC4C
mov r0, #0x2a
bx lr
_0205BC4C:
cmp r0, #0xe5
bhi _0205BC54
mov r0, #0x2b
bx lr
_0205BC54:
cmp r0, #0xf4
bhi _0205BC5C
mov r0, #0x2c
bx lr
_0205BC5C:
cmp r0, #0xfd
bhi _0205BC64
mov r0, #0x2d
bx lr
_0205BC64:
add r0, r3, #5
strh r0, [r2]
cmp r1, #0
beq _0205BC70
mov r0, #0x17
bx lr
_0205BC70:
mov r0, #0x16
bx lr
.balign 4, 0
_0205BC74: .word 0x000004AA
thumb_func_end sub_0205BBD0
thumb_func_start sub_0205BC78
sub_0205BC78: ; 0x0205BC78
push {r4, r5}
ldr r4, _0205BD1C ; =0x000004AA
cmp r0, #0x64
strh r4, [r2]
bhi _0205BC88
mov r0, #0x2e
pop {r4, r5}
bx lr
_0205BC88:
cmp r0, #0x96
bhi _0205BC92
mov r0, #0x2f
pop {r4, r5}
bx lr
_0205BC92:
cmp r0, #0xc8
bhi _0205BC9C
mov r0, #0x30
pop {r4, r5}
bx lr
_0205BC9C:
cmp r0, #0xfa
bhi _0205BCA6
mov r0, #0x31
pop {r4, r5}
bx lr
_0205BCA6:
mov r3, #0x4b
lsl r3, r3, #2
cmp r0, r3
bhi _0205BCB4
mov r0, #0x32
pop {r4, r5}
bx lr
_0205BCB4:
add r5, r3, #0
add r5, #0x32
cmp r0, r5
bhi _0205BCC2
mov r0, #0x33
pop {r4, r5}
bx lr
_0205BCC2:
add r5, r3, #0
add r5, #0x64
cmp r0, r5
bhi _0205BCD0
mov r0, #0x34
pop {r4, r5}
bx lr
_0205BCD0:
add r5, r3, #0
add r5, #0x87
cmp r0, r5
bhi _0205BCDE
mov r0, #0x35
pop {r4, r5}
bx lr
_0205BCDE:
add r5, r3, #0
add r5, #0xa5
cmp r0, r5
bhi _0205BCEC
mov r0, #0x36
pop {r4, r5}
bx lr
_0205BCEC:
add r5, r3, #0
add r5, #0xaf
cmp r0, r5
bhi _0205BCFA
mov r0, #0x37
pop {r4, r5}
bx lr
_0205BCFA:
add r3, #0xb7
cmp r0, r3
bhi _0205BD06
mov r0, #0x38
pop {r4, r5}
bx lr
_0205BD06:
add r0, r4, #5
strh r0, [r2]
cmp r1, #0
beq _0205BD14
mov r0, #0x19
pop {r4, r5}
bx lr
_0205BD14:
mov r0, #0x18
pop {r4, r5}
bx lr
nop
_0205BD1C: .word 0x000004AA
thumb_func_end sub_0205BC78
thumb_func_start sub_0205BD20
sub_0205BD20: ; 0x0205BD20
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
bl SavArray_PlayerParty_get
bl GetPartyCount
lsl r0, r0, #0x10
lsr r5, r0, #0x10
ldr r4, _0205BD60 ; =0x00000000
beq _0205BD5C
mov r7, #0x4c
_0205BD36:
add r0, r6, #0
bl SavArray_PlayerParty_get
add r1, r4, #0
bl GetPartyMonByIndex
add r1, r7, #0
mov r2, #0
bl GetMonData
cmp r0, #0
bne _0205BD52
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_0205BD52:
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, r5
blo _0205BD36
_0205BD5C:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0205BD60: .word 0x00000000
thumb_func_end sub_0205BD20
thumb_func_start sub_0205BD64
sub_0205BD64: ; 0x0205BD64
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
bl SavArray_PlayerParty_get
bl GetPartyCount
lsl r0, r0, #0x10
lsr r6, r0, #0x10
ldr r5, _0205BDB4 ; =0x00000000
beq _0205BDAE
_0205BD78:
add r0, r7, #0
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r4, r0, #0
bl GetMonData
cmp r0, #0
bne _0205BDA4
add r0, r4, #0
mov r1, #0xa3
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0205BDA4
add r0, r5, #0
pop {r3, r4, r5, r6, r7, pc}
_0205BDA4:
add r0, r5, #1
lsl r0, r0, #0x10
lsr r5, r0, #0x10
cmp r5, r6
blo _0205BD78
_0205BDAE:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_0205BDB4: .word 0x00000000
thumb_func_end sub_0205BD64
thumb_func_start sub_0205BDB8
sub_0205BDB8: ; 0x0205BDB8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
mov r7, #0
bl SavArray_PlayerParty_get
str r0, [sp]
bl GetPartyCount
add r4, r0, #0
add r6, r7, #0
cmp r4, #0
ble _0205BDEC
add r5, sp, #4
_0205BDD2:
ldr r0, [sp]
add r1, r6, #0
bl GetPartyMonByIndex
mov r1, #5
mov r2, #0
bl GetMonData
strh r0, [r5]
add r6, r6, #1
add r5, r5, #2
cmp r6, r4
blt _0205BDD2
_0205BDEC:
ldr r2, _0205BE24 ; =0x020FCB74
mov r6, #0
_0205BDF0:
mov r1, #0
cmp r4, #0
ble _0205BE0C
ldrh r5, [r2]
add r3, sp, #4
_0205BDFA:
ldrh r0, [r3]
cmp r0, r5
bne _0205BE04
add r7, r7, #1
b _0205BE0C
_0205BE04:
add r1, r1, #1
add r3, r3, #2
cmp r1, r4
blt _0205BDFA
_0205BE0C:
add r6, r6, #1
add r2, r2, #2
cmp r6, #3
blt _0205BDF0
cmp r7, #3
bne _0205BE1E
add sp, #0x10
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205BE1E:
mov r0, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0205BE24: .word 0x020FCB74
thumb_func_end sub_0205BDB8
thumb_func_start sub_0205BE28
sub_0205BE28: ; 0x0205BE28
push {r4, r5, lr}
sub sp, #0xc
add r4, r0, #0
bl sub_0205064C
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
mov r0, #2
lsl r0, r0, #0xe
str r0, [sp]
str r0, [sp, #8]
ldrh r0, [r4, #0xe]
ldr r5, [r4, #4]
bl sub_0201FBB8
asr r1, r0, #0x1f
asr r3, r5, #0x1f
add r2, r5, #0
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
str r1, [sp]
ldrh r0, [r4, #0xe]
ldr r5, [r4, #8]
bl sub_0201FBB8
asr r1, r0, #0x1f
asr r3, r5, #0x1f
add r2, r5, #0
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
str r1, [sp, #8]
str r3, [sp, #4]
ldr r0, [r4]
add r1, sp, #0
bl sub_0205F9A0
ldrh r1, [r4, #0xe]
ldrh r0, [r4, #0x10]
add r0, r1, r0
strh r0, [r4, #0xe]
mov r0, #0x5a
ldrh r1, [r4, #0xe]
lsl r0, r0, #2
cmp r1, r0
blo _0205BEB0
mov r0, #0
strh r0, [r4, #0xe]
ldrh r0, [r4, #0xc]
sub r0, r0, #1
strh r0, [r4, #0xc]
_0205BEB0:
ldrh r0, [r4, #0xc]
cmp r0, #0
bne _0205BED2
mov r0, #0
str r0, [sp, #8]
str r0, [sp, #4]
str r0, [sp]
ldr r0, [r4]
add r1, sp, #0
bl sub_0205F9A0
add r0, r4, #0
bl FreeToHeap
add sp, #0xc
mov r0, #1
pop {r4, r5, pc}
_0205BED2:
mov r0, #0
add sp, #0xc
pop {r4, r5, pc}
thumb_func_end sub_0205BE28
thumb_func_start sub_0205BED8
sub_0205BED8: ; 0x0205BED8
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r6, r2, #0
add r7, r3, #0
bl sub_0205064C
str r0, [sp]
mov r0, #0xb
mov r1, #0x14
bl AllocFromHeapAtEnd
mov r1, #0
mov r2, #0x14
add r4, r0, #0
bl MIi_CpuFill8
add r0, sp, #8
ldrh r0, [r0, #0x10]
cmp r0, #0
beq _0205BF12
lsl r0, r0, #0xc
bl _itof
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _0205BF20
_0205BF12:
lsl r0, r0, #0xc
bl _itof
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_0205BF20:
bl _ftoi
str r0, [r4, #4]
add r0, sp, #8
ldrh r0, [r0, #0x14]
cmp r0, #0
beq _0205BF40
lsl r0, r0, #0xc
bl _itof
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _0205BF4E
_0205BF40:
lsl r0, r0, #0xc
bl _itof
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_0205BF4E:
bl _ftoi
str r0, [r4, #8]
strh r6, [r4, #0xc]
strh r7, [r4, #0x10]
ldr r0, [sp]
str r5, [r4]
ldr r0, [r0, #0x10]
ldr r1, _0205BF68 ; =sub_0205BE28
add r2, r4, #0
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0205BF68: .word sub_0205BE28
thumb_func_end sub_0205BED8
thumb_func_start sub_0205BF6C
sub_0205BF6C: ; 0x0205BF6C
push {r4, lr}
add r4, r0, #0
bl sub_0205064C
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldrb r1, [r4, #9]
ldr r0, [r4]
bl sub_0205F690
ldrb r1, [r4, #8]
add r0, r1, #1
strb r0, [r4, #8]
ldrh r0, [r4, #6]
cmp r1, r0
blt _0205BFB0
ldrb r1, [r4, #9]
mov r0, #1
eor r0, r1
strb r0, [r4, #9]
mov r0, #0
strb r0, [r4, #8]
ldrh r1, [r4, #4]
sub r0, r1, #1
strh r0, [r4, #4]
cmp r1, #0
bne _0205BFB0
add r0, r4, #0
bl FreeToHeap
mov r0, #1
pop {r4, pc}
_0205BFB0:
mov r0, #0
pop {r4, pc}
thumb_func_end sub_0205BF6C
thumb_func_start sub_0205BFB4
sub_0205BFB4: ; 0x0205BFB4
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r6, r2, #0
add r7, r3, #0
bl sub_0205064C
str r0, [sp]
mov r0, #0xb
mov r1, #0xc
bl AllocFromHeapAtEnd
add r4, r0, #0
mov r1, #0
mov r2, #0xc
bl MIi_CpuFill8
strh r6, [r4, #4]
strh r7, [r4, #6]
str r5, [r4]
mov r0, #0
strb r0, [r4, #9]
ldr r0, [sp]
ldr r1, _0205BFEC ; =sub_0205BF6C
ldr r0, [r0, #0x10]
add r2, r4, #0
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0205BFEC: .word sub_0205BF6C
thumb_func_end sub_0205BFB4
thumb_func_start sub_0205BFF0
sub_0205BFF0: ; 0x0205BFF0
cmp r1, #3
bhi _0205C016
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205C000: ; jump table
.short _0205C008 - _0205C000 - 2 ; case 0
.short _0205C00C - _0205C000 - 2 ; case 1
.short _0205C010 - _0205C000 - 2 ; case 2
.short _0205C014 - _0205C000 - 2 ; case 3
_0205C008:
mov r2, #0xb
b _0205C016
_0205C00C:
mov r2, #0x13
b _0205C016
_0205C010:
mov r2, #0x1b
b _0205C016
_0205C014:
mov r2, #0x73
_0205C016:
lsl r0, r0, #2
add r0, r2, r0
bx lr
thumb_func_end sub_0205BFF0
thumb_func_start sub_0205C01C
sub_0205C01C: ; 0x0205C01C
cmp r1, #3
bhi _0205C042
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205C02C: ; jump table
.short _0205C034 - _0205C02C - 2 ; case 0
.short _0205C038 - _0205C02C - 2 ; case 1
.short _0205C03C - _0205C02C - 2 ; case 2
.short _0205C040 - _0205C02C - 2 ; case 3
_0205C034:
mov r2, #0xa
b _0205C042
_0205C038:
mov r2, #0x12
b _0205C042
_0205C03C:
mov r2, #0x1a
b _0205C042
_0205C040:
mov r2, #0x72
_0205C042:
lsl r0, r0, #2
add r0, r2, r0
bx lr
thumb_func_end sub_0205C01C
thumb_func_start sub_0205C048
sub_0205C048: ; 0x0205C048
cmp r1, #3
bhi _0205C06E
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205C058: ; jump table
.short _0205C060 - _0205C058 - 2 ; case 0
.short _0205C064 - _0205C058 - 2 ; case 1
.short _0205C068 - _0205C058 - 2 ; case 2
.short _0205C06C - _0205C058 - 2 ; case 3
_0205C060:
mov r2, #0xd
b _0205C06E
_0205C064:
mov r2, #0x15
b _0205C06E
_0205C068:
mov r2, #0x1d
b _0205C06E
_0205C06C:
mov r2, #0x75
_0205C06E:
lsl r0, r0, #2
add r0, r2, r0
bx lr
thumb_func_end sub_0205C048
thumb_func_start sub_0205C074
sub_0205C074: ; 0x0205C074
cmp r1, #3
bhi _0205C09A
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205C084: ; jump table
.short _0205C08C - _0205C084 - 2 ; case 0
.short _0205C090 - _0205C084 - 2 ; case 1
.short _0205C094 - _0205C084 - 2 ; case 2
.short _0205C098 - _0205C084 - 2 ; case 3
_0205C08C:
mov r2, #0xc
b _0205C09A
_0205C090:
mov r2, #0x14
b _0205C09A
_0205C094:
mov r2, #0x1c
b _0205C09A
_0205C098:
mov r2, #0x74
_0205C09A:
lsl r0, r0, #2
add r0, r2, r0
bx lr
thumb_func_end sub_0205C074
thumb_func_start sub_0205C0A0
sub_0205C0A0: ; 0x0205C0A0
cmp r0, #3
bhi _0205C0C6
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205C0B0: ; jump table
.short _0205C0B8 - _0205C0B0 - 2 ; case 0
.short _0205C0BC - _0205C0B0 - 2 ; case 1
.short _0205C0C0 - _0205C0B0 - 2 ; case 2
.short _0205C0C4 - _0205C0B0 - 2 ; case 3
_0205C0B8:
mov r2, #0x25
b _0205C0C6
_0205C0BC:
mov r2, #0x31
b _0205C0C6
_0205C0C0:
mov r2, #0x3d
b _0205C0C6
_0205C0C4:
mov r2, #0x7d
_0205C0C6:
lsr r0, r1, #1
add r0, r2, r0
bx lr
thumb_func_end sub_0205C0A0
thumb_func_start sub_0205C0CC
sub_0205C0CC: ; 0x0205C0CC
cmp r0, #3
bhi _0205C0F2
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205C0DC: ; jump table
.short _0205C0E4 - _0205C0DC - 2 ; case 0
.short _0205C0E8 - _0205C0DC - 2 ; case 1
.short _0205C0EC - _0205C0DC - 2 ; case 2
.short _0205C0F0 - _0205C0DC - 2 ; case 3
_0205C0E4:
mov r0, #0x23
bx lr
_0205C0E8:
mov r0, #0x2f
bx lr
_0205C0EC:
mov r0, #0x3b
bx lr
_0205C0F0:
mov r0, #0x7b
_0205C0F2:
bx lr
thumb_func_end sub_0205C0CC
thumb_func_start sub_0205C0F4
sub_0205C0F4: ; 0x0205C0F4
cmp r0, #3
bhi _0205C11A
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205C104: ; jump table
.short _0205C10C - _0205C104 - 2 ; case 0
.short _0205C110 - _0205C104 - 2 ; case 1
.short _0205C114 - _0205C104 - 2 ; case 2
.short _0205C118 - _0205C104 - 2 ; case 3
_0205C10C:
mov r0, #0x22
bx lr
_0205C110:
mov r0, #0x2e
bx lr
_0205C114:
mov r0, #0x3a
bx lr
_0205C118:
mov r0, #0x7a
_0205C11A:
bx lr
thumb_func_end sub_0205C0F4
thumb_func_start sub_0205C11C
sub_0205C11C: ; 0x0205C11C
cmp r0, #3
bhi _0205C142
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205C12C: ; jump table
.short _0205C134 - _0205C12C - 2 ; case 0
.short _0205C138 - _0205C12C - 2 ; case 1
.short _0205C13C - _0205C12C - 2 ; case 2
.short _0205C140 - _0205C12C - 2 ; case 3
_0205C134:
mov r0, #0x24
bx lr
_0205C138:
mov r0, #0x30
bx lr
_0205C13C:
mov r0, #0x3c
bx lr
_0205C140:
mov r0, #0x7c
_0205C142:
bx lr
thumb_func_end sub_0205C11C
thumb_func_start sub_0205C144
sub_0205C144: ; 0x0205C144
push {r4, lr}
cmp r0, #3
bhi _0205C170
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205C156: ; jump table
.short _0205C15E - _0205C156 - 2 ; case 0
.short _0205C162 - _0205C156 - 2 ; case 1
.short _0205C166 - _0205C156 - 2 ; case 2
.short _0205C16A - _0205C156 - 2 ; case 3
_0205C15E:
mov r4, #0
b _0205C170
_0205C162:
mov r4, #1
b _0205C170
_0205C166:
mov r4, #2
b _0205C170
_0205C16A:
mov r4, #2
bl GF_AssertFail
_0205C170:
add r0, r4, #0
pop {r4, pc}
thumb_func_end sub_0205C144
thumb_func_start sub_0205C174
sub_0205C174: ; 0x0205C174
cmp r0, #3
bhi _0205C19A
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205C184: ; jump table
.short _0205C18C - _0205C184 - 2 ; case 0
.short _0205C190 - _0205C184 - 2 ; case 1
.short _0205C194 - _0205C184 - 2 ; case 2
.short _0205C198 - _0205C184 - 2 ; case 3
_0205C18C:
mov r2, #0x4b
b _0205C19A
_0205C190:
mov r2, #0x53
b _0205C19A
_0205C194:
mov r2, #0x5b
b _0205C19A
_0205C198:
mov r2, #0x8b
_0205C19A:
add r0, r2, r1
bx lr
.balign 4, 0
thumb_func_end sub_0205C174
thumb_func_start sub_0205C1A0
sub_0205C1A0: ; 0x0205C1A0
cmp r0, #3
bhi _0205C1C6
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205C1B0: ; jump table
.short _0205C1B8 - _0205C1B0 - 2 ; case 0
.short _0205C1BC - _0205C1B0 - 2 ; case 1
.short _0205C1C0 - _0205C1B0 - 2 ; case 2
.short _0205C1C4 - _0205C1B0 - 2 ; case 3
_0205C1B8:
mov r0, #0x47
bx lr
_0205C1BC:
mov r0, #0x4f
bx lr
_0205C1C0:
mov r0, #0x57
bx lr
_0205C1C4:
mov r0, #0x87
_0205C1C6:
bx lr
thumb_func_end sub_0205C1A0
thumb_func_start sub_0205C1C8
sub_0205C1C8: ; 0x0205C1C8
cmp r0, #3
bhi _0205C1EE
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205C1D8: ; jump table
.short _0205C1E0 - _0205C1D8 - 2 ; case 0
.short _0205C1E4 - _0205C1D8 - 2 ; case 1
.short _0205C1E8 - _0205C1D8 - 2 ; case 2
.short _0205C1EC - _0205C1D8 - 2 ; case 3
_0205C1E0:
mov r0, #0x46
bx lr
_0205C1E4:
mov r0, #0x4e
bx lr
_0205C1E8:
mov r0, #0x56
bx lr
_0205C1EC:
mov r0, #0x86
_0205C1EE:
bx lr
thumb_func_end sub_0205C1C8
thumb_func_start sub_0205C1F0
sub_0205C1F0: ; 0x0205C1F0
cmp r0, #3
bhi _0205C216
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205C200: ; jump table
.short _0205C208 - _0205C200 - 2 ; case 0
.short _0205C20C - _0205C200 - 2 ; case 1
.short _0205C210 - _0205C200 - 2 ; case 2
.short _0205C214 - _0205C200 - 2 ; case 3
_0205C208:
mov r0, #0x48
bx lr
_0205C20C:
mov r0, #0x50
bx lr
_0205C210:
mov r0, #0x58
bx lr
_0205C214:
mov r0, #0x88
_0205C216:
bx lr
thumb_func_end sub_0205C1F0
thumb_func_start sub_0205C218
sub_0205C218: ; 0x0205C218
cmp r0, #3
bhi _0205C23E
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205C228: ; jump table
.short _0205C230 - _0205C228 - 2 ; case 0
.short _0205C234 - _0205C228 - 2 ; case 1
.short _0205C238 - _0205C228 - 2 ; case 2
.short _0205C23C - _0205C228 - 2 ; case 3
_0205C230:
mov r0, #0x49
bx lr
_0205C234:
mov r0, #0x51
bx lr
_0205C238:
mov r0, #0x59
bx lr
_0205C23C:
mov r0, #0x89
_0205C23E:
bx lr
thumb_func_end sub_0205C218
thumb_func_start sub_0205C240
sub_0205C240: ; 0x0205C240
cmp r0, #3
bhi _0205C266
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205C250: ; jump table
.short _0205C258 - _0205C250 - 2 ; case 0
.short _0205C25C - _0205C250 - 2 ; case 1
.short _0205C260 - _0205C250 - 2 ; case 2
.short _0205C264 - _0205C250 - 2 ; case 3
_0205C258:
mov r0, #0x4a
bx lr
_0205C25C:
mov r0, #0x52
bx lr
_0205C260:
mov r0, #0x5a
bx lr
_0205C264:
mov r0, #0x8a
_0205C266:
bx lr
thumb_func_end sub_0205C240
thumb_func_start sub_0205C268
sub_0205C268: ; 0x0205C268
push {r3, lr}
cmp r0, #0x64
bhs _0205C272
mov r0, #0xff
pop {r3, pc}
_0205C272:
bl ov00_021E6EBC
pop {r3, pc}
thumb_func_end sub_0205C268
thumb_func_start sub_0205C278
sub_0205C278: ; 0x0205C278
push {r4, lr}
bl sub_0203769C
mov r1, #1
eor r0, r1
bl sub_02034818
add r4, r0, #0
bne _0205C28E
bl GF_AssertFail
_0205C28E:
add r0, r4, #0
bl sub_0202907C
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205C278
thumb_func_start sub_0205C298
sub_0205C298: ; 0x0205C298
push {r3, lr}
bl Sav2_PlayerData_GetProfileAddr
bl sub_0202907C
cmp r0, #0
bne _0205C2AA
mov r0, #1
pop {r3, pc}
_0205C2AA:
bl sub_0205C278
cmp r0, #0
bne _0205C2B6
mov r0, #1
b _0205C2B8
_0205C2B6:
mov r0, #0
_0205C2B8:
lsl r0, r0, #0x18
lsr r0, r0, #0x18
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205C298
thumb_func_start sub_0205C2C0
sub_0205C2C0: ; 0x0205C2C0
cmp r0, #3
bhi _0205C2E6
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205C2D0: ; jump table
.short _0205C2D8 - _0205C2D0 - 2 ; case 0
.short _0205C2DC - _0205C2D0 - 2 ; case 1
.short _0205C2E0 - _0205C2D0 - 2 ; case 2
.short _0205C2E4 - _0205C2D0 - 2 ; case 3
_0205C2D8:
mov r0, #0x5f
bx lr
_0205C2DC:
mov r0, #0x61
bx lr
_0205C2E0:
mov r0, #0x63
bx lr
_0205C2E4:
mov r0, #0x8f
_0205C2E6:
bx lr
thumb_func_end sub_0205C2C0
thumb_func_start sub_0205C2E8
sub_0205C2E8: ; 0x0205C2E8
cmp r0, #3
bhi _0205C30E
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205C2F8: ; jump table
.short _0205C300 - _0205C2F8 - 2 ; case 0
.short _0205C304 - _0205C2F8 - 2 ; case 1
.short _0205C308 - _0205C2F8 - 2 ; case 2
.short _0205C30C - _0205C2F8 - 2 ; case 3
_0205C300:
mov r0, #0x5e
bx lr
_0205C304:
mov r0, #0x60
bx lr
_0205C308:
mov r0, #0x62
bx lr
_0205C30C:
mov r0, #0x8e
_0205C30E:
bx lr
thumb_func_end sub_0205C2E8
thumb_func_start sub_0205C310
sub_0205C310: ; 0x0205C310
push {r4, lr}
cmp r0, #6
bhi _0205C348
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205C322: ; jump table
.short _0205C330 - _0205C322 - 2 ; case 0
.short _0205C334 - _0205C322 - 2 ; case 1
.short _0205C338 - _0205C322 - 2 ; case 2
.short _0205C33C - _0205C322 - 2 ; case 3
.short _0205C340 - _0205C322 - 2 ; case 4
.short _0205C348 - _0205C322 - 2 ; case 5
.short _0205C344 - _0205C322 - 2 ; case 6
_0205C330:
mov r4, #1
b _0205C34C
_0205C334:
mov r4, #3
b _0205C34C
_0205C338:
mov r4, #5
b _0205C34C
_0205C33C:
mov r4, #7
b _0205C34C
_0205C340:
mov r4, #9
b _0205C34C
_0205C344:
mov r4, #0x71
b _0205C34C
_0205C348:
bl GF_AssertFail
_0205C34C:
add r0, r4, #0
pop {r4, pc}
thumb_func_end sub_0205C310
thumb_func_start sub_0205C350
sub_0205C350: ; 0x0205C350
push {r4, lr}
cmp r0, #6
bhi _0205C388
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205C362: ; jump table
.short _0205C370 - _0205C362 - 2 ; case 0
.short _0205C374 - _0205C362 - 2 ; case 1
.short _0205C378 - _0205C362 - 2 ; case 2
.short _0205C37C - _0205C362 - 2 ; case 3
.short _0205C380 - _0205C362 - 2 ; case 4
.short _0205C388 - _0205C362 - 2 ; case 5
.short _0205C384 - _0205C362 - 2 ; case 6
_0205C370:
mov r4, #0
b _0205C38C
_0205C374:
mov r4, #2
b _0205C38C
_0205C378:
mov r4, #4
b _0205C38C
_0205C37C:
mov r4, #6
b _0205C38C
_0205C380:
mov r4, #8
b _0205C38C
_0205C384:
mov r4, #0x70
b _0205C38C
_0205C388:
bl GF_AssertFail
_0205C38C:
add r0, r4, #0
pop {r4, pc}
thumb_func_end sub_0205C350
thumb_func_start sub_0205C390
sub_0205C390: ; 0x0205C390
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
ldr r4, [sp, #0x2c]
str r0, [sp, #8]
add r5, r1, #0
add r6, r2, #0
str r3, [sp, #0xc]
bl sub_0205C4E0
ldr r1, [sp, #0x28]
ldr r3, [sp, #0x34]
add r2, r4, #0
add r7, r0, #0
bl sub_0205C500
ldr r0, [sp, #0x30]
cmp r0, #2
bne _0205C3C0
ldr r0, [sp, #0x28]
add r1, r4, #0
bl sub_0205C898
add r2, r0, #0
b _0205C3F0
_0205C3C0:
cmp r0, #0
bne _0205C3D2
cmp r4, #0
bne _0205C3CC
ldr r2, _0205C404 ; =0x00000127
b _0205C3F0
_0205C3CC:
mov r2, #0x4a
lsl r2, r2, #2
b _0205C3F0
_0205C3D2:
cmp r0, #1
bne _0205C3E2
cmp r4, #0
bne _0205C3DE
mov r2, #0xee
b _0205C3F0
_0205C3DE:
mov r2, #0xef
b _0205C3F0
_0205C3E2:
bl GF_AssertFail
ldr r0, [sp, #0x28]
add r1, r4, #0
bl sub_0205C898
add r2, r0, #0
_0205C3F0:
ldr r1, [sp, #8]
str r5, [sp]
ldr r3, [sp, #0xc]
add r0, r7, #0
str r6, [sp, #4]
bl sub_0205C564
add r0, r7, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0205C404: .word 0x00000127
thumb_func_end sub_0205C390
thumb_func_start sub_0205C408
sub_0205C408: ; 0x0205C408
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r7, r0, #0
add r6, r2, #0
bl sub_0205C4E0
add r5, r0, #0
add r0, r4, #0
bl sub_0205C7EC
str r0, [sp]
ldr r1, [sp]
add r0, r5, #0
add r2, r6, #0
add r3, r4, #0
bl sub_0205C500
add r0, r7, #0
bl sub_0205C640
add r4, r0, #0
ldr r0, [sp]
add r1, r6, #0
bl sub_0205C898
add r1, r0, #0
add r0, r4, #0
bl sub_0205F258
mov r1, #9
add r0, r4, #0
lsl r1, r1, #0xa
bl sub_0205F20C
mov r1, #6
add r0, r4, #0
lsl r1, r1, #6
bl sub_0205F214
add r0, r4, #0
mov r1, #1
bl sub_0205F89C
add r0, r5, #0
add r1, r4, #0
bl sub_0205C6D8
add r0, r5, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205C408
thumb_func_start sub_0205C46C
sub_0205C46C: ; 0x0205C46C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0205C6DC
add r4, r0, #0
bne _0205C47C
bl GF_AssertFail
_0205C47C:
add r0, r4, #0
bl sub_0205F35C
add r0, r5, #0
bl ov01_022008B4
add r0, r5, #0
bl sub_0205C700
cmp r0, #2
bne _0205C4C0
add r0, r5, #0
bl sub_0205C67C
add r6, r0, #0
add r0, r5, #0
bl sub_0205C688
add r7, r0, #0
add r0, r5, #0
bl sub_0205C654
add r3, r0, #0
mov r0, #1
str r0, [sp]
add r0, r4, #0
add r1, r6, #0
add r2, r7, #0
bl ov01_021FE7DC
add r1, r0, #0
add r0, r5, #0
bl sub_0205C78C
_0205C4C0:
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205C46C
thumb_func_start sub_0205C4C4
sub_0205C4C4: ; 0x0205C4C4
ldr r3, _0205C4C8 ; =FreeToHeap
bx r3
.balign 4, 0
_0205C4C8: .word FreeToHeap
thumb_func_end sub_0205C4C4
thumb_func_start sub_0205C4CC
sub_0205C4CC: ; 0x0205C4CC
push {r4, lr}
add r4, r0, #0
bl sub_0205C6DC
bl sub_0205E3CC
add r0, r4, #0
bl sub_0205C4C4
pop {r4, pc}
thumb_func_end sub_0205C4CC
thumb_func_start sub_0205C4E0
sub_0205C4E0: ; 0x0205C4E0
push {r4, lr}
mov r0, #0xb
mov r1, #0x40
bl AllocFromHeap
add r4, r0, #0
bne _0205C4F2
bl GF_AssertFail
_0205C4F2:
add r0, r4, #0
mov r1, #0
mov r2, #0x40
bl memset
add r0, r4, #0
pop {r4, pc}
thumb_func_end sub_0205C4E0
thumb_func_start sub_0205C500
sub_0205C500: ; 0x0205C500
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
add r1, r3, #0
add r6, r2, #0
bl sub_0205C794
add r0, r5, #0
mov r1, #0
bl sub_0205C6C8
add r0, r5, #0
mov r1, #0
bl sub_0205C6D0
add r0, r5, #0
add r1, r4, #0
bl sub_0205C6E4
add r0, r5, #0
add r1, r6, #0
bl sub_0205C720
add r0, r5, #0
mov r1, #0
bl sub_0205C718
add r0, r5, #0
bl sub_0205C74C
mov r1, #0
add r0, r5, #0
mvn r1, r1
bl sub_0205C768
mov r1, #0
add r0, r5, #0
mvn r1, r1
bl sub_0205C770
add r0, r5, #0
mov r1, #0xff
bl sub_0205C79C
add r0, r5, #0
mov r1, #1
bl sub_0205CA4C
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205C500
thumb_func_start sub_0205C564
sub_0205C564: ; 0x0205C564
push {r4, r5, lr}
sub sp, #0xc
add r4, r0, #0
str r2, [sp]
mov r0, #1
str r0, [sp, #4]
str r0, [sp, #8]
add r0, r1, #0
ldr r1, [sp, #0x18]
ldr r2, [sp, #0x1c]
bl sub_0205E294
add r5, r0, #0
bne _0205C584
bl GF_AssertFail
_0205C584:
add r0, r5, #0
mov r1, #0xff
bl sub_0205F248
add r0, r5, #0
mov r1, #0
bl sub_0205F268
add r0, r5, #0
mov r1, #0
bl sub_0205F270
add r0, r5, #0
mov r1, #0
bl sub_0205F278
mov r1, #0
add r0, r5, #0
add r2, r1, #0
bl sub_0205F2D0
add r0, r5, #0
mov r1, #0
mov r2, #1
bl sub_0205F2D0
add r0, r5, #0
mov r1, #0
mov r2, #2
bl sub_0205F2D0
mov r1, #0
add r0, r5, #0
mvn r1, r1
bl sub_0205F318
mov r1, #0
add r0, r5, #0
mvn r1, r1
bl sub_0205F320
mov r1, #9
add r0, r5, #0
lsl r1, r1, #0xa
bl sub_0205F20C
mov r1, #6
add r0, r5, #0
lsl r1, r1, #6
bl sub_0205F214
add r0, r5, #0
mov r1, #1
bl sub_0205F89C
add r0, r4, #0
add r1, r5, #0
bl sub_0205C6D8
add sp, #0xc
pop {r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205C564
thumb_func_start sub_0205C600
sub_0205C600: ; 0x0205C600
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
mov r1, #0
str r1, [sp, #4]
str r1, [sp]
add r1, sp, #0
add r2, sp, #4
mov r3, #1
add r5, r0, #0
bl sub_0205EEF4
cmp r0, #0
beq _0205C63A
add r4, sp, #0
add r6, sp, #4
mov r7, #1
_0205C620:
ldr r0, [sp]
bl sub_0205F264
cmp r0, #1
beq _0205C63A
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
add r3, r7, #0
bl sub_0205EEF4
cmp r0, #0
bne _0205C620
_0205C63A:
ldr r0, [sp]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205C600
thumb_func_start sub_0205C640
sub_0205C640: ; 0x0205C640
push {r4, lr}
bl sub_0205C600
add r4, r0, #0
bne _0205C64E
bl GF_AssertFail
_0205C64E:
add r0, r4, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205C640
thumb_func_start sub_0205C654
sub_0205C654: ; 0x0205C654
push {r3, lr}
bl sub_0205C6DC
bl sub_0205F2A8
pop {r3, pc}
thumb_func_end sub_0205C654
thumb_func_start sub_0205C660
sub_0205C660: ; 0x0205C660
push {r4, lr}
add r4, r1, #0
bl sub_0205C6DC
add r1, r4, #0
bl sub_0205F290
pop {r4, pc}
thumb_func_end sub_0205C660
thumb_func_start sub_0205C670
sub_0205C670: ; 0x0205C670
push {r3, lr}
bl sub_0205C6DC
bl sub_0205F2B8
pop {r3, pc}
thumb_func_end sub_0205C670
thumb_func_start sub_0205C67C
sub_0205C67C: ; 0x0205C67C
push {r3, lr}
bl sub_0205C6DC
bl sub_0205F914
pop {r3, pc}
thumb_func_end sub_0205C67C
thumb_func_start sub_0205C688
sub_0205C688: ; 0x0205C688
push {r3, lr}
bl sub_0205C6DC
bl sub_0205F934
pop {r3, pc}
thumb_func_end sub_0205C688
thumb_func_start sub_0205C694
sub_0205C694: ; 0x0205C694
push {r3, lr}
bl sub_0205C6DC
bl sub_0205F8FC
pop {r3, pc}
thumb_func_end sub_0205C694
thumb_func_start sub_0205C6A0
sub_0205C6A0: ; 0x0205C6A0
push {r3, lr}
bl sub_0205C6DC
bl sub_0205F90C
pop {r3, pc}
thumb_func_end sub_0205C6A0
thumb_func_start sub_0205C6AC
sub_0205C6AC: ; 0x0205C6AC
push {r4, lr}
add r4, r1, #0
bl sub_0205C6DC
add r1, r4, #0
bl sub_0205F944
pop {r4, pc}
thumb_func_end sub_0205C6AC
thumb_func_start sub_0205C6BC
sub_0205C6BC: ; 0x0205C6BC
push {r3, lr}
bl sub_0205C6E0
bl sub_0205F964
pop {r3, pc}
thumb_func_end sub_0205C6BC
thumb_func_start sub_0205C6C8
sub_0205C6C8: ; 0x0205C6C8
str r1, [r0, #0x10]
bx lr
thumb_func_end sub_0205C6C8
thumb_func_start sub_0205C6CC
sub_0205C6CC: ; 0x0205C6CC
ldr r0, [r0, #0x10]
bx lr
thumb_func_end sub_0205C6CC
thumb_func_start sub_0205C6D0
sub_0205C6D0: ; 0x0205C6D0
str r1, [r0, #0x14]
bx lr
thumb_func_end sub_0205C6D0
thumb_func_start sub_0205C6D4
sub_0205C6D4: ; 0x0205C6D4
ldr r0, [r0, #0x14]
bx lr
thumb_func_end sub_0205C6D4
thumb_func_start sub_0205C6D8
sub_0205C6D8: ; 0x0205C6D8
str r1, [r0, #0x30]
bx lr
thumb_func_end sub_0205C6D8
thumb_func_start sub_0205C6DC
sub_0205C6DC: ; 0x0205C6DC
ldr r0, [r0, #0x30]
bx lr
thumb_func_end sub_0205C6DC
thumb_func_start sub_0205C6E0
sub_0205C6E0: ; 0x0205C6E0
ldr r0, [r0, #0x30]
bx lr
thumb_func_end sub_0205C6E0
thumb_func_start sub_0205C6E4
sub_0205C6E4: ; 0x0205C6E4
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
cmp r4, #4
blt _0205C6F2
bl GF_AssertFail
_0205C6F2:
add r0, r5, #0
add r1, r4, #0
str r4, [r5, #0x18]
bl sub_0205C800
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205C6E4
thumb_func_start sub_0205C700
sub_0205C700: ; 0x0205C700
push {r4, lr}
add r4, r0, #0
bne _0205C70A
bl GF_AssertFail
_0205C70A:
ldr r0, [r4, #0x18]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205C700
thumb_func_start sub_0205C710
sub_0205C710: ; 0x0205C710
ldr r2, [r0, #4]
orr r1, r2
str r1, [r0, #4]
bx lr
thumb_func_end sub_0205C710
thumb_func_start sub_0205C718
sub_0205C718: ; 0x0205C718
str r1, [r0, #4]
bx lr
thumb_func_end sub_0205C718
thumb_func_start sub_0205C71C
sub_0205C71C: ; 0x0205C71C
ldr r0, [r0, #4]
bx lr
thumb_func_end sub_0205C71C
thumb_func_start sub_0205C720
sub_0205C720: ; 0x0205C720
str r1, [r0, #0x1c]
bx lr
thumb_func_end sub_0205C720
thumb_func_start sub_0205C724
sub_0205C724: ; 0x0205C724
ldr r0, [r0, #0x1c]
bx lr
thumb_func_end sub_0205C724
thumb_func_start sub_0205C728
sub_0205C728: ; 0x0205C728
ldr r2, [r0]
orr r1, r2
str r1, [r0]
bx lr
thumb_func_end sub_0205C728
thumb_func_start sub_0205C730
sub_0205C730: ; 0x0205C730
ldr r2, [r0]
mvn r1, r1
and r1, r2
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205C730
thumb_func_start sub_0205C73C
sub_0205C73C: ; 0x0205C73C
ldr r0, [r0]
and r0, r1
bx lr
.balign 4, 0
thumb_func_end sub_0205C73C
thumb_func_start sub_0205C744
sub_0205C744: ; 0x0205C744
ldr r0, [r0, #0x24]
bx lr
thumb_func_end sub_0205C744
thumb_func_start sub_0205C748
sub_0205C748: ; 0x0205C748
str r1, [r0, #0x24]
bx lr
thumb_func_end sub_0205C748
thumb_func_start sub_0205C74C
sub_0205C74C: ; 0x0205C74C
ldr r3, _0205C754 ; =sub_0205CA78
mov r1, #0
str r1, [r0, #0x24]
bx r3
.balign 4, 0
_0205C754: .word sub_0205CA78
thumb_func_end sub_0205C74C
thumb_func_start sub_0205C758
sub_0205C758: ; 0x0205C758
ldr r3, [r0, #0x24]
add r1, r3, r1
str r1, [r0, #0x24]
cmp r1, r2
ble _0205C764
str r2, [r0, #0x24]
_0205C764:
ldr r0, [r0, #0x24]
bx lr
thumb_func_end sub_0205C758
thumb_func_start sub_0205C768
sub_0205C768: ; 0x0205C768
str r1, [r0, #0x28]
bx lr
thumb_func_end sub_0205C768
thumb_func_start sub_0205C76C
sub_0205C76C: ; 0x0205C76C
ldr r0, [r0, #0x28]
bx lr
thumb_func_end sub_0205C76C
thumb_func_start sub_0205C770
sub_0205C770: ; 0x0205C770
str r1, [r0, #0x2c]
bx lr
thumb_func_end sub_0205C770
thumb_func_start sub_0205C774
sub_0205C774: ; 0x0205C774
ldr r0, [r0, #0x2c]
bx lr
thumb_func_end sub_0205C774
thumb_func_start sub_0205C778
sub_0205C778: ; 0x0205C778
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r2, #0
bl sub_0205C768
add r0, r5, #0
add r1, r4, #0
bl sub_0205C770
pop {r3, r4, r5, pc}
thumb_func_end sub_0205C778
thumb_func_start sub_0205C78C
sub_0205C78C: ; 0x0205C78C
str r1, [r0, #0x34]
bx lr
thumb_func_end sub_0205C78C
thumb_func_start sub_0205C790
sub_0205C790: ; 0x0205C790
ldr r0, [r0, #0x34]
bx lr
thumb_func_end sub_0205C790
thumb_func_start sub_0205C794
sub_0205C794: ; 0x0205C794
str r1, [r0, #0x38]
bx lr
thumb_func_end sub_0205C794
thumb_func_start sub_0205C798
sub_0205C798: ; 0x0205C798
ldr r0, [r0, #0x38]
bx lr
thumb_func_end sub_0205C798
thumb_func_start sub_0205C79C
sub_0205C79C: ; 0x0205C79C
str r1, [r0, #8]
bx lr
thumb_func_end sub_0205C79C
thumb_func_start sub_0205C7A0
sub_0205C7A0: ; 0x0205C7A0
ldr r0, [r0, #8]
bx lr
thumb_func_end sub_0205C7A0
thumb_func_start sub_0205C7A4
sub_0205C7A4: ; 0x0205C7A4
ldr r0, [r0, #0xc]
bx lr
thumb_func_end sub_0205C7A4
thumb_func_start sub_0205C7A8
sub_0205C7A8: ; 0x0205C7A8
ldr r1, [r0, #0xc]
add r2, r1, #1
mov r1, #1
and r1, r2
str r1, [r0, #0xc]
bx lr
thumb_func_end sub_0205C7A8
thumb_func_start sub_0205C7B4
sub_0205C7B4: ; 0x0205C7B4
mov r1, #0
str r1, [r0, #0xc]
bx lr
.balign 4, 0
thumb_func_end sub_0205C7B4
thumb_func_start sub_0205C7BC
sub_0205C7BC: ; 0x0205C7BC
mov r1, #0
strh r1, [r0]
strh r1, [r0, #2]
str r1, [r0, #4]
bx lr
.balign 4, 0
thumb_func_end sub_0205C7BC
thumb_func_start sub_0205C7C8
sub_0205C7C8: ; 0x0205C7C8
cmp r0, #0
beq _0205C7D6
ldrh r0, [r0]
cmp r0, #1
bne _0205C7D6
mov r0, #1
bx lr
_0205C7D6:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end sub_0205C7C8
thumb_func_start sub_0205C7DC
sub_0205C7DC: ; 0x0205C7DC
cmp r1, #1
bne _0205C7E6
mov r1, #1
strh r1, [r0]
bx lr
_0205C7E6:
mov r1, #0
strh r1, [r0]
bx lr
thumb_func_end sub_0205C7DC
thumb_func_start sub_0205C7EC
sub_0205C7EC: ; 0x0205C7EC
cmp r0, #0
beq _0205C7F4
ldr r0, [r0, #4]
bx lr
_0205C7F4:
mov r0, #0
bx lr
thumb_func_end sub_0205C7EC
thumb_func_start sub_0205C7F8
sub_0205C7F8: ; 0x0205C7F8
cmp r0, #0
beq _0205C7FE
str r1, [r0, #4]
_0205C7FE:
bx lr
thumb_func_end sub_0205C7F8
thumb_func_start sub_0205C800
sub_0205C800: ; 0x0205C800
push {r4, lr}
add r4, r1, #0
bl sub_0205C798
add r1, r4, #0
bl sub_0205C7F8
pop {r4, pc}
thumb_func_end sub_0205C800
thumb_func_start sub_0205C810
sub_0205C810: ; 0x0205C810
push {r4, r5, r6, lr}
add r4, r1, #0
add r6, r2, #0
add r5, r0, #0
bl sub_0205C6DC
add r1, r4, #0
add r2, r6, #0
bl sub_0205FBC0
add r0, r5, #0
mov r1, #0
bl sub_0205C6C8
add r0, r5, #0
mov r1, #0
bl sub_0205C6D0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205C810
thumb_func_start sub_0205C838
sub_0205C838: ; 0x0205C838
push {r4, r5, lr}
sub sp, #0xc
add r5, r1, #0
bl sub_0205C6DC
add r4, r0, #0
add r1, sp, #0
bl sub_0205F944
add r0, r4, #0
add r1, sp, #0
str r5, [sp, #4]
bl sub_0205F954
add sp, #0xc
pop {r4, r5, pc}
thumb_func_end sub_0205C838
thumb_func_start sub_0205C858
sub_0205C858: ; 0x0205C858
push {r4, lr}
add r4, r1, #0
bl sub_0205C6DC
cmp r4, #1
bne _0205C86C
mov r1, #0
bl sub_0205F768
pop {r4, pc}
_0205C86C:
mov r1, #1
bl sub_0205F768
pop {r4, pc}
thumb_func_end sub_0205C858
thumb_func_start sub_0205C874
sub_0205C874: ; 0x0205C874
push {r3, r4, r5, lr}
add r5, r1, #0
bl sub_0205C6DC
add r4, r0, #0
cmp r5, #1
bne _0205C890
mov r1, #0
bl sub_0205F768
add r0, r4, #0
bl sub_02061070
pop {r3, r4, r5, pc}
_0205C890:
mov r1, #1
bl sub_0205F768
pop {r3, r4, r5, pc}
thumb_func_end sub_0205C874
thumb_func_start sub_0205C898
sub_0205C898: ; 0x0205C898
push {r3, lr}
cmp r1, #0
bne _0205C90A
cmp r0, #0xe
bhi _0205C978
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205C8AE: ; jump table
.short _0205C8CC - _0205C8AE - 2 ; case 0
.short _0205C8D0 - _0205C8AE - 2 ; case 1
.short _0205C8D4 - _0205C8AE - 2 ; case 2
.short _0205C8F4 - _0205C8AE - 2 ; case 3
.short _0205C8D8 - _0205C8AE - 2 ; case 4
.short _0205C8DC - _0205C8AE - 2 ; case 5
.short _0205C8FE - _0205C8AE - 2 ; case 6
.short _0205C8E0 - _0205C8AE - 2 ; case 7
.short _0205C8E4 - _0205C8AE - 2 ; case 8
.short _0205C8E8 - _0205C8AE - 2 ; case 9
.short _0205C8EC - _0205C8AE - 2 ; case 10
.short _0205C8F0 - _0205C8AE - 2 ; case 11
.short _0205C8F8 - _0205C8AE - 2 ; case 12
.short _0205C902 - _0205C8AE - 2 ; case 13
.short _0205C906 - _0205C8AE - 2 ; case 14
_0205C8CC:
mov r0, #0
pop {r3, pc}
_0205C8D0:
mov r0, #0x15
pop {r3, pc}
_0205C8D4:
mov r0, #0xb2
pop {r3, pc}
_0205C8D8:
mov r0, #0xb0
pop {r3, pc}
_0205C8DC:
mov r0, #0xb4
pop {r3, pc}
_0205C8E0:
mov r0, #0xbc
pop {r3, pc}
_0205C8E4:
mov r0, #0xc4
pop {r3, pc}
_0205C8E8:
mov r0, #0xc6
pop {r3, pc}
_0205C8EC:
mov r0, #0xc8
pop {r3, pc}
_0205C8F0:
mov r0, #0xf8
pop {r3, pc}
_0205C8F4:
ldr r0, _0205C980 ; =0x00000102
pop {r3, pc}
_0205C8F8:
mov r0, #0x41
lsl r0, r0, #2
pop {r3, pc}
_0205C8FE:
ldr r0, _0205C984 ; =0x00000197
pop {r3, pc}
_0205C902:
ldr r0, _0205C988 ; =0x000001A7
pop {r3, pc}
_0205C906:
ldr r0, _0205C98C ; =0x00000129
pop {r3, pc}
_0205C90A:
cmp r0, #0xe
bhi _0205C978
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205C91A: ; jump table
.short _0205C938 - _0205C91A - 2 ; case 0
.short _0205C93C - _0205C91A - 2 ; case 1
.short _0205C940 - _0205C91A - 2 ; case 2
.short _0205C960 - _0205C91A - 2 ; case 3
.short _0205C944 - _0205C91A - 2 ; case 4
.short _0205C948 - _0205C91A - 2 ; case 5
.short _0205C968 - _0205C91A - 2 ; case 6
.short _0205C94C - _0205C91A - 2 ; case 7
.short _0205C950 - _0205C91A - 2 ; case 8
.short _0205C954 - _0205C91A - 2 ; case 9
.short _0205C958 - _0205C91A - 2 ; case 10
.short _0205C95C - _0205C91A - 2 ; case 11
.short _0205C964 - _0205C91A - 2 ; case 12
.short _0205C96E - _0205C91A - 2 ; case 13
.short _0205C974 - _0205C91A - 2 ; case 14
_0205C938:
mov r0, #0x61
pop {r3, pc}
_0205C93C:
mov r0, #0x62
pop {r3, pc}
_0205C940:
mov r0, #0xb3
pop {r3, pc}
_0205C944:
mov r0, #0xb1
pop {r3, pc}
_0205C948:
mov r0, #0xb5
pop {r3, pc}
_0205C94C:
mov r0, #0xbd
pop {r3, pc}
_0205C950:
mov r0, #0xc5
pop {r3, pc}
_0205C954:
mov r0, #0xc7
pop {r3, pc}
_0205C958:
mov r0, #0xc9
pop {r3, pc}
_0205C95C:
mov r0, #0xf9
pop {r3, pc}
_0205C960:
ldr r0, _0205C990 ; =0x00000103
pop {r3, pc}
_0205C964:
ldr r0, _0205C994 ; =0x00000105
pop {r3, pc}
_0205C968:
mov r0, #0x66
lsl r0, r0, #2
pop {r3, pc}
_0205C96E:
mov r0, #0x6a
lsl r0, r0, #2
pop {r3, pc}
_0205C974:
ldr r0, _0205C998 ; =0x0000012A
pop {r3, pc}
_0205C978:
bl GF_AssertFail
mov r0, #0
pop {r3, pc}
.balign 4, 0
_0205C980: .word 0x00000102
_0205C984: .word 0x00000197
_0205C988: .word 0x000001A7
_0205C98C: .word 0x00000129
_0205C990: .word 0x00000103
_0205C994: .word 0x00000105
_0205C998: .word 0x0000012A
thumb_func_end sub_0205C898
thumb_func_start sub_0205C99C
sub_0205C99C: ; 0x0205C99C
push {r3, lr}
cmp r0, #0xe
bhi _0205CA12
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205C9AE: ; jump table
.short _0205C9CC - _0205C9AE - 2 ; case 0
.short _0205C9D0 - _0205C9AE - 2 ; case 1
.short _0205C9D4 - _0205C9AE - 2 ; case 2
.short _0205C9F4 - _0205C9AE - 2 ; case 3
.short _0205CA12 - _0205C9AE - 2 ; case 4
.short _0205C9D8 - _0205C9AE - 2 ; case 5
.short _0205CA00 - _0205C9AE - 2 ; case 6
.short _0205C9DC - _0205C9AE - 2 ; case 7
.short _0205C9E0 - _0205C9AE - 2 ; case 8
.short _0205C9E4 - _0205C9AE - 2 ; case 9
.short _0205C9E8 - _0205C9AE - 2 ; case 10
.short _0205C9EE - _0205C9AE - 2 ; case 11
.short _0205C9FA - _0205C9AE - 2 ; case 12
.short _0205CA06 - _0205C9AE - 2 ; case 13
.short _0205CA0C - _0205C9AE - 2 ; case 14
_0205C9CC:
mov r0, #1
pop {r3, pc}
_0205C9D0:
mov r0, #2
pop {r3, pc}
_0205C9D4:
mov r0, #4
pop {r3, pc}
_0205C9D8:
mov r0, #0x10
pop {r3, pc}
_0205C9DC:
mov r0, #0x20
pop {r3, pc}
_0205C9E0:
mov r0, #0x40
pop {r3, pc}
_0205C9E4:
mov r0, #0x80
pop {r3, pc}
_0205C9E8:
mov r0, #1
lsl r0, r0, #8
pop {r3, pc}
_0205C9EE:
mov r0, #2
lsl r0, r0, #8
pop {r3, pc}
_0205C9F4:
mov r0, #1
lsl r0, r0, #0xa
pop {r3, pc}
_0205C9FA:
mov r0, #2
lsl r0, r0, #0xa
pop {r3, pc}
_0205CA00:
mov r0, #1
lsl r0, r0, #0xc
pop {r3, pc}
_0205CA06:
mov r0, #2
lsl r0, r0, #0xc
pop {r3, pc}
_0205CA0C:
mov r0, #1
lsl r0, r0, #0xe
pop {r3, pc}
_0205CA12:
bl GF_AssertFail
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205C99C
thumb_func_start sub_0205CA1C
sub_0205CA1C: ; 0x0205CA1C
ldr r0, [r0, #0x40]
bx lr
thumb_func_end sub_0205CA1C
thumb_func_start sub_0205CA20
sub_0205CA20: ; 0x0205CA20
push {r3, lr}
cmp r1, #1
bne _0205CA2E
mov r1, #1
bl sub_0205C728
pop {r3, pc}
_0205CA2E:
mov r1, #1
bl sub_0205C730
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205CA20
thumb_func_start sub_0205CA38
sub_0205CA38: ; 0x0205CA38
push {r3, lr}
mov r1, #1
bl sub_0205C73C
cmp r0, #0
beq _0205CA48
mov r0, #1
pop {r3, pc}
_0205CA48:
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0205CA38
thumb_func_start sub_0205CA4C
sub_0205CA4C: ; 0x0205CA4C
push {r3, lr}
cmp r1, #1
bne _0205CA5A
mov r1, #2
bl sub_0205C728
pop {r3, pc}
_0205CA5A:
mov r1, #2
bl sub_0205C730
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205CA4C
thumb_func_start sub_0205CA64
sub_0205CA64: ; 0x0205CA64
push {r3, lr}
mov r1, #2
bl sub_0205C73C
cmp r0, #0
beq _0205CA74
mov r0, #1
pop {r3, pc}
_0205CA74:
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0205CA64
thumb_func_start sub_0205CA78
sub_0205CA78: ; 0x0205CA78
push {r3, lr}
cmp r1, #1
bne _0205CA86
mov r1, #4
bl sub_0205C728
pop {r3, pc}
_0205CA86:
mov r1, #4
bl sub_0205C730
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205CA78
thumb_func_start sub_0205CA90
sub_0205CA90: ; 0x0205CA90
push {r3, lr}
mov r1, #4
bl sub_0205C73C
cmp r0, #0
beq _0205CAA0
mov r0, #1
pop {r3, pc}
_0205CAA0:
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0205CA90
thumb_func_start sub_0205CAA4
sub_0205CAA4: ; 0x0205CAA4
push {r3, lr}
cmp r1, #1
bne _0205CAB2
mov r1, #8
bl sub_0205C728
pop {r3, pc}
_0205CAB2:
mov r1, #8
bl sub_0205C730
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205CAA4
thumb_func_start sub_0205CABC
sub_0205CABC: ; 0x0205CABC
push {r3, lr}
mov r1, #8
bl sub_0205C73C
cmp r0, #0
beq _0205CACC
mov r0, #1
pop {r3, pc}
_0205CACC:
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0205CABC
thumb_func_start sub_0205CAD0
sub_0205CAD0: ; 0x0205CAD0
push {r3, lr}
cmp r1, #1
bne _0205CADE
mov r1, #0x20
bl sub_0205C728
pop {r3, pc}
_0205CADE:
mov r1, #0x20
bl sub_0205C730
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205CAD0
thumb_func_start sub_0205CAE8
sub_0205CAE8: ; 0x0205CAE8
ldr r3, _0205CAF0 ; =sub_0205C728
mov r1, #0x40
bx r3
nop
_0205CAF0: .word sub_0205C728
thumb_func_end sub_0205CAE8
thumb_func_start sub_0205CAF4
sub_0205CAF4: ; 0x0205CAF4
ldr r3, _0205CAFC ; =sub_0205C730
mov r1, #0x40
bx r3
nop
_0205CAFC: .word sub_0205C730
thumb_func_end sub_0205CAF4
thumb_func_start sub_0205CB00
sub_0205CB00: ; 0x0205CB00
push {r3, lr}
mov r1, #0x40
bl sub_0205C73C
cmp r0, #0
beq _0205CB10
mov r0, #1
pop {r3, pc}
_0205CB10:
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0205CB00
thumb_func_start sub_0205CB14
sub_0205CB14: ; 0x0205CB14
push {r3, lr}
cmp r1, #1
bne _0205CB22
mov r1, #0x80
bl sub_0205C728
pop {r3, pc}
_0205CB22:
mov r1, #0x80
bl sub_0205C730
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205CB14
thumb_func_start sub_0205CB2C
sub_0205CB2C: ; 0x0205CB2C
ldr r3, _0205CB34 ; =sub_0205C73C
mov r1, #0x80
bx r3
nop
_0205CB34: .word sub_0205C73C
thumb_func_end sub_0205CB2C
thumb_func_start sub_0205CB38
sub_0205CB38: ; 0x0205CB38
ldr r0, [r0, #0x38]
ldrh r0, [r0, #2]
bx lr
.balign 4, 0
thumb_func_end sub_0205CB38
thumb_func_start sub_0205CB40
sub_0205CB40: ; 0x0205CB40
ldr r0, [r0, #0x38]
strh r1, [r0, #2]
bx lr
.balign 4, 0
thumb_func_end sub_0205CB40
thumb_func_start sub_0205CB48
sub_0205CB48: ; 0x0205CB48
push {r3, r4, r5, r6, r7, lr}
add r7, r1, #0
mov r1, #0
add r4, r2, #0
mvn r1, r1
add r5, r0, #0
add r6, r3, #0
cmp r4, r1
bne _0205CB66
add r2, sp, #8
ldrh r2, [r2, #0x10]
add r1, r6, #0
bl sub_0205DDD4
add r4, r0, #0
_0205CB66:
add r0, r5, #0
add r1, r4, #0
bl sub_0205CBEC
cmp r0, #0
beq _0205CBE2
add r3, sp, #8
ldrh r3, [r3, #0x10]
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl sub_0205CC4C
add r0, r5, #0
bl ov01_021F1B04
add r0, r5, #0
add r1, r4, #0
bl sub_0205D004
cmp r0, #1
bne _0205CB9A
add r0, r5, #0
bl ov01_021F2F24
pop {r3, r4, r5, r6, r7, pc}
_0205CB9A:
add r0, r5, #0
bl sub_0205C700
cmp r0, #0
bne _0205CBC4
add r0, r5, #0
add r1, r4, #0
bl sub_0205D40C
cmp r0, #0
beq _0205CBB8
add r0, r5, #0
bl ov01_021F2F24
b _0205CBC4
_0205CBB8:
ldr r0, [sp, #0x1c]
cmp r0, #1
bne _0205CBC4
add r0, r5, #0
bl ov01_021F2EDC
_0205CBC4:
add r0, sp, #8
ldrh r0, [r0, #0x10]
add r1, r7, #0
add r2, r4, #0
str r0, [sp]
add r0, r5, #0
add r3, r6, #0
bl sub_0205D340
add r0, r5, #0
bl sub_0205CC74
add r0, r5, #0
bl sub_0205CC94
_0205CBE2:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205CB48
thumb_func_start sub_0205CBE4
sub_0205CBE4: ; 0x0205CBE4
ldr r3, _0205CBE8 ; =sub_0205CBEC
bx r3
.balign 4, 0
_0205CBE8: .word sub_0205CBEC
thumb_func_end sub_0205CBE4
thumb_func_start sub_0205CBEC
sub_0205CBEC: ; 0x0205CBEC
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0205C6DC
add r6, r0, #0
bl sub_02062108
cmp r0, #1
bne _0205CC04
mov r0, #1
pop {r4, r5, r6, pc}
_0205CC04:
mov r0, #0
mvn r0, r0
cmp r4, r0
bne _0205CC10
mov r0, #0
pop {r4, r5, r6, pc}
_0205CC10:
add r0, r6, #0
bl sub_0205F4D4
bl sub_0205DE64
cmp r0, #1
bne _0205CC46
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
bl sub_0205DA34
cmp r0, #0
bne _0205CC30
mov r0, #1
pop {r4, r5, r6, pc}
_0205CC30:
cmp r0, #0x20
bne _0205CC42
add r0, r5, #0
bl sub_0205C700
cmp r0, #2
bne _0205CC42
mov r0, #1
pop {r4, r5, r6, pc}
_0205CC42:
mov r0, #0
pop {r4, r5, r6, pc}
_0205CC46:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205CBEC
thumb_func_start sub_0205CC4C
sub_0205CC4C: ; 0x0205CC4C
push {r4, r5, r6, lr}
add r6, r3, #0
add r5, r0, #0
add r0, r6, #0
bl sub_0205DD9C
add r4, r0, #0
add r0, r6, #0
bl sub_0205DDB8
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_0205C778
add r0, r5, #0
bl sub_0205CAF4
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205CC4C
thumb_func_start sub_0205CC74
sub_0205CC74: ; 0x0205CC74
push {r4, lr}
add r4, r0, #0
bl sub_0205CB00
cmp r0, #1
bne _0205CC92
add r0, r4, #0
bl sub_0205C6CC
cmp r0, #1
bne _0205CC92
add r0, r4, #0
mov r1, #0
bl sub_0205CA4C
_0205CC92:
pop {r4, pc}
thumb_func_end sub_0205CC74
thumb_func_start sub_0205CC94
sub_0205CC94: ; 0x0205CC94
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
bl sub_0205C6CC
cmp r0, #1
bne _0205CD5E
add r0, r6, #0
bl sub_0205C6DC
add r4, r0, #0
bl sub_0205F504
lsl r0, r0, #0x18
lsr r5, r0, #0x18
add r0, r4, #0
bl sub_0205F4D4
bl sub_02062390
add r1, r0, #0
mov r0, #0
mvn r0, r0
cmp r1, r0
bne _0205CCC8
add r7, r5, #0
b _0205CCD2
_0205CCC8:
add r0, r4, #0
bl sub_02060FA8
lsl r0, r0, #0x18
lsr r7, r0, #0x18
_0205CCD2:
add r0, r5, #0
bl sub_0205B984
cmp r0, #1
bne _0205CCE4
mov r0, #0x19
lsl r0, r0, #6
bl PlaySE
_0205CCE4:
add r0, r5, #0
bl sub_0205B7A4
cmp r0, #1
bne _0205CCF4
ldr r0, _0205CD60 ; =0x00000641
bl PlaySE
_0205CCF4:
add r0, r5, #0
bl sub_0205B798
add r0, r5, #0
bl sub_0205B8AC
cmp r0, #1
bne _0205CD0A
ldr r0, _0205CD64 ; =0x00000654
bl PlaySE
_0205CD0A:
add r0, r4, #0
bl sub_0205F4D4
str r0, [sp]
add r0, r6, #0
bl sub_0205C700
ldr r0, [sp]
bl sub_0205DE64
cmp r0, #0
bne _0205CD56
add r0, r5, #0
bl sub_0205B6F4
cmp r0, #1
beq _0205CD36
add r0, r7, #0
bl sub_0205B6F4
cmp r0, #1
bne _0205CD3C
_0205CD36:
ldr r0, _0205CD68 ; =0x00000652
bl PlaySE
_0205CD3C:
add r0, r5, #0
bl sub_0205B6E8
cmp r0, #1
beq _0205CD50
add r0, r7, #0
bl sub_0205B6E8
cmp r0, #1
bne _0205CD56
_0205CD50:
ldr r0, _0205CD6C ; =0x00000877
bl PlaySE
_0205CD56:
add r0, r4, #0
add r1, r6, #0
bl sub_0205CD70
_0205CD5E:
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0205CD60: .word 0x00000641
_0205CD64: .word 0x00000654
_0205CD68: .word 0x00000652
_0205CD6C: .word 0x00000877
thumb_func_end sub_0205CC94
thumb_func_start sub_0205CD70
sub_0205CD70: ; 0x0205CD70
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
add r5, r1, #0
bl sub_0205F4D4
bl sub_02062390
str r0, [sp]
add r0, r6, #0
bl sub_0205F504
lsl r0, r0, #0x18
lsr r4, r0, #0x18
add r0, r6, #0
bl sub_0205F504
lsl r0, r0, #0x18
lsr r7, r0, #0x18
add r0, r7, #0
bl sub_0205B6F4
cmp r0, #0
bne _0205CE58
add r0, r7, #0
bl sub_0205B984
cmp r0, #1
beq _0205CE58
add r0, r7, #0
bl sub_0205B7A4
cmp r0, #1
beq _0205CE58
add r0, r7, #0
bl sub_0205B6E8
cmp r0, #0
bne _0205CE58
mov r1, #0
ldr r0, [sp]
mvn r1, r1
cmp r0, r1
beq _0205CDD2
ldr r1, [sp]
add r0, r6, #0
bl sub_02060FE0
lsl r0, r0, #0x18
lsr r4, r0, #0x18
_0205CDD2:
ldr r0, _0205CE5C ; =0x020FCB98
lsl r1, r4, #2
ldrh r1, [r0, r1]
ldr r0, _0205CE60 ; =0x00000876
cmp r1, r0
bne _0205CDE6
add r0, r5, #0
bl sub_0205C7B4
b _0205CDFE
_0205CDE6:
add r0, r5, #0
bl sub_0205C6D4
cmp r0, #0
bne _0205CDF8
add r0, r5, #0
bl sub_0205C7B4
b _0205CDFE
_0205CDF8:
add r0, r5, #0
bl sub_0205C7A8
_0205CDFE:
add r0, r5, #0
bl sub_0205C7A4
cmp r0, #0
bne _0205CE58
add r0, r5, #0
bl sub_0205C700
cmp r0, #1
beq _0205CE58
cmp r0, #2
beq _0205CE58
cmp r4, #0x10
bhs _0205CE52
cmp r4, #0
bne _0205CE2A
add r0, r5, #0
bl sub_0205DE98
cmp r0, #1
bne _0205CE2A
mov r4, #1
_0205CE2A:
ldr r0, _0205CE64 ; =0x020FCB9A
lsl r1, r4, #2
ldrh r0, [r0, r1]
cmp r0, #1
bne _0205CE40
ldr r0, _0205CE5C ; =0x020FCB98
ldrh r4, [r0, r1]
add r0, r4, #0
bl sub_02006088
b _0205CE4A
_0205CE40:
ldr r0, _0205CE5C ; =0x020FCB98
ldrh r4, [r0, r1]
add r0, r4, #0
bl PlaySE
_0205CE4A:
add r0, r4, #0
bl sub_02005BA8
pop {r3, r4, r5, r6, r7, pc}
_0205CE52:
blo _0205CE58
bl GF_AssertFail
_0205CE58:
pop {r3, r4, r5, r6, r7, pc}
nop
_0205CE5C: .word 0x020FCB98
_0205CE60: .word 0x00000876
_0205CE64: .word 0x020FCB9A
thumb_func_end sub_0205CD70
thumb_func_start sub_0205CE68
sub_0205CE68: ; 0x0205CE68
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0205C6CC
add r6, r0, #0
add r0, r5, #0
bl sub_0205C6D4
add r4, r0, #0
add r0, r5, #0
bl sub_0205C6DC
add r7, r0, #0
add r0, r5, #0
mov r1, #0
bl sub_0205C6D0
mov r1, #0
add r0, r5, #0
mvn r1, r1
bl sub_0205D01C
cmp r0, #0
beq _0205CEA6
cmp r0, #2
beq _0205CEA6
add r0, r5, #0
mov r1, #2
bl sub_0205C6D0
pop {r3, r4, r5, r6, r7, pc}
_0205CEA6:
add r0, r7, #0
bl sub_02062108
cmp r0, #0
bne _0205CEF2
cmp r6, #0
beq _0205CF40
cmp r6, #1
beq _0205CEBE
cmp r6, #2
beq _0205CEE8
pop {r3, r4, r5, r6, r7, pc}
_0205CEBE:
add r0, r7, #0
bl sub_0205F4D4
bl sub_0205DE64
cmp r0, #1
beq _0205CF40
cmp r4, #0
beq _0205CED4
cmp r4, #3
bne _0205CEDE
_0205CED4:
add r0, r5, #0
mov r1, #1
bl sub_0205C6D0
pop {r3, r4, r5, r6, r7, pc}
_0205CEDE:
add r0, r5, #0
mov r1, #2
bl sub_0205C6D0
pop {r3, r4, r5, r6, r7, pc}
_0205CEE8:
add r0, r5, #0
mov r1, #2
bl sub_0205C6D0
pop {r3, r4, r5, r6, r7, pc}
_0205CEF2:
add r0, r7, #0
bl sub_02062198
cmp r0, #1
bne _0205CF40
cmp r6, #0
beq _0205CF40
cmp r6, #1
beq _0205CF0A
cmp r6, #2
beq _0205CF26
pop {r3, r4, r5, r6, r7, pc}
_0205CF0A:
cmp r4, #0
beq _0205CF40
cmp r4, #3
bne _0205CF1C
add r0, r5, #0
mov r1, #0
bl sub_0205C6D0
pop {r3, r4, r5, r6, r7, pc}
_0205CF1C:
add r0, r5, #0
mov r1, #3
bl sub_0205C6D0
pop {r3, r4, r5, r6, r7, pc}
_0205CF26:
cmp r4, #0
beq _0205CF40
cmp r4, #3
bne _0205CF38
add r0, r5, #0
mov r1, #0
bl sub_0205C6D0
pop {r3, r4, r5, r6, r7, pc}
_0205CF38:
add r0, r5, #0
mov r1, #3
bl sub_0205C6D0
_0205CF40:
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205CE68
thumb_func_start sub_0205CF44
sub_0205CF44: ; 0x0205CF44
push {r4, lr}
add r4, r0, #0
mov r1, #0
bl sub_0205C6C8
add r0, r4, #0
mov r1, #0
bl sub_0205C6D0
add r0, r4, #0
bl sub_0205C74C
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205CF44
thumb_func_start sub_0205CF60
sub_0205CF60: ; 0x0205CF60
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205C6CC
add r4, r0, #0
add r0, r5, #0
bl sub_0205C6D4
cmp r4, #0
bne _0205CF78
mov r0, #1
pop {r3, r4, r5, pc}
_0205CF78:
cmp r4, #2
bne _0205CF80
mov r0, #1
pop {r3, r4, r5, pc}
_0205CF80:
cmp r4, #1
bne _0205CFB6
cmp r0, #0
beq _0205CF8C
cmp r0, #3
bne _0205CF90
_0205CF8C:
mov r0, #1
pop {r3, r4, r5, pc}
_0205CF90:
add r0, r5, #0
bl sub_0205C6DC
add r4, r0, #0
bl sub_02062108
cmp r0, #1
bne _0205CFA4
mov r0, #1
pop {r3, r4, r5, pc}
_0205CFA4:
add r0, r4, #0
bl sub_0205F4D4
bl sub_0205DE64
cmp r0, #1
bne _0205CFB6
mov r0, #1
pop {r3, r4, r5, pc}
_0205CFB6:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205CF60
thumb_func_start sub_0205CFBC
sub_0205CFBC: ; 0x0205CFBC
push {r3, r4, r5, lr}
add r5, r1, #0
add r4, r0, #0
mov r1, #0
bl sub_0205C6C8
add r0, r4, #0
mov r1, #0
bl sub_0205C6D0
add r0, r4, #0
bl sub_0205C6DC
add r4, r0, #0
add r1, r5, #0
bl sub_0205F290
add r0, r4, #0
mov r1, #0
bl sub_0205F328
add r0, r4, #0
bl sub_02060F78
add r0, r4, #0
bl sub_020621F0
add r0, r5, #0
mov r1, #0
bl sub_0206234C
add r1, r0, #0
add r0, r4, #0
bl sub_0206214C
pop {r3, r4, r5, pc}
thumb_func_end sub_0205CFBC
thumb_func_start sub_0205D004
sub_0205D004: ; 0x0205D004
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0205D01C
add r1, r0, #0
add r0, r5, #0
add r2, r4, #0
bl sub_0205D07C
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205D004
thumb_func_start sub_0205D01C
sub_0205D01C: ; 0x0205D01C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
mov r4, #0
bl sub_0205C6DC
bl sub_0205F504
add r7, r0, #0
add r0, r5, #0
add r1, r7, #0
add r2, r6, #0
bl sub_0205E078
cmp r0, #1
bne _0205D040
mov r0, #2
pop {r3, r4, r5, r6, r7, pc}
_0205D040:
add r0, r5, #0
bl sub_0205CA64
cmp r0, #1
bne _0205D04E
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_0205D04E:
lsl r0, r7, #0x18
ldr r5, _0205D074 ; =0x020FCB88
lsr r6, r0, #0x18
_0205D054:
ldr r1, [r5]
add r0, r6, #0
blx r1
cmp r0, #1
bne _0205D066
ldr r0, _0205D078 ; =0x020FCB8C
lsl r1, r4, #3
ldr r0, [r0, r1]
pop {r3, r4, r5, r6, r7, pc}
_0205D066:
add r5, #8
ldr r0, [r5]
add r4, r4, #1
cmp r0, #0
bne _0205D054
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0205D074: .word 0x020FCB88
_0205D078: .word 0x020FCB8C
thumb_func_end sub_0205D01C
thumb_func_start sub_0205D07C
sub_0205D07C: ; 0x0205D07C
push {r3, lr}
add r3, r1, #0
add r1, r2, #0
ldr r2, _0205D098 ; =0x020FCB7C
lsl r3, r3, #2
ldr r2, [r2, r3]
blx r2
cmp r0, #1
bne _0205D092
mov r0, #1
pop {r3, pc}
_0205D092:
mov r0, #0
pop {r3, pc}
nop
_0205D098: .word 0x020FCB7C
thumb_func_end sub_0205D07C
thumb_func_start sub_0205D09C
sub_0205D09C: ; 0x0205D09C
push {r3, lr}
bl sub_0205D1FC
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205D09C
thumb_func_start sub_0205D0A8
sub_0205D0A8: ; 0x0205D0A8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0205C6DC
add r4, r0, #0
bl sub_0205F2B8
add r6, r0, #0
add r0, r5, #0
add r1, r6, #0
bl sub_0205D240
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl sub_0205DA34
add r7, r0, #0
add r0, r5, #0
mov r1, #1
bl sub_0205CA20
cmp r7, #0
beq _0205D10A
add r0, r4, #0
bl sub_0205F52C
add r4, r0, #0
add r0, r5, #0
mov r1, #1
bl sub_0205CA4C
add r0, r5, #0
mov r1, #0
bl sub_0205C6C8
add r0, r4, #0
bl sub_0206D494
cmp r0, #0
bne _0205D106
add r0, r5, #0
bl sub_0205D1FC
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0205D106:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205D10A:
ldr r1, [sp]
add r0, r5, #0
bl sub_0205D2A0
cmp r0, #0
bne _0205D170
add r0, r5, #0
bl sub_0205D1FC
add r0, r6, #0
bl sub_020611F4
add r6, r0, #0
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl sub_0205DA34
cmp r0, #0
beq _0205D136
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0205D136:
mov r1, #6
add r0, r4, #0
lsl r1, r1, #6
bl sub_0205F20C
add r0, r6, #0
mov r1, #8
bl sub_0206234C
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_0205DA1C
add r0, r5, #0
mov r1, #1
bl sub_0205CA4C
add r0, r5, #0
mov r1, #1
bl sub_0205CA20
mov r1, #0
mvn r1, r1
add r0, r5, #0
add r2, r1, #0
bl sub_0205C778
b _0205D182
_0205D170:
mov r1, #6
add r0, r4, #0
lsl r1, r1, #6
bl sub_0205F20C
add r0, r5, #0
add r1, r6, #0
bl sub_0205D2D0
_0205D182:
add r0, r5, #0
mov r1, #1
bl sub_0205C6C8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205D0A8
thumb_func_start sub_0205D190
sub_0205D190: ; 0x0205D190
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205C6DC
add r4, r0, #0
add r0, r5, #0
add r1, r4, #0
mov r2, #1
bl sub_0205DA34
cmp r0, #0
bne _0205D1CE
mov r0, #1
mov r1, #0x14
bl sub_0206234C
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_0205DA1C
add r0, r5, #0
mov r1, #1
bl sub_0205C6C8
add r0, r5, #0
mov r1, #3
bl sub_0205C748
mov r0, #1
pop {r3, r4, r5, pc}
_0205D1CE:
mov r0, #1
add r1, r0, #0
bl sub_0206234C
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_0205DA1C
add r0, r5, #0
bl sub_0205C74C
add r0, r5, #0
mov r1, #0
bl sub_0205C6C8
add r0, r5, #0
mov r1, #0
bl sub_0205CA78
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205D190
thumb_func_start sub_0205D1FC
sub_0205D1FC: ; 0x0205D1FC
push {r4, lr}
add r4, r0, #0
bl sub_0205CA38
cmp r0, #1
bne _0205D23E
add r0, r4, #0
bl sub_0205C6DC
mov r1, #6
lsl r1, r1, #6
bl sub_0205F214
add r0, r4, #0
bl sub_0205CB2C
cmp r0, #0
bne _0205D226
add r0, r4, #0
bl sub_0205C74C
_0205D226:
add r0, r4, #0
mov r1, #0
bl sub_0205CA20
add r0, r4, #0
mov r1, #0
bl sub_0205CB14
add r0, r4, #0
mov r1, #0
bl sub_0205CAD0
_0205D23E:
pop {r4, pc}
thumb_func_end sub_0205D1FC
thumb_func_start sub_0205D240
sub_0205D240: ; 0x0205D240
push {r4, r5, r6, lr}
sub sp, #0x18
add r5, r1, #0
bl sub_0205C6DC
add r4, r0, #0
bl sub_0205F52C
add r6, r0, #0
add r0, r4, #0
add r1, sp, #0xc
bl sub_0205F944
add r4, sp, #0xc
add r3, sp, #0
ldmia r4!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r4]
add r1, r2, #0
mov r2, #1
str r0, [r3]
add r0, r5, #0
lsl r2, r2, #0xe
bl sub_02061190
add r0, r6, #0
add r1, sp, #0
bl sub_0206121C
cmp r0, #0
beq _0205D288
ldr r1, [sp, #4]
ldr r0, [sp, #0x10]
cmp r0, r1
bne _0205D28E
_0205D288:
add sp, #0x18
mov r0, #0
pop {r4, r5, r6, pc}
_0205D28E:
cmp r0, r1
ble _0205D298
add sp, #0x18
mov r0, #2
pop {r4, r5, r6, pc}
_0205D298:
mov r0, #1
add sp, #0x18
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205D240
thumb_func_start sub_0205D2A0
sub_0205D2A0: ; 0x0205D2A0
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0205C744
add r1, r0, #0
cmp r4, #1
bne _0205D2B8
sub r1, r1, #1
bpl _0205D2C4
mov r0, #0
pop {r3, r4, r5, pc}
_0205D2B8:
cmp r4, #2
bne _0205D2C4
add r1, r1, #1
cmp r1, #3
ble _0205D2C4
mov r1, #3
_0205D2C4:
add r0, r5, #0
bl sub_0205C748
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205D2A0
thumb_func_start sub_0205D2D0
sub_0205D2D0: ; 0x0205D2D0
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
add r7, r1, #0
bl sub_0205C6DC
add r4, r0, #0
add r0, r6, #0
mov r5, #0x10
bl sub_0205C744
cmp r0, #1
beq _0205D2F2
cmp r0, #2
beq _0205D2F6
cmp r0, #3
beq _0205D2FA
b _0205D2FC
_0205D2F2:
mov r5, #0x50
b _0205D2FC
_0205D2F6:
mov r5, #0x14
b _0205D2FC
_0205D2FA:
mov r5, #0x14
_0205D2FC:
add r0, r7, #0
add r1, r5, #0
bl sub_0206234C
add r7, r0, #0
add r0, r6, #0
add r1, r4, #0
add r2, r7, #0
bl sub_0205DA1C
add r0, r4, #0
bl sub_0205F52C
add r5, r0, #0
bl sub_02069F88
cmp r0, #0
beq _0205D33C
add r0, r4, #0
bl sub_0205F8FC
add r6, r0, #0
add r0, r4, #0
bl sub_0205F90C
add r5, #0xe4
add r2, r0, #0
add r0, r7, #0
add r1, r6, #0
add r3, r5, #0
bl ov01_02205990
_0205D33C:
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205D2D0
thumb_func_start sub_0205D340
sub_0205D340: ; 0x0205D340
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r6, r0, #0
add r7, r1, #0
str r2, [sp, #8]
add r4, r3, #0
bl sub_0205C700
add r5, r0, #0
add r0, r6, #0
bl sub_0205C6DC
add r1, r0, #0
cmp r5, #3
bhi _0205D39E
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205D36A: ; jump table
.short _0205D372 - _0205D36A - 2 ; case 0
.short _0205D388 - _0205D36A - 2 ; case 1
.short _0205D372 - _0205D36A - 2 ; case 2
.short _0205D372 - _0205D36A - 2 ; case 3
_0205D372:
str r4, [sp]
add r0, sp, #0x10
ldrh r0, [r0, #0x10]
ldr r3, [sp, #8]
add r2, r7, #0
str r0, [sp, #4]
add r0, r6, #0
bl sub_0205D3A8
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0205D388:
str r4, [sp]
add r0, sp, #0x10
ldrh r0, [r0, #0x10]
ldr r3, [sp, #8]
add r2, r7, #0
str r0, [sp, #4]
add r0, r6, #0
bl sub_0205D640
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0205D39E:
bl GF_AssertFail
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205D340
thumb_func_start sub_0205D3A8
sub_0205D3A8: ; 0x0205D3A8
push {r3, r4, r5, r6, lr}
sub sp, #4
add r6, r3, #0
add r4, r1, #0
add r1, r6, #0
add r5, r0, #0
bl sub_0205D40C
cmp r0, #0
beq _0205D3C8
cmp r0, #1
beq _0205D3DE
cmp r0, #2
beq _0205D3F4
add sp, #4
pop {r3, r4, r5, r6, pc}
_0205D3C8:
add r3, sp, #8
ldrh r0, [r3, #0x14]
add r1, r4, #0
add r2, r6, #0
str r0, [sp]
ldrh r3, [r3, #0x10]
add r0, r5, #0
bl sub_0205D494
add sp, #4
pop {r3, r4, r5, r6, pc}
_0205D3DE:
add r3, sp, #8
ldrh r0, [r3, #0x14]
add r1, r4, #0
add r2, r6, #0
str r0, [sp]
ldrh r3, [r3, #0x10]
add r0, r5, #0
bl sub_0205D4B4
add sp, #4
pop {r3, r4, r5, r6, pc}
_0205D3F4:
add r3, sp, #8
ldrh r0, [r3, #0x14]
add r1, r4, #0
add r2, r6, #0
str r0, [sp]
ldrh r3, [r3, #0x10]
add r0, r5, #0
bl sub_0205D610
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205D3A8
thumb_func_start sub_0205D40C
sub_0205D40C: ; 0x0205D40C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205D450
add r4, r0, #0
bl sub_0205D428
add r1, r0, #0
add r0, r5, #0
bl sub_0205C6C8
add r0, r4, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205D40C
thumb_func_start sub_0205D428
sub_0205D428: ; 0x0205D428
push {r3, lr}
cmp r0, #0
beq _0205D438
cmp r0, #1
beq _0205D43C
cmp r0, #2
beq _0205D440
b _0205D444
_0205D438:
mov r0, #0
pop {r3, pc}
_0205D43C:
mov r0, #1
pop {r3, pc}
_0205D440:
mov r0, #2
pop {r3, pc}
_0205D444:
bl GF_AssertFail
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0205D428
thumb_func_start sub_0205D44C
sub_0205D44C: ; 0x0205D44C
add r0, r2, #0
bx lr
thumb_func_end sub_0205D44C
thumb_func_start sub_0205D450
sub_0205D450: ; 0x0205D450
push {r3, r4, r5, lr}
add r4, r1, #0
mov r1, #0
mvn r1, r1
add r5, r0, #0
cmp r4, r1
bne _0205D468
mov r1, #0
bl sub_0205C6C8
mov r0, #0
pop {r3, r4, r5, pc}
_0205D468:
bl sub_0205C654
cmp r0, r4
beq _0205D486
add r0, r5, #0
bl sub_0205C6CC
cmp r0, #1
beq _0205D486
add r0, r5, #0
mov r1, #2
bl sub_0205C6C8
mov r0, #2
pop {r3, r4, r5, pc}
_0205D486:
add r0, r5, #0
mov r1, #1
bl sub_0205C6C8
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205D450
thumb_func_start sub_0205D494
sub_0205D494: ; 0x0205D494
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
bl sub_0205F2A8
mov r1, #0
bl sub_0206234C
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_0205DA1C
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205D494
thumb_func_start sub_0205D4B4
sub_0205D4B4: ; 0x0205D4B4
push {r4, r5, r6, r7, lr}
sub sp, #0x14
mov r3, #0
add r6, r0, #0
add r5, r1, #0
add r7, r2, #0
str r3, [sp, #4]
bl sub_0205DA34
add r4, r0, #0
add r0, r6, #0
bl sub_0205C700
cmp r0, #2
beq _0205D588
mov r0, #4
tst r0, r4
beq _0205D4DE
mov r0, #0x38
str r0, [sp]
b _0205D5CE
_0205D4DE:
cmp r4, #0
beq _0205D544
mov r0, #0x1c
str r0, [sp]
mov r0, #8
tst r0, r4
bne _0205D536
add r0, r5, #0
bl sub_0205F52C
mov r1, #7
str r0, [sp, #8]
bl sub_02068F68
cmp r0, #0
beq _0205D52E
add r0, r5, #0
bl sub_0205F914
add r4, r0, #0
add r0, r7, #0
bl sub_02060F0C
str r0, [sp, #0xc]
add r0, r5, #0
bl sub_0205F934
str r0, [sp, #0x10]
add r0, r7, #0
bl sub_02060F18
ldr r1, [sp, #0xc]
add r2, r0, #0
ldr r3, [sp, #0x10]
ldr r0, [sp, #8]
add r1, r4, r1
add r2, r3, r2
bl ov04_022566EC
b _0205D536
_0205D52E:
mov r0, #6
lsl r0, r0, #8
bl PlaySE
_0205D536:
add r0, r5, #0
add r1, r7, #0
bl sub_0205F2B0
mov r0, #1
str r0, [sp, #4]
b _0205D5CE
_0205D544:
add r0, r6, #0
mov r4, #0xc
bl sub_0205C798
bl sub_0205C7C8
cmp r0, #1
bne _0205D564
add r1, sp, #0x18
ldrh r1, [r1, #0x10]
add r0, r6, #0
bl sub_0205DE88
cmp r0, #1
bne _0205D564
mov r4, #0x58
_0205D564:
add r0, r5, #0
bl sub_0205F504
add r1, r0, #0
lsl r1, r1, #0x18
add r0, r5, #0
lsr r1, r1, #0x18
add r2, r4, #0
bl sub_0205D44C
str r0, [sp]
add r0, r6, #0
bl sub_0205E048
add r0, r6, #0
bl sub_0205CAE8
b _0205D5CE
_0205D588:
cmp r4, #0
beq _0205D590
cmp r4, #0x20
bne _0205D5B4
_0205D590:
add r0, r5, #0
bl sub_0205F504
add r1, r0, #0
lsl r1, r1, #0x18
add r0, r5, #0
lsr r1, r1, #0x18
mov r2, #0x10
bl sub_0205D44C
str r0, [sp]
add r0, r6, #0
bl sub_0205E048
add r0, r6, #0
bl sub_0205CAE8
b _0205D5CE
_0205D5B4:
mov r0, #0x1c
str r0, [sp]
mov r0, #8
tst r0, r4
bne _0205D5C6
mov r0, #6
lsl r0, r0, #8
bl PlaySE
_0205D5C6:
add r0, r5, #0
add r1, r7, #0
bl sub_0205F2B0
_0205D5CE:
ldr r1, [sp]
add r0, r7, #0
bl sub_0206234C
add r7, r0, #0
add r0, r6, #0
add r1, r5, #0
add r2, r7, #0
bl sub_0205DA1C
ldr r0, [sp, #4]
cmp r0, #0
bne _0205D60C
add r0, r5, #0
bl sub_0205F52C
add r4, r0, #0
add r0, r5, #0
bl sub_0205F8FC
add r6, r0, #0
add r0, r5, #0
bl sub_0205F90C
add r4, #0xe4
add r2, r0, #0
add r0, r7, #0
add r1, r6, #0
add r3, r4, #0
bl ov01_02205990
_0205D60C:
add sp, #0x14
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_0205D4B4
thumb_func_start sub_0205D610
sub_0205D610: ; 0x0205D610
push {r4, r5, r6, lr}
add r6, r2, #0
add r5, r0, #0
add r4, r1, #0
add r0, r6, #0
mov r1, #0x28
bl sub_0206234C
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_0205DA1C
add r0, r4, #0
add r1, r6, #0
bl sub_0205F2B0
add r0, r5, #0
bl sub_0205C7B4
add r0, r5, #0
bl sub_0205C7A8
pop {r4, r5, r6, pc}
thumb_func_end sub_0205D610
thumb_func_start sub_0205D640
sub_0205D640: ; 0x0205D640
push {r3, r4, r5, lr}
sub sp, #8
add r4, sp, #8
ldrh r5, [r4, #0x10]
str r5, [sp]
ldrh r4, [r4, #0x14]
str r4, [sp, #4]
bl sub_0205D6E8
add sp, #8
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205D640
thumb_func_start sub_0205D658
sub_0205D658: ; 0x0205D658
push {r3, r4, r5, lr}
add r5, r1, #0
mov r4, #0x4c
bl sub_0205C744
cmp r0, #1
beq _0205D670
cmp r0, #2
beq _0205D674
cmp r0, #3
beq _0205D678
b _0205D67A
_0205D670:
mov r4, #0x10
b _0205D67A
_0205D674:
mov r4, #0x50
b _0205D67A
_0205D678:
mov r4, #0x14
_0205D67A:
add r0, r5, #0
add r1, r4, #0
bl sub_0206234C
pop {r3, r4, r5, pc}
thumb_func_end sub_0205D658
thumb_func_start sub_0205D684
sub_0205D684: ; 0x0205D684
push {r3, r4, r5, lr}
add r5, r0, #0
mov r1, #1
mov r2, #3
bl sub_0205C758
add r4, r0, #0
add r0, r5, #0
bl sub_0205CA90
cmp r0, #0
bne _0205D6A8
cmp r4, #2
blt _0205D6A8
add r0, r5, #0
mov r1, #1
bl sub_0205CA78
_0205D6A8:
cmp r4, #3
bne _0205D6B0
mov r0, #1
pop {r3, r4, r5, pc}
_0205D6B0:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0205D684
thumb_func_start sub_0205D6B4
sub_0205D6B4: ; 0x0205D6B4
push {r4, r5, r6, lr}
add r5, r0, #0
mov r6, #1
bl sub_0205C744
sub r4, r0, #1
bpl _0205D6C6
mov r4, #0
add r6, r4, #0
_0205D6C6:
add r0, r5, #0
add r1, r4, #0
bl sub_0205C748
add r0, r5, #0
bl sub_0205CA90
cmp r0, #1
bne _0205D6E4
cmp r4, #0
bne _0205D6E4
add r0, r5, #0
mov r1, #0
bl sub_0205CA78
_0205D6E4:
add r0, r6, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_0205D6B4
thumb_func_start sub_0205D6E8
sub_0205D6E8: ; 0x0205D6E8
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r7, r1, #0
add r1, r3, #0
add r6, r0, #0
str r3, [sp, #4]
ldr r5, [sp, #0x20]
ldr r4, [sp, #0x24]
bl sub_0205D75C
cmp r0, #3
bhi _0205D758
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205D70C: ; jump table
.short _0205D714 - _0205D70C - 2 ; case 0
.short _0205D726 - _0205D70C - 2 ; case 1
.short _0205D738 - _0205D70C - 2 ; case 2
.short _0205D74A - _0205D70C - 2 ; case 3
_0205D714:
ldr r2, [sp, #4]
add r0, r6, #0
add r1, r7, #0
add r3, r5, #0
str r4, [sp]
bl sub_0205D818
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_0205D726:
ldr r2, [sp, #4]
add r0, r6, #0
add r1, r7, #0
add r3, r5, #0
str r4, [sp]
bl sub_0205D83C
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_0205D738:
ldr r2, [sp, #4]
add r0, r6, #0
add r1, r7, #0
add r3, r5, #0
str r4, [sp]
bl sub_0205D948
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_0205D74A:
ldr r2, [sp, #4]
add r0, r6, #0
add r1, r7, #0
add r3, r5, #0
str r4, [sp]
bl sub_0205D978
_0205D758:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205D6E8
thumb_func_start sub_0205D75C
sub_0205D75C: ; 0x0205D75C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205D7AC
add r4, r0, #0
bl sub_0205D778
add r1, r0, #0
add r0, r5, #0
bl sub_0205C6C8
add r0, r4, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205D75C
thumb_func_start sub_0205D778
sub_0205D778: ; 0x0205D778
push {r3, lr}
cmp r0, #3
bhi _0205D7A2
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205D78A: ; jump table
.short _0205D792 - _0205D78A - 2 ; case 0
.short _0205D796 - _0205D78A - 2 ; case 1
.short _0205D79A - _0205D78A - 2 ; case 2
.short _0205D79E - _0205D78A - 2 ; case 3
_0205D792:
mov r0, #0
pop {r3, pc}
_0205D796:
mov r0, #1
pop {r3, pc}
_0205D79A:
mov r0, #2
pop {r3, pc}
_0205D79E:
mov r0, #1
pop {r3, pc}
_0205D7A2:
bl GF_AssertFail
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205D778
thumb_func_start sub_0205D7AC
sub_0205D7AC: ; 0x0205D7AC
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0205C744
add r6, r0, #0
mov r0, #0
mvn r0, r0
cmp r4, r0
bne _0205D7DC
cmp r6, #2
bge _0205D7D0
add r0, r5, #0
mov r1, #0
bl sub_0205C6C8
mov r0, #0
pop {r4, r5, r6, pc}
_0205D7D0:
add r0, r5, #0
mov r1, #1
bl sub_0205C6C8
mov r0, #3
pop {r4, r5, r6, pc}
_0205D7DC:
add r0, r5, #0
bl sub_0205C654
cmp r0, r4
beq _0205D80C
add r0, r5, #0
bl sub_0205C6CC
cmp r0, #1
beq _0205D80C
cmp r6, #2
bge _0205D800
add r0, r5, #0
mov r1, #2
bl sub_0205C6C8
mov r0, #2
pop {r4, r5, r6, pc}
_0205D800:
add r0, r5, #0
mov r1, #1
bl sub_0205C6C8
mov r0, #3
pop {r4, r5, r6, pc}
_0205D80C:
add r0, r5, #0
mov r1, #1
bl sub_0205C6C8
mov r0, #1
pop {r4, r5, r6, pc}
thumb_func_end sub_0205D7AC
thumb_func_start sub_0205D818
sub_0205D818: ; 0x0205D818
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
bl sub_0205F2A8
mov r1, #0
bl sub_0206234C
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_0205DA1C
add r0, r5, #0
bl sub_0205C74C
pop {r3, r4, r5, pc}
thumb_func_end sub_0205D818
thumb_func_start sub_0205D83C
sub_0205D83C: ; 0x0205D83C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r7, r1, #0
add r6, r2, #0
bl sub_0205DA34
add r4, r0, #0
mov r0, #4
tst r0, r4
beq _0205D86E
add r0, r6, #0
mov r1, #0x38
bl sub_0206234C
str r0, [sp]
add r0, r5, #0
bl sub_0205D684
add r0, r5, #0
bl sub_0205E048
add r0, r5, #0
bl sub_0205CAE8
b _0205D93A
_0205D86E:
mov r0, #0x10
tst r0, r4
beq _0205D8C0
add r0, r5, #0
bl sub_0205C744
cmp r0, #3
blt _0205D898
add r0, r5, #0
add r1, r6, #0
bl sub_0205D658
str r0, [sp]
add r0, r5, #0
bl sub_0205CAE8
add r0, r5, #0
mov r1, #1
bl sub_0205CA20
b _0205D93A
_0205D898:
add r0, r6, #0
mov r1, #0x1c
bl sub_0206234C
str r0, [sp]
mov r0, #8
tst r0, r4
bne _0205D8B0
mov r0, #6
lsl r0, r0, #8
bl PlaySE
_0205D8B0:
add r0, r7, #0
add r1, r6, #0
bl sub_0205F2B0
add r0, r5, #0
bl sub_0205C74C
b _0205D93A
_0205D8C0:
mov r0, #0x40
tst r0, r4
beq _0205D8F2
add r0, r7, #0
bl sub_0205F2B8
add r4, r0, #0
mov r1, #0
bl sub_0206234C
str r0, [sp]
add r0, r7, #0
add r1, r4, #0
bl sub_0205F2B0
add r0, r5, #0
bl sub_0205C74C
mov r1, #0
mvn r1, r1
add r0, r5, #0
add r2, r1, #0
bl sub_0205C778
b _0205D93A
_0205D8F2:
cmp r4, #0
beq _0205D91E
add r0, r6, #0
mov r1, #0x1c
bl sub_0206234C
str r0, [sp]
mov r0, #8
tst r0, r4
bne _0205D90E
mov r0, #6
lsl r0, r0, #8
bl PlaySE
_0205D90E:
add r0, r7, #0
add r1, r6, #0
bl sub_0205F2B0
add r0, r5, #0
bl sub_0205C74C
b _0205D93A
_0205D91E:
add r0, r5, #0
add r1, r6, #0
bl sub_0205D658
str r0, [sp]
add r0, r5, #0
bl sub_0205D684
add r0, r5, #0
bl sub_0205E048
add r0, r5, #0
bl sub_0205CAE8
_0205D93A:
ldr r2, [sp]
add r0, r5, #0
add r1, r7, #0
bl sub_0205DA1C
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205D83C
thumb_func_start sub_0205D948
sub_0205D948: ; 0x0205D948
push {r4, r5, r6, lr}
add r6, r2, #0
add r5, r0, #0
add r4, r1, #0
bl sub_0205C74C
add r0, r6, #0
mov r1, #0x28
bl sub_0206234C
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_0205DA1C
add r0, r4, #0
add r1, r6, #0
bl sub_0205F2B0
add r0, r5, #0
bl sub_0205C74C
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205D948
thumb_func_start sub_0205D978
sub_0205D978: ; 0x0205D978
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
add r7, r1, #0
bl sub_0205D6B4
str r0, [sp]
add r0, r5, #0
bl sub_0205C670
add r6, r0, #0
add r0, r5, #0
add r1, r7, #0
add r2, r6, #0
bl sub_0205DA34
add r4, r0, #0
mov r0, #4
tst r0, r4
beq _0205D9AC
add r0, r6, #0
mov r1, #0x38
bl sub_0206234C
str r0, [sp, #4]
b _0205D9FE
_0205D9AC:
mov r0, #0x40
tst r0, r4
beq _0205D9C4
add r0, r6, #0
mov r1, #0
bl sub_0206234C
str r0, [sp, #4]
add r0, r5, #0
bl sub_0205C74C
b _0205D9FE
_0205D9C4:
cmp r4, #0
beq _0205D9F4
mov r0, #0
str r0, [sp]
add r0, r6, #0
mov r1, #0x1c
bl sub_0206234C
str r0, [sp, #4]
mov r0, #8
tst r0, r4
bne _0205D9E4
mov r0, #6
lsl r0, r0, #8
bl PlaySE
_0205D9E4:
add r0, r7, #0
add r1, r6, #0
bl sub_0205F2B0
add r0, r5, #0
bl sub_0205C74C
b _0205D9FE
_0205D9F4:
add r0, r5, #0
add r1, r6, #0
bl sub_0205D658
str r0, [sp, #4]
_0205D9FE:
ldr r0, [sp]
cmp r0, #0
bne _0205DA0C
add r0, r5, #0
mov r1, #0
bl sub_0205CA78
_0205DA0C:
ldr r2, [sp, #4]
add r0, r5, #0
add r1, r7, #0
bl sub_0205DA1C
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205D978
thumb_func_start sub_0205DA1C
sub_0205DA1C: ; 0x0205DA1C
push {r3, r4, r5, lr}
add r4, r2, #0
add r5, r1, #0
add r1, r4, #0
bl sub_0205C79C
add r0, r5, #0
add r1, r4, #0
bl sub_0206214C
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205DA1C
thumb_func_start sub_0205DA34
sub_0205DA34: ; 0x0205DA34
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
add r7, r2, #0
mov r4, #0
bl sub_0205DAA8
mov r1, #0xa
str r0, [sp]
tst r0, r1
beq _0205DA60
mov r0, #1
orr r4, r0
add r0, r5, #0
add r1, r6, #0
add r2, r7, #0
bl sub_0205DBF4
cmp r0, #0
beq _0205DA60
mov r0, #8
orr r4, r0
_0205DA60:
ldr r0, [sp]
mov r1, #4
tst r0, r1
beq _0205DA6C
mov r0, #2
orr r4, r0
_0205DA6C:
add r0, r5, #0
add r1, r6, #0
add r2, r7, #0
bl sub_0205DB68
cmp r0, #0
beq _0205DA7E
mov r0, #4
orr r4, r0
_0205DA7E:
add r0, r5, #0
add r1, r6, #0
add r2, r7, #0
bl sub_0205DCA0
cmp r0, #1
bne _0205DA90
mov r0, #0x20
orr r4, r0
_0205DA90:
add r0, r5, #0
add r1, r6, #0
add r2, r7, #0
bl sub_0205DCFC
cmp r0, #1
bne _0205DAA2
mov r0, #1
orr r4, r0
_0205DAA2:
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205DA34
thumb_func_start sub_0205DAA8
sub_0205DAA8: ; 0x0205DAA8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
add r5, r1, #0
str r2, [sp, #4]
add r0, r5, #0
bl sub_0205F914
add r7, r0, #0
ldr r0, [sp, #4]
bl sub_02060F0C
str r0, [sp, #0x14]
add r0, r5, #0
bl sub_0205F924
str r0, [sp, #8]
add r0, r5, #0
bl sub_0205F934
str r0, [sp, #0xc]
ldr r0, [sp, #4]
bl sub_02060F18
str r0, [sp, #0x10]
add r0, r5, #0
add r1, sp, #0x1c
bl sub_0205F944
ldr r1, [sp, #0x14]
ldr r6, [sp, #0xc]
ldr r3, [sp, #0x10]
ldr r2, [sp, #8]
add r0, r5, #0
add r1, r7, r1
add r3, r6, r3
mov r4, #0
bl sub_02060D94
cmp r0, #1
bne _0205DAFC
mov r0, #1
orr r4, r0
_0205DAFC:
add r0, r5, #0
bl sub_0205F52C
ldr r2, [sp, #0x14]
add r1, sp, #0x18
str r1, [sp]
ldr r6, [sp, #0xc]
ldr r3, [sp, #0x10]
add r1, sp, #0x1c
add r2, r7, r2
add r3, r6, r3
bl sub_020549F4
cmp r0, #1
bne _0205DB2C
mov r0, #2
orr r4, r0
add r1, sp, #0x18
mov r0, #0
ldrsb r0, [r1, r0]
cmp r0, #0
beq _0205DB2C
mov r0, #8
orr r4, r0
_0205DB2C:
ldr r3, [sp, #0xc]
ldr r2, [sp, #0x10]
ldr r1, [sp, #0x14]
add r2, r3, r2
ldr r3, [sp, #4]
add r0, r5, #0
add r1, r7, r1
bl sub_02060DEC
cmp r0, #1
bne _0205DB46
mov r0, #2
orr r4, r0
_0205DB46:
add r0, r5, #0
ldr r1, [sp, #0x14]
ldr r5, [sp, #0xc]
ldr r3, [sp, #0x10]
ldr r2, [sp, #8]
add r1, r7, r1
add r3, r5, r3
bl sub_02060BFC
cmp r0, #1
bne _0205DB60
mov r0, #4
orr r4, r0
_0205DB60:
add r0, r4, #0
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205DAA8
thumb_func_start sub_0205DB68
sub_0205DB68: ; 0x0205DB68
push {r3, r4, r5, r6, r7, lr}
mov r0, #0
add r4, r2, #0
mvn r0, r0
add r5, r1, #0
cmp r4, r0
beq _0205DBF0
add r0, r5, #0
bl sub_0205F52C
str r0, [sp]
add r0, r5, #0
bl sub_0205F914
add r6, r0, #0
add r0, r4, #0
bl sub_02060F0C
add r7, r0, #0
add r0, r5, #0
bl sub_0205F934
add r5, r0, #0
add r0, r4, #0
bl sub_02060F18
add r2, r0, #0
ldr r0, [sp]
add r1, r6, r7
add r2, r5, r2
bl sub_02054918
cmp r4, #3
bhi _0205DBF0
add r1, r4, r4
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205DBB8: ; jump table
.short _0205DBC0 - _0205DBB8 - 2 ; case 0
.short _0205DBCC - _0205DBB8 - 2 ; case 1
.short _0205DBD8 - _0205DBB8 - 2 ; case 2
.short _0205DBE4 - _0205DBB8 - 2 ; case 3
_0205DBC0:
bl sub_0205B7B0
cmp r0, #1
bne _0205DBF0
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205DBCC:
bl sub_0205B7BC
cmp r0, #1
bne _0205DBF0
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205DBD8:
bl sub_0205B7C8
cmp r0, #1
bne _0205DBF0
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205DBE4:
bl sub_0205B7D4
cmp r0, #1
bne _0205DBF0
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205DBF0:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205DB68
thumb_func_start sub_0205DBF4
sub_0205DBF4: ; 0x0205DBF4
push {r3, r4, r5, r6, r7, lr}
mov r0, #0
add r4, r2, #0
mvn r0, r0
add r5, r1, #0
cmp r4, r0
beq _0205DC9C
add r0, r5, #0
bl sub_0205F52C
add r7, r0, #0
add r0, r5, #0
bl sub_0205F914
add r6, r0, #0
add r0, r5, #0
bl sub_0205F934
str r0, [sp]
ldr r2, [sp]
add r0, r7, #0
add r1, r6, #0
bl sub_02054918
add r5, r0, #0
cmp r4, #3
bhi _0205DC74
add r1, r4, r4
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205DC36: ; jump table
.short _0205DC3E - _0205DC36 - 2 ; case 0
.short _0205DC4A - _0205DC36 - 2 ; case 1
.short _0205DC58 - _0205DC36 - 2 ; case 2
.short _0205DC66 - _0205DC36 - 2 ; case 3
_0205DC3E:
bl sub_0205B730
cmp r0, #1
bne _0205DC4A
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205DC4A:
add r0, r5, #0
bl sub_0205B73C
cmp r0, #1
bne _0205DC58
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205DC58:
add r0, r5, #0
bl sub_0205B724
cmp r0, #1
bne _0205DC66
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205DC66:
add r0, r5, #0
bl sub_0205B718
cmp r0, #1
bne _0205DC74
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205DC74:
add r0, r4, #0
bl sub_02060F0C
add r5, r0, #0
add r0, r4, #0
bl sub_02060F18
add r3, r0, #0
ldr r2, [sp]
add r0, r7, #0
add r1, r6, r5
add r2, r2, r3
bl sub_02054918
bl sub_0205B70C
cmp r0, #1
bne _0205DC9C
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205DC9C:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205DBF4
thumb_func_start sub_0205DCA0
sub_0205DCA0: ; 0x0205DCA0
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
mov r0, #0
add r4, r2, #0
mvn r0, r0
add r5, r1, #0
cmp r4, r0
beq _0205DCF6
add r0, r5, #0
bl sub_0205F52C
str r0, [sp]
add r0, r5, #0
bl sub_0205F914
add r6, r0, #0
add r0, r4, #0
bl sub_02060F0C
add r7, r0, #0
add r0, r5, #0
bl sub_0205F934
str r0, [sp, #4]
add r0, r4, #0
bl sub_02060F18
add r3, r0, #0
ldr r2, [sp, #4]
ldr r0, [sp]
add r1, r6, r7
add r2, r2, r3
bl sub_02054918
add r1, r0, #0
add r0, r5, #0
bl sub_02060E54
cmp r0, #0
beq _0205DCF6
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205DCF6:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205DCA0
thumb_func_start sub_0205DCFC
sub_0205DCFC: ; 0x0205DCFC
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r1, #0
mov r1, #0
add r4, r2, #0
mvn r1, r1
cmp r4, r1
beq _0205DD8E
bl sub_0205C700
cmp r0, #1
bne _0205DD8E
add r0, r5, #0
bl sub_0205F52C
str r0, [sp]
add r0, r5, #0
bl sub_0205F914
add r6, r0, #0
add r0, r4, #0
bl sub_02060F0C
add r7, r0, #0
add r0, r5, #0
bl sub_0205F934
str r0, [sp, #4]
add r0, r4, #0
bl sub_02060F18
add r3, r0, #0
ldr r2, [sp, #4]
ldr r0, [sp]
add r1, r6, r7
add r2, r2, r3
bl sub_02054918
add r4, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_02060E54
cmp r0, #0
beq _0205DD5C
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205DD5C:
add r0, r5, #0
add r1, r4, #0
bl sub_02060EBC
cmp r0, #0
beq _0205DD6E
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205DD6E:
add r0, r4, #0
bl sub_0205B6F4
cmp r0, #0
beq _0205DD7E
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205DD7E:
add r0, r4, #0
bl sub_0205B8AC
cmp r0, #0
beq _0205DD8E
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205DD8E:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205DCFC
thumb_func_start sub_0205DD94
sub_0205DD94: ; 0x0205DD94
ldr r3, _0205DD98 ; =sub_0205DDD4
bx r3
.balign 4, 0
_0205DD98: .word sub_0205DDD4
thumb_func_end sub_0205DD94
thumb_func_start sub_0205DD9C
sub_0205DD9C: ; 0x0205DD9C
mov r1, #0x20
tst r1, r0
beq _0205DDA6
mov r0, #2
bx lr
_0205DDA6:
mov r1, #0x10
tst r0, r1
beq _0205DDB0
mov r1, #3
b _0205DDB2
_0205DDB0:
sub r1, #0x11
_0205DDB2:
add r0, r1, #0
bx lr
.balign 4, 0
thumb_func_end sub_0205DD9C
thumb_func_start sub_0205DDB8
sub_0205DDB8: ; 0x0205DDB8
mov r1, #0x40
tst r1, r0
beq _0205DDC2
mov r0, #0
bx lr
_0205DDC2:
mov r1, #0x80
tst r0, r1
beq _0205DDCC
mov r1, #1
b _0205DDCE
_0205DDCC:
sub r1, #0x81
_0205DDCE:
add r0, r1, #0
bx lr
.balign 4, 0
thumb_func_end sub_0205DDB8
thumb_func_start sub_0205DDD4
sub_0205DDD4: ; 0x0205DDD4
push {r3, r4, r5, r6, r7, lr}
add r5, r2, #0
add r6, r0, #0
add r0, r5, #0
bl sub_0205DD9C
add r4, r0, #0
add r0, r5, #0
bl sub_0205DDB8
mov r1, #0
mvn r1, r1
add r5, r0, #0
cmp r4, r1
beq _0205DE34
cmp r5, r1
bne _0205DDFA
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_0205DDFA:
add r0, r6, #0
bl sub_0205C670
add r7, r0, #0
add r0, r6, #0
bl sub_0205C76C
str r0, [sp]
add r0, r6, #0
bl sub_0205C774
mov r1, #0
mvn r1, r1
cmp r7, r1
beq _0205DE32
ldr r1, [sp]
cmp r4, r1
bne _0205DE26
cmp r5, r0
bne _0205DE26
add r0, r7, #0
pop {r3, r4, r5, r6, r7, pc}
_0205DE26:
cmp r5, r0
beq _0205DE2E
add r0, r5, #0
pop {r3, r4, r5, r6, r7, pc}
_0205DE2E:
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_0205DE32:
add r0, r5, #0
_0205DE34:
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205DDD4
thumb_func_start sub_0205DE38
sub_0205DE38: ; 0x0205DE38
push {r4, lr}
bl sub_0205C6DC
add r4, r0, #0
bl sub_02062108
cmp r0, #1
bne _0205DE4C
mov r0, #1
pop {r4, pc}
_0205DE4C:
add r0, r4, #0
bl sub_0205F4D4
bl sub_0205DE64
cmp r0, #1
bne _0205DE5E
mov r0, #1
pop {r4, pc}
_0205DE5E:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205DE38
thumb_func_start sub_0205DE64
sub_0205DE64: ; 0x0205DE64
sub r0, #0x1c
cmp r0, #3
bhi _0205DE82
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205DE76: ; jump table
.short _0205DE7E - _0205DE76 - 2 ; case 0
.short _0205DE7E - _0205DE76 - 2 ; case 1
.short _0205DE7E - _0205DE76 - 2 ; case 2
.short _0205DE7E - _0205DE76 - 2 ; case 3
_0205DE7E:
mov r0, #1
bx lr
_0205DE82:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end sub_0205DE64
thumb_func_start sub_0205DE88
sub_0205DE88: ; 0x0205DE88
mov r0, #2
tst r0, r1
beq _0205DE92
mov r0, #1
bx lr
_0205DE92:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end sub_0205DE88
thumb_func_start sub_0205DE98
sub_0205DE98: ; 0x0205DE98
push {r3, lr}
bl sub_0205C7A0
sub r0, #0x58
cmp r0, #3
bhi _0205DEBC
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205DEB0: ; jump table
.short _0205DEB8 - _0205DEB0 - 2 ; case 0
.short _0205DEB8 - _0205DEB0 - 2 ; case 1
.short _0205DEB8 - _0205DEB0 - 2 ; case 2
.short _0205DEB8 - _0205DEB0 - 2 ; case 3
_0205DEB8:
mov r0, #1
pop {r3, pc}
_0205DEBC:
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0205DE98
thumb_func_start sub_0205DEC0
sub_0205DEC0: ; 0x0205DEC0
push {r3, r4, r5, lr}
add r4, r0, #0
add r5, r1, #0
bl sub_0205C700
cmp r0, #3
bhi _0205DF02
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205DEDA: ; jump table
.short _0205DEE2 - _0205DEDA - 2 ; case 0
.short _0205DEF2 - _0205DEDA - 2 ; case 1
.short _0205DEE2 - _0205DEDA - 2 ; case 2
.short _0205DEE2 - _0205DEDA - 2 ; case 3
_0205DEE2:
add r0, r4, #0
add r1, r5, #0
bl sub_0205D450
bl sub_0205D428
add r4, r0, #0
b _0205DF08
_0205DEF2:
add r0, r4, #0
add r1, r5, #0
bl sub_0205D7AC
bl sub_0205D778
add r4, r0, #0
b _0205DF08
_0205DF02:
mov r4, #0
bl GF_AssertFail
_0205DF08:
add r0, r4, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0205DEC0
thumb_func_start sub_0205DF0C
sub_0205DF0C: ; 0x0205DF0C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r7, r2, #0
add r6, r3, #0
bl sub_0205DDD4
str r0, [sp]
ldr r1, [sp]
add r0, r5, #0
bl sub_0205DEC0
add r4, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_0205C6C8
cmp r4, #0
bne _0205DF3E
add r0, r5, #0
bl sub_0205C654
mov r1, #0
bl sub_0206234C
pop {r3, r4, r5, r6, r7, pc}
_0205DF3E:
cmp r4, #2
bne _0205DF4C
ldr r0, [sp]
mov r1, #0x28
bl sub_0206234C
pop {r3, r4, r5, r6, r7, pc}
_0205DF4C:
add r0, r5, #0
bl sub_0205C6DC
ldr r0, [sp, #0x1c]
mov r4, #4
add r1, r0, #0
tst r1, r4
beq _0205DF60
mov r4, #0x38
b _0205DFBE
_0205DF60:
cmp r0, #0
beq _0205DF76
mov r1, #8
mov r4, #0x1c
tst r0, r1
bne _0205DFBE
mov r0, #6
lsl r0, r0, #8
bl PlaySE
b _0205DFBE
_0205DF76:
cmp r6, #5
bhi _0205DFA8
add r0, r6, r6
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0205DF86: ; jump table
.short _0205DF92 - _0205DF86 - 2 ; case 0
.short _0205DF94 - _0205DF86 - 2 ; case 1
.short _0205DF98 - _0205DF86 - 2 ; case 2
.short _0205DF9C - _0205DF86 - 2 ; case 3
.short _0205DFA0 - _0205DF86 - 2 ; case 4
.short _0205DFA4 - _0205DF86 - 2 ; case 5
_0205DF92:
b _0205DFAA
_0205DF94:
mov r4, #8
b _0205DFAA
_0205DF98:
mov r4, #0xc
b _0205DFAA
_0205DF9C:
mov r4, #0x4c
b _0205DFAA
_0205DFA0:
mov r4, #0x10
b _0205DFAA
_0205DFA4:
mov r4, #0x14
b _0205DFAA
_0205DFA8:
mov r4, #4
_0205DFAA:
ldr r0, [sp, #0x18]
cmp r0, #1
bne _0205DFBE
add r0, r5, #0
add r1, r7, #0
bl sub_0205DE88
cmp r0, #1
bne _0205DFBE
mov r4, #0x58
_0205DFBE:
ldr r0, [sp]
add r1, r4, #0
bl sub_0206234C
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205DF0C
thumb_func_start sub_0205DFC8
sub_0205DFC8: ; 0x0205DFC8
push {r3, lr}
bl sub_0205C6DC
bl sub_02062108
pop {r3, pc}
thumb_func_end sub_0205DFC8
thumb_func_start sub_0205DFD4
sub_0205DFD4: ; 0x0205DFD4
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0205C6DC
add r1, r0, #0
add r0, r5, #0
add r2, r4, #0
bl sub_0205DA1C
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205DFD4
thumb_func_start sub_0205DFEC
sub_0205DFEC: ; 0x0205DFEC
push {r4, lr}
add r4, r1, #0
bl sub_0205C6DC
add r1, r4, #0
bl sub_02060FA8
pop {r4, pc}
thumb_func_end sub_0205DFEC
thumb_func_start sub_0205DFFC
sub_0205DFFC: ; 0x0205DFFC
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
str r0, [sp]
add r6, r2, #0
add r7, r3, #0
bl sub_0205C67C
add r4, r0, #0
add r0, r5, #0
bl sub_02060F0C
add r0, r4, r0
str r0, [r6]
ldr r0, [sp]
bl sub_0205C688
add r4, r0, #0
add r0, r5, #0
bl sub_02060F18
add r0, r4, r0
str r0, [r7]
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205DFFC
thumb_func_start sub_0205E02C
sub_0205E02C: ; 0x0205E02C
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
bl sub_0205C654
add r1, r0, #0
add r0, r5, #0
add r2, r4, #0
add r3, r6, #0
bl sub_0205DFFC
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205E02C
thumb_func_start sub_0205E048
sub_0205E048: ; 0x0205E048
push {r3, r4, r5, lr}
bl sub_0205C6DC
bl sub_0205F52C
add r5, r0, #0
ldr r0, [r5, #0xc]
bl sub_0202CF54
mov r1, #0
add r4, r0, #0
bl sub_0202D0FC
ldr r0, [r5, #0x40]
bl sub_0205C700
cmp r0, #1
bne _0205E074
add r0, r4, #0
mov r1, #1
bl sub_0202D0FC
_0205E074:
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205E048
thumb_func_start sub_0205E078
sub_0205E078: ; 0x0205E078
push {r3, r4, r5, lr}
add r4, r1, #0
mov r1, #0
mvn r1, r1
add r5, r0, #0
cmp r2, r1
beq _0205E08A
mov r0, #0
pop {r3, r4, r5, pc}
_0205E08A:
bl sub_0205C700
cmp r0, #1
beq _0205E096
mov r0, #0
pop {r3, r4, r5, pc}
_0205E096:
add r0, r5, #0
bl sub_0205CABC
cmp r0, #0
bne _0205E0A4
mov r0, #0
pop {r3, r4, r5, pc}
_0205E0A4:
add r0, r5, #0
bl sub_0205C6DC
add r1, r4, #0
bl sub_02060EEC
cmp r0, #1
bne _0205E0B8
mov r0, #1
pop {r3, r4, r5, pc}
_0205E0B8:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0205E078
thumb_func_start sub_0205E0BC
sub_0205E0BC: ; 0x0205E0BC
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r6, r0, #0
add r0, r5, #0
add r7, r2, #0
bl sub_0205E180
add r4, r0, #0
add r1, r6, #0
bl sub_0205F1DC
add r0, r4, #0
add r1, r5, #0
bl sub_0205F164
add r0, r4, #0
add r1, r7, #0
bl sub_0205F198
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205E0BC
thumb_func_start sub_0205E0E8
sub_0205E0E8: ; 0x0205E0E8
push {r4, lr}
add r4, r0, #0
bl sub_0205F1BC
add r1, r0, #0
mov r0, #0xb
bl FreeToHeapExplicit
mov r0, #0xb
add r1, r4, #0
bl FreeToHeapExplicit
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205E0E8
thumb_func_start sub_0205E104
sub_0205E104: ; 0x0205E104
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
str r0, [sp]
add r5, r2, #0
str r3, [sp, #4]
ldr r7, [sp, #0x20]
bl sub_0205F168
add r6, r0, #0
ldr r0, [sp]
bl sub_0205F1BC
add r4, r0, #0
cmp r6, #0
beq _0205E16C
_0205E122:
add r0, r4, #0
bl sub_0205F624
cmp r0, #1
bne _0205E162
ldr r2, [sp, #4]
add r0, r4, #0
add r1, r5, #0
add r3, r7, #0
bl sub_0205ED90
cmp r0, #0
beq _0205E144
cmp r0, #1
beq _0205E162
cmp r0, #2
b _0205E162
_0205E144:
add r0, r4, #0
bl sub_0205F254
cmp r5, r0
beq _0205E162
mov r1, #1
add r0, r4, #0
lsl r1, r1, #0xa
bl sub_0205F228
cmp r0, #0
bne _0205E162
add r0, r4, #0
bl sub_0205E3CC
_0205E162:
mov r0, #0x4b
lsl r0, r0, #2
add r4, r4, r0
sub r6, r6, #1
bne _0205E122
_0205E16C:
ldr r0, [sp]
bl sub_0205F1A0
add r1, r0, #0
ldr r0, [sp]
bl ov01_021F9FB0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205E104
thumb_func_start sub_0205E180
sub_0205E180: ; 0x0205E180
push {r4, r5, r6, lr}
mov r1, #0x4b
add r4, r0, #0
mov r0, #0xb
lsl r1, r1, #2
bl AllocFromHeap
add r5, r0, #0
bne _0205E196
bl GF_AssertFail
_0205E196:
mov r2, #0x4b
add r0, r5, #0
mov r1, #0
lsl r2, r2, #2
bl memset
mov r0, #0x4b
lsl r0, r0, #2
add r6, r4, #0
mul r6, r0
mov r0, #0xb
add r1, r6, #0
bl AllocFromHeap
add r4, r0, #0
bne _0205E1BA
bl GF_AssertFail
_0205E1BA:
add r0, r4, #0
mov r1, #0
add r2, r6, #0
bl memset
add r0, r5, #0
add r1, r4, #0
bl sub_0205F1A4
add r0, r5, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_0205E180
thumb_func_start sub_0205E1D0
sub_0205E1D0: ; 0x0205E1D0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r7, r2, #0
add r2, sp, #0
add r3, r1, #0
add r5, r0, #0
add r6, r2, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
add r0, r6, #0
bl sub_0205F9E8
add r4, r0, #0
add r0, r6, #0
bl sub_0205FACC
cmp r0, #0
bne _0205E21C
add r0, r5, #0
add r1, r4, #0
add r2, r7, #0
bl sub_0205EA98
add r4, r0, #0
beq _0205E23E
add r1, r6, #0
add r2, r7, #0
bl sub_0205F014
add sp, #0x20
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_0205E21C:
add r0, r6, #0
bl sub_0205FAE8
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_0205EE10
add r4, r0, #0
beq _0205E23E
add r1, r7, #0
add r2, r6, #0
bl sub_0205F058
add sp, #0x20
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_0205E23E:
add r0, r5, #0
bl sub_0205EA64
add r4, r0, #0
beq _0205E290
add r0, r5, #0
bl sub_0205F1E4
add r2, r0, #0
add r0, r4, #0
add r1, r6, #0
bl sub_0205EB2C
add r0, r4, #0
add r1, r5, #0
bl sub_0205EC90
add r0, r4, #0
add r1, r7, #0
bl sub_0205F250
add r0, r4, #0
bl sub_0205EFA4
add r0, r4, #0
bl sub_0205EFB4
add r0, r4, #0
mov r1, #4
bl sub_0205F20C
add r0, r5, #0
add r1, r4, #0
bl sub_0205EAF0
add r0, r5, #0
bl sub_0205F160
bl sub_0205F16C
add r0, r4, #0
_0205E290:
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205E1D0
thumb_func_start sub_0205E294
sub_0205E294: ; 0x0205E294
push {r4, lr}
sub sp, #0x18
ldr r4, [sp, #0x20]
str r4, [sp]
ldr r4, [sp, #0x24]
str r4, [sp, #4]
ldr r4, [sp, #0x28]
str r4, [sp, #8]
mov r4, #0
str r4, [sp, #0xc]
str r4, [sp, #0x10]
str r4, [sp, #0x14]
bl sub_0205E2B4
add sp, #0x18
pop {r4, pc}
thumb_func_end sub_0205E294
thumb_func_start sub_0205E2B4
sub_0205E2B4: ; 0x0205E2B4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r0, #0
add r4, r1, #0
add r0, sp, #0
mov r1, #0
add r6, r2, #0
add r7, r3, #0
bl sub_0205F9E4
ldr r1, [sp, #0x38]
add r0, sp, #0
bl sub_0205F9EC
ldr r1, [sp, #0x3c]
add r0, sp, #0
bl sub_0205F9F4
add r0, sp, #0
mov r1, #0
bl sub_0205F9FC
add r0, sp, #0
mov r1, #0
bl sub_0205FA04
add r0, sp, #0
mov r1, #0
bl sub_0205FA0C
add r0, sp, #0
add r1, r7, #0
bl sub_0205FA14
ldr r1, [sp, #0x44]
add r0, sp, #0
mov r2, #0
bl sub_0205FA20
ldr r1, [sp, #0x48]
add r0, sp, #0
mov r2, #1
bl sub_0205FA20
ldr r1, [sp, #0x4c]
add r0, sp, #0
mov r2, #2
bl sub_0205FA20
add r0, sp, #0
mov r1, #0
bl sub_0205FA68
add r0, sp, #0
mov r1, #0
bl sub_0205FA74
add r0, sp, #0
add r1, r4, #0
bl sub_0205FA80
add r0, sp, #0
add r1, r6, #0
bl sub_0205FA90
add r0, sp, #0
mov r1, #0
bl sub_0205FA88
ldr r2, [sp, #0x40]
add r0, r5, #0
add r1, sp, #0
bl sub_0205E1D0
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205E2B4
thumb_func_start sub_0205E34C
sub_0205E34C: ; 0x0205E34C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, r1, #0
add r1, r2, #0
ldr r2, [sp, #0x18]
add r7, r3, #0
mov r6, #0
bl sub_0205FA98
str r0, [sp]
cmp r0, #0
beq _0205E388
bl sub_0205FA08
add r4, r0, #0
add r0, r5, #0
bl sub_0205F1E4
lsl r1, r4, #0x10
lsr r1, r1, #0x10
bl sub_020403FC
cmp r0, #0
bne _0205E388
ldr r1, [sp]
add r0, r5, #0
add r2, r7, #0
bl sub_0205E1D0
add r6, r0, #0
_0205E388:
add r0, r6, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205E34C
thumb_func_start sub_0205E38C
sub_0205E38C: ; 0x0205E38C
push {r4, lr}
add r4, r0, #0
bl sub_0205F258
add r0, r4, #0
bl sub_0205EF48
mov r1, #1
add r0, r4, #0
lsl r1, r1, #0xe
bl sub_0205F214
add r0, r4, #0
bl sub_0205EFB4
pop {r4, pc}
thumb_func_end sub_0205E38C
thumb_func_start sub_0205E3AC
sub_0205E3AC: ; 0x0205E3AC
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0205F73C
cmp r0, #1
bne _0205E3C0
add r0, r5, #0
bl sub_0205E420
_0205E3C0:
add r0, r5, #0
add r1, r4, #0
bl sub_0205E38C
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205E3AC
thumb_func_start sub_0205E3CC
sub_0205E3CC: ; 0x0205E3CC
push {r4, lr}
add r4, r0, #0
bl sub_0205F35C
bl sub_0205F5D4
cmp r0, #1
bne _0205E3E2
add r0, r4, #0
bl sub_0205F498
_0205E3E2:
add r0, r4, #0
bl sub_0205F444
add r0, r4, #0
bl sub_0205F348
add r0, r4, #0
bl sub_0205F364
bl sub_0205F174
add r0, r4, #0
bl sub_0205ED80
pop {r4, pc}
thumb_func_end sub_0205E3CC
thumb_func_start sub_0205E400
sub_0205E400: ; 0x0205E400
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0205F274
add r5, r0, #0
add r0, r4, #0
bl sub_0205F52C
lsl r1, r5, #0x10
lsr r1, r1, #0x10
bl sub_02040410
add r0, r4, #0
bl sub_0205E3CC
pop {r3, r4, r5, pc}
thumb_func_end sub_0205E400
thumb_func_start sub_0205E420
sub_0205E420: ; 0x0205E420
push {r4, lr}
add r4, r0, #0
bl sub_0205F35C
bl sub_0205F5D4
cmp r0, #1
bne _0205E44E
mov r1, #1
add r0, r4, #0
lsl r1, r1, #0xe
bl sub_0205F220
cmp r0, #0
beq _0205E444
add r0, r4, #0
bl sub_0205F498
_0205E444:
mov r1, #1
add r0, r4, #0
lsl r1, r1, #0xe
bl sub_0205F214
_0205E44E:
ldr r1, _0205E480 ; =0x0000FFFF
add r0, r4, #0
bl sub_0205F258
ldr r1, _0205E484 ; =sub_0205FCC4
add r0, r4, #0
bl sub_0205F468
ldr r1, _0205E488 ; =sub_0205FCC8
add r0, r4, #0
bl sub_0205F47C
ldr r1, _0205E488 ; =sub_0205FCC8
add r0, r4, #0
bl sub_0205F490
ldr r1, _0205E48C ; =sub_0205FCCC
add r0, r4, #0
bl sub_0205F4A4
ldr r1, _0205E490 ; =sub_0205FCD0
add r0, r4, #0
bl sub_0205F4B8
pop {r4, pc}
.balign 4, 0
_0205E480: .word 0x0000FFFF
_0205E484: .word sub_0205FCC4
_0205E488: .word sub_0205FCC8
_0205E48C: .word sub_0205FCCC
_0205E490: .word sub_0205FCD0
thumb_func_end sub_0205E420
thumb_func_start sub_0205E494
sub_0205E494: ; 0x0205E494
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r4, #0
bl sub_0205F168
add r6, r0, #0
add r0, r5, #0
bl sub_0205F1BC
mov r7, #0x4b
add r5, r0, #0
lsl r7, r7, #2
_0205E4AC:
add r0, r5, #0
mov r1, #1
bl sub_0205F220
cmp r0, #0
beq _0205E4BE
add r0, r5, #0
bl sub_0205E3CC
_0205E4BE:
add r4, r4, #1
add r5, r5, r7
cmp r4, r6
blt _0205E4AC
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205E494
thumb_func_start sub_0205E4C8
sub_0205E4C8: ; 0x0205E4C8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0205F5D4
cmp r0, #1
beq _0205E4D8
bl GF_AssertFail
_0205E4D8:
add r0, r5, #0
mov r4, #0
bl sub_0205F168
add r6, r0, #0
add r0, r5, #0
bl sub_0205F1BC
mov r7, #0x4b
add r5, r0, #0
lsl r7, r7, #2
_0205E4EE:
add r0, r5, #0
mov r1, #1
bl sub_0205F220
cmp r0, #0
beq _0205E514
mov r1, #1
add r0, r5, #0
lsl r1, r1, #0xe
bl sub_0205F220
cmp r0, #0
beq _0205E514
add r0, r5, #0
bl sub_0205F4AC
add r0, r5, #0
bl sub_0205EF6C
_0205E514:
add r4, r4, #1
add r5, r5, r7
cmp r4, r6
blt _0205E4EE
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205E4C8
thumb_func_start sub_0205E520
sub_0205E520: ; 0x0205E520
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0205F5D4
cmp r0, #1
beq _0205E530
bl GF_AssertFail
_0205E530:
add r0, r5, #0
mov r4, #0
bl sub_0205F168
add r6, r0, #0
add r0, r5, #0
bl sub_0205F1BC
mov r7, #0x4b
add r5, r0, #0
lsl r7, r7, #2
_0205E546:
add r0, r5, #0
bl sub_0205F624
cmp r0, #1
bne _0205E574
add r0, r5, #0
bl sub_0205F678
cmp r0, #1
bne _0205E562
add r0, r5, #0
bl sub_0205F4C0
b _0205E568
_0205E562:
add r0, r5, #0
bl sub_0205EFB4
_0205E568:
add r0, r5, #0
bl sub_0205EF48
add r0, r5, #0
bl sub_020611DC
_0205E574:
add r4, r4, #1
add r5, r5, r7
cmp r4, r6
blt _0205E546
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205E520
thumb_func_start sub_0205E580
sub_0205E580: ; 0x0205E580
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0205F5D4
cmp r0, #1
beq _0205E590
bl GF_AssertFail
_0205E590:
add r0, r5, #0
mov r4, #0
bl sub_0205F168
add r6, r0, #0
add r0, r5, #0
bl sub_0205F1BC
mov r7, #0x4b
add r5, r0, #0
lsl r7, r7, #2
_0205E5A6:
add r0, r5, #0
bl sub_0205F624
cmp r0, #1
bne _0205E5E0
add r0, r5, #0
bl sub_0205F24C
cmp r0, #0xff
bne _0205E5E0
add r0, r5, #0
bl sub_0205F678
cmp r0, #1
bne _0205E5CC
add r0, r5, #0
bl sub_0205F4C0
b _0205E5D2
_0205E5CC:
add r0, r5, #0
bl sub_0205EFB4
_0205E5D2:
add r0, r5, #0
bl sub_0205EF48
add r0, r5, #0
bl sub_020611DC
pop {r3, r4, r5, r6, r7, pc}
_0205E5E0:
add r4, r4, #1
add r5, r5, r7
cmp r4, r6
blt _0205E5A6
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205E580
thumb_func_start sub_0205E5EC
sub_0205E5EC: ; 0x0205E5EC
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r7, r0, #0
add r6, r1, #0
mov r0, #0
add r5, r2, #0
add r4, r3, #0
str r0, [sp, #4]
add r0, r6, #0
add r1, sp, #0
add r2, sp, #4
mov r3, #1
bl sub_0205EEF4
cmp r0, #0
beq _0205E632
_0205E60C:
ldr r1, [sp]
add r0, r7, #0
add r2, r5, #0
bl sub_0205E680
sub r4, r4, #1
add r5, #0x50
cmp r4, #0
bgt _0205E622
bl GF_AssertFail
_0205E622:
add r0, r6, #0
add r1, sp, #0
add r2, sp, #4
mov r3, #1
bl sub_0205EEF4
cmp r0, #0
bne _0205E60C
_0205E632:
cmp r4, #0
beq _0205E642
mov r2, #0x50
add r0, r5, #0
mov r1, #0
mul r2, r4
bl memset
_0205E642:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205E5EC
thumb_func_start sub_0205E648
sub_0205E648: ; 0x0205E648
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
add r5, r1, #0
add r7, r2, #0
beq _0205E67E
_0205E652:
ldr r1, [r5]
mov r0, #1
tst r0, r1
beq _0205E678
add r0, r6, #0
bl sub_0205EA64
add r4, r0, #0
bne _0205E668
bl GF_AssertFail
_0205E668:
add r0, r4, #0
add r1, r5, #0
bl sub_0205E7C4
add r0, r6, #0
add r1, r4, #0
bl sub_0205E8EC
_0205E678:
add r5, #0x50
sub r7, r7, #1
bne _0205E652
_0205E67E:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205E648
thumb_func_start sub_0205E680
sub_0205E680: ; 0x0205E680
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r1, #0
add r6, r0, #0
add r4, r2, #0
add r0, r5, #0
bl sub_0205F208
str r0, [r4]
add r0, r5, #0
bl sub_0205F23C
str r0, [r4, #4]
add r0, r5, #0
bl sub_0205F24C
strb r0, [r4, #8]
add r0, r5, #0
bl sub_0205F254
strh r0, [r4, #0x10]
add r0, r5, #0
bl sub_0205F25C
strh r0, [r4, #0x12]
add r0, r5, #0
bl sub_0205F264
strb r0, [r4, #9]
add r0, r5, #0
bl sub_0205F26C
strh r0, [r4, #0x14]
add r0, r5, #0
bl sub_0205F274
strh r0, [r4, #0x16]
add r0, r5, #0
bl sub_0205F27C
strh r0, [r4, #0x18]
add r0, r5, #0
bl sub_0205F284
strb r0, [r4, #0xc]
add r0, r5, #0
bl sub_0205F2A8
strb r0, [r4, #0xd]
add r0, r5, #0
bl sub_0205F2B8
strb r0, [r4, #0xe]
add r0, r5, #0
mov r1, #0
bl sub_0205F2F4
strh r0, [r4, #0x1a]
add r0, r5, #0
mov r1, #1
bl sub_0205F2F4
strh r0, [r4, #0x1c]
add r0, r5, #0
mov r1, #2
bl sub_0205F2F4
strh r0, [r4, #0x1e]
add r0, r5, #0
bl sub_0205F31C
strb r0, [r4, #0xa]
add r0, r5, #0
bl sub_0205F324
strb r0, [r4, #0xb]
add r0, r5, #0
bl sub_0205F8E4
strh r0, [r4, #0x20]
add r0, r5, #0
bl sub_0205F8EC
strh r0, [r4, #0x22]
add r0, r5, #0
bl sub_0205F8F4
strh r0, [r4, #0x24]
add r0, r5, #0
bl sub_0205F914
strh r0, [r4, #0x26]
add r0, r5, #0
bl sub_0205F924
strh r0, [r4, #0x28]
add r0, r5, #0
bl sub_0205F934
strh r0, [r4, #0x2a]
mov r0, #0x26
mov r1, #0x2a
ldrsh r0, [r4, r0]
ldrsh r1, [r4, r1]
add r2, sp, #0
bl sub_020611C8
add r0, r5, #0
bl sub_0205F968
str r0, [sp, #4]
add r0, r5, #0
bl sub_0205F8B8
add r2, r0, #0
add r0, r6, #0
add r1, sp, #0
bl sub_02061248
cmp r0, #0
bne _0205E77C
add r0, r5, #0
bl sub_0205F968
str r0, [r4, #0x2c]
b _0205E792
_0205E77C:
add r0, r5, #0
bl sub_0205F784
cmp r0, #1
bne _0205E78E
add r0, r5, #0
bl sub_0205F968
str r0, [sp, #4]
_0205E78E:
ldr r0, [sp, #4]
str r0, [r4, #0x2c]
_0205E792:
add r0, r5, #0
bl sub_0205F394
add r3, r4, #0
add r3, #0x30
mov r2, #0x10
_0205E79E:
ldrb r1, [r0]
add r0, r0, #1
strb r1, [r3]
add r3, r3, #1
sub r2, r2, #1
bne _0205E79E
add r0, r5, #0
bl sub_0205F3BC
add r4, #0x40
mov r2, #0x10
_0205E7B4:
ldrb r1, [r0]
add r0, r0, #1
strb r1, [r4]
add r4, r4, #1
sub r2, r2, #1
bne _0205E7B4
add sp, #0xc
pop {r3, r4, r5, r6, pc}
thumb_func_end sub_0205E680
thumb_func_start sub_0205E7C4
sub_0205E7C4: ; 0x0205E7C4
push {r4, r5, lr}
sub sp, #0xc
add r4, r1, #0
ldr r1, [r4]
add r5, r0, #0
bl sub_0205F204
ldr r1, [r4, #4]
add r0, r5, #0
bl sub_0205F238
ldrb r1, [r4, #8]
add r0, r5, #0
bl sub_0205F248
ldrh r1, [r4, #0x10]
add r0, r5, #0
bl sub_0205F250
ldrh r1, [r4, #0x12]
add r0, r5, #0
bl sub_0205F258
ldrb r1, [r4, #9]
add r0, r5, #0
bl sub_0205F260
ldrh r1, [r4, #0x14]
add r0, r5, #0
bl sub_0205F268
ldrh r1, [r4, #0x16]
add r0, r5, #0
bl sub_0205F270
ldrh r1, [r4, #0x18]
add r0, r5, #0
bl sub_0205F278
mov r1, #0xc
ldrsb r1, [r4, r1]
add r0, r5, #0
bl sub_0205F280
mov r1, #0xd
ldrsb r1, [r4, r1]
add r0, r5, #0
bl sub_0205F288
mov r1, #0xe
ldrsb r1, [r4, r1]
add r0, r5, #0
bl sub_0205F2B0
mov r1, #0x1a
ldrsh r1, [r4, r1]
add r0, r5, #0
mov r2, #0
bl sub_0205F2D0
mov r1, #0x1c
ldrsh r1, [r4, r1]
add r0, r5, #0
mov r2, #1
bl sub_0205F2D0
mov r1, #0x1e
ldrsh r1, [r4, r1]
add r0, r5, #0
mov r2, #2
bl sub_0205F2D0
mov r1, #0xa
ldrsb r1, [r4, r1]
add r0, r5, #0
bl sub_0205F318
mov r1, #0xb
ldrsb r1, [r4, r1]
add r0, r5, #0
bl sub_0205F320
mov r1, #0x20
ldrsh r1, [r4, r1]
add r0, r5, #0
bl sub_0205F8E8
mov r1, #0x22
ldrsh r1, [r4, r1]
add r0, r5, #0
bl sub_0205F8F0
mov r1, #0x24
ldrsh r1, [r4, r1]
add r0, r5, #0
bl sub_0205F8F8
mov r1, #0x26
ldrsh r1, [r4, r1]
add r0, r5, #0
bl sub_0205F918
mov r1, #0x28
ldrsh r1, [r4, r1]
add r0, r5, #0
bl sub_0205F928
mov r1, #0x2a
ldrsh r1, [r4, r1]
add r0, r5, #0
bl sub_0205F938
add r1, sp, #0
mov r0, #0
str r0, [r1]
str r0, [r1, #4]
str r0, [r1, #8]
ldr r0, [r4, #0x2c]
str r0, [sp, #4]
add r0, r5, #0
bl sub_0205F954
add r0, r5, #0
bl sub_0205F394
add r3, r4, #0
add r3, #0x30
mov r2, #0x10
_0205E8C4:
ldrb r1, [r3]
add r3, r3, #1
strb r1, [r0]
add r0, r0, #1
sub r2, r2, #1
bne _0205E8C4
add r0, r5, #0
bl sub_0205F3BC
add r4, #0x40
mov r2, #0x10
_0205E8DA:
ldrb r1, [r4]
add r4, r4, #1
strb r1, [r0]
add r0, r0, #1
sub r2, r2, #1
bne _0205E8DA
add sp, #0xc
pop {r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205E7C4
thumb_func_start sub_0205E8EC
sub_0205E8EC: ; 0x0205E8EC
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
bl sub_0205E934
add r0, r4, #0
bl sub_0205E954
add r0, r4, #0
add r1, r5, #0
bl sub_0205F354
add r0, r4, #0
bl sub_0205ECE0
add r0, r4, #0
bl sub_020621F0
add r0, r4, #0
bl sub_0205EFB4
add r0, r5, #0
add r1, r4, #0
bl sub_0205EAF0
add r0, r4, #0
bl sub_0205F450
add r0, r5, #0
bl sub_0205F160
bl sub_0205F16C
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205E8EC
thumb_func_start sub_0205E934
sub_0205E934: ; 0x0205E934
push {r4, lr}
mov r1, #5
add r4, r0, #0
bl sub_0205F20C
ldr r1, _0205E950 ; =0x00EF4248
add r0, r4, #0
bl sub_0205F214
add r0, r4, #0
bl sub_0205EF5C
pop {r4, pc}
nop
_0205E950: .word 0x00EF4248
thumb_func_end sub_0205E934
thumb_func_start sub_0205E954
sub_0205E954: ; 0x0205E954
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
add r1, sp, #0
bl sub_0205F944
add r0, r4, #0
bl sub_0205F914
add r1, r0, #0
mov r0, #2
lsl r2, r1, #0x10
lsl r0, r0, #0xe
add r0, r2, r0
str r0, [sp]
add r0, r4, #0
bl sub_0205F900
add r0, r4, #0
bl sub_0205F924
add r1, r0, #0
add r0, r4, #0
bl sub_0205F908
add r0, r4, #0
bl sub_0205F934
add r1, r0, #0
mov r0, #2
lsl r2, r1, #0x10
lsl r0, r0, #0xe
add r0, r2, r0
str r0, [sp, #8]
add r0, r4, #0
bl sub_0205F910
add r0, r4, #0
add r1, sp, #0
bl sub_0205F954
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end sub_0205E954
thumb_func_start sub_0205E9AC
sub_0205E9AC: ; 0x0205E9AC
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r2, #0
add r7, r0, #0
add r4, r3, #0
str r1, [sp]
cmp r5, #0
bne _0205E9C0
bl GF_AssertFail
_0205E9C0:
lsl r0, r5, #5
str r0, [sp, #4]
ldr r1, [sp, #4]
mov r0, #0xb
bl AllocFromHeapAtEnd
add r6, r0, #0
bne _0205E9D4
bl GF_AssertFail
_0205E9D4:
ldr r2, [sp, #4]
add r0, r6, #0
add r1, r4, #0
bl memcpy
mov r0, #0xb
mov r1, #0x14
bl AllocFromHeapAtEnd
add r4, r0, #0
bne _0205E9EE
bl GF_AssertFail
_0205E9EE:
ldr r0, [sp]
str r0, [r4]
str r5, [r4, #4]
mov r0, #0
str r0, [r4, #8]
str r7, [r4, #0xc]
add r0, r4, #0
str r6, [r4, #0x10]
bl sub_0205EA08
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205E9AC
thumb_func_start sub_0205EA08
sub_0205EA08: ; 0x0205EA08
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #0xc]
bl sub_0205F1E4
add r6, r5, #0
ldr r4, [r5, #0x10]
add r7, r0, #0
add r6, #8
_0205EA1A:
add r0, r4, #0
bl sub_0205FACC
cmp r0, #1
beq _0205EA30
ldrh r1, [r4, #8]
add r0, r7, #0
bl sub_020403FC
cmp r0, #0
bne _0205EA42
_0205EA30:
ldr r0, [r5, #0xc]
ldr r2, [r5]
add r1, r4, #0
bl sub_0205E1D0
cmp r0, #0
bne _0205EA42
bl GF_AssertFail
_0205EA42:
ldr r0, [r6]
add r4, #0x20
add r0, r0, #1
str r0, [r6]
ldr r1, [r5, #8]
ldr r0, [r5, #4]
cmp r1, r0
blt _0205EA1A
ldr r1, [r5, #0x10]
mov r0, #0xb
bl FreeToHeapExplicit
mov r0, #0xb
add r1, r5, #0
bl FreeToHeapExplicit
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205EA08
thumb_func_start sub_0205EA64
sub_0205EA64: ; 0x0205EA64
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r4, #0
bl sub_0205F168
add r6, r0, #0
add r0, r5, #0
bl sub_0205F1BC
mov r7, #0x4b
add r5, r0, #0
lsl r7, r7, #2
_0205EA7C:
add r0, r5, #0
mov r1, #1
bl sub_0205F220
cmp r0, #0
bne _0205EA8C
add r0, r5, #0
pop {r3, r4, r5, r6, r7, pc}
_0205EA8C:
add r4, r4, #1
add r5, r5, r7
cmp r4, r6
blt _0205EA7C
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205EA64
thumb_func_start sub_0205EA98
sub_0205EA98: ; 0x0205EA98
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r1, #0
mov r1, #0
add r4, r2, #0
str r1, [sp, #4]
add r1, sp, #0
add r2, sp, #4
mov r3, #1
add r6, r0, #0
bl sub_0205EEF4
cmp r0, #1
bne _0205EAEA
add r7, sp, #0
_0205EAB6:
ldr r0, [sp]
bl sub_0205F7D4
cmp r0, #1
bne _0205EADA
ldr r0, [sp]
bl sub_0205F24C
cmp r5, r0
bne _0205EADA
ldr r0, [sp]
bl sub_0205F544
cmp r4, r0
bne _0205EADA
ldr r0, [sp]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_0205EADA:
add r0, r6, #0
add r1, r7, #0
add r2, sp, #4
mov r3, #1
bl sub_0205EEF4
cmp r0, #1
beq _0205EAB6
_0205EAEA:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205EA98
thumb_func_start sub_0205EAF0
sub_0205EAF0: ; 0x0205EAF0
push {r3, r4, r5, lr}
add r4, r1, #0
bl sub_0205F19C
add r5, r0, #0
add r0, r4, #0
bl sub_0205F264
cmp r0, #0x30
beq _0205EB08
cmp r0, #0x32
bne _0205EB0A
_0205EB08:
add r5, r5, #2
_0205EB0A:
ldr r0, _0205EB28 ; =sub_0205F12C
add r1, r4, #0
add r2, r5, #0
bl sub_0200E320
add r5, r0, #0
bne _0205EB1C
bl GF_AssertFail
_0205EB1C:
add r0, r4, #0
add r1, r5, #0
bl sub_0205F338
pop {r3, r4, r5, pc}
nop
_0205EB28: .word sub_0205F12C
thumb_func_end sub_0205EAF0
thumb_func_start sub_0205EB2C
sub_0205EB2C: ; 0x0205EB2C
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
add r6, r2, #0
bl sub_0205F9E8
add r1, r0, #0
add r0, r5, #0
bl sub_0205F248
add r0, r4, #0
bl sub_0205F9F0
add r1, r0, #0
add r0, r6, #0
bl sub_0205EF70
add r1, r0, #0
add r0, r5, #0
bl sub_0205F258
add r0, r4, #0
bl sub_0205F9F8
add r1, r0, #0
add r0, r5, #0
bl sub_0205F260
add r0, r4, #0
bl sub_0205FA00
add r1, r0, #0
add r0, r5, #0
bl sub_0205F268
add r0, r4, #0
bl sub_0205FA08
add r1, r0, #0
add r0, r5, #0
bl sub_0205F270
add r0, r4, #0
bl sub_0205FA10
add r1, r0, #0
add r0, r5, #0
bl sub_0205F278
add r0, r4, #0
bl sub_0205FA18
add r1, r0, #0
add r0, r5, #0
bl sub_0205F280
add r0, r4, #0
mov r1, #0
bl sub_0205FA44
add r1, r0, #0
add r0, r5, #0
mov r2, #0
bl sub_0205F2D0
add r0, r4, #0
mov r1, #1
bl sub_0205FA44
add r1, r0, #0
add r0, r5, #0
mov r2, #1
bl sub_0205F2D0
add r0, r4, #0
mov r1, #2
bl sub_0205FA44
add r1, r0, #0
add r0, r5, #0
mov r2, #2
bl sub_0205F2D0
add r0, r4, #0
bl sub_0205FA6C
add r1, r0, #0
add r0, r5, #0
bl sub_0205F318
add r0, r4, #0
bl sub_0205FA78
add r1, r0, #0
add r0, r5, #0
bl sub_0205F320
add r0, r5, #0
add r1, r4, #0
bl sub_0205EBFC
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205EB2C
thumb_func_start sub_0205EBFC
sub_0205EBFC: ; 0x0205EBFC
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r6, r1, #0
add r4, r0, #0
add r0, r6, #0
bl sub_0205FA84
add r5, r0, #0
mov r0, #2
lsl r1, r5, #0x10
lsl r0, r0, #0xe
add r0, r1, r0
str r0, [sp]
add r0, r4, #0
add r1, r5, #0
bl sub_0205F8E8
add r0, r4, #0
add r1, r5, #0
bl sub_0205F900
add r0, r4, #0
add r1, r5, #0
bl sub_0205F918
add r0, r6, #0
bl sub_0205FA8C
asr r1, r0, #3
str r0, [sp, #4]
asr r0, r1, #0xb
lsr r0, r0, #0x14
add r0, r1, r0
asr r5, r0, #0xc
add r0, r4, #0
add r1, r5, #0
bl sub_0205F8F0
add r0, r4, #0
add r1, r5, #0
bl sub_0205F908
add r0, r4, #0
add r1, r5, #0
bl sub_0205F928
add r0, r6, #0
bl sub_0205FA94
add r5, r0, #0
mov r0, #2
lsl r1, r5, #0x10
lsl r0, r0, #0xe
add r0, r1, r0
str r0, [sp, #8]
add r0, r4, #0
add r1, r5, #0
bl sub_0205F8F8
add r0, r4, #0
add r1, r5, #0
bl sub_0205F910
add r0, r4, #0
add r1, r5, #0
bl sub_0205F938
add r0, r4, #0
add r1, sp, #0
bl sub_0205F954
add sp, #0xc
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205EBFC
thumb_func_start sub_0205EC90
sub_0205EC90: ; 0x0205EC90
push {r3, r4, r5, lr}
add r4, r1, #0
ldr r1, _0205ECDC ; =0x00001801
add r5, r0, #0
bl sub_0205F20C
add r0, r5, #0
bl sub_0205EFF8
cmp r0, #1
bne _0205ECAE
add r0, r5, #0
mov r1, #1
bl sub_0205F7B8
_0205ECAE:
add r0, r5, #0
add r1, r4, #0
bl sub_0205F354
add r0, r5, #0
bl sub_0205F284
add r1, r0, #0
add r0, r5, #0
bl sub_0205F288
add r0, r5, #0
bl sub_0205F284
add r1, r0, #0
add r0, r5, #0
bl sub_0205F2B0
add r0, r5, #0
bl sub_020621F0
pop {r3, r4, r5, pc}
nop
_0205ECDC: .word 0x00001801
thumb_func_end sub_0205EC90
thumb_func_start sub_0205ECE0
sub_0205ECE0: ; 0x0205ECE0
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205F264
bl sub_0205FB00
add r4, r0, #0
bl sub_0205FB18
add r1, r0, #0
add r0, r5, #0
bl sub_0205F414
add r0, r4, #0
bl sub_0205FB1C
add r1, r0, #0
add r0, r5, #0
bl sub_0205F428
add r0, r4, #0
bl sub_0205FB20
add r1, r0, #0
add r0, r5, #0
bl sub_0205F43C
pop {r3, r4, r5, pc}
thumb_func_end sub_0205ECE0
thumb_func_start sub_0205ED18
sub_0205ED18: ; 0x0205ED18
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0205F25C
mov r1, #2
lsl r1, r1, #0xc
cmp r0, r1
bne _0205ED2C
ldr r5, _0205ED7C ; =0x0220724C
b _0205ED32
_0205ED2C:
bl sub_0205FB38
add r5, r0, #0
_0205ED32:
add r0, r5, #0
bl sub_0205FB24
add r1, r0, #0
add r0, r4, #0
bl sub_0205F468
add r0, r5, #0
bl sub_0205FB28
add r1, r0, #0
add r0, r4, #0
bl sub_0205F47C
add r0, r5, #0
bl sub_0205FB2C
add r1, r0, #0
add r0, r4, #0
bl sub_0205F490
add r0, r5, #0
bl sub_0205FB30
add r1, r0, #0
add r0, r4, #0
bl sub_0205F4A4
add r0, r5, #0
bl sub_0205FB34
add r1, r0, #0
add r0, r4, #0
bl sub_0205F4B8
pop {r3, r4, r5, pc}
nop
_0205ED7C: .word 0x0220724C
thumb_func_end sub_0205ED18
thumb_func_start sub_0205ED80
sub_0205ED80: ; 0x0205ED80
ldr r3, _0205ED8C ; =memset
mov r2, #0x4b
mov r1, #0
lsl r2, r2, #2
bx r3
nop
_0205ED8C: .word memset
thumb_func_end sub_0205ED80
thumb_func_start sub_0205ED90
sub_0205ED90: ; 0x0205ED90
push {r3, r4, r5, r6, r7, lr}
add r7, r2, #0
add r5, r0, #0
add r6, r3, #0
str r1, [sp]
cmp r7, #0
beq _0205EE0A
_0205ED9E:
add r0, r6, #0
bl sub_0205F9E8
add r4, r0, #0
add r0, r5, #0
bl sub_0205F24C
cmp r4, r0
bne _0205EE02
add r0, r6, #0
bl sub_0205FACC
cmp r0, #1
bne _0205EDE8
add r0, r6, #0
bl sub_0205FAE8
add r4, r0, #0
add r0, r5, #0
bl sub_0205F7D4
cmp r0, #1
bne _0205EDDA
add r0, r5, #0
bl sub_0205F544
cmp r4, r0
bne _0205EE02
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205EDDA:
add r0, r5, #0
bl sub_0205F254
cmp r4, r0
bne _0205EE02
mov r0, #2
pop {r3, r4, r5, r6, r7, pc}
_0205EDE8:
add r0, r5, #0
bl sub_0205F7D4
cmp r0, #1
bne _0205EE02
add r0, r5, #0
bl sub_0205F544
ldr r1, [sp]
cmp r1, r0
bne _0205EE02
mov r0, #2
pop {r3, r4, r5, r6, r7, pc}
_0205EE02:
sub r7, r7, #1
add r6, #0x20
cmp r7, #0
bne _0205ED9E
_0205EE0A:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205ED90
thumb_func_start sub_0205EE10
sub_0205EE10: ; 0x0205EE10
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r1, #0
mov r1, #0
add r4, r2, #0
str r1, [sp, #4]
add r1, sp, #0
add r2, sp, #4
mov r3, #1
add r6, r0, #0
bl sub_0205EEF4
cmp r0, #1
bne _0205EE58
add r7, sp, #0
_0205EE2E:
ldr r0, [sp]
bl sub_0205F24C
cmp r5, r0
bne _0205EE48
ldr r0, [sp]
bl sub_0205F254
cmp r4, r0
bne _0205EE48
ldr r0, [sp]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_0205EE48:
add r0, r6, #0
add r1, r7, #0
add r2, sp, #4
mov r3, #1
bl sub_0205EEF4
cmp r0, #1
beq _0205EE2E
_0205EE58:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205EE10
thumb_func_start sub_0205EE60
sub_0205EE60: ; 0x0205EE60
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
cmp r5, #0
bne _0205EE6E
bl GF_AssertFail
_0205EE6E:
add r0, r5, #0
bl sub_0205F168
add r4, r0, #0
add r0, r5, #0
bl sub_0205F1B4
mov r7, #0x4b
add r5, r0, #0
lsl r7, r7, #2
_0205EE82:
add r0, r5, #0
mov r1, #1
bl sub_0205F228
cmp r0, #1
bne _0205EEA6
add r0, r5, #0
bl sub_0205F7D4
cmp r0, #0
bne _0205EEA6
add r0, r5, #0
bl sub_0205F24C
cmp r6, r0
bne _0205EEA6
add r0, r5, #0
pop {r3, r4, r5, r6, r7, pc}
_0205EEA6:
sub r4, r4, #1
add r5, r5, r7
cmp r4, #0
bgt _0205EE82
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205EE60
thumb_func_start sub_0205EEB4
sub_0205EEB4: ; 0x0205EEB4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
bl sub_0205F168
add r4, r0, #0
add r0, r5, #0
bl sub_0205F1B4
mov r7, #0x4b
add r5, r0, #0
lsl r7, r7, #2
_0205EECC:
add r0, r5, #0
mov r1, #1
bl sub_0205F228
cmp r0, #1
bne _0205EEE6
add r0, r5, #0
bl sub_0205F264
cmp r6, r0
bne _0205EEE6
add r0, r5, #0
pop {r3, r4, r5, r6, r7, pc}
_0205EEE6:
sub r4, r4, #1
add r5, r5, r7
cmp r4, #0
bgt _0205EECC
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205EEB4
thumb_func_start sub_0205EEF4
sub_0205EEF4: ; 0x0205EEF4
push {r3, r4, r5, r6, r7, lr}
add r5, r2, #0
add r4, r0, #0
str r1, [sp]
add r6, r3, #0
bl sub_0205F168
add r7, r0, #0
ldr r0, [r5]
cmp r0, r7
blt _0205EF0E
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0205EF0E:
add r0, r4, #0
bl sub_0205F1B4
mov r1, #0x4b
ldr r2, [r5]
lsl r1, r1, #2
mul r1, r2
add r4, r0, r1
_0205EF1E:
ldr r0, [r5]
add r1, r6, #0
add r0, r0, #1
str r0, [r5]
add r0, r4, #0
bl sub_0205F220
cmp r6, r0
bne _0205EF38
ldr r0, [sp]
str r4, [r0]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0205EF38:
mov r0, #0x4b
lsl r0, r0, #2
add r4, r4, r0
ldr r0, [r5]
cmp r0, r7
blt _0205EF1E
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205EEF4
thumb_func_start sub_0205EF48
sub_0205EF48: ; 0x0205EF48
push {r4, lr}
add r4, r0, #0
mov r1, #4
bl sub_0205F20C
add r0, r4, #0
bl sub_0205EF5C
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205EF48
thumb_func_start sub_0205EF5C
sub_0205EF5C: ; 0x0205EF5C
ldr r3, _0205EF64 ; =sub_0205F214
ldr r1, _0205EF68 ; =0x05108000
bx r3
nop
_0205EF64: .word sub_0205F214
_0205EF68: .word 0x05108000
thumb_func_end sub_0205EF5C
thumb_func_start sub_0205EF6C
sub_0205EF6C: ; 0x0205EF6C
bx lr
.balign 4, 0
thumb_func_end sub_0205EF6C
thumb_func_start sub_0205EF70
sub_0205EF70: ; 0x0205EF70
push {r3, lr}
cmp r1, #0x65
blt _0205EF86
cmp r1, #0x75
bgt _0205EF86
sub r1, #0x65
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl sub_020403D8
add r1, r0, #0
_0205EF86:
add r0, r1, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205EF70
thumb_func_start sub_0205EF8C
sub_0205EF8C: ; 0x0205EF8C
push {r4, lr}
mov r1, #1
lsl r1, r1, #0xc
add r4, r0, #0
bl sub_0205F220
cmp r0, #0
beq _0205EFA2
add r0, r4, #0
bl sub_02061070
_0205EFA2:
pop {r4, pc}
thumb_func_end sub_0205EF8C
thumb_func_start sub_0205EFA4
sub_0205EFA4: ; 0x0205EFA4
push {r4, lr}
add r4, r0, #0
bl sub_0205ECE0
add r0, r4, #0
bl sub_0205FD20
pop {r4, pc}
thumb_func_end sub_0205EFA4
thumb_func_start sub_0205EFB4
sub_0205EFB4: ; 0x0205EFB4
push {r4, lr}
add r4, r0, #0
bl sub_0205F35C
bl sub_0205F5D4
cmp r0, #0
beq _0205EFF6
add r0, r4, #0
bl sub_0205EF8C
add r0, r4, #0
mov r1, #0
bl sub_0205F328
add r0, r4, #0
mov r1, #0
bl ov01_021FA2B8
add r0, r4, #0
bl sub_0205F678
cmp r0, #0
bne _0205EFF6
add r0, r4, #0
bl sub_0205ED18
add r0, r4, #0
bl sub_0205F470
add r0, r4, #0
bl sub_0205F66C
_0205EFF6:
pop {r4, pc}
thumb_func_end sub_0205EFB4
thumb_func_start sub_0205EFF8
sub_0205EFF8: ; 0x0205EFF8
push {r3, lr}
bl sub_0205F27C
lsl r0, r0, #0x10
lsr r1, r0, #0x10
ldr r0, _0205F010 ; =0x0000FFFF
cmp r1, r0
bne _0205F00C
mov r0, #1
pop {r3, pc}
_0205F00C:
mov r0, #0
pop {r3, pc}
.balign 4, 0
_0205F010: .word 0x0000FFFF
thumb_func_end sub_0205EFF8
thumb_func_start sub_0205F014
sub_0205F014: ; 0x0205F014
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
bl sub_0205F7D4
cmp r0, #1
beq _0205F028
bl GF_AssertFail
_0205F028:
add r0, r5, #0
mov r1, #0
bl sub_0205F7B8
add r0, r5, #0
add r1, r6, #0
bl sub_0205F250
add r0, r4, #0
bl sub_0205FA10
add r1, r0, #0
add r0, r5, #0
bl sub_0205F278
add r0, r4, #0
bl sub_0205FA08
add r1, r0, #0
add r0, r5, #0
bl sub_0205F270
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205F014
thumb_func_start sub_0205F058
sub_0205F058: ; 0x0205F058
push {r4, r5, r6, lr}
add r6, r2, #0
add r5, r0, #0
add r0, r6, #0
add r4, r1, #0
bl sub_0205FACC
cmp r0, #1
beq _0205F06E
bl GF_AssertFail
_0205F06E:
add r0, r5, #0
mov r1, #1
bl sub_0205F7B8
add r0, r6, #0
bl sub_0205FA10
add r1, r0, #0
add r0, r5, #0
bl sub_0205F278
add r0, r6, #0
bl sub_0205FAE8
add r1, r0, #0
add r0, r5, #0
bl sub_0205F270
add r0, r5, #0
add r1, r4, #0
bl sub_0205F250
pop {r4, r5, r6, pc}
thumb_func_end sub_0205F058
thumb_func_start sub_0205F09C
sub_0205F09C: ; 0x0205F09C
push {r4, lr}
add r4, r1, #0
bl sub_0205F538
add r0, r0, r4
pop {r4, pc}
thumb_func_end sub_0205F09C
thumb_func_start sub_0205F0A8
sub_0205F0A8: ; 0x0205F0A8
push {r4, r5, r6, lr}
add r6, r1, #0
mov r1, #1
add r5, r0, #0
add r4, r2, #0
bl sub_0205F228
cmp r0, #0
bne _0205F0BE
mov r0, #0
pop {r4, r5, r6, pc}
_0205F0BE:
add r0, r5, #0
bl sub_0205F24C
cmp r6, r0
beq _0205F0CC
mov r0, #0
pop {r4, r5, r6, pc}
_0205F0CC:
add r0, r5, #0
bl sub_0205F254
cmp r4, r0
beq _0205F0F2
add r0, r5, #0
bl sub_0205F7D4
cmp r0, #0
bne _0205F0E4
mov r0, #0
pop {r4, r5, r6, pc}
_0205F0E4:
add r0, r5, #0
bl sub_0205F544
cmp r4, r0
beq _0205F0F2
mov r0, #0
pop {r4, r5, r6, pc}
_0205F0F2:
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205F0A8
thumb_func_start sub_0205F0F8
sub_0205F0F8: ; 0x0205F0F8
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
mov r1, #1
add r5, r0, #0
add r6, r2, #0
add r7, r3, #0
bl sub_0205F228
cmp r0, #0
bne _0205F110
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0205F110:
add r0, r5, #0
bl sub_0205F25C
cmp r0, r4
beq _0205F11E
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0205F11E:
add r0, r5, #0
add r1, r6, #0
add r2, r7, #0
bl sub_0205F0A8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0205F0F8
thumb_func_start sub_0205F12C
sub_0205F12C: ; 0x0205F12C
push {r4, lr}
add r4, r1, #0
add r0, r4, #0
bl sub_0205FD30
add r0, r4, #0
bl sub_0205F624
cmp r0, #0
beq _0205F146
add r0, r4, #0
bl sub_0205F148
_0205F146:
pop {r4, pc}
thumb_func_end sub_0205F12C
thumb_func_start sub_0205F148
sub_0205F148: ; 0x0205F148
push {r4, lr}
add r4, r0, #0
bl sub_0205F35C
bl sub_0205F5D4
cmp r0, #1
bne _0205F15E
add r0, r4, #0
bl ov01_021F92A0
_0205F15E:
pop {r4, pc}
thumb_func_end sub_0205F148
thumb_func_start sub_0205F160
sub_0205F160: ; 0x0205F160
bx lr
.balign 4, 0
thumb_func_end sub_0205F160
thumb_func_start sub_0205F164
sub_0205F164: ; 0x0205F164
str r1, [r0, #4]
bx lr
thumb_func_end sub_0205F164
thumb_func_start sub_0205F168
sub_0205F168: ; 0x0205F168
ldr r0, [r0, #4]
bx lr
thumb_func_end sub_0205F168
thumb_func_start sub_0205F16C
sub_0205F16C: ; 0x0205F16C
ldr r1, [r0, #8]
add r1, r1, #1
str r1, [r0, #8]
bx lr
thumb_func_end sub_0205F16C
thumb_func_start sub_0205F174
sub_0205F174: ; 0x0205F174
ldr r1, [r0, #8]
sub r1, r1, #1
str r1, [r0, #8]
bx lr
thumb_func_end sub_0205F174
thumb_func_start sub_0205F17C
sub_0205F17C: ; 0x0205F17C
ldr r2, [r0]
orr r1, r2
str r1, [r0]
bx lr
thumb_func_end sub_0205F17C
thumb_func_start sub_0205F184
sub_0205F184: ; 0x0205F184
ldr r2, [r0]
mvn r1, r1
and r1, r2
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F184
thumb_func_start sub_0205F190
sub_0205F190: ; 0x0205F190
ldr r0, [r0]
and r0, r1
bx lr
.balign 4, 0
thumb_func_end sub_0205F190
thumb_func_start sub_0205F198
sub_0205F198: ; 0x0205F198
str r1, [r0, #0xc]
bx lr
thumb_func_end sub_0205F198
thumb_func_start sub_0205F19C
sub_0205F19C: ; 0x0205F19C
ldr r0, [r0, #0xc]
bx lr
thumb_func_end sub_0205F19C
thumb_func_start sub_0205F1A0
sub_0205F1A0: ; 0x0205F1A0
add r0, #0x18
bx lr
thumb_func_end sub_0205F1A0
thumb_func_start sub_0205F1A4
sub_0205F1A4: ; 0x0205F1A4
mov r2, #0x49
lsl r2, r2, #2
str r1, [r0, r2]
bx lr
thumb_func_end sub_0205F1A4
thumb_func_start sub_0205F1AC
sub_0205F1AC: ; 0x0205F1AC
mov r1, #0x49
lsl r1, r1, #2
ldr r0, [r0, r1]
bx lr
thumb_func_end sub_0205F1AC
thumb_func_start sub_0205F1B4
sub_0205F1B4: ; 0x0205F1B4
mov r1, #0x49
lsl r1, r1, #2
ldr r0, [r0, r1]
bx lr
thumb_func_end sub_0205F1B4
thumb_func_start sub_0205F1BC
sub_0205F1BC: ; 0x0205F1BC
mov r1, #0x49
lsl r1, r1, #2
ldr r0, [r0, r1]
bx lr
thumb_func_end sub_0205F1BC
thumb_func_start sub_0205F1C4
sub_0205F1C4: ; 0x0205F1C4
mov r1, #0x4b
ldr r2, [r0]
lsl r1, r1, #2
add r1, r2, r1
str r1, [r0]
bx lr
thumb_func_end sub_0205F1C4
thumb_func_start sub_0205F1D0
sub_0205F1D0: ; 0x0205F1D0
mov r1, #0x4b
ldr r2, [r0]
lsl r1, r1, #2
add r1, r2, r1
str r1, [r0]
bx lr
thumb_func_end sub_0205F1D0
thumb_func_start sub_0205F1DC
sub_0205F1DC: ; 0x0205F1DC
mov r2, #0x4a
lsl r2, r2, #2
str r1, [r0, r2]
bx lr
thumb_func_end sub_0205F1DC
thumb_func_start sub_0205F1E4
sub_0205F1E4: ; 0x0205F1E4
mov r1, #0x4a
lsl r1, r1, #2
ldr r0, [r0, r1]
bx lr
thumb_func_end sub_0205F1E4
thumb_func_start sub_0205F1EC
sub_0205F1EC: ; 0x0205F1EC
str r1, [r0, #0x14]
bx lr
thumb_func_end sub_0205F1EC
thumb_func_start sub_0205F1F0
sub_0205F1F0: ; 0x0205F1F0
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x14]
cmp r0, #0
bne _0205F1FE
bl GF_AssertFail
_0205F1FE:
ldr r0, [r4, #0x14]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205F1F0
thumb_func_start sub_0205F204
sub_0205F204: ; 0x0205F204
str r1, [r0]
bx lr
thumb_func_end sub_0205F204
thumb_func_start sub_0205F208
sub_0205F208: ; 0x0205F208
ldr r0, [r0]
bx lr
thumb_func_end sub_0205F208
thumb_func_start sub_0205F20C
sub_0205F20C: ; 0x0205F20C
ldr r2, [r0]
orr r1, r2
str r1, [r0]
bx lr
thumb_func_end sub_0205F20C
thumb_func_start sub_0205F214
sub_0205F214: ; 0x0205F214
ldr r2, [r0]
mvn r1, r1
and r1, r2
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F214
thumb_func_start sub_0205F220
sub_0205F220: ; 0x0205F220
ldr r0, [r0]
and r0, r1
bx lr
.balign 4, 0
thumb_func_end sub_0205F220
thumb_func_start sub_0205F228
sub_0205F228: ; 0x0205F228
ldr r0, [r0]
tst r0, r1
beq _0205F232
mov r0, #1
bx lr
_0205F232:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end sub_0205F228
thumb_func_start sub_0205F238
sub_0205F238: ; 0x0205F238
str r1, [r0, #4]
bx lr
thumb_func_end sub_0205F238
thumb_func_start sub_0205F23C
sub_0205F23C: ; 0x0205F23C
ldr r0, [r0, #4]
bx lr
thumb_func_end sub_0205F23C
thumb_func_start sub_0205F240
sub_0205F240: ; 0x0205F240
ldr r0, [r0, #4]
and r0, r1
bx lr
.balign 4, 0
thumb_func_end sub_0205F240
thumb_func_start sub_0205F248
sub_0205F248: ; 0x0205F248
str r1, [r0, #8]
bx lr
thumb_func_end sub_0205F248
thumb_func_start sub_0205F24C
sub_0205F24C: ; 0x0205F24C
ldr r0, [r0, #8]
bx lr
thumb_func_end sub_0205F24C
thumb_func_start sub_0205F250
sub_0205F250: ; 0x0205F250
str r1, [r0, #0xc]
bx lr
thumb_func_end sub_0205F250
thumb_func_start sub_0205F254
sub_0205F254: ; 0x0205F254
ldr r0, [r0, #0xc]
bx lr
thumb_func_end sub_0205F254
thumb_func_start sub_0205F258
sub_0205F258: ; 0x0205F258
str r1, [r0, #0x10]
bx lr
thumb_func_end sub_0205F258
thumb_func_start sub_0205F25C
sub_0205F25C: ; 0x0205F25C
ldr r0, [r0, #0x10]
bx lr
thumb_func_end sub_0205F25C
thumb_func_start sub_0205F260
sub_0205F260: ; 0x0205F260
str r1, [r0, #0x14]
bx lr
thumb_func_end sub_0205F260
thumb_func_start sub_0205F264
sub_0205F264: ; 0x0205F264
ldr r0, [r0, #0x14]
bx lr
thumb_func_end sub_0205F264
thumb_func_start sub_0205F268
sub_0205F268: ; 0x0205F268
str r1, [r0, #0x18]
bx lr
thumb_func_end sub_0205F268
thumb_func_start sub_0205F26C
sub_0205F26C: ; 0x0205F26C
ldr r0, [r0, #0x18]
bx lr
thumb_func_end sub_0205F26C
thumb_func_start sub_0205F270
sub_0205F270: ; 0x0205F270
str r1, [r0, #0x1c]
bx lr
thumb_func_end sub_0205F270
thumb_func_start sub_0205F274
sub_0205F274: ; 0x0205F274
ldr r0, [r0, #0x1c]
bx lr
thumb_func_end sub_0205F274
thumb_func_start sub_0205F278
sub_0205F278: ; 0x0205F278
str r1, [r0, #0x20]
bx lr
thumb_func_end sub_0205F278
thumb_func_start sub_0205F27C
sub_0205F27C: ; 0x0205F27C
ldr r0, [r0, #0x20]
bx lr
thumb_func_end sub_0205F27C
thumb_func_start sub_0205F280
sub_0205F280: ; 0x0205F280
str r1, [r0, #0x24]
bx lr
thumb_func_end sub_0205F280
thumb_func_start sub_0205F284
sub_0205F284: ; 0x0205F284
ldr r0, [r0, #0x24]
bx lr
thumb_func_end sub_0205F284
thumb_func_start sub_0205F288
sub_0205F288: ; 0x0205F288
ldr r2, [r0, #0x28]
str r2, [r0, #0x30]
str r1, [r0, #0x28]
bx lr
thumb_func_end sub_0205F288
thumb_func_start sub_0205F290
sub_0205F290: ; 0x0205F290
push {r3, r4, r5, lr}
add r4, r1, #0
mov r1, #0x80
add r5, r0, #0
bl sub_0205F220
cmp r0, #0
bne _0205F2A6
ldr r0, [r5, #0x28]
str r0, [r5, #0x30]
str r4, [r5, #0x28]
_0205F2A6:
pop {r3, r4, r5, pc}
thumb_func_end sub_0205F290
thumb_func_start sub_0205F2A8
sub_0205F2A8: ; 0x0205F2A8
ldr r0, [r0, #0x28]
bx lr
thumb_func_end sub_0205F2A8
thumb_func_start sub_0205F2AC
sub_0205F2AC: ; 0x0205F2AC
ldr r0, [r0, #0x30]
bx lr
thumb_func_end sub_0205F2AC
thumb_func_start sub_0205F2B0
sub_0205F2B0: ; 0x0205F2B0
ldr r2, [r0, #0x2c]
str r2, [r0, #0x34]
str r1, [r0, #0x2c]
bx lr
thumb_func_end sub_0205F2B0
thumb_func_start sub_0205F2B8
sub_0205F2B8: ; 0x0205F2B8
ldr r0, [r0, #0x2c]
bx lr
thumb_func_end sub_0205F2B8
thumb_func_start sub_0205F2BC
sub_0205F2BC: ; 0x0205F2BC
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0205F290
add r0, r5, #0
add r1, r4, #0
bl sub_0205F2B0
pop {r3, r4, r5, pc}
thumb_func_end sub_0205F2BC
thumb_func_start sub_0205F2D0
sub_0205F2D0: ; 0x0205F2D0
push {r3, lr}
cmp r2, #0
beq _0205F2E0
cmp r2, #1
beq _0205F2E4
cmp r2, #2
beq _0205F2E8
b _0205F2EC
_0205F2E0:
str r1, [r0, #0x38]
pop {r3, pc}
_0205F2E4:
str r1, [r0, #0x3c]
pop {r3, pc}
_0205F2E8:
str r1, [r0, #0x40]
pop {r3, pc}
_0205F2EC:
bl GF_AssertFail
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F2D0
thumb_func_start sub_0205F2F4
sub_0205F2F4: ; 0x0205F2F4
push {r3, lr}
cmp r1, #0
beq _0205F304
cmp r1, #1
beq _0205F308
cmp r1, #2
beq _0205F30C
b _0205F310
_0205F304:
ldr r0, [r0, #0x38]
pop {r3, pc}
_0205F308:
ldr r0, [r0, #0x3c]
pop {r3, pc}
_0205F30C:
ldr r0, [r0, #0x40]
pop {r3, pc}
_0205F310:
bl GF_AssertFail
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0205F2F4
thumb_func_start sub_0205F318
sub_0205F318: ; 0x0205F318
str r1, [r0, #0x44]
bx lr
thumb_func_end sub_0205F318
thumb_func_start sub_0205F31C
sub_0205F31C: ; 0x0205F31C
ldr r0, [r0, #0x44]
bx lr
thumb_func_end sub_0205F31C
thumb_func_start sub_0205F320
sub_0205F320: ; 0x0205F320
str r1, [r0, #0x48]
bx lr
thumb_func_end sub_0205F320
thumb_func_start sub_0205F324
sub_0205F324: ; 0x0205F324
ldr r0, [r0, #0x48]
bx lr
thumb_func_end sub_0205F324
thumb_func_start sub_0205F328
sub_0205F328: ; 0x0205F328
add r0, #0xa0
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F328
thumb_func_start sub_0205F330
sub_0205F330: ; 0x0205F330
add r0, #0xa0
ldr r0, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F330
thumb_func_start sub_0205F338
sub_0205F338: ; 0x0205F338
add r0, #0xb0
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F338
thumb_func_start sub_0205F340
sub_0205F340: ; 0x0205F340
add r0, #0xb0
ldr r0, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F340
thumb_func_start sub_0205F348
sub_0205F348: ; 0x0205F348
push {r3, lr}
bl sub_0205F340
bl sub_0200E390
pop {r3, pc}
thumb_func_end sub_0205F348
thumb_func_start sub_0205F354
sub_0205F354: ; 0x0205F354
add r0, #0xb4
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F354
thumb_func_start sub_0205F35C
sub_0205F35C: ; 0x0205F35C
add r0, #0xb4
ldr r0, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F35C
thumb_func_start sub_0205F364
sub_0205F364: ; 0x0205F364
ldr r3, _0205F36C ; =sub_0205F160
add r0, #0xb4
ldr r0, [r0]
bx r3
.balign 4, 0
_0205F36C: .word sub_0205F160
thumb_func_end sub_0205F364
thumb_func_start sub_0205F370
sub_0205F370: ; 0x0205F370
push {r3, r4, r5, lr}
add r5, r1, #0
add r4, r0, #0
cmp r5, #0x10
ble _0205F37E
bl GF_AssertFail
_0205F37E:
add r0, r4, #0
bl sub_0205F394
mov r1, #0
add r2, r5, #0
add r4, r0, #0
bl memset
add r0, r4, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205F370
thumb_func_start sub_0205F394
sub_0205F394: ; 0x0205F394
add r0, #0xd8
bx lr
thumb_func_end sub_0205F394
thumb_func_start sub_0205F398
sub_0205F398: ; 0x0205F398
push {r3, r4, r5, lr}
add r5, r1, #0
add r4, r0, #0
cmp r5, #0x10
ble _0205F3A6
bl GF_AssertFail
_0205F3A6:
add r0, r4, #0
bl sub_0205F3BC
mov r1, #0
add r2, r5, #0
add r4, r0, #0
bl memset
add r0, r4, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205F398
thumb_func_start sub_0205F3BC
sub_0205F3BC: ; 0x0205F3BC
add r0, #0xe8
bx lr
thumb_func_end sub_0205F3BC
thumb_func_start sub_0205F3C0
sub_0205F3C0: ; 0x0205F3C0
push {r3, r4, r5, lr}
add r5, r1, #0
add r4, r0, #0
cmp r5, #0x10
ble _0205F3CE
bl GF_AssertFail
_0205F3CE:
add r0, r4, #0
bl sub_0205F3E4
mov r1, #0
add r2, r5, #0
add r4, r0, #0
bl memset
add r0, r4, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205F3C0
thumb_func_start sub_0205F3E4
sub_0205F3E4: ; 0x0205F3E4
add r0, #0xf8
bx lr
thumb_func_end sub_0205F3E4
thumb_func_start sub_0205F3E8
sub_0205F3E8: ; 0x0205F3E8
push {r3, r4, r5, lr}
add r5, r1, #0
add r4, r0, #0
cmp r5, #0x20
ble _0205F3F6
bl GF_AssertFail
_0205F3F6:
add r0, r4, #0
bl sub_0205F40C
mov r1, #0
add r2, r5, #0
add r4, r0, #0
bl memset
add r0, r4, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205F3E8
thumb_func_start sub_0205F40C
sub_0205F40C: ; 0x0205F40C
mov r1, #0x42
lsl r1, r1, #2
add r0, r0, r1
bx lr
thumb_func_end sub_0205F40C
thumb_func_start sub_0205F414
sub_0205F414: ; 0x0205F414
add r0, #0xb8
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F414
thumb_func_start sub_0205F41C
sub_0205F41C: ; 0x0205F41C
push {r3, lr}
add r1, r0, #0
add r1, #0xb8
ldr r1, [r1]
blx r1
pop {r3, pc}
thumb_func_end sub_0205F41C
thumb_func_start sub_0205F428
sub_0205F428: ; 0x0205F428
add r0, #0xbc
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F428
thumb_func_start sub_0205F430
sub_0205F430: ; 0x0205F430
push {r3, lr}
add r1, r0, #0
add r1, #0xbc
ldr r1, [r1]
blx r1
pop {r3, pc}
thumb_func_end sub_0205F430
thumb_func_start sub_0205F43C
sub_0205F43C: ; 0x0205F43C
add r0, #0xc0
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F43C
thumb_func_start sub_0205F444
sub_0205F444: ; 0x0205F444
push {r3, lr}
add r1, r0, #0
add r1, #0xc0
ldr r1, [r1]
blx r1
pop {r3, pc}
thumb_func_end sub_0205F444
thumb_func_start sub_0205F450
sub_0205F450: ; 0x0205F450
push {r4, lr}
add r4, r0, #0
bl sub_0205F264
bl sub_0205FB00
add r1, r0, #0
ldr r1, [r1, #0x10]
add r0, r4, #0
blx r1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205F450
thumb_func_start sub_0205F468
sub_0205F468: ; 0x0205F468
add r0, #0xc4
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F468
thumb_func_start sub_0205F470
sub_0205F470: ; 0x0205F470
push {r3, lr}
add r1, r0, #0
add r1, #0xc4
ldr r1, [r1]
blx r1
pop {r3, pc}
thumb_func_end sub_0205F470
thumb_func_start sub_0205F47C
sub_0205F47C: ; 0x0205F47C
add r0, #0xc8
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F47C
thumb_func_start sub_0205F484
sub_0205F484: ; 0x0205F484
push {r3, lr}
add r1, r0, #0
add r1, #0xc8
ldr r1, [r1]
blx r1
pop {r3, pc}
thumb_func_end sub_0205F484
thumb_func_start sub_0205F490
sub_0205F490: ; 0x0205F490
add r0, #0xcc
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F490
thumb_func_start sub_0205F498
sub_0205F498: ; 0x0205F498
push {r3, lr}
add r1, r0, #0
add r1, #0xcc
ldr r1, [r1]
blx r1
pop {r3, pc}
thumb_func_end sub_0205F498
thumb_func_start sub_0205F4A4
sub_0205F4A4: ; 0x0205F4A4
add r0, #0xd0
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F4A4
thumb_func_start sub_0205F4AC
sub_0205F4AC: ; 0x0205F4AC
push {r3, lr}
add r1, r0, #0
add r1, #0xd0
ldr r1, [r1]
blx r1
pop {r3, pc}
thumb_func_end sub_0205F4AC
thumb_func_start sub_0205F4B8
sub_0205F4B8: ; 0x0205F4B8
add r0, #0xd4
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F4B8
thumb_func_start sub_0205F4C0
sub_0205F4C0: ; 0x0205F4C0
push {r3, lr}
add r1, r0, #0
add r1, #0xd4
ldr r1, [r1]
blx r1
pop {r3, pc}
thumb_func_end sub_0205F4C0
thumb_func_start sub_0205F4CC
sub_0205F4CC: ; 0x0205F4CC
add r0, #0xa4
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F4CC
thumb_func_start sub_0205F4D4
sub_0205F4D4: ; 0x0205F4D4
add r0, #0xa4
ldr r0, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F4D4
thumb_func_start sub_0205F4DC
sub_0205F4DC: ; 0x0205F4DC
add r0, #0xa8
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F4DC
thumb_func_start sub_0205F4E4
sub_0205F4E4: ; 0x0205F4E4
add r1, r0, #0
add r1, #0xa8
ldr r1, [r1]
add r0, #0xa8
add r1, r1, #1
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F4E4
thumb_func_start sub_0205F4F4
sub_0205F4F4: ; 0x0205F4F4
add r0, #0xa8
ldr r0, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F4F4
thumb_func_start sub_0205F4FC
sub_0205F4FC: ; 0x0205F4FC
add r0, #0xac
strh r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F4FC
thumb_func_start sub_0205F504
sub_0205F504: ; 0x0205F504
add r0, #0xac
ldrh r0, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F504
thumb_func_start sub_0205F50C
sub_0205F50C: ; 0x0205F50C
add r0, #0xae
strh r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F50C
thumb_func_start sub_0205F514
sub_0205F514: ; 0x0205F514
add r0, #0xae
ldrh r0, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0205F514
thumb_func_start sub_0205F51C
sub_0205F51C: ; 0x0205F51C
mov r2, #0x4a
lsl r2, r2, #2
strh r1, [r0, r2]
bx lr
thumb_func_end sub_0205F51C
thumb_func_start sub_0205F524
sub_0205F524: ; 0x0205F524
mov r1, #0x4a
lsl r1, r1, #2
ldrh r0, [r0, r1]
bx lr
thumb_func_end sub_0205F524
thumb_func_start sub_0205F52C
sub_0205F52C: ; 0x0205F52C
push {r3, lr}
bl sub_0205F364
bl sub_0205F1E4
pop {r3, pc}
thumb_func_end sub_0205F52C
thumb_func_start sub_0205F538
sub_0205F538: ; 0x0205F538
push {r3, lr}
bl sub_0205F35C
bl sub_0205F19C
pop {r3, pc}
thumb_func_end sub_0205F538
thumb_func_start sub_0205F544
sub_0205F544: ; 0x0205F544
push {r4, lr}
add r4, r0, #0
bl sub_0205F7D4
cmp r0, #1
beq _0205F554
bl GF_AssertFail
_0205F554:
add r0, r4, #0
bl sub_0205F274
pop {r4, pc}
thumb_func_end sub_0205F544
thumb_func_start sub_0205F55C
sub_0205F55C: ; 0x0205F55C
ldr r3, _0205F564 ; =sub_0205F17C
mov r1, #6
bx r3
nop
_0205F564: .word sub_0205F17C
thumb_func_end sub_0205F55C
thumb_func_start sub_0205F568
sub_0205F568: ; 0x0205F568
ldr r3, _0205F570 ; =sub_0205F184
mov r1, #6
bx r3
nop
_0205F570: .word sub_0205F184
thumb_func_end sub_0205F568
thumb_func_start sub_0205F574
sub_0205F574: ; 0x0205F574
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205F168
add r4, r0, #0
add r0, r5, #0
bl sub_0205F1BC
mov r6, #0x4b
add r5, r0, #0
lsl r6, r6, #2
_0205F58A:
add r0, r5, #0
bl sub_0205F624
cmp r0, #0
beq _0205F59A
add r0, r5, #0
bl sub_0205F6FC
_0205F59A:
add r5, r5, r6
sub r4, r4, #1
bne _0205F58A
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205F574
thumb_func_start sub_0205F5A4
sub_0205F5A4: ; 0x0205F5A4
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205F168
add r4, r0, #0
add r0, r5, #0
bl sub_0205F1BC
mov r6, #0x4b
add r5, r0, #0
lsl r6, r6, #2
_0205F5BA:
add r0, r5, #0
bl sub_0205F624
cmp r0, #0
beq _0205F5CA
add r0, r5, #0
bl sub_0205F708
_0205F5CA:
add r5, r5, r6
sub r4, r4, #1
bne _0205F5BA
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205F5A4
thumb_func_start sub_0205F5D4
sub_0205F5D4: ; 0x0205F5D4
push {r3, lr}
mov r1, #1
bl sub_0205F190
cmp r0, #0
beq _0205F5E4
mov r0, #1
pop {r3, pc}
_0205F5E4:
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0205F5D4
thumb_func_start sub_0205F5E8
sub_0205F5E8: ; 0x0205F5E8
push {r4, lr}
add r4, r1, #0
bl sub_0205F35C
add r1, r4, #0
bl sub_0205F190
pop {r4, pc}
thumb_func_end sub_0205F5E8
thumb_func_start sub_0205F5F8
sub_0205F5F8: ; 0x0205F5F8
push {r3, lr}
cmp r1, #0
bne _0205F606
mov r1, #8
bl sub_0205F17C
pop {r3, pc}
_0205F606:
mov r1, #8
bl sub_0205F184
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F5F8
thumb_func_start sub_0205F610
sub_0205F610: ; 0x0205F610
push {r3, lr}
mov r1, #8
bl sub_0205F190
cmp r0, #0
bne _0205F620
mov r0, #1
pop {r3, pc}
_0205F620:
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0205F610
thumb_func_start sub_0205F624
sub_0205F624: ; 0x0205F624
ldr r3, _0205F62C ; =sub_0205F228
mov r1, #1
bx r3
nop
_0205F62C: .word sub_0205F228
thumb_func_end sub_0205F624
thumb_func_start sub_0205F630
sub_0205F630: ; 0x0205F630
ldr r3, _0205F638 ; =sub_0205F20C
mov r1, #2
bx r3
nop
_0205F638: .word sub_0205F20C
thumb_func_end sub_0205F630
thumb_func_start sub_0205F63C
sub_0205F63C: ; 0x0205F63C
ldr r3, _0205F644 ; =sub_0205F214
mov r1, #2
bx r3
nop
_0205F644: .word sub_0205F214
thumb_func_end sub_0205F63C
thumb_func_start sub_0205F648
sub_0205F648: ; 0x0205F648
ldr r3, _0205F650 ; =sub_0205F228
mov r1, #2
bx r3
nop
_0205F650: .word sub_0205F228
thumb_func_end sub_0205F648
thumb_func_start sub_0205F654
sub_0205F654: ; 0x0205F654
ldr r3, _0205F65C ; =sub_0205F20C
mov r1, #4
bx r3
nop
_0205F65C: .word sub_0205F20C
thumb_func_end sub_0205F654
thumb_func_start sub_0205F660
sub_0205F660: ; 0x0205F660
ldr r3, _0205F668 ; =sub_0205F214
mov r1, #8
bx r3
nop
_0205F668: .word sub_0205F214
thumb_func_end sub_0205F660
thumb_func_start sub_0205F66C
sub_0205F66C: ; 0x0205F66C
ldr r3, _0205F674 ; =sub_0205F20C
mov r1, #1
lsl r1, r1, #0xe
bx r3
.balign 4, 0
_0205F674: .word sub_0205F20C
thumb_func_end sub_0205F66C
thumb_func_start sub_0205F678
sub_0205F678: ; 0x0205F678
ldr r3, _0205F680 ; =sub_0205F228
mov r1, #1
lsl r1, r1, #0xe
bx r3
.balign 4, 0
_0205F680: .word sub_0205F228
thumb_func_end sub_0205F678
thumb_func_start sub_0205F684
sub_0205F684: ; 0x0205F684
ldr r3, _0205F68C ; =sub_0205F228
mov r1, #2
lsl r1, r1, #8
bx r3
.balign 4, 0
_0205F68C: .word sub_0205F228
thumb_func_end sub_0205F684
thumb_func_start sub_0205F690
sub_0205F690: ; 0x0205F690
push {r3, lr}
cmp r1, #1
bne _0205F6A0
mov r1, #2
lsl r1, r1, #8
bl sub_0205F20C
pop {r3, pc}
_0205F6A0:
mov r1, #2
lsl r1, r1, #8
bl sub_0205F214
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F690
thumb_func_start sub_0205F6AC
sub_0205F6AC: ; 0x0205F6AC
push {r3, lr}
cmp r1, #1
bne _0205F6BC
mov r1, #1
lsl r1, r1, #0x12
bl sub_0205F214
pop {r3, pc}
_0205F6BC:
mov r1, #1
lsl r1, r1, #0x12
bl sub_0205F20C
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F6AC
thumb_func_start sub_0205F6C8
sub_0205F6C8: ; 0x0205F6C8
push {r3, lr}
mov r1, #2
lsl r1, r1, #0x12
bl sub_0205F228
cmp r0, #1
beq _0205F6DA
mov r0, #1
pop {r3, pc}
_0205F6DA:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F6C8
thumb_func_start sub_0205F6E0
sub_0205F6E0: ; 0x0205F6E0
push {r3, lr}
cmp r1, #1
bne _0205F6F0
mov r1, #2
lsl r1, r1, #0x12
bl sub_0205F20C
pop {r3, pc}
_0205F6F0:
mov r1, #2
lsl r1, r1, #0x12
bl sub_0205F214
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F6E0
thumb_func_start sub_0205F6FC
sub_0205F6FC: ; 0x0205F6FC
ldr r3, _0205F704 ; =sub_0205F20C
mov r1, #0x40
bx r3
nop
_0205F704: .word sub_0205F20C
thumb_func_end sub_0205F6FC
thumb_func_start sub_0205F708
sub_0205F708: ; 0x0205F708
ldr r3, _0205F710 ; =sub_0205F214
mov r1, #0x40
bx r3
nop
_0205F710: .word sub_0205F214
thumb_func_end sub_0205F708
thumb_func_start sub_0205F714
sub_0205F714: ; 0x0205F714
push {r4, lr}
mov r1, #1
lsl r1, r1, #0x1e
add r4, r0, #0
bl sub_0205F228
cmp r0, #1
bne _0205F728
mov r0, #1
pop {r4, pc}
_0205F728:
add r0, r4, #0
mov r1, #0x40
bl sub_0205F228
cmp r0, #1
bne _0205F738
mov r0, #1
pop {r4, pc}
_0205F738:
mov r0, #0
pop {r4, pc}
thumb_func_end sub_0205F714
thumb_func_start sub_0205F73C
sub_0205F73C: ; 0x0205F73C
push {r4, lr}
add r4, r0, #0
bl sub_0205F35C
bl sub_0205F5D4
cmp r0, #0
bne _0205F750
mov r0, #0
pop {r4, pc}
_0205F750:
mov r1, #1
add r0, r4, #0
lsl r1, r1, #0xe
bl sub_0205F220
cmp r0, #0
beq _0205F762
mov r0, #1
pop {r4, pc}
_0205F762:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205F73C
thumb_func_start sub_0205F768
sub_0205F768: ; 0x0205F768
push {r3, lr}
cmp r1, #1
bne _0205F778
mov r1, #2
lsl r1, r1, #0x16
bl sub_0205F20C
pop {r3, pc}
_0205F778:
mov r1, #2
lsl r1, r1, #0x16
bl sub_0205F214
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F768
thumb_func_start sub_0205F784
sub_0205F784: ; 0x0205F784
push {r3, lr}
mov r1, #2
lsl r1, r1, #0x16
bl sub_0205F220
cmp r0, #0
beq _0205F796
mov r0, #1
pop {r3, pc}
_0205F796:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F784
thumb_func_start sub_0205F79C
sub_0205F79C: ; 0x0205F79C
push {r3, lr}
cmp r1, #1
bne _0205F7AC
mov r1, #1
lsl r1, r1, #0xa
bl sub_0205F20C
pop {r3, pc}
_0205F7AC:
mov r1, #1
lsl r1, r1, #0xa
bl sub_0205F214
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F79C
thumb_func_start sub_0205F7B8
sub_0205F7B8: ; 0x0205F7B8
push {r3, lr}
cmp r1, #1
bne _0205F7C8
mov r1, #2
lsl r1, r1, #0x18
bl sub_0205F20C
pop {r3, pc}
_0205F7C8:
mov r1, #2
lsl r1, r1, #0x18
bl sub_0205F214
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F7B8
thumb_func_start sub_0205F7D4
sub_0205F7D4: ; 0x0205F7D4
push {r3, lr}
mov r1, #2
lsl r1, r1, #0x18
bl sub_0205F220
cmp r0, #0
beq _0205F7E6
mov r0, #1
pop {r3, pc}
_0205F7E6:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F7D4
thumb_func_start sub_0205F7EC
sub_0205F7EC: ; 0x0205F7EC
push {r3, lr}
cmp r1, #1
bne _0205F7FC
mov r1, #1
lsl r1, r1, #0x1a
bl sub_0205F20C
pop {r3, pc}
_0205F7FC:
mov r1, #1
lsl r1, r1, #0x1a
bl sub_0205F214
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F7EC
thumb_func_start sub_0205F808
sub_0205F808: ; 0x0205F808
push {r3, lr}
mov r1, #1
lsl r1, r1, #0x1a
bl sub_0205F220
cmp r0, #0
beq _0205F81A
mov r0, #1
pop {r3, pc}
_0205F81A:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F808
thumb_func_start sub_0205F820
sub_0205F820: ; 0x0205F820
push {r3, lr}
cmp r1, #1
bne _0205F830
mov r1, #1
lsl r1, r1, #0x1c
bl sub_0205F20C
pop {r3, pc}
_0205F830:
mov r1, #1
lsl r1, r1, #0x1c
bl sub_0205F214
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F820
thumb_func_start sub_0205F83C
sub_0205F83C: ; 0x0205F83C
push {r3, lr}
mov r1, #1
lsl r1, r1, #0x1c
bl sub_0205F220
cmp r0, #0
beq _0205F84E
mov r0, #1
pop {r3, pc}
_0205F84E:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F83C
thumb_func_start sub_0205F854
sub_0205F854: ; 0x0205F854
push {r3, lr}
cmp r1, #1
bne _0205F864
mov r1, #1
lsl r1, r1, #0x18
bl sub_0205F20C
pop {r3, pc}
_0205F864:
mov r1, #1
lsl r1, r1, #0x18
bl sub_0205F214
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F854
thumb_func_start sub_0205F870
sub_0205F870: ; 0x0205F870
push {r3, lr}
mov r1, #1
lsl r1, r1, #0x18
bl sub_0205F220
cmp r0, #0
beq _0205F882
mov r0, #1
pop {r3, pc}
_0205F882:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F870
thumb_func_start sub_0205F888
sub_0205F888: ; 0x0205F888
push {r3, lr}
mov r1, #0x10
bl sub_0205F220
cmp r0, #0
beq _0205F898
mov r0, #1
pop {r3, pc}
_0205F898:
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0205F888
thumb_func_start sub_0205F89C
sub_0205F89C: ; 0x0205F89C
push {r3, lr}
cmp r1, #1
bne _0205F8AC
mov r1, #2
lsl r1, r1, #0x1c
bl sub_0205F20C
pop {r3, pc}
_0205F8AC:
mov r1, #2
lsl r1, r1, #0x1c
bl sub_0205F214
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F89C
thumb_func_start sub_0205F8B8
sub_0205F8B8: ; 0x0205F8B8
push {r3, lr}
mov r1, #2
lsl r1, r1, #0x1c
bl sub_0205F220
cmp r0, #0
beq _0205F8CA
mov r0, #1
pop {r3, pc}
_0205F8CA:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F8B8
thumb_func_start sub_0205F8D0
sub_0205F8D0: ; 0x0205F8D0
push {r3, lr}
mov r1, #4
bl sub_0205F240
cmp r0, #0
beq _0205F8E0
mov r0, #1
pop {r3, pc}
_0205F8E0:
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0205F8D0
thumb_func_start sub_0205F8E4
sub_0205F8E4: ; 0x0205F8E4
ldr r0, [r0, #0x4c]
bx lr
thumb_func_end sub_0205F8E4
thumb_func_start sub_0205F8E8
sub_0205F8E8: ; 0x0205F8E8
str r1, [r0, #0x4c]
bx lr
thumb_func_end sub_0205F8E8
thumb_func_start sub_0205F8EC
sub_0205F8EC: ; 0x0205F8EC
ldr r0, [r0, #0x50]
bx lr
thumb_func_end sub_0205F8EC
thumb_func_start sub_0205F8F0
sub_0205F8F0: ; 0x0205F8F0
str r1, [r0, #0x50]
bx lr
thumb_func_end sub_0205F8F0
thumb_func_start sub_0205F8F4
sub_0205F8F4: ; 0x0205F8F4
ldr r0, [r0, #0x54]
bx lr
thumb_func_end sub_0205F8F4
thumb_func_start sub_0205F8F8
sub_0205F8F8: ; 0x0205F8F8
str r1, [r0, #0x54]
bx lr
thumb_func_end sub_0205F8F8
thumb_func_start sub_0205F8FC
sub_0205F8FC: ; 0x0205F8FC
ldr r0, [r0, #0x58]
bx lr
thumb_func_end sub_0205F8FC
thumb_func_start sub_0205F900
sub_0205F900: ; 0x0205F900
str r1, [r0, #0x58]
bx lr
thumb_func_end sub_0205F900
thumb_func_start sub_0205F904
sub_0205F904: ; 0x0205F904
ldr r0, [r0, #0x5c]
bx lr
thumb_func_end sub_0205F904
thumb_func_start sub_0205F908
sub_0205F908: ; 0x0205F908
str r1, [r0, #0x5c]
bx lr
thumb_func_end sub_0205F908
thumb_func_start sub_0205F90C
sub_0205F90C: ; 0x0205F90C
ldr r0, [r0, #0x60]
bx lr
thumb_func_end sub_0205F90C
thumb_func_start sub_0205F910
sub_0205F910: ; 0x0205F910
str r1, [r0, #0x60]
bx lr
thumb_func_end sub_0205F910
thumb_func_start sub_0205F914
sub_0205F914: ; 0x0205F914
ldr r0, [r0, #0x64]
bx lr
thumb_func_end sub_0205F914
thumb_func_start sub_0205F918
sub_0205F918: ; 0x0205F918
str r1, [r0, #0x64]
bx lr
thumb_func_end sub_0205F918
thumb_func_start sub_0205F91C
sub_0205F91C: ; 0x0205F91C
ldr r2, [r0, #0x64]
add r1, r2, r1
str r1, [r0, #0x64]
bx lr
thumb_func_end sub_0205F91C
thumb_func_start sub_0205F924
sub_0205F924: ; 0x0205F924
ldr r0, [r0, #0x68]
bx lr
thumb_func_end sub_0205F924
thumb_func_start sub_0205F928
sub_0205F928: ; 0x0205F928
str r1, [r0, #0x68]
bx lr
thumb_func_end sub_0205F928
thumb_func_start sub_0205F92C
sub_0205F92C: ; 0x0205F92C
ldr r2, [r0, #0x68]
add r1, r2, r1
str r1, [r0, #0x68]
bx lr
thumb_func_end sub_0205F92C
thumb_func_start sub_0205F934
sub_0205F934: ; 0x0205F934
ldr r0, [r0, #0x6c]
bx lr
thumb_func_end sub_0205F934
thumb_func_start sub_0205F938
sub_0205F938: ; 0x0205F938
str r1, [r0, #0x6c]
bx lr
thumb_func_end sub_0205F938
thumb_func_start sub_0205F93C
sub_0205F93C: ; 0x0205F93C
ldr r2, [r0, #0x6c]
add r1, r2, r1
str r1, [r0, #0x6c]
bx lr
thumb_func_end sub_0205F93C
thumb_func_start sub_0205F944
sub_0205F944: ; 0x0205F944
add r2, r0, #0
add r2, #0x70
add r3, r1, #0
ldmia r2!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r2]
str r0, [r3]
bx lr
thumb_func_end sub_0205F944
thumb_func_start sub_0205F954
sub_0205F954: ; 0x0205F954
add r3, r1, #0
add r2, r0, #0
ldmia r3!, {r0, r1}
add r2, #0x70
stmia r2!, {r0, r1}
ldr r0, [r3]
str r0, [r2]
bx lr
thumb_func_end sub_0205F954
thumb_func_start sub_0205F964
sub_0205F964: ; 0x0205F964
add r0, #0x70
bx lr
thumb_func_end sub_0205F964
thumb_func_start sub_0205F968
sub_0205F968: ; 0x0205F968
ldr r0, [r0, #0x74]
bx lr
thumb_func_end sub_0205F968
thumb_func_start sub_0205F96C
sub_0205F96C: ; 0x0205F96C
add r2, r0, #0
add r2, #0x7c
add r3, r1, #0
ldmia r2!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r2]
str r0, [r3]
bx lr
thumb_func_end sub_0205F96C
thumb_func_start sub_0205F97C
sub_0205F97C: ; 0x0205F97C
add r3, r1, #0
add r2, r0, #0
ldmia r3!, {r0, r1}
add r2, #0x7c
stmia r2!, {r0, r1}
ldr r0, [r3]
str r0, [r2]
bx lr
thumb_func_end sub_0205F97C
thumb_func_start sub_0205F98C
sub_0205F98C: ; 0x0205F98C
add r0, #0x7c
bx lr
thumb_func_end sub_0205F98C
thumb_func_start sub_0205F990
sub_0205F990: ; 0x0205F990
add r2, r0, #0
add r2, #0x88
add r3, r1, #0
ldmia r2!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r2]
str r0, [r3]
bx lr
thumb_func_end sub_0205F990
thumb_func_start sub_0205F9A0
sub_0205F9A0: ; 0x0205F9A0
add r3, r1, #0
add r2, r0, #0
ldmia r3!, {r0, r1}
add r2, #0x88
stmia r2!, {r0, r1}
ldr r0, [r3]
str r0, [r2]
bx lr
thumb_func_end sub_0205F9A0
thumb_func_start sub_0205F9B0
sub_0205F9B0: ; 0x0205F9B0
add r2, r0, #0
add r2, #0x94
add r3, r1, #0
ldmia r2!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r2]
str r0, [r3]
bx lr
thumb_func_end sub_0205F9B0
thumb_func_start sub_0205F9C0
sub_0205F9C0: ; 0x0205F9C0
add r3, r1, #0
add r2, r0, #0
ldmia r3!, {r0, r1}
add r2, #0x94
stmia r2!, {r0, r1}
ldr r0, [r3]
str r0, [r2]
bx lr
thumb_func_end sub_0205F9C0
thumb_func_start sub_0205F9D0
sub_0205F9D0: ; 0x0205F9D0
push {r3, lr}
bl sub_0205F968
asr r1, r0, #3
asr r0, r1, #0xb
lsr r0, r0, #0x14
add r0, r1, r0
asr r0, r0, #0xc
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205F9D0
thumb_func_start sub_0205F9E4
sub_0205F9E4: ; 0x0205F9E4
strh r1, [r0]
bx lr
thumb_func_end sub_0205F9E4
thumb_func_start sub_0205F9E8
sub_0205F9E8: ; 0x0205F9E8
ldrh r0, [r0]
bx lr
thumb_func_end sub_0205F9E8
thumb_func_start sub_0205F9EC
sub_0205F9EC: ; 0x0205F9EC
strh r1, [r0, #2]
bx lr
thumb_func_end sub_0205F9EC
thumb_func_start sub_0205F9F0
sub_0205F9F0: ; 0x0205F9F0
ldrh r0, [r0, #2]
bx lr
thumb_func_end sub_0205F9F0
thumb_func_start sub_0205F9F4
sub_0205F9F4: ; 0x0205F9F4
strh r1, [r0, #4]
bx lr
thumb_func_end sub_0205F9F4
thumb_func_start sub_0205F9F8
sub_0205F9F8: ; 0x0205F9F8
ldrh r0, [r0, #4]
bx lr
thumb_func_end sub_0205F9F8
thumb_func_start sub_0205F9FC
sub_0205F9FC: ; 0x0205F9FC
strh r1, [r0, #6]
bx lr
thumb_func_end sub_0205F9FC
thumb_func_start sub_0205FA00
sub_0205FA00: ; 0x0205FA00
ldrh r0, [r0, #6]
bx lr
thumb_func_end sub_0205FA00
thumb_func_start sub_0205FA04
sub_0205FA04: ; 0x0205FA04
strh r1, [r0, #8]
bx lr
thumb_func_end sub_0205FA04
thumb_func_start sub_0205FA08
sub_0205FA08: ; 0x0205FA08
ldrh r0, [r0, #8]
bx lr
thumb_func_end sub_0205FA08
thumb_func_start sub_0205FA0C
sub_0205FA0C: ; 0x0205FA0C
strh r1, [r0, #0xa]
bx lr
thumb_func_end sub_0205FA0C
thumb_func_start sub_0205FA10
sub_0205FA10: ; 0x0205FA10
ldrh r0, [r0, #0xa]
bx lr
thumb_func_end sub_0205FA10
thumb_func_start sub_0205FA14
sub_0205FA14: ; 0x0205FA14
strh r1, [r0, #0xc]
bx lr
thumb_func_end sub_0205FA14
thumb_func_start sub_0205FA18
sub_0205FA18: ; 0x0205FA18
mov r1, #0xc
ldrsh r0, [r0, r1]
bx lr
.balign 4, 0
thumb_func_end sub_0205FA18
thumb_func_start sub_0205FA20
sub_0205FA20: ; 0x0205FA20
push {r3, lr}
cmp r2, #0
beq _0205FA30
cmp r2, #1
beq _0205FA34
cmp r2, #2
beq _0205FA38
b _0205FA3C
_0205FA30:
strh r1, [r0, #0xe]
pop {r3, pc}
_0205FA34:
strh r1, [r0, #0x10]
pop {r3, pc}
_0205FA38:
strh r1, [r0, #0x12]
pop {r3, pc}
_0205FA3C:
bl GF_AssertFail
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0205FA20
thumb_func_start sub_0205FA44
sub_0205FA44: ; 0x0205FA44
push {r3, lr}
cmp r1, #0
beq _0205FA54
cmp r1, #1
beq _0205FA58
cmp r1, #2
beq _0205FA5C
b _0205FA60
_0205FA54:
ldrh r0, [r0, #0xe]
pop {r3, pc}
_0205FA58:
ldrh r0, [r0, #0x10]
pop {r3, pc}
_0205FA5C:
ldrh r0, [r0, #0x12]
pop {r3, pc}
_0205FA60:
bl GF_AssertFail
mov r0, #0
pop {r3, pc}
thumb_func_end sub_0205FA44
thumb_func_start sub_0205FA68
sub_0205FA68: ; 0x0205FA68
strh r1, [r0, #0x14]
bx lr
thumb_func_end sub_0205FA68
thumb_func_start sub_0205FA6C
sub_0205FA6C: ; 0x0205FA6C
mov r1, #0x14
ldrsh r0, [r0, r1]
bx lr
.balign 4, 0
thumb_func_end sub_0205FA6C
thumb_func_start sub_0205FA74
sub_0205FA74: ; 0x0205FA74
strh r1, [r0, #0x16]
bx lr
thumb_func_end sub_0205FA74
thumb_func_start sub_0205FA78
sub_0205FA78: ; 0x0205FA78
mov r1, #0x16
ldrsh r0, [r0, r1]
bx lr
.balign 4, 0
thumb_func_end sub_0205FA78
thumb_func_start sub_0205FA80
sub_0205FA80: ; 0x0205FA80
strh r1, [r0, #0x18]
bx lr
thumb_func_end sub_0205FA80
thumb_func_start sub_0205FA84
sub_0205FA84: ; 0x0205FA84
ldrh r0, [r0, #0x18]
bx lr
thumb_func_end sub_0205FA84
thumb_func_start sub_0205FA88
sub_0205FA88: ; 0x0205FA88
str r1, [r0, #0x1c]
bx lr
thumb_func_end sub_0205FA88
thumb_func_start sub_0205FA8C
sub_0205FA8C: ; 0x0205FA8C
ldr r0, [r0, #0x1c]
bx lr
thumb_func_end sub_0205FA8C
thumb_func_start sub_0205FA90
sub_0205FA90: ; 0x0205FA90
strh r1, [r0, #0x1a]
bx lr
thumb_func_end sub_0205FA90
thumb_func_start sub_0205FA94
sub_0205FA94: ; 0x0205FA94
ldrh r0, [r0, #0x1a]
bx lr
thumb_func_end sub_0205FA94
thumb_func_start sub_0205FA98
sub_0205FA98: ; 0x0205FA98
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
add r7, r1, #0
str r2, [sp]
mov r4, #0
add r5, r2, #0
_0205FAA4:
add r0, r5, #0
bl sub_0205FACC
cmp r0, #0
bne _0205FAC0
add r0, r5, #0
bl sub_0205F9E8
cmp r6, r0
bne _0205FAC0
ldr r0, [sp]
lsl r1, r4, #5
add r0, r0, r1
pop {r3, r4, r5, r6, r7, pc}
_0205FAC0:
add r4, r4, #1
add r5, #0x20
cmp r4, r7
blt _0205FAA4
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205FA98
thumb_func_start sub_0205FACC
sub_0205FACC: ; 0x0205FACC
push {r3, lr}
bl sub_0205FA10
lsl r0, r0, #0x10
lsr r1, r0, #0x10
ldr r0, _0205FAE4 ; =0x0000FFFF
cmp r1, r0
bne _0205FAE0
mov r0, #1
pop {r3, pc}
_0205FAE0:
mov r0, #0
pop {r3, pc}
.balign 4, 0
_0205FAE4: .word 0x0000FFFF
thumb_func_end sub_0205FACC
thumb_func_start sub_0205FAE8
sub_0205FAE8: ; 0x0205FAE8
push {r4, lr}
add r4, r0, #0
bl sub_0205FACC
cmp r0, #1
beq _0205FAF8
bl GF_AssertFail
_0205FAF8:
add r0, r4, #0
bl sub_0205FA08
pop {r4, pc}
thumb_func_end sub_0205FAE8
thumb_func_start sub_0205FB00
sub_0205FB00: ; 0x0205FB00
push {r4, lr}
add r4, r0, #0
cmp r4, #0x39
blo _0205FB0C
bl GF_AssertFail
_0205FB0C:
ldr r0, _0205FB14 ; =0x020FD1F4
lsl r1, r4, #2
ldr r0, [r0, r1]
pop {r4, pc}
.balign 4, 0
_0205FB14: .word 0x020FD1F4
thumb_func_end sub_0205FB00
thumb_func_start sub_0205FB18
sub_0205FB18: ; 0x0205FB18
ldr r0, [r0, #4]
bx lr
thumb_func_end sub_0205FB18
thumb_func_start sub_0205FB1C
sub_0205FB1C: ; 0x0205FB1C
ldr r0, [r0, #8]
bx lr
thumb_func_end sub_0205FB1C
thumb_func_start sub_0205FB20
sub_0205FB20: ; 0x0205FB20
ldr r0, [r0, #0xc]
bx lr
thumb_func_end sub_0205FB20
thumb_func_start sub_0205FB24
sub_0205FB24: ; 0x0205FB24
ldr r0, [r0]
bx lr
thumb_func_end sub_0205FB24
thumb_func_start sub_0205FB28
sub_0205FB28: ; 0x0205FB28
ldr r0, [r0, #4]
bx lr
thumb_func_end sub_0205FB28
thumb_func_start sub_0205FB2C
sub_0205FB2C: ; 0x0205FB2C
ldr r0, [r0, #8]
bx lr
thumb_func_end sub_0205FB2C
thumb_func_start sub_0205FB30
sub_0205FB30: ; 0x0205FB30
ldr r0, [r0, #0xc]
bx lr
thumb_func_end sub_0205FB30
thumb_func_start sub_0205FB34
sub_0205FB34: ; 0x0205FB34
ldr r0, [r0, #0x10]
bx lr
thumb_func_end sub_0205FB34
thumb_func_start sub_0205FB38
sub_0205FB38: ; 0x0205FB38
push {r3, lr}
bl ov01_021F92DC
cmp r0, #0
bne _0205FB46
mov r0, #0
pop {r3, pc}
_0205FB46:
ldrh r0, [r0, #4]
lsl r0, r0, #0x16
lsr r0, r0, #0x1b
lsl r1, r0, #2
ldr r0, _0205FB54 ; =0x02209A38
ldr r0, [r0, r1]
pop {r3, pc}
.balign 4, 0
_0205FB54: .word 0x02209A38
thumb_func_end sub_0205FB38
thumb_func_start sub_0205FB58
sub_0205FB58: ; 0x0205FB58
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r5, r1, #0
add r6, r2, #0
str r3, [sp]
bl sub_0205F168
add r7, r0, #0
add r0, r4, #0
bl sub_0205F1BC
add r4, r0, #0
_0205FB70:
add r0, r4, #0
mov r1, #1
bl sub_0205F220
cmp r0, #0
beq _0205FBB2
ldr r0, [sp]
cmp r0, #0
beq _0205FB9A
add r0, r4, #0
bl sub_0205F8FC
cmp r5, r0
bne _0205FB9A
add r0, r4, #0
bl sub_0205F90C
cmp r6, r0
bne _0205FB9A
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_0205FB9A:
add r0, r4, #0
bl sub_0205F914
cmp r5, r0
bne _0205FBB2
add r0, r4, #0
bl sub_0205F934
cmp r6, r0
bne _0205FBB2
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_0205FBB2:
mov r0, #0x4b
lsl r0, r0, #2
add r4, r4, r0
sub r7, r7, #1
bne _0205FB70
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205FB58
thumb_func_start sub_0205FBC0
sub_0205FBC0: ; 0x0205FBC0
push {r4, r5, r6, lr}
add r4, r1, #0
ldr r1, [r4]
add r6, r2, #0
asr r2, r1, #4
asr r1, r2, #0xb
lsr r1, r1, #0x14
add r1, r2, r1
asr r1, r1, #0xc
add r5, r0, #0
bl sub_0205F918
ldr r1, [r4, #4]
add r0, r5, #0
asr r2, r1, #3
asr r1, r2, #0xb
lsr r1, r1, #0x14
add r1, r2, r1
asr r1, r1, #0xc
bl sub_0205F928
ldr r1, [r4, #8]
add r0, r5, #0
asr r2, r1, #4
asr r1, r2, #0xb
lsr r1, r1, #0x14
add r1, r2, r1
asr r1, r1, #0xc
bl sub_0205F938
add r0, r5, #0
add r1, r4, #0
bl sub_0205F954
add r0, r5, #0
bl sub_02060F78
add r0, r5, #0
add r1, r6, #0
bl sub_0205F288
add r0, r5, #0
bl sub_020621F0
add r0, r5, #0
mov r1, #4
bl sub_0205F20C
add r0, r5, #0
mov r1, #0xa
bl sub_0205F214
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205FBC0
thumb_func_start sub_0205FC2C
sub_0205FC2C: ; 0x0205FC2C
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r4, r2, #0
mov r2, #2
add r6, r3, #0
lsl r3, r1, #0x10
lsl r2, r2, #0xe
add r2, r3, r2
add r5, r0, #0
str r2, [sp]
bl sub_0205F918
lsl r0, r4, #0xf
str r0, [sp, #4]
add r0, r5, #0
add r1, r4, #0
bl sub_0205F928
mov r0, #2
lsl r1, r6, #0x10
lsl r0, r0, #0xe
add r0, r1, r0
str r0, [sp, #8]
add r0, r5, #0
add r1, r6, #0
bl sub_0205F938
add r0, r5, #0
add r1, sp, #0
bl sub_0205F954
add r0, r5, #0
bl sub_02060F78
ldr r1, [sp, #0x20]
add r0, r5, #0
bl sub_0205F288
add r0, r5, #0
mov r1, #4
bl sub_0205F20C
add r0, r5, #0
mov r1, #0xa
bl sub_0205F214
add r0, r5, #0
bl sub_020621F0
add sp, #0xc
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0205FC2C
thumb_func_start sub_0205FC94
sub_0205FC94: ; 0x0205FC94
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0205F444
add r0, r5, #0
add r1, r4, #0
bl sub_0205F260
add r0, r5, #0
bl sub_0205ECE0
add r0, r5, #0
bl sub_0205FD20
pop {r3, r4, r5, pc}
thumb_func_end sub_0205FC94
thumb_func_start sub_0205FCB4
sub_0205FCB4: ; 0x0205FCB4
bx lr
.balign 4, 0
thumb_func_end sub_0205FCB4
thumb_func_start sub_0205FCB8
sub_0205FCB8: ; 0x0205FCB8
bx lr
.balign 4, 0
thumb_func_end sub_0205FCB8
thumb_func_start sub_0205FCBC
sub_0205FCBC: ; 0x0205FCBC
bx lr
.balign 4, 0
thumb_func_end sub_0205FCBC
thumb_func_start sub_0205FCC0
sub_0205FCC0: ; 0x0205FCC0
bx lr
.balign 4, 0
thumb_func_end sub_0205FCC0
thumb_func_start sub_0205FCC4
sub_0205FCC4: ; 0x0205FCC4
bx lr
.balign 4, 0
thumb_func_end sub_0205FCC4
thumb_func_start sub_0205FCC8
sub_0205FCC8: ; 0x0205FCC8
bx lr
.balign 4, 0
thumb_func_end sub_0205FCC8
thumb_func_start sub_0205FCCC
sub_0205FCCC: ; 0x0205FCCC
bx lr
.balign 4, 0
thumb_func_end sub_0205FCCC
thumb_func_start sub_0205FCD0
sub_0205FCD0: ; 0x0205FCD0
bx lr
.balign 4, 0
thumb_func_end sub_0205FCD0
thumb_func_start sub_0205FCD4
sub_0205FCD4: ; 0x0205FCD4
push {r4, lr}
add r4, r0, #0
bl sub_0205F25C
mov r1, #2
lsl r1, r1, #0xc
cmp r0, r1
bne _0205FCE8
ldr r0, _0205FCFC ; =0x0220724C
b _0205FCEC
_0205FCE8:
bl sub_0205FB38
_0205FCEC:
bl sub_0205FB28
add r1, r0, #0
add r0, r4, #0
bl sub_0205F47C
pop {r4, pc}
nop
_0205FCFC: .word 0x0220724C
thumb_func_end sub_0205FCD4
thumb_func_start sub_0205FD00
sub_0205FD00: ; 0x0205FD00
push {r3, r4}
cmp r1, #0
beq _0205FD1A
mov r3, #1
_0205FD08:
ldr r4, [r0]
tst r4, r3
beq _0205FD14
ldrh r4, [r0, #0x12]
cmp r4, r2
beq _0205FD1C
_0205FD14:
add r0, #0x50
sub r1, r1, #1
bne _0205FD08
_0205FD1A:
mov r0, #0
_0205FD1C:
pop {r3, r4}
bx lr
thumb_func_end sub_0205FD00
thumb_func_start sub_0205FD20
sub_0205FD20: ; 0x0205FD20
push {r4, lr}
add r4, r0, #0
bl sub_0205F41C
add r0, r4, #0
bl sub_02063A14
pop {r4, pc}
thumb_func_end sub_0205FD20
thumb_func_start sub_0205FD30
sub_0205FD30: ; 0x0205FD30
push {r4, lr}
mov r1, #2
add r4, r0, #0
bl sub_0205F5E8
cmp r0, #0
bne _0205FD94
add r0, r4, #0
bl sub_0205FE0C
add r0, r4, #0
bl sub_0205FE24
add r0, r4, #0
bl sub_0205FE48
add r0, r4, #0
mov r1, #0x10
bl sub_0205F220
cmp r0, #0
beq _0205FD64
add r0, r4, #0
bl sub_02062400
b _0205FD88
_0205FD64:
add r0, r4, #0
bl sub_0205F714
cmp r0, #0
bne _0205FD88
add r0, r4, #0
bl sub_0205FD98
cmp r0, #1
bne _0205FD88
add r0, r4, #0
bl sub_02063A1C
cmp r0, #0
bne _0205FD88
add r0, r4, #0
bl sub_0205F430
_0205FD88:
add r0, r4, #0
bl sub_0205FE6C
add r0, r4, #0
bl sub_0205FEA4
_0205FD94:
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205FD30
thumb_func_start sub_0205FD98
sub_0205FD98: ; 0x0205FD98
push {r4, lr}
add r4, r0, #0
bl sub_0205F648
cmp r0, #1
bne _0205FDA8
mov r0, #1
pop {r4, pc}
_0205FDA8:
mov r1, #6
add r0, r4, #0
lsl r1, r1, #0xa
bl sub_0205F220
cmp r0, #0
bne _0205FDBA
mov r0, #1
pop {r4, pc}
_0205FDBA:
add r0, r4, #0
bl sub_0205F264
cmp r0, #0x32
bne _0205FDC8
mov r0, #1
pop {r4, pc}
_0205FDC8:
add r0, r4, #0
bl sub_0205F264
cmp r0, #0x30
bne _0205FDD6
mov r0, #1
pop {r4, pc}
_0205FDD6:
add r0, r4, #0
bl sub_0205F208
mov r1, #1
lsl r1, r1, #0xc
add r2, r0, #0
tst r2, r1
beq _0205FDF0
lsl r1, r1, #0xb
tst r1, r0
bne _0205FDF0
mov r0, #0
pop {r4, pc}
_0205FDF0:
mov r1, #2
lsl r1, r1, #0xa
tst r0, r1
beq _0205FE06
add r0, r4, #0
bl sub_0205F8D0
cmp r0, #0
bne _0205FE06
mov r0, #0
pop {r4, pc}
_0205FE06:
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205FD98
thumb_func_start sub_0205FE0C
sub_0205FE0C: ; 0x0205FE0C
push {r4, lr}
mov r1, #1
lsl r1, r1, #0xc
add r4, r0, #0
bl sub_0205F220
cmp r0, #0
beq _0205FE22
add r0, r4, #0
bl sub_02061070
_0205FE22:
pop {r4, pc}
thumb_func_end sub_0205FE0C
thumb_func_start sub_0205FE24
sub_0205FE24: ; 0x0205FE24
push {r4, lr}
mov r1, #2
lsl r1, r1, #0xa
add r4, r0, #0
bl sub_0205F220
cmp r0, #0
beq _0205FE44
add r0, r4, #0
bl sub_02061108
cmp r0, #1
bne _0205FE44
add r0, r4, #0
bl sub_0205F654
_0205FE44:
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0205FE24
thumb_func_start sub_0205FE48
sub_0205FE48: ; 0x0205FE48
push {r4, lr}
mov r1, #4
add r4, r0, #0
bl sub_0205F220
cmp r0, #0
beq _0205FE5C
add r0, r4, #0
bl sub_0205FEDC
_0205FE5C:
ldr r1, _0205FE68 ; =0x00010004
add r0, r4, #0
bl sub_0205F214
pop {r4, pc}
nop
_0205FE68: .word 0x00010004
thumb_func_end sub_0205FE48
thumb_func_start sub_0205FE6C
sub_0205FE6C: ; 0x0205FE6C
push {r4, lr}
mov r1, #1
lsl r1, r1, #0x10
add r4, r0, #0
bl sub_0205F220
cmp r0, #0
beq _0205FE84
add r0, r4, #0
bl sub_02060020
b _0205FE96
_0205FE84:
add r0, r4, #0
mov r1, #4
bl sub_0205F220
cmp r0, #0
beq _0205FE96
add r0, r4, #0
bl sub_0205FF6C
_0205FE96:
ldr r1, _0205FEA0 ; =0x00010004
add r0, r4, #0
bl sub_0205F214
pop {r4, pc}
.balign 4, 0
_0205FEA0: .word 0x00010004
thumb_func_end sub_0205FE6C
thumb_func_start sub_0205FEA4
sub_0205FEA4: ; 0x0205FEA4
push {r4, lr}
mov r1, #2
lsl r1, r1, #0x10
add r4, r0, #0
bl sub_0205F220
cmp r0, #0
beq _0205FEBC
add r0, r4, #0
bl sub_02060114
b _0205FECE
_0205FEBC:
add r0, r4, #0
mov r1, #8
bl sub_0205F220
cmp r0, #0
beq _0205FECE
add r0, r4, #0
bl sub_0206008C
_0205FECE:
ldr r1, _0205FED8 ; =0x00020008
add r0, r4, #0
bl sub_0205F214
pop {r4, pc}
.balign 4, 0
_0205FED8: .word 0x00020008
thumb_func_end sub_0205FEA4
thumb_func_start sub_0205FEDC
sub_0205FEDC: ; 0x0205FEDC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_02061108
add r0, r5, #0
bl sub_0205F73C
cmp r0, #1
bne _0205FF6A
add r0, r5, #0
bl sub_0205F504
lsl r0, r0, #0x18
lsr r6, r0, #0x18
add r0, r5, #0
bl sub_0205F514
lsl r0, r0, #0x18
lsr r4, r0, #0x18
add r0, r5, #0
bl ov01_021F9318
add r7, r0, #0
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_02060AB8
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_020601BC
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_0206039C
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_020603DC
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_020601A4
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_02060698
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_02060700
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_020607D8
_0205FF6A:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205FEDC
thumb_func_start sub_0205FF6C
sub_0205FF6C: ; 0x0205FF6C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_02061108
add r0, r5, #0
bl sub_0205F73C
cmp r0, #1
bne _0206001E
add r0, r5, #0
bl sub_0205F504
lsl r0, r0, #0x18
lsr r6, r0, #0x18
add r0, r5, #0
bl sub_0205F514
lsl r0, r0, #0x18
lsr r4, r0, #0x18
add r0, r5, #0
bl ov01_021F9318
add r7, r0, #0
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_02060AB8
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_02060274
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_02060328
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_0206039C
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_020603F8
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_020606CC
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_02060704
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_02060708
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_02060770
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_020607D8
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_02060AF0
_0206001E:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0205FF6C
thumb_func_start sub_02060020
sub_02060020: ; 0x02060020
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_02061108
add r0, r5, #0
bl sub_0205F73C
cmp r0, #1
bne _0206008A
add r0, r5, #0
bl sub_0205F504
lsl r0, r0, #0x18
lsr r6, r0, #0x18
add r0, r5, #0
bl sub_0205F514
lsl r0, r0, #0x18
lsr r4, r0, #0x18
add r0, r5, #0
bl ov01_021F9318
add r7, r0, #0
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_02060AB8
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_020603F8
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_020607D8
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_020603D0
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_02060AF0
_0206008A:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02060020
thumb_func_start sub_0206008C
sub_0206008C: ; 0x0206008C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0205F514
lsl r0, r0, #0x18
lsr r1, r0, #0x18
add r0, r5, #0
bl sub_0205F51C
add r0, r5, #0
bl sub_02061108
add r0, r5, #0
bl sub_0205F73C
cmp r0, #1
bne _02060112
add r0, r5, #0
bl sub_0205F504
lsl r0, r0, #0x18
lsr r6, r0, #0x18
add r0, r5, #0
bl sub_0205F514
lsl r0, r0, #0x18
lsr r4, r0, #0x18
add r0, r5, #0
bl ov01_021F9318
add r7, r0, #0
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_020601A4
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_0206073C
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_020607A4
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_0206039C
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_020609D4
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_02060530
_02060112:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0206008C
thumb_func_start sub_02060114
sub_02060114: ; 0x02060114
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_02061108
add r0, r5, #0
bl sub_0205F73C
cmp r0, #1
bne _020601A2
add r0, r5, #0
bl sub_0205F504
lsl r0, r0, #0x18
lsr r6, r0, #0x18
add r0, r5, #0
bl sub_0205F514
lsl r0, r0, #0x18
lsr r4, r0, #0x18
add r0, r5, #0
bl ov01_021F9318
add r7, r0, #0
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_020601A4
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_0206073C
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_020607A4
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_0206039C
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_020609D4
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_02060530
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_02060274
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl sub_0206064C
_020601A2:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02060114
thumb_func_start sub_020601A4
sub_020601A4: ; 0x020601A4
push {lr}
sub sp, #0xc
add r1, sp, #0
mov r2, #0
str r2, [r1]
str r2, [r1, #4]
str r2, [r1, #8]
bl sub_0205F9C0
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_020601A4
thumb_func_start sub_020601BC
sub_020601BC: ; 0x020601BC
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r6, r1, #0
add r5, r0, #0
bl sub_0205F24C
add r4, r0, #0
add r0, r6, #0
bl sub_0205B6E8
cmp r0, #1
bne _020601EE
cmp r4, #0xfd
bne _020601E6
mov r1, #2
add r0, r5, #0
lsl r1, r1, #8
bl sub_0205F228
cmp r0, #1
beq _02060270
_020601E6:
add r0, r5, #0
mov r1, #0
bl ov01_021FF070
_020601EE:
add r0, r5, #0
bl sub_0205F24C
cmp r0, #0xfd
bne _02060270
add r0, r5, #0
bl ov01_022055DC
cmp r0, #0
beq _02060270
add r0, r5, #0
bl sub_0205F2A8
lsl r0, r0, #0x18
lsr r4, r0, #0x18
add r0, r5, #0
bl sub_0205F52C
add r4, #0xfe
add r6, r0, #0
lsl r0, r4, #0x18
lsr r0, r0, #0x18
cmp r0, #1
bhi _02060270
add r0, r5, #0
add r1, sp, #8
add r2, sp, #4
bl ov01_02205604
ldr r1, [sp, #8]
ldr r2, [sp, #4]
add r0, r6, #0
bl sub_02054918
add r4, r0, #0
lsl r0, r4, #0x18
lsr r0, r0, #0x18
bl sub_0205B6E8
cmp r0, #1
bne _02060254
mov r0, #1
str r0, [sp]
ldr r2, [sp, #8]
ldr r3, [sp, #4]
add r0, r5, #0
mov r1, #0
bl ov01_021FF0E4
add sp, #0xc
pop {r3, r4, r5, r6, pc}
_02060254:
lsl r0, r4, #0x18
lsr r0, r0, #0x18
bl sub_0205B6F4
cmp r0, #1
bne _02060270
mov r0, #1
str r0, [sp]
ldr r2, [sp, #8]
ldr r3, [sp, #4]
add r0, r5, #0
mov r1, #0
bl ov01_021FF964
_02060270:
add sp, #0xc
pop {r3, r4, r5, r6, pc}
thumb_func_end sub_020601BC
thumb_func_start sub_02060274
sub_02060274: ; 0x02060274
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r6, r1, #0
add r5, r0, #0
bl sub_0205F24C
add r4, r0, #0
add r0, r6, #0
bl sub_0205B6E8
cmp r0, #1
bne _020602A6
cmp r4, #0xfd
bne _0206029E
mov r1, #2
add r0, r5, #0
lsl r1, r1, #8
bl sub_0205F228
cmp r0, #1
beq _02060324
_0206029E:
add r0, r5, #0
mov r1, #1
bl ov01_021FF070
_020602A6:
add r0, r5, #0
bl sub_0205F24C
cmp r0, #0xfd
bne _02060324
add r0, r5, #0
bl ov01_022055DC
cmp r0, #0
beq _02060324
add r0, r5, #0
bl sub_0205F2A8
lsl r0, r0, #0x18
lsr r4, r0, #0x18
add r0, r5, #0
bl sub_0205F52C
add r4, #0xfe
add r6, r0, #0
lsl r0, r4, #0x18
lsr r0, r0, #0x18
cmp r0, #1
bhi _02060324
add r0, r5, #0
add r1, sp, #8
add r2, sp, #4
bl ov01_02205604
ldr r1, [sp, #8]
ldr r2, [sp, #4]
add r0, r6, #0
bl sub_02054918
add r4, r0, #0
lsl r0, r4, #0x18
lsr r0, r0, #0x18
bl sub_0205B6E8
cmp r0, #1
bne _0206030A
mov r1, #1
str r1, [sp]
ldr r2, [sp, #8]
ldr r3, [sp, #4]
add r0, r5, #0
bl ov01_021FF0E4
add sp, #0xc
pop {r3, r4, r5, r6, pc}
_0206030A:
lsl r0, r4, #0x18
lsr r0, r0, #0x18
bl sub_0205B6F4
cmp r0, #1
bne _02060324
mov r1, #1
str r1, [sp]
ldr r2, [sp, #8]
ldr r3, [sp, #4]
add r0, r5, #0
bl ov01_021FF964
_02060324:
add sp, #0xc
pop {r3, r4, r5, r6, pc}
thumb_func_end sub_02060274
thumb_func_start sub_02060328
sub_02060328: ; 0x02060328
push {r4, r5, r6, lr}
add r4, r3, #0
add r5, r0, #0
ldrh r0, [r4]
add r6, r2, #0
lsl r0, r0, #0x15
lsr r0, r0, #0x1c
beq _0206039A
add r0, r6, #0
bl sub_0205BA94
cmp r0, #1
bne _0206035E
ldrh r0, [r4]
lsl r0, r0, #0x15
lsr r0, r0, #0x1c
cmp r0, #1
bne _02060354
add r0, r5, #0
bl ov01_021FE3E8
b _0206035E
_02060354:
cmp r0, #2
bne _0206035E
add r0, r5, #0
bl ov01_021FE3F4
_0206035E:
add r0, r5, #0
add r1, r6, #0
bl sub_02060EA4
cmp r0, #1
bne _02060388
ldrh r0, [r4]
lsl r0, r0, #0x15
lsr r0, r0, #0x1c
cmp r0, #1
bne _0206037C
add r0, r5, #0
bl ov01_021FE3C4
pop {r4, r5, r6, pc}
_0206037C:
cmp r0, #2
bne _0206039A
add r0, r5, #0
bl ov01_021FE3D0
pop {r4, r5, r6, pc}
_02060388:
add r0, r5, #0
add r1, r6, #0
bl sub_02060ED4
cmp r0, #1
bne _0206039A
add r0, r5, #0
bl ov01_021FE3DC
_0206039A:
pop {r4, r5, r6, pc}
thumb_func_end sub_02060328
thumb_func_start sub_0206039C
sub_0206039C: ; 0x0206039C
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
bl sub_0205B7A4
cmp r0, #1
bne _020603C6
add r0, r4, #0
bl sub_0205F808
cmp r0, #0
bne _020603CE
add r0, r4, #0
mov r1, #1
bl ov01_021FF4FC
add r0, r4, #0
mov r1, #1
bl sub_0205F7EC
pop {r4, pc}
_020603C6:
add r0, r4, #0
mov r1, #0
bl sub_0205F7EC
_020603CE:
pop {r4, pc}
thumb_func_end sub_0206039C
thumb_func_start sub_020603D0
sub_020603D0: ; 0x020603D0
ldr r3, _020603D8 ; =sub_0205F7EC
mov r1, #0
bx r3
nop
_020603D8: .word sub_0205F7EC
thumb_func_end sub_020603D0
thumb_func_start sub_020603DC
sub_020603DC: ; 0x020603DC
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
add r6, r3, #0
bl sub_0205F524
lsl r0, r0, #0x18
lsr r2, r0, #0x18
add r0, r5, #0
add r1, r4, #0
add r3, r6, #0
bl sub_020603F8
pop {r4, r5, r6, pc}
thumb_func_end sub_020603DC
thumb_func_start sub_020603F8
sub_020603F8: ; 0x020603F8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
add r7, r3, #0
bl sub_0205F35C
bl sub_0205F610
cmp r0, #0
beq _02060416
ldrh r0, [r7]
lsl r0, r0, #0x19
lsr r0, r0, #0x1d
bne _02060418
_02060416:
b _0206052E
_02060418:
cmp r0, #2
bne _020604B0
add r0, r4, #0
bl sub_0205B6E8
cmp r0, #1
beq _02060484
add r0, r4, #0
bl sub_0205B6F4
cmp r0, #1
beq _02060484
add r0, r6, #0
bl sub_0205B6E8
cmp r0, #1
beq _02060484
add r0, r6, #0
bl sub_0205B6F4
cmp r0, #1
beq _02060484
add r0, r5, #0
add r1, r4, #0
bl sub_02060E54
cmp r0, #1
beq _02060484
add r0, r4, #0
bl sub_0205B984
cmp r0, #1
beq _02060484
add r0, r4, #0
bl sub_0205B7A4
cmp r0, #1
beq _02060484
add r0, r5, #0
add r1, r4, #0
bl sub_02060EBC
cmp r0, #1
beq _02060484
add r0, r4, #0
bl sub_0205B8AC
cmp r0, #1
beq _02060484
add r0, r4, #0
bl sub_0205BA70
cmp r0, #0
beq _02060490
_02060484:
mov r1, #1
add r0, r5, #0
lsl r1, r1, #0x14
bl sub_0205F20C
pop {r3, r4, r5, r6, r7, pc}
_02060490:
mov r1, #2
add r0, r5, #0
lsl r1, r1, #0xe
bl sub_0205F220
cmp r0, #0
bne _0206052E
add r0, r5, #0
bl ov01_021FD684
mov r1, #2
add r0, r5, #0
lsl r1, r1, #0xe
bl sub_0205F20C
pop {r3, r4, r5, r6, r7, pc}
_020604B0:
add r0, r4, #0
bl sub_0205B6E8
cmp r0, #1
beq _02060504
add r0, r4, #0
bl sub_0205B6F4
cmp r0, #1
beq _02060504
add r0, r5, #0
add r1, r4, #0
bl sub_02060E54
cmp r0, #1
beq _02060504
add r0, r4, #0
bl sub_0205B984
cmp r0, #1
beq _02060504
add r0, r4, #0
bl sub_0205B7A4
cmp r0, #1
beq _02060504
add r0, r5, #0
add r1, r4, #0
bl sub_02060EBC
cmp r0, #1
beq _02060504
add r0, r4, #0
bl sub_0205B8AC
cmp r0, #1
beq _02060504
add r0, r4, #0
bl sub_0205BA70
cmp r0, #0
beq _02060510
_02060504:
mov r1, #1
add r0, r5, #0
lsl r1, r1, #0x14
bl sub_0205F20C
pop {r3, r4, r5, r6, r7, pc}
_02060510:
mov r1, #2
add r0, r5, #0
lsl r1, r1, #0xe
bl sub_0205F220
cmp r0, #0
bne _0206052E
add r0, r5, #0
bl ov01_021FD640
mov r1, #2
add r0, r5, #0
lsl r1, r1, #0xe
bl sub_0205F20C
_0206052E:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020603F8
thumb_func_start sub_02060530
sub_02060530: ; 0x02060530
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
add r6, r3, #0
bl sub_0205F35C
bl sub_0205F610
cmp r0, #0
bne _02060546
b _0206064A
_02060546:
ldrh r0, [r6]
lsl r0, r0, #0x19
lsr r0, r0, #0x1d
beq _0206064A
cmp r0, #2
bne _020605E0
add r0, r5, #0
bl sub_0205F524
lsl r0, r0, #0x10
lsr r6, r0, #0x10
add r0, r4, #0
bl sub_0205B6E8
cmp r0, #1
beq _020605C8
add r0, r4, #0
bl sub_0205B6F4
cmp r0, #1
beq _020605C8
lsl r0, r6, #0x18
lsr r0, r0, #0x18
bl sub_0205B6E8
cmp r0, #1
beq _020605C8
lsl r0, r6, #0x18
lsr r0, r0, #0x18
bl sub_0205B6F4
cmp r0, #1
beq _020605C8
add r0, r5, #0
add r1, r4, #0
bl sub_02060E54
cmp r0, #1
beq _020605C8
add r0, r4, #0
bl sub_0205B984
cmp r0, #1
beq _020605C8
add r0, r4, #0
bl sub_0205B7A4
cmp r0, #1
beq _020605C8
add r0, r5, #0
add r1, r4, #0
bl sub_02060EBC
cmp r0, #1
beq _020605C8
add r0, r4, #0
bl sub_0205B8AC
cmp r0, #1
beq _020605C8
add r0, r4, #0
bl sub_0205BA70
cmp r0, #0
beq _020605D4
_020605C8:
mov r1, #1
add r0, r5, #0
lsl r1, r1, #0x14
bl sub_0205F20C
pop {r4, r5, r6, pc}
_020605D4:
mov r1, #1
add r0, r5, #0
lsl r1, r1, #0x14
bl sub_0205F214
pop {r4, r5, r6, pc}
_020605E0:
add r0, r4, #0
bl sub_0205B6E8
cmp r0, #1
beq _02060634
add r0, r4, #0
bl sub_0205B6F4
cmp r0, #1
beq _02060634
add r0, r5, #0
add r1, r4, #0
bl sub_02060E54
cmp r0, #1
beq _02060634
add r0, r4, #0
bl sub_0205B984
cmp r0, #1
beq _02060634
add r0, r4, #0
bl sub_0205B7A4
cmp r0, #1
beq _02060634
add r0, r5, #0
add r1, r4, #0
bl sub_02060EBC
cmp r0, #1
beq _02060634
add r0, r4, #0
bl sub_0205B8AC
cmp r0, #1
beq _02060634
add r0, r4, #0
bl sub_0205BA70
cmp r0, #0
beq _02060640
_02060634:
mov r1, #1
add r0, r5, #0
lsl r1, r1, #0x14
bl sub_0205F20C
pop {r4, r5, r6, pc}
_02060640:
mov r1, #1
add r0, r5, #0
lsl r1, r1, #0x14
bl sub_0205F214
_0206064A:
pop {r4, r5, r6, pc}
thumb_func_end sub_02060530
thumb_func_start sub_0206064C
sub_0206064C: ; 0x0206064C
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_02060E54
cmp r0, #1
beq _02060694
add r0, r4, #0
bl sub_0205B7A4
cmp r0, #1
beq _02060694
add r0, r4, #0
bl sub_0205B828
cmp r0, #1
beq _02060694
add r0, r4, #0
bl sub_0205B8AC
cmp r0, #1
beq _02060694
add r0, r5, #0
add r1, r4, #0
bl sub_02060EBC
cmp r0, #1
beq _02060694
add r0, r5, #0
bl sub_0205F684
cmp r0, #0
bne _02060694
add r0, r5, #0
bl ov01_021FF74C
_02060694:
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0206064C
thumb_func_start sub_02060698
sub_02060698: ; 0x02060698
push {r4, r5, r6, lr}
add r6, r1, #0
add r5, r0, #0
bl sub_0205F24C
add r4, r0, #0
add r0, r6, #0
bl sub_0205B6F4
cmp r0, #1
bne _020606C8
cmp r4, #0xfd
bne _020606C0
mov r1, #2
add r0, r5, #0
lsl r1, r1, #8
bl sub_0205F228
cmp r0, #1
beq _020606C8
_020606C0:
add r0, r5, #0
mov r1, #0
bl ov01_021FF8F0
_020606C8:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02060698
thumb_func_start sub_020606CC
sub_020606CC: ; 0x020606CC
push {r4, r5, r6, lr}
add r6, r1, #0
add r5, r0, #0
bl sub_0205F24C
add r4, r0, #0
add r0, r6, #0
bl sub_0205B6F4
cmp r0, #1
bne _020606FC
cmp r4, #0xfd
bne _020606F4
mov r1, #2
add r0, r5, #0
lsl r1, r1, #8
bl sub_0205F228
cmp r0, #1
beq _020606FC
_020606F4:
add r0, r5, #0
mov r1, #1
bl ov01_021FF8F0
_020606FC:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020606CC
thumb_func_start sub_02060700
sub_02060700: ; 0x02060700
bx lr
.balign 4, 0
thumb_func_end sub_02060700
thumb_func_start sub_02060704
sub_02060704: ; 0x02060704
bx lr
.balign 4, 0
thumb_func_end sub_02060704
thumb_func_start sub_02060708
sub_02060708: ; 0x02060708
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, r2, #0
bl sub_0205B984
cmp r0, #1
bne _02060738
add r0, r5, #0
bl sub_0205F8FC
add r4, r0, #0
add r0, r5, #0
bl sub_0205F904
add r6, r0, #0
add r0, r5, #0
bl sub_0205F90C
add r3, r0, #0
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl ov01_021FECA0
_02060738:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02060708
thumb_func_start sub_0206073C
sub_0206073C: ; 0x0206073C
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, r1, #0
bl sub_0205B984
cmp r0, #1
bne _0206076C
add r0, r5, #0
bl sub_0205F914
add r4, r0, #0
add r0, r5, #0
bl sub_0205F924
add r6, r0, #0
add r0, r5, #0
bl sub_0205F934
add r3, r0, #0
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl ov01_021FECA0
_0206076C:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0206073C
thumb_func_start sub_02060770
sub_02060770: ; 0x02060770
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, r2, #0
bl sub_0205B8AC
cmp r0, #1
bne _020607A0
add r0, r5, #0
bl sub_0205F8FC
add r4, r0, #0
add r0, r5, #0
bl sub_0205F904
add r6, r0, #0
add r0, r5, #0
bl sub_0205F90C
add r3, r0, #0
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl ov01_021FEE04
_020607A0:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02060770
thumb_func_start sub_020607A4
sub_020607A4: ; 0x020607A4
push {r4, r5, r6, lr}
add r5, r0, #0
add r0, r1, #0
bl sub_0205B8AC
cmp r0, #1
bne _020607D4
add r0, r5, #0
bl sub_0205F914
add r4, r0, #0
add r0, r5, #0
bl sub_0205F924
add r6, r0, #0
add r0, r5, #0
bl sub_0205F934
add r3, r0, #0
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl ov01_021FEE04
_020607D4:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020607A4
thumb_func_start sub_020607D8
sub_020607D8: ; 0x020607D8
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r6, r1, #0
ldrh r1, [r3]
add r5, r0, #0
lsl r1, r1, #0x13
lsr r1, r1, #0x1e
beq _020607F0
bl sub_0205F870
cmp r0, #1
bne _020607F2
_020607F0:
b _020609CE
_020607F2:
bl sub_0205BA6C
add r4, r0, #0
add r0, r5, #0
bl sub_0205F24C
cmp r0, #0xfd
beq _02060804
b _0206096A
_02060804:
add r0, r5, #0
bl ov01_022055DC
cmp r0, #0
beq _02060902
add r0, r5, #0
bl sub_0205F870
cmp r0, #0
beq _0206081A
b _020609CE
_0206081A:
add r0, r6, #0
bl sub_0205B9B8
cmp r0, #1
bne _02060828
add r4, r6, #0
b _020608CA
_02060828:
add r0, r5, #0
mov r1, #1
bl sub_02060FA8
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0xc]
add r0, r5, #0
mov r1, #3
bl sub_02060FA8
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
add r0, r5, #0
mov r1, #2
bl sub_02060FA8
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
add r0, r5, #0
mov r1, #4
bl ov01_022056C4
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
add r0, r5, #0
mov r1, #5
bl ov01_022056C4
lsl r0, r0, #0x18
lsr r7, r0, #0x18
ldr r0, [sp, #0xc]
mov r6, #0
bl sub_0205B9B8
cmp r0, #1
bne _02060880
ldr r0, [sp, #0xc]
mov r6, #1
str r0, [sp, #0x10]
b _020608C4
_02060880:
ldr r0, [sp, #8]
bl sub_0205B9B8
cmp r0, #1
bne _02060892
ldr r0, [sp, #8]
mov r6, #1
str r0, [sp, #0x10]
b _020608C4
_02060892:
ldr r0, [sp, #4]
bl sub_0205B9B8
cmp r0, #1
bne _020608A4
ldr r0, [sp, #4]
mov r6, #1
str r0, [sp, #0x10]
b _020608C4
_020608A4:
ldr r0, [sp]
bl sub_0205B9B8
cmp r0, #1
bne _020608B6
ldr r0, [sp]
mov r6, #1
str r0, [sp, #0x10]
b _020608C4
_020608B6:
add r0, r7, #0
bl sub_0205B9B8
cmp r0, #1
bne _020608C4
str r7, [sp, #0x10]
mov r6, #1
_020608C4:
cmp r6, #1
bne _020608CA
ldr r4, [sp, #0x10]
_020608CA:
bl sub_0205BA6C
cmp r4, r0
beq _020609CE
add r0, r5, #0
mov r1, #1
bl sub_0205F854
add r0, r4, #0
bl sub_0205BA70
cmp r0, #1
bne _020608E8
mov r1, #5
b _020608F8
_020608E8:
add r0, r4, #0
bl sub_0205B984
cmp r0, #1
bne _020608F6
mov r1, #3
b _020608F8
_020608F6:
mov r1, #4
_020608F8:
add r0, r5, #0
bl ov01_021FDF88
add sp, #0x14
pop {r4, r5, r6, r7, pc}
_02060902:
add r0, r5, #0
bl sub_0205F870
cmp r0, #0
bne _020609CE
add r0, r6, #0
bl sub_0205B9B8
cmp r0, #1
bne _0206091A
add r4, r6, #0
b _02060932
_0206091A:
add r0, r5, #0
mov r1, #1
bl sub_02060FA8
lsl r0, r0, #0x18
lsr r6, r0, #0x18
add r0, r6, #0
bl sub_0205B9B8
cmp r0, #1
bne _02060932
add r4, r6, #0
_02060932:
bl sub_0205BA6C
cmp r4, r0
beq _020609CE
add r0, r5, #0
mov r1, #1
bl sub_0205F854
add r0, r4, #0
bl sub_0205BA70
cmp r0, #1
bne _02060950
mov r1, #2
b _02060960
_02060950:
add r0, r4, #0
bl sub_0205B984
cmp r0, #1
bne _0206095E
mov r1, #0
b _02060960
_0206095E:
mov r1, #1
_02060960:
add r0, r5, #0
bl ov01_021FDF88
add sp, #0x14
pop {r4, r5, r6, r7, pc}
_0206096A:
add r0, r5, #0
bl sub_0205F870
cmp r0, #0
bne _020609CE
add r0, r6, #0
bl sub_0205B9B8
cmp r0, #1
bne _02060982
add r4, r6, #0
b _0206099A
_02060982:
add r0, r5, #0
mov r1, #1
bl sub_02060FA8
lsl r0, r0, #0x18
lsr r6, r0, #0x18
add r0, r6, #0
bl sub_0205B9B8
cmp r0, #1
bne _0206099A
add r4, r6, #0
_0206099A:
bl sub_0205BA6C
cmp r4, r0
beq _020609CE
add r0, r5, #0
mov r1, #1
bl sub_0205F854
add r0, r4, #0
bl sub_0205BA70
cmp r0, #1
bne _020609B8
mov r1, #2
b _020609C8
_020609B8:
add r0, r4, #0
bl sub_0205B984
cmp r0, #1
bne _020609C6
mov r1, #0
b _020609C8
_020609C6:
mov r1, #1
_020609C8:
add r0, r5, #0
bl ov01_021FDA74
_020609CE:
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020607D8
thumb_func_start sub_020609D4
sub_020609D4: ; 0x020609D4
push {r4, r5, r6, r7, lr}
sub sp, #0xc
ldrh r1, [r3]
add r5, r0, #0
lsl r1, r1, #0x13
lsr r1, r1, #0x1e
beq _02060AB2
bl sub_0205F870
cmp r0, #0
beq _02060AB2
add r0, r5, #0
bl sub_0205F24C
cmp r0, #0xfd
bne _02060A96
add r0, r5, #0
bl ov01_022055DC
cmp r0, #0
beq _02060A96
add r0, r5, #0
mov r1, #1
bl sub_02060FA8
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
add r0, r5, #0
mov r1, #3
bl sub_02060FA8
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
add r0, r5, #0
mov r1, #2
bl sub_02060FA8
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
add r0, r5, #0
mov r1, #4
bl ov01_022056C4
lsl r0, r0, #0x18
lsr r7, r0, #0x18
add r0, r5, #0
mov r1, #5
bl ov01_022056C4
lsl r0, r0, #0x18
lsr r6, r0, #0x18
ldr r0, [sp, #8]
mov r4, #0
bl sub_0205B9B8
cmp r0, #1
bne _02060A50
mov r4, #1
b _02060A86
_02060A50:
ldr r0, [sp, #4]
bl sub_0205B9B8
cmp r0, #1
bne _02060A5E
mov r4, #1
b _02060A86
_02060A5E:
ldr r0, [sp]
bl sub_0205B9B8
cmp r0, #1
bne _02060A6C
mov r4, #1
b _02060A86
_02060A6C:
add r0, r7, #0
bl sub_0205B9B8
cmp r0, #1
bne _02060A7A
mov r4, #1
b _02060A86
_02060A7A:
add r0, r6, #0
bl sub_0205B9B8
cmp r0, #1
bne _02060A86
mov r4, #1
_02060A86:
cmp r4, #0
bne _02060AB2
add r0, r5, #0
mov r1, #0
bl sub_0205F854
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_02060A96:
add r0, r5, #0
mov r1, #1
bl sub_02060FA8
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0205B9B8
cmp r0, #0
bne _02060AB2
add r0, r5, #0
mov r1, #0
bl sub_0205F854
_02060AB2:
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020609D4
thumb_func_start sub_02060AB8
sub_02060AB8: ; 0x02060AB8
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
bl sub_0205BA24
cmp r0, #1
bne _02060AD2
add r0, r5, #0
mov r1, #1
bl sub_0205F820
pop {r3, r4, r5, pc}
_02060AD2:
add r0, r5, #0
bl sub_0205F83C
cmp r0, #1
bne _02060AEE
add r0, r4, #0
bl sub_0205BA30
cmp r0, #0
bne _02060AEE
add r0, r5, #0
mov r1, #0
bl sub_0205F820
_02060AEE:
pop {r3, r4, r5, pc}
thumb_func_end sub_02060AB8
thumb_func_start sub_02060AF0
sub_02060AF0: ; 0x02060AF0
bx lr
.balign 4, 0
thumb_func_end sub_02060AF0
thumb_func_start sub_02060AF4
sub_02060AF4: ; 0x02060AF4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
ldr r7, [sp, #0x28]
add r5, r2, #0
str r1, [sp, #4]
str r3, [sp, #8]
add r2, r3, #0
add r1, r5, #0
add r3, r7, #0
add r6, r0, #0
mov r4, #0
bl sub_02060D94
cmp r0, #1
bne _02060B16
mov r0, #1
orr r4, r0
_02060B16:
add r0, r6, #0
bl sub_0205F52C
add r1, sp, #0xc
str r1, [sp]
ldr r1, [sp, #4]
add r2, r5, #0
add r3, r7, #0
bl sub_020549A8
cmp r0, #1
bne _02060B40
mov r0, #2
orr r4, r0
add r1, sp, #0xc
mov r0, #0
ldrsb r0, [r1, r0]
cmp r0, #0
beq _02060B40
mov r0, #8
orr r4, r0
_02060B40:
ldr r3, [sp, #0x2c]
add r0, r6, #0
add r1, r5, #0
add r2, r7, #0
bl sub_02060DEC
cmp r0, #1
bne _02060B54
mov r0, #2
orr r4, r0
_02060B54:
bl sub_0203993C
bl sub_0203401C
cmp r0, #0
beq _02060B76
ldr r2, [sp, #8]
add r0, r6, #0
add r1, r5, #0
add r3, r7, #0
bl sub_02060BFC
cmp r0, #1
bne _02060B8A
mov r0, #4
orr r4, r0
b _02060B8A
_02060B76:
ldr r2, [sp, #8]
add r0, r6, #0
add r1, r5, #0
add r3, r7, #0
bl sub_02060CA8
cmp r0, #1
bne _02060B8A
mov r0, #4
orr r4, r0
_02060B8A:
add r0, r4, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02060AF4
thumb_func_start sub_02060B90
sub_02060B90: ; 0x02060B90
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r6, r1, #0
add r1, sp, #8
add r5, r0, #0
add r7, r2, #0
add r4, r3, #0
bl sub_0205F944
ldr r0, [sp, #0x28]
str r4, [sp]
str r0, [sp, #4]
add r0, r5, #0
add r1, sp, #8
add r2, r6, #0
add r3, r7, #0
bl sub_02060AF4
add sp, #0x14
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_02060B90
thumb_func_start sub_02060BB8
sub_02060BB8: ; 0x02060BB8
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r1, #0
add r5, r0, #0
bl sub_0205F914
add r6, r0, #0
add r0, r4, #0
bl sub_02060F0C
add r7, r0, #0
add r0, r5, #0
bl sub_0205F924
str r0, [sp, #4]
add r0, r5, #0
bl sub_0205F934
str r0, [sp, #8]
add r0, r4, #0
bl sub_02060F18
str r4, [sp]
add r3, r0, #0
ldr r4, [sp, #8]
ldr r2, [sp, #4]
add r0, r5, #0
add r1, r6, r7
add r3, r4, r3
bl sub_02060B90
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02060BB8
thumb_func_start sub_02060BFC
sub_02060BFC: ; 0x02060BFC
push {r4, r5, r6, r7, lr}
sub sp, #0xc
str r0, [sp]
add r4, r1, #0
add r6, r2, #0
add r7, r3, #0
bl sub_0205F35C
add r5, r0, #0
bl sub_0205F1AC
str r0, [sp, #8]
add r0, r5, #0
bl sub_0205F168
str r0, [sp, #4]
_02060C1C:
ldr r0, [sp, #8]
ldr r1, [sp]
cmp r0, r1
beq _02060C94
mov r1, #1
bl sub_0205F220
cmp r0, #0
beq _02060C94
mov r1, #1
ldr r0, [sp, #8]
lsl r1, r1, #0x12
bl sub_0205F220
cmp r0, #0
bne _02060C94
ldr r0, [sp, #8]
bl sub_0205F914
add r5, r0, #0
ldr r0, [sp, #8]
bl sub_0205F934
cmp r5, r4
bne _02060C68
cmp r0, r7
bne _02060C68
ldr r0, [sp, #8]
bl sub_0205F924
sub r0, r0, r6
bpl _02060C5E
neg r0, r0
_02060C5E:
cmp r0, #2
bge _02060C68
add sp, #0xc
mov r0, #1
pop {r4, r5, r6, r7, pc}
_02060C68:
ldr r0, [sp, #8]
bl sub_0205F8FC
add r5, r0, #0
ldr r0, [sp, #8]
bl sub_0205F90C
cmp r5, r4
bne _02060C94
cmp r0, r7
bne _02060C94
ldr r0, [sp, #8]
bl sub_0205F924
sub r0, r0, r6
bpl _02060C8A
neg r0, r0
_02060C8A:
cmp r0, #2
bge _02060C94
add sp, #0xc
mov r0, #1
pop {r4, r5, r6, r7, pc}
_02060C94:
add r0, sp, #8
bl sub_0205F1C4
ldr r0, [sp, #4]
sub r0, r0, #1
str r0, [sp, #4]
bne _02060C1C
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_02060BFC
thumb_func_start sub_02060CA8
sub_02060CA8: ; 0x02060CA8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
str r0, [sp]
add r5, r1, #0
add r4, r2, #0
add r6, r3, #0
bl sub_0205F35C
add r7, r0, #0
bl sub_0205F1AC
str r0, [sp, #4]
add r0, r7, #0
bl sub_0205F168
add r7, r0, #0
_02060CC8:
ldr r0, [sp, #4]
ldr r1, [sp]
cmp r0, r1
beq _02060D84
mov r1, #1
bl sub_0205F220
cmp r0, #0
beq _02060D84
ldr r0, [sp, #4]
bl sub_0205F914
str r0, [sp, #0xc]
ldr r0, [sp, #4]
bl sub_0205F934
ldr r1, [sp, #0xc]
str r0, [sp, #8]
cmp r1, r5
bne _02060D0A
cmp r0, r6
bne _02060D0A
ldr r0, [sp, #4]
bl sub_0205F924
sub r0, r0, r4
bpl _02060D00
neg r0, r0
_02060D00:
cmp r0, #2
bge _02060D0A
add sp, #0x10
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02060D0A:
ldr r0, [sp, #4]
bl sub_0205F8FC
str r0, [sp, #0xc]
ldr r0, [sp, #4]
bl sub_0205F90C
ldr r1, [sp, #0xc]
str r0, [sp, #8]
cmp r1, r5
bne _02060D3A
cmp r0, r6
bne _02060D3A
ldr r0, [sp, #4]
bl sub_0205F924
sub r0, r0, r4
bpl _02060D30
neg r0, r0
_02060D30:
cmp r0, #2
bge _02060D3A
add sp, #0x10
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02060D3A:
ldr r0, [sp, #4]
bl sub_0205F24C
cmp r0, #0xfd
bne _02060D84
ldr r0, [sp, #4]
bl ov01_022055DC
cmp r0, #0
beq _02060D84
ldr r0, [sp, #4]
bl sub_0205F684
cmp r0, #0
bne _02060D84
ldr r0, [sp, #4]
add r1, sp, #0xc
add r2, sp, #8
bl ov01_02205664
ldr r0, [sp, #0xc]
cmp r0, r5
bne _02060D84
ldr r0, [sp, #8]
cmp r0, r6
bne _02060D84
ldr r0, [sp, #4]
bl sub_0205F924
sub r0, r0, r4
bpl _02060D7A
neg r0, r0
_02060D7A:
cmp r0, #2
bge _02060D84
add sp, #0x10
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02060D84:
add r0, sp, #4
bl sub_0205F1C4
sub r7, r7, #1
bne _02060CC8
mov r0, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02060CA8
thumb_func_start sub_02060D94
sub_02060D94: ; 0x02060D94
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
add r5, r1, #0
add r4, r3, #0
bl sub_0205F8E4
add r7, r0, #0
add r0, r6, #0
bl sub_0205F31C
mov r1, #0
mvn r1, r1
cmp r0, r1
beq _02060DC0
add r1, r7, r0
sub r0, r7, r0
cmp r0, r5
bgt _02060DBC
cmp r1, r5
bge _02060DC0
_02060DBC:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02060DC0:
add r0, r6, #0
bl sub_0205F8F4
add r5, r0, #0
add r0, r6, #0
bl sub_0205F324
mov r1, #0
mvn r1, r1
cmp r0, r1
beq _02060DE6
add r1, r5, r0
sub r0, r5, r0
cmp r0, r4
bgt _02060DE2
cmp r1, r4
bge _02060DE6
_02060DE2:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02060DE6:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02060D94
thumb_func_start sub_02060DEC
sub_02060DEC: ; 0x02060DEC
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r6, r1, #0
add r7, r2, #0
add r5, r3, #0
bl sub_0205F8D0
cmp r0, #0
bne _02060E46
add r0, r4, #0
bl sub_0205F52C
str r0, [sp]
add r0, r4, #0
bl sub_0205F504
lsl r0, r0, #0x18
lsr r4, r0, #0x18
ldr r0, [sp]
add r1, r6, #0
add r2, r7, #0
bl sub_02054918
add r6, r0, #0
bl sub_0205BA6C
cmp r6, r0
bne _02060E28
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02060E28:
ldr r1, _02060E4C ; =0x020FD4CC
lsl r5, r5, #2
ldr r1, [r1, r5]
add r0, r4, #0
blx r1
cmp r0, #1
beq _02060E42
ldr r1, _02060E50 ; =0x020FD4BC
add r0, r6, #0
ldr r1, [r1, r5]
blx r1
cmp r0, #1
bne _02060E46
_02060E42:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02060E46:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_02060E4C: .word 0x020FD4CC
_02060E50: .word 0x020FD4BC
thumb_func_end sub_02060DEC
thumb_func_start sub_02060E54
sub_02060E54: ; 0x02060E54
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
lsl r0, r4, #0x18
lsr r0, r0, #0x18
bl sub_0205BA54
cmp r0, #0
beq _02060E74
add r0, r5, #0
bl sub_0205F83C
cmp r0, #0
bne _02060EA0
mov r0, #1
pop {r3, r4, r5, pc}
_02060E74:
lsl r0, r4, #0x18
lsr r0, r0, #0x18
bl sub_0205B778
cmp r0, #0
beq _02060E84
mov r0, #1
pop {r3, r4, r5, pc}
_02060E84:
lsl r0, r4, #0x18
lsr r0, r0, #0x18
bl sub_0205B78C
cmp r0, #0
beq _02060EA0
add r0, r5, #0
bl sub_0205F25C
sub r0, #0xb2
cmp r0, #1
bhi _02060EA0
mov r0, #1
pop {r3, r4, r5, pc}
_02060EA0:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02060E54
thumb_func_start sub_02060EA4
sub_02060EA4: ; 0x02060EA4
push {r3, lr}
lsl r0, r1, #0x18
lsr r0, r0, #0x18
bl sub_0205B798
cmp r0, #0
beq _02060EB6
mov r0, #1
pop {r3, pc}
_02060EB6:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02060EA4
thumb_func_start sub_02060EBC
sub_02060EBC: ; 0x02060EBC
push {r3, lr}
lsl r0, r1, #0x18
lsr r0, r0, #0x18
bl sub_0205B8B8
cmp r0, #0
beq _02060ECE
mov r0, #1
pop {r3, pc}
_02060ECE:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02060EBC
thumb_func_start sub_02060ED4
sub_02060ED4: ; 0x02060ED4
push {r3, lr}
lsl r0, r1, #0x18
lsr r0, r0, #0x18
bl sub_0205B8C4
cmp r0, #0
beq _02060EE6
mov r0, #1
pop {r3, pc}
_02060EE6:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02060ED4
thumb_func_start sub_02060EEC
sub_02060EEC: ; 0x02060EEC
push {r4, lr}
add r4, r1, #0
bl sub_0205F83C
cmp r0, #1
bne _02060F08
lsl r0, r4, #0x18
lsr r0, r0, #0x18
bl sub_0205BA30
cmp r0, #1
bne _02060F08
mov r0, #1
pop {r4, pc}
_02060F08:
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02060EEC
thumb_func_start sub_02060F0C
sub_02060F0C: ; 0x02060F0C
lsl r1, r0, #2
ldr r0, _02060F14 ; =0x020FD4AC
ldr r0, [r0, r1]
bx lr
.balign 4, 0
_02060F14: .word 0x020FD4AC
thumb_func_end sub_02060F0C
thumb_func_start sub_02060F18
sub_02060F18: ; 0x02060F18
lsl r1, r0, #2
ldr r0, _02060F20 ; =0x020FD49C
ldr r0, [r0, r1]
bx lr
.balign 4, 0
_02060F20: .word 0x020FD49C
thumb_func_end sub_02060F18
thumb_func_start sub_02060F24
sub_02060F24: ; 0x02060F24
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0205F914
add r1, r0, #0
add r0, r5, #0
bl sub_0205F900
add r0, r5, #0
bl sub_0205F924
add r1, r0, #0
add r0, r5, #0
bl sub_0205F908
add r0, r5, #0
bl sub_0205F934
add r1, r0, #0
add r0, r5, #0
bl sub_0205F910
add r0, r4, #0
bl sub_02060F0C
add r1, r0, #0
add r0, r5, #0
bl sub_0205F91C
add r0, r5, #0
mov r1, #0
bl sub_0205F92C
add r0, r4, #0
bl sub_02060F18
add r1, r0, #0
add r0, r5, #0
bl sub_0205F93C
pop {r3, r4, r5, pc}
thumb_func_end sub_02060F24
thumb_func_start sub_02060F78
sub_02060F78: ; 0x02060F78
push {r4, lr}
add r4, r0, #0
bl sub_0205F914
add r1, r0, #0
add r0, r4, #0
bl sub_0205F900
add r0, r4, #0
bl sub_0205F924
add r1, r0, #0
add r0, r4, #0
bl sub_0205F908
add r0, r4, #0
bl sub_0205F934
add r1, r0, #0
add r0, r4, #0
bl sub_0205F910
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02060F78
thumb_func_start sub_02060FA8
sub_02060FA8: ; 0x02060FA8
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r4, r0, #0
bl sub_0205F914
add r6, r0, #0
add r0, r5, #0
bl sub_02060F0C
add r7, r0, #0
add r0, r4, #0
bl sub_0205F934
str r0, [sp]
add r0, r5, #0
bl sub_02060F18
add r5, r0, #0
add r0, r4, #0
bl sub_0205F52C
ldr r2, [sp]
add r1, r6, r7
add r2, r2, r5
bl sub_02054918
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02060FA8
thumb_func_start sub_02060FE0
sub_02060FE0: ; 0x02060FE0
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r4, r0, #0
bl sub_0205F914
add r6, r0, #0
add r0, r5, #0
bl sub_02060F0C
add r7, r0, #0
add r0, r4, #0
bl sub_0205F934
str r0, [sp]
add r0, r5, #0
bl sub_02060F18
add r5, r0, #0
add r0, r4, #0
bl sub_0205F52C
ldr r2, [sp]
add r1, r6, r7
add r2, r2, r5
bl sub_020548EC
lsl r0, r0, #0x18
lsr r0, r0, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02060FE0
thumb_func_start sub_0206101C
sub_0206101C: ; 0x0206101C
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r1, #0
add r1, sp, #0
add r6, r0, #0
add r4, r2, #0
bl sub_0205F944
cmp r5, #3
bhi _02061062
add r0, r5, r5
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0206103C: ; jump table
.short _02061044 - _0206103C - 2 ; case 0
.short _0206104C - _0206103C - 2 ; case 1
.short _02061054 - _0206103C - 2 ; case 2
.short _0206105C - _0206103C - 2 ; case 3
_02061044:
ldr r0, [sp, #8]
sub r0, r0, r4
str r0, [sp, #8]
b _02061062
_0206104C:
ldr r0, [sp, #8]
add r0, r0, r4
str r0, [sp, #8]
b _02061062
_02061054:
ldr r0, [sp]
sub r0, r0, r4
str r0, [sp]
b _02061062
_0206105C:
ldr r0, [sp]
add r0, r0, r4
str r0, [sp]
_02061062:
add r0, r6, #0
add r1, sp, #0
bl sub_0205F954
add sp, #0xc
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0206101C
thumb_func_start sub_02061070
sub_02061070: ; 0x02061070
push {r3, r4, r5, lr}
sub sp, #0x18
add r1, sp, #0xc
add r5, r0, #0
bl sub_0205F944
add r3, sp, #0xc
ldmia r3!, {r0, r1}
add r2, sp, #0
stmia r2!, {r0, r1}
ldr r0, [r3]
str r0, [r2]
add r0, r5, #0
bl sub_0205F784
cmp r0, #1
bne _020610A2
mov r1, #1
add r0, r5, #0
lsl r1, r1, #0xc
bl sub_0205F214
add sp, #0x18
mov r0, #0
pop {r3, r4, r5, pc}
_020610A2:
add r0, r5, #0
bl sub_0205F8B8
add r4, r0, #0
add r0, r5, #0
bl sub_0205F52C
add r1, sp, #0
add r2, r4, #0
bl sub_02061248
add r4, r0, #0
cmp r4, #1
bne _020610F6
ldr r0, [sp, #4]
add r1, sp, #0xc
str r0, [sp, #0x10]
add r0, r5, #0
bl sub_0205F954
add r0, r5, #0
bl sub_0205F924
add r1, r0, #0
add r0, r5, #0
bl sub_0205F908
ldr r1, [sp, #0x10]
add r0, r5, #0
asr r2, r1, #3
asr r1, r2, #0xb
lsr r1, r1, #0x14
add r1, r2, r1
asr r1, r1, #0xc
bl sub_0205F928
mov r1, #1
add r0, r5, #0
lsl r1, r1, #0xc
bl sub_0205F214
b _02061100
_020610F6:
mov r1, #1
add r0, r5, #0
lsl r1, r1, #0xc
bl sub_0205F20C
_02061100:
add r0, r4, #0
add sp, #0x18
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02061070
thumb_func_start sub_02061108
sub_02061108: ; 0x02061108
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0205BA6C
add r6, r0, #0
add r0, r5, #0
add r4, r6, #0
bl sub_0205F8D0
cmp r0, #0
bne _0206115A
add r0, r5, #0
bl sub_0205F8FC
add r4, r0, #0
add r0, r5, #0
bl sub_0205F90C
add r6, r0, #0
add r0, r5, #0
bl sub_0205F52C
add r1, r4, #0
add r2, r6, #0
add r7, r0, #0
bl sub_02054918
add r6, r0, #0
add r0, r5, #0
bl sub_0205F914
add r4, r0, #0
add r0, r5, #0
bl sub_0205F934
add r2, r0, #0
add r0, r7, #0
add r1, r4, #0
bl sub_02054918
add r4, r0, #0
_0206115A:
add r0, r5, #0
add r1, r6, #0
bl sub_0205F50C
add r0, r5, #0
add r1, r4, #0
bl sub_0205F4FC
add r0, r4, #0
bl sub_0205BA60
cmp r0, #1
bne _02061182
mov r1, #2
add r0, r5, #0
lsl r1, r1, #0xa
bl sub_0205F20C
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02061182:
mov r1, #2
add r0, r5, #0
lsl r1, r1, #0xa
bl sub_0205F214
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02061108
thumb_func_start sub_02061190
sub_02061190: ; 0x02061190
cmp r0, #3
bhi _020611C6
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_020611A0: ; jump table
.short _020611A8 - _020611A0 - 2 ; case 0
.short _020611B0 - _020611A0 - 2 ; case 1
.short _020611B8 - _020611A0 - 2 ; case 2
.short _020611C0 - _020611A0 - 2 ; case 3
_020611A8:
ldr r0, [r1, #8]
sub r0, r0, r2
str r0, [r1, #8]
bx lr
_020611B0:
ldr r0, [r1, #8]
add r0, r0, r2
str r0, [r1, #8]
bx lr
_020611B8:
ldr r0, [r1]
sub r0, r0, r2
str r0, [r1]
bx lr
_020611C0:
ldr r0, [r1]
add r0, r0, r2
str r0, [r1]
_020611C6:
bx lr
thumb_func_end sub_02061190
thumb_func_start sub_020611C8
sub_020611C8: ; 0x020611C8
lsl r3, r0, #0x10
mov r0, #2
lsl r0, r0, #0xe
add r3, r3, r0
lsl r1, r1, #0x10
str r3, [r2]
add r0, r1, r0
str r0, [r2, #8]
bx lr
.balign 4, 0
thumb_func_end sub_020611C8
thumb_func_start sub_020611DC
sub_020611DC: ; 0x020611DC
push {r4, lr}
add r4, r0, #0
bl sub_0205F264
sub r0, #0x33
cmp r0, #3
bhi _020611F0
add r0, r4, #0
bl sub_0205F430
_020611F0:
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020611DC
thumb_func_start sub_020611F4
sub_020611F4: ; 0x020611F4
lsl r1, r0, #2
ldr r0, _020611FC ; =0x020FD4DC
ldr r0, [r0, r1]
bx lr
.balign 4, 0
_020611FC: .word 0x020FD4DC
thumb_func_end sub_020611F4
thumb_func_start sub_02061200
sub_02061200: ; 0x02061200
cmp r0, r2
ble _02061208
mov r0, #2
bx lr
_02061208:
cmp r0, r2
bge _02061210
mov r0, #3
bx lr
_02061210:
cmp r1, r3
bgt _02061218
mov r0, #1
bx lr
_02061218:
mov r0, #0
bx lr
thumb_func_end sub_02061200
thumb_func_start sub_0206121C
sub_0206121C: ; 0x0206121C
push {r4, lr}
sub sp, #8
add r4, r1, #0
add r1, sp, #4
str r1, [sp]
ldr r1, [r4, #4]
ldr r2, [r4]
ldr r3, [r4, #8]
bl sub_02054940
add r1, sp, #4
ldrb r1, [r1]
cmp r1, #0
bne _0206123E
add sp, #8
mov r0, #0
pop {r4, pc}
_0206123E:
str r0, [r4, #4]
mov r0, #1
add sp, #8
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0206121C
thumb_func_start sub_02061248
sub_02061248: ; 0x02061248
push {r3, r4, r5, lr}
sub sp, #8
add r5, r1, #0
add r1, sp, #4
str r1, [sp]
add r4, r2, #0
ldr r1, [r5, #4]
ldr r2, [r5]
ldr r3, [r5, #8]
bl sub_02054940
add r1, sp, #4
ldrb r1, [r1]
cmp r1, #0
bne _0206126C
add sp, #8
mov r0, #0
pop {r3, r4, r5, pc}
_0206126C:
cmp r1, #2
bne _0206127A
cmp r4, #0
bne _0206127A
add sp, #8
mov r0, #0
pop {r3, r4, r5, pc}
_0206127A:
str r0, [r5, #4]
mov r0, #1
add sp, #8
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02061248
thumb_func_start sub_02061284
sub_02061284: ; 0x02061284
push {r4, r5, r6, lr}
add r6, r1, #0
mov r1, #8
add r5, r0, #0
bl sub_0205F370
add r4, r0, #0
mov r1, #0
ldr r0, _020612B0 ; =0x020FD7B8
mvn r1, r1
bl sub_02061E20
strh r0, [r4, #2]
add r0, r5, #0
mov r1, #0
str r6, [r4, #4]
bl sub_0205F328
add r0, r5, #0
bl sub_0205F63C
pop {r4, r5, r6, pc}
.balign 4, 0
_020612B0: .word 0x020FD7B8
thumb_func_end sub_02061284
thumb_func_start sub_020612B4
sub_020612B4: ; 0x020612B4
ldr r3, _020612BC ; =sub_02061284
mov r1, #0
bx r3
nop
_020612BC: .word sub_02061284
thumb_func_end sub_020612B4
thumb_func_start sub_020612C0
sub_020612C0: ; 0x020612C0
ldr r3, _020612C8 ; =sub_02061284
mov r1, #1
bx r3
nop
_020612C8: .word sub_02061284
thumb_func_end sub_020612C0
thumb_func_start sub_020612CC
sub_020612CC: ; 0x020612CC
ldr r3, _020612D4 ; =sub_02061284
mov r1, #2
bx r3
nop
_020612D4: .word sub_02061284
thumb_func_end sub_020612CC
thumb_func_start sub_020612D8
sub_020612D8: ; 0x020612D8
ldr r3, _020612E0 ; =sub_02061284
mov r1, #3
bx r3
nop
_020612E0: .word sub_02061284
thumb_func_end sub_020612D8
thumb_func_start sub_020612E4
sub_020612E4: ; 0x020612E4
ldr r3, _020612EC ; =sub_02061284
mov r1, #4
bx r3
nop
_020612EC: .word sub_02061284
thumb_func_end sub_020612E4
thumb_func_start sub_020612F0
sub_020612F0: ; 0x020612F0
ldr r3, _020612F8 ; =sub_02061284
mov r1, #5
bx r3
nop
_020612F8: .word sub_02061284
thumb_func_end sub_020612F0
thumb_func_start sub_020612FC
sub_020612FC: ; 0x020612FC
ldr r3, _02061304 ; =sub_02061284
mov r1, #6
bx r3
nop
_02061304: .word sub_02061284
thumb_func_end sub_020612FC
thumb_func_start sub_02061308
sub_02061308: ; 0x02061308
ldr r3, _02061310 ; =sub_02061284
mov r1, #7
bx r3
nop
_02061310: .word sub_02061284
thumb_func_end sub_02061308
thumb_func_start sub_02061314
sub_02061314: ; 0x02061314
ldr r3, _0206131C ; =sub_02061284
mov r1, #8
bx r3
nop
_0206131C: .word sub_02061284
thumb_func_end sub_02061314
thumb_func_start sub_02061320
sub_02061320: ; 0x02061320
ldr r3, _02061328 ; =sub_02061284
mov r1, #9
bx r3
nop
_02061328: .word sub_02061284
thumb_func_end sub_02061320
thumb_func_start sub_0206132C
sub_0206132C: ; 0x0206132C
ldr r3, _02061334 ; =sub_02061284
mov r1, #0xa
bx r3
nop
_02061334: .word sub_02061284
thumb_func_end sub_0206132C
thumb_func_start sub_02061338
sub_02061338: ; 0x02061338
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205F394
add r4, r0, #0
mov r2, #0
ldr r1, [r4, #4]
add r0, r5, #0
mvn r2, r2
bl sub_02061F5C
mov r2, #0
add r1, r0, #0
mvn r2, r2
cmp r1, r2
beq _02061360
add r0, r5, #0
bl sub_0205F290
b _02061390
_02061360:
ldrh r0, [r4]
cmp r0, #0
bne _02061390
mov r0, #2
ldrsh r1, [r4, r0]
sub r1, r1, #1
strh r1, [r4, #2]
ldrsh r0, [r4, r0]
cmp r0, #0
bgt _02061390
ldr r0, _02061398 ; =0x020FD7B8
add r1, r2, #0
bl sub_02061E20
strh r0, [r4, #2]
mov r1, #0
ldr r0, [r4, #4]
mvn r1, r1
bl sub_02061E44
add r1, r0, #0
add r0, r5, #0
bl sub_0205F290
_02061390:
add r0, r5, #0
bl sub_02060F78
pop {r3, r4, r5, pc}
.balign 4, 0
_02061398: .word 0x020FD7B8
thumb_func_end sub_02061338
thumb_func_start sub_0206139C
sub_0206139C: ; 0x0206139C
bx lr
.balign 4, 0
thumb_func_end sub_0206139C
thumb_func_start sub_020613A0
sub_020613A0: ; 0x020613A0
push {r3, lr}
mov r1, #0xc
mov r2, #0xb
mov r3, #0
bl sub_020613D0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020613A0
thumb_func_start sub_020613B0
sub_020613B0: ; 0x020613B0
push {r3, lr}
mov r1, #0xc
add r2, r1, #0
mov r3, #0
bl sub_020613D0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020613B0
thumb_func_start sub_020613C0
sub_020613C0: ; 0x020613C0
push {r3, lr}
mov r1, #0xc
mov r2, #0xd
mov r3, #0
bl sub_020613D0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020613C0
thumb_func_start sub_020613D0
sub_020613D0: ; 0x020613D0
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r7, r3, #0
mov r1, #0x10
add r5, r0, #0
add r6, r2, #0
bl sub_0205F370
str r7, [r0, #4]
str r4, [r0, #8]
str r6, [r0, #0xc]
add r0, r5, #0
mov r1, #0
bl sub_0205F328
add r0, r5, #0
bl sub_0205F63C
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020613D0
thumb_func_start sub_020613F8
sub_020613F8: ; 0x020613F8
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205F394
add r4, r0, #0
mov r0, #0
ldrsh r0, [r4, r0]
cmp r0, #4
bhi _020614EE
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02061416: ; jump table
.short _02061420 - _02061416 - 2 ; case 0
.short _0206144A - _02061416 - 2 ; case 1
.short _02061468 - _02061416 - 2 ; case 2
.short _0206147E - _02061416 - 2 ; case 3
.short _020614DA - _02061416 - 2 ; case 4
_02061420:
add r0, r5, #0
bl sub_0205F63C
add r0, r5, #0
bl sub_0205F660
add r0, r5, #0
bl sub_0205F2A8
mov r1, #0
bl sub_0206234C
add r1, r0, #0
add r0, r5, #0
bl sub_0206217C
mov r0, #0
ldrsh r0, [r4, r0]
add r0, r0, #1
strh r0, [r4]
pop {r4, r5, r6, pc}
_0206144A:
add r0, r5, #0
bl sub_02062428
cmp r0, #0
beq _020614EE
mov r1, #0
ldr r0, _020614F0 ; =0x020FD7B8
mvn r1, r1
bl sub_02061E20
strh r0, [r4, #2]
mov r0, #0
ldrsh r0, [r4, r0]
add r0, r0, #1
strh r0, [r4]
_02061468:
mov r0, #2
ldrsh r1, [r4, r0]
sub r1, r1, #1
strh r1, [r4, #2]
ldrsh r0, [r4, r0]
cmp r0, #0
bne _020614EE
mov r0, #0
ldrsh r0, [r4, r0]
add r0, r0, #1
strh r0, [r4]
_0206147E:
mov r1, #0
ldr r0, [r4, #0xc]
mvn r1, r1
bl sub_02061E44
add r6, r0, #0
add r0, r5, #0
add r1, r6, #0
bl sub_0205F2BC
ldr r0, [r4, #4]
cmp r0, #1
bne _020614AA
add r0, r5, #0
add r1, r6, #0
bl sub_020615F0
cmp r0, #0
bne _020614AA
mov r0, #0
strh r0, [r4]
pop {r4, r5, r6, pc}
_020614AA:
add r0, r5, #0
add r1, r6, #0
bl sub_02060BB8
cmp r0, #0
beq _020614BC
mov r0, #0
strh r0, [r4]
pop {r4, r5, r6, pc}
_020614BC:
ldr r1, [r4, #8]
add r0, r6, #0
bl sub_0206234C
add r1, r0, #0
add r0, r5, #0
bl sub_0206217C
add r0, r5, #0
bl sub_0205F630
mov r0, #0
ldrsh r0, [r4, r0]
add r0, r0, #1
strh r0, [r4]
_020614DA:
add r0, r5, #0
bl sub_02062428
cmp r0, #0
beq _020614EE
add r0, r5, #0
bl sub_0205F63C
mov r0, #0
strh r0, [r4]
_020614EE:
pop {r4, r5, r6, pc}
.balign 4, 0
_020614F0: .word 0x020FD7B8
thumb_func_end sub_020613F8
thumb_func_start sub_020614F4
sub_020614F4: ; 0x020614F4
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
str r0, [sp]
add r4, r1, #0
bl sub_0205F8E4
add r6, r0, #0
ldr r0, [sp]
bl sub_0205F8F4
add r5, r0, #0
ldr r0, [sp]
bl sub_0205F31C
add r7, r0, #0
ldr r0, [sp]
bl sub_0205F324
str r0, [sp, #4]
ldr r0, [sp]
bl sub_0205F264
cmp r0, #0xd
bhi _020615E8
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02061530: ; jump table
.short _020615E8 - _02061530 - 2 ; case 0
.short _020615E8 - _02061530 - 2 ; case 1
.short _020615E8 - _02061530 - 2 ; case 2
.short _020615E8 - _02061530 - 2 ; case 3
.short _020615E8 - _02061530 - 2 ; case 4
.short _020615E8 - _02061530 - 2 ; case 5
.short _0206154C - _02061530 - 2 ; case 6
.short _0206155E - _02061530 - 2 ; case 7
.short _02061570 - _02061530 - 2 ; case 8
.short _02061582 - _02061530 - 2 ; case 9
.short _02061594 - _02061530 - 2 ; case 10
.short _020615AA - _02061530 - 2 ; case 11
.short _020615C0 - _02061530 - 2 ; case 12
.short _020615D4 - _02061530 - 2 ; case 13
_0206154C:
sub r0, r6, r7
str r0, [r4]
ldr r0, [sp, #4]
str r6, [r4, #8]
sub r0, r5, r0
str r0, [r4, #4]
add sp, #8
str r5, [r4, #0xc]
pop {r3, r4, r5, r6, r7, pc}
_0206155E:
str r6, [r4]
add r0, r6, r7
str r0, [r4, #8]
ldr r0, [sp, #4]
add sp, #8
sub r0, r5, r0
str r0, [r4, #4]
str r5, [r4, #0xc]
pop {r3, r4, r5, r6, r7, pc}
_02061570:
sub r0, r6, r7
str r0, [r4]
ldr r0, [sp, #4]
str r6, [r4, #8]
str r5, [r4, #4]
add r0, r5, r0
add sp, #8
str r0, [r4, #0xc]
pop {r3, r4, r5, r6, r7, pc}
_02061582:
str r6, [r4]
add r0, r6, r7
str r0, [r4, #8]
ldr r0, [sp, #4]
str r5, [r4, #4]
add r0, r5, r0
add sp, #8
str r0, [r4, #0xc]
pop {r3, r4, r5, r6, r7, pc}
_02061594:
sub r0, r6, r7
str r0, [r4]
ldr r0, [sp, #4]
str r6, [r4, #8]
sub r0, r5, r0
str r0, [r4, #4]
ldr r0, [sp, #4]
add sp, #8
add r0, r5, r0
str r0, [r4, #0xc]
pop {r3, r4, r5, r6, r7, pc}
_020615AA:
str r6, [r4]
add r0, r6, r7
str r0, [r4, #8]
ldr r0, [sp, #4]
sub r0, r5, r0
str r0, [r4, #4]
ldr r0, [sp, #4]
add sp, #8
add r0, r5, r0
str r0, [r4, #0xc]
pop {r3, r4, r5, r6, r7, pc}
_020615C0:
sub r0, r6, r7
str r0, [r4]
add r0, r6, r7
str r0, [r4, #8]
ldr r0, [sp, #4]
add sp, #8
sub r0, r5, r0
str r0, [r4, #4]
str r5, [r4, #0xc]
pop {r3, r4, r5, r6, r7, pc}
_020615D4:
sub r0, r6, r7
str r0, [r4]
add r0, r6, r7
str r0, [r4, #8]
ldr r0, [sp, #4]
str r5, [r4, #4]
add r0, r5, r0
add sp, #8
str r0, [r4, #0xc]
pop {r3, r4, r5, r6, r7, pc}
_020615E8:
bl GF_AssertFail
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020614F4
thumb_func_start sub_020615F0
sub_020615F0: ; 0x020615F0
push {r4, r5, r6, lr}
sub sp, #0x10
add r6, r1, #0
add r5, r0, #0
add r1, sp, #0
bl sub_020614F4
add r0, r5, #0
bl sub_0205F914
add r4, r0, #0
add r0, r6, #0
bl sub_02060F0C
add r4, r4, r0
add r0, r5, #0
bl sub_0205F934
add r5, r0, #0
add r0, r6, #0
bl sub_02060F18
add r1, r5, r0
ldr r0, [sp]
cmp r0, r4
bgt _0206162A
ldr r0, [sp, #8]
cmp r0, r4
bge _02061630
_0206162A:
add sp, #0x10
mov r0, #0
pop {r4, r5, r6, pc}
_02061630:
ldr r0, [sp, #4]
cmp r0, r1
bgt _0206163C
ldr r0, [sp, #0xc]
cmp r0, r1
bge _02061642
_0206163C:
add sp, #0x10
mov r0, #0
pop {r4, r5, r6, pc}
_02061642:
mov r0, #1
add sp, #0x10
pop {r4, r5, r6, pc}
thumb_func_end sub_020615F0
thumb_func_start sub_02061648
sub_02061648: ; 0x02061648
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
mov r1, #8
bl sub_0205F370
str r4, [r0]
add r0, r5, #0
mov r1, #0
bl sub_0205F328
add r0, r5, #0
bl sub_0205F63C
add r0, r5, #0
bl sub_02060F78
pop {r3, r4, r5, pc}
thumb_func_end sub_02061648
thumb_func_start sub_0206166C
sub_0206166C: ; 0x0206166C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205F394
add r4, r0, #0
ldr r0, [r4, #4]
cmp r0, #0
beq _02061680
cmp r0, #1
pop {r3, r4, r5, pc}
_02061680:
ldr r1, [r4]
add r0, r5, #0
bl sub_0205F290
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
pop {r3, r4, r5, pc}
thumb_func_end sub_0206166C
thumb_func_start sub_02061690
sub_02061690: ; 0x02061690
ldr r3, _02061698 ; =sub_02061648
mov r1, #0
bx r3
nop
_02061698: .word sub_02061648
thumb_func_end sub_02061690
thumb_func_start sub_0206169C
sub_0206169C: ; 0x0206169C
ldr r3, _020616A4 ; =sub_02061648
mov r1, #1
bx r3
nop
_020616A4: .word sub_02061648
thumb_func_end sub_0206169C
thumb_func_start sub_020616A8
sub_020616A8: ; 0x020616A8
ldr r3, _020616B0 ; =sub_02061648
mov r1, #2
bx r3
nop
_020616B0: .word sub_02061648
thumb_func_end sub_020616A8
thumb_func_start sub_020616B4
sub_020616B4: ; 0x020616B4
ldr r3, _020616BC ; =sub_02061648
mov r1, #3
bx r3
nop
_020616BC: .word sub_02061648
thumb_func_end sub_020616B4
thumb_func_start sub_020616C0
sub_020616C0: ; 0x020616C0
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
mov r1, #8
bl sub_0205F370
strb r4, [r0]
add r0, r5, #0
mov r1, #0
bl sub_0205F328
add r0, r5, #0
bl sub_0205F63C
add r0, r5, #0
bl sub_02060F78
pop {r3, r4, r5, pc}
thumb_func_end sub_020616C0
thumb_func_start sub_020616E4
sub_020616E4: ; 0x020616E4
ldr r3, _020616EC ; =sub_020616C0
mov r1, #2
bx r3
nop
_020616EC: .word sub_020616C0
thumb_func_end sub_020616E4
thumb_func_start sub_020616F0
sub_020616F0: ; 0x020616F0
ldr r3, _020616F8 ; =sub_020616C0
mov r1, #3
bx r3
nop
_020616F8: .word sub_020616C0
thumb_func_end sub_020616F0
thumb_func_start sub_020616FC
sub_020616FC: ; 0x020616FC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0205F394
ldr r6, _0206171C ; =0x020FD5D0
add r4, r0, #0
mov r7, #2
_0206170A:
ldrsb r2, [r4, r7]
add r0, r5, #0
add r1, r4, #0
lsl r2, r2, #2
ldr r2, [r6, r2]
blx r2
cmp r0, #1
beq _0206170A
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0206171C: .word 0x020FD5D0
thumb_func_end sub_020616FC
thumb_func_start sub_02061720
sub_02061720: ; 0x02061720
push {r3, r4, r5, lr}
add r4, r1, #0
mov r1, #0x26
add r2, r1, #0
sub r2, #0x27
add r5, r0, #0
bl sub_02061F5C
mov r1, #0
mvn r1, r1
cmp r0, r1
bne _0206173E
add r0, r5, #0
bl sub_0205F2A8
_0206173E:
mov r1, #0
bl sub_0206234C
add r1, r0, #0
add r0, r5, #0
bl sub_0206217C
mov r0, #1
strb r0, [r4, #2]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02061720
thumb_func_start sub_02061754
sub_02061754: ; 0x02061754
push {r4, lr}
add r4, r1, #0
bl sub_02062428
cmp r0, #0
bne _02061764
mov r0, #0
pop {r4, pc}
_02061764:
mov r0, #0
str r0, [r4, #4]
mov r0, #2
strb r0, [r4, #2]
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02061754
thumb_func_start sub_02061770
sub_02061770: ; 0x02061770
push {r4, lr}
add r4, r1, #0
ldr r1, [r4, #4]
cmp r1, #0
beq _02061794
mov r1, #0x26
add r2, r1, #0
sub r2, #0x27
bl sub_02061F5C
mov r1, #0
mvn r1, r1
cmp r0, r1
beq _02061794
mov r0, #0
strb r0, [r4, #2]
mov r0, #1
pop {r4, pc}
_02061794:
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
cmp r0, #0x18
bge _020617A2
mov r0, #0
pop {r4, pc}
_020617A2:
mov r0, #3
strb r0, [r4, #2]
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02061770
thumb_func_start sub_020617AC
sub_020617AC: ; 0x020617AC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
ldr r3, _0206183C ; =0x020FD754
add r2, sp, #0x14
add r7, r0, #0
add r6, r1, #0
ldmia r3!, {r0, r1}
add r5, r2, #0
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3]
ldr r4, _02061840 ; =0x020FD768
str r0, [r2]
add r3, sp, #0
ldmia r4!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r4]
str r0, [r3]
mov r0, #0
ldrsb r0, [r6, r0]
cmp r0, #2
beq _020617E2
add r5, r2, #0
_020617E2:
add r0, r7, #0
bl sub_0205F2A8
mov r4, #0
ldr r2, [r5]
sub r1, r4, #1
cmp r2, r1
beq _02061806
add r1, r5, #0
sub r2, r4, #1
_020617F6:
ldr r3, [r1]
cmp r0, r3
beq _02061806
add r1, r1, #4
ldr r3, [r1]
add r4, r4, #1
cmp r3, r2
bne _020617F6
_02061806:
lsl r0, r4, #2
ldr r1, [r5, r0]
mov r0, #0
mvn r0, r0
cmp r1, r0
bne _02061816
bl GF_AssertFail
_02061816:
add r4, r4, #1
lsl r0, r4, #2
ldr r1, [r5, r0]
mov r0, #0
mvn r0, r0
cmp r1, r0
bne _02061826
mov r4, #0
_02061826:
lsl r1, r4, #2
ldr r1, [r5, r1]
add r0, r7, #0
bl sub_0205F290
mov r0, #0
strb r0, [r6, #2]
mov r0, #1
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
nop
_0206183C: .word 0x020FD754
_02061840: .word 0x020FD768
thumb_func_end sub_020617AC
thumb_func_start sub_02061844
sub_02061844: ; 0x02061844
ldr r3, _0206184C ; =sub_020616C0
mov r1, #3
bx r3
nop
_0206184C: .word sub_020616C0
thumb_func_end sub_02061844
thumb_func_start sub_02061850
sub_02061850: ; 0x02061850
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0205F394
ldr r6, _02061870 ; =0x020FD5A0
add r4, r0, #0
mov r7, #2
_0206185E:
ldrsb r2, [r4, r7]
add r0, r5, #0
add r1, r4, #0
lsl r2, r2, #2
ldr r2, [r6, r2]
blx r2
cmp r0, #1
beq _0206185E
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02061870: .word 0x020FD5A0
thumb_func_end sub_02061850
thumb_func_start sub_02061874
sub_02061874: ; 0x02061874
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0205F2A8
mov r1, #0
bl sub_0206234C
add r1, r0, #0
add r0, r5, #0
bl sub_0206217C
mov r0, #1
strb r0, [r4, #2]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02061874
thumb_func_start sub_02061894
sub_02061894: ; 0x02061894
push {r4, lr}
add r4, r1, #0
bl sub_02062428
cmp r0, #0
bne _020618A4
mov r0, #0
pop {r4, pc}
_020618A4:
mov r0, #0
str r0, [r4, #4]
mov r0, #2
strb r0, [r4, #2]
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02061894
thumb_func_start sub_020618B0
sub_020618B0: ; 0x020618B0
ldr r0, [r1, #4]
add r0, r0, #1
str r0, [r1, #4]
cmp r0, #0x18
bge _020618BE
mov r0, #0
bx lr
_020618BE:
mov r0, #3
strb r0, [r1, #2]
mov r0, #1
bx lr
.balign 4, 0
thumb_func_end sub_020618B0
thumb_func_start sub_020618C8
sub_020618C8: ; 0x020618C8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
ldr r3, _02061974 ; =0x020FD77C
add r2, sp, #0x14
add r7, r0, #0
add r6, r1, #0
ldmia r3!, {r0, r1}
add r5, r2, #0
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3]
ldr r3, _02061978 ; =0x020FD7A4
str r0, [r2]
add r2, sp, #0
ldmia r3!, {r0, r1}
add r4, r2, #0
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3]
str r0, [r2]
mov r0, #0
ldrsb r0, [r6, r0]
cmp r0, #2
beq _020618FE
add r5, r4, #0
_020618FE:
add r0, r7, #0
bl sub_0205F2A8
mov r4, #0
ldr r2, [r5]
sub r1, r4, #1
cmp r2, r1
beq _02061922
add r1, r5, #0
sub r2, r4, #1
_02061912:
ldr r3, [r1]
cmp r0, r3
beq _02061922
add r1, r1, #4
ldr r3, [r1]
add r4, r4, #1
cmp r3, r2
bne _02061912
_02061922:
lsl r0, r4, #2
ldr r1, [r5, r0]
mov r0, #0
mvn r0, r0
cmp r1, r0
bne _02061932
bl GF_AssertFail
_02061932:
add r4, r4, #1
lsl r0, r4, #2
ldr r1, [r5, r0]
mov r0, #0
mvn r0, r0
cmp r1, r0
bne _02061942
mov r4, #0
_02061942:
lsl r1, r4, #2
ldr r1, [r5, r1]
add r0, r7, #0
bl sub_0205F290
add r0, r7, #0
bl sub_0205F2A8
add r4, r0, #0
add r0, r7, #0
bl sub_0205F284
cmp r4, r0
bne _02061968
mov r0, #0
ldrsb r0, [r6, r0]
bl sub_020611F4
strb r0, [r6]
_02061968:
mov r0, #0
strb r0, [r6, #2]
mov r0, #1
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
nop
_02061974: .word 0x020FD77C
_02061978: .word 0x020FD7A4
thumb_func_end sub_020618C8
thumb_func_start sub_0206197C
sub_0206197C: ; 0x0206197C
push {r3, r4, r5, lr}
add r5, r0, #0
mov r1, #8
bl sub_0205F370
add r4, r0, #0
add r0, r5, #0
bl sub_02062050
cmp r0, #1
bne _0206199A
add r0, r5, #0
add r1, r4, #4
bl sub_02062064
_0206199A:
pop {r3, r4, r5, pc}
thumb_func_end sub_0206197C
thumb_func_start sub_0206199C
sub_0206199C: ; 0x0206199C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0205F394
ldr r6, _020619BC ; =0x020FD548
add r4, r0, #0
mov r7, #0
_020619AA:
ldrsh r2, [r4, r7]
add r0, r5, #0
add r1, r4, #0
lsl r2, r2, #2
ldr r2, [r6, r2]
blx r2
cmp r0, #1
beq _020619AA
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020619BC: .word 0x020FD548
thumb_func_end sub_0206199C
thumb_func_start sub_020619C0
sub_020619C0: ; 0x020619C0
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0205F284
mov r1, #2
ldrsh r1, [r4, r1]
add r6, r0, #0
cmp r1, #1
bne _020619DA
bl sub_020611F4
add r6, r0, #0
_020619DA:
add r0, r5, #0
add r1, r6, #0
bl sub_0205F2B0
add r0, r5, #0
bl sub_02062050
cmp r0, #0
bne _020619F4
add r0, r5, #0
add r1, r6, #0
bl sub_0205F290
_020619F4:
mov r0, #1
strh r0, [r4]
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020619C0
thumb_func_start sub_020619FC
sub_020619FC: ; 0x020619FC
push {r3, r4, r5, r6, r7, lr}
add r6, r1, #0
mov r1, #2
ldrsh r1, [r6, r1]
add r5, r0, #0
cmp r1, #0
beq _02061A5A
bl sub_0205F8E4
add r7, r0, #0
add r0, r5, #0
bl sub_0205F8F4
str r0, [sp]
add r0, r5, #0
bl sub_0205F914
add r4, r0, #0
add r0, r5, #0
bl sub_0205F934
cmp r7, r4
bne _02061A5A
ldr r1, [sp]
cmp r1, r0
bne _02061A5A
add r0, r5, #0
bl sub_0205F2B8
bl sub_020611F4
add r4, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_0205F2B0
add r0, r5, #0
bl sub_02062050
cmp r0, #0
bne _02061A56
add r0, r5, #0
add r1, r4, #0
bl sub_0205F290
_02061A56:
mov r0, #0
strh r0, [r6, #2]
_02061A5A:
add r0, r5, #0
bl sub_0205F2B8
add r4, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_02060BB8
mov r1, #1
add r2, r0, #0
tst r2, r1
beq _02061A84
add r0, r4, #0
strh r1, [r6, #2]
bl sub_020611F4
add r4, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_02060BB8
_02061A84:
mov r1, #0xc
cmp r0, #0
beq _02061A8C
mov r1, #0x20
_02061A8C:
add r0, r4, #0
bl sub_0206234C
add r1, r0, #0
add r0, r5, #0
bl sub_0206217C
add r0, r5, #0
bl sub_02062050
cmp r0, #1
bne _02061AAC
add r0, r5, #0
add r1, r6, #4
bl sub_0206207C
_02061AAC:
add r0, r5, #0
bl sub_0205F630
mov r0, #2
strh r0, [r6]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020619FC
thumb_func_start sub_02061ABC
sub_02061ABC: ; 0x02061ABC
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_02062428
cmp r0, #1
bne _02061AE6
add r0, r5, #0
bl sub_0205F63C
add r0, r5, #0
bl sub_02062050
cmp r0, #1
bne _02061AE2
add r0, r5, #0
add r1, r4, #4
bl sub_020620F8
_02061AE2:
mov r0, #0
strh r0, [r4]
_02061AE6:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02061ABC
thumb_func_start sub_02061AEC
sub_02061AEC: ; 0x02061AEC
push {r3, r4, r5, r6, r7, lr}
add r6, r1, #0
mov r1, #0xc
add r5, r0, #0
add r7, r2, #0
str r3, [sp]
bl sub_0205F370
add r4, r0, #0
strb r6, [r4, #2]
ldr r0, [sp]
strb r7, [r4, #3]
str r0, [r4, #4]
add r0, r5, #0
bl sub_02062050
cmp r0, #1
bne _02061B1A
add r4, #8
add r0, r5, #0
add r1, r4, #0
bl sub_02062064
_02061B1A:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02061AEC
thumb_func_start sub_02061B1C
sub_02061B1C: ; 0x02061B1C
push {r3, lr}
mov r1, #2
mov r2, #0
mov r3, #0xe
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061B1C
thumb_func_start sub_02061B2C
sub_02061B2C: ; 0x02061B2C
push {r3, lr}
mov r1, #2
mov r2, #0
mov r3, #0xf
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061B2C
thumb_func_start sub_02061B3C
sub_02061B3C: ; 0x02061B3C
push {r3, lr}
mov r1, #2
mov r2, #1
mov r3, #0x10
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061B3C
thumb_func_start sub_02061B4C
sub_02061B4C: ; 0x02061B4C
push {r3, lr}
mov r1, #2
mov r2, #1
mov r3, #0x11
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061B4C
thumb_func_start sub_02061B5C
sub_02061B5C: ; 0x02061B5C
push {r3, lr}
mov r1, #2
mov r2, #0
mov r3, #0x12
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061B5C
thumb_func_start sub_02061B6C
sub_02061B6C: ; 0x02061B6C
push {r3, lr}
mov r1, #2
mov r2, #0
mov r3, #0x13
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061B6C
thumb_func_start sub_02061B7C
sub_02061B7C: ; 0x02061B7C
push {r3, lr}
mov r1, #2
mov r2, #1
mov r3, #0x14
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061B7C
thumb_func_start sub_02061B8C
sub_02061B8C: ; 0x02061B8C
push {r3, lr}
mov r1, #2
mov r2, #1
mov r3, #0x15
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061B8C
thumb_func_start sub_02061B9C
sub_02061B9C: ; 0x02061B9C
push {r3, lr}
mov r1, #2
mov r2, #1
mov r3, #0x16
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061B9C
thumb_func_start sub_02061BAC
sub_02061BAC: ; 0x02061BAC
push {r3, lr}
mov r1, #2
mov r2, #1
mov r3, #0x17
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061BAC
thumb_func_start sub_02061BBC
sub_02061BBC: ; 0x02061BBC
push {r3, lr}
mov r1, #2
mov r2, #0
mov r3, #0x18
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061BBC
thumb_func_start sub_02061BCC
sub_02061BCC: ; 0x02061BCC
push {r3, lr}
mov r1, #2
mov r2, #0
mov r3, #0x19
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061BCC
thumb_func_start sub_02061BDC
sub_02061BDC: ; 0x02061BDC
push {r3, lr}
mov r1, #2
mov r2, #1
mov r3, #0x1a
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061BDC
thumb_func_start sub_02061BEC
sub_02061BEC: ; 0x02061BEC
push {r3, lr}
mov r1, #2
mov r2, #1
mov r3, #0x1b
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061BEC
thumb_func_start sub_02061BFC
sub_02061BFC: ; 0x02061BFC
push {r3, lr}
mov r1, #2
mov r2, #0
mov r3, #0x1c
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061BFC
thumb_func_start sub_02061C0C
sub_02061C0C: ; 0x02061C0C
push {r3, lr}
mov r1, #2
mov r2, #0
mov r3, #0x1d
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061C0C
thumb_func_start sub_02061C1C
sub_02061C1C: ; 0x02061C1C
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205F394
ldr r6, _02061C3C ; =0x020FD4EC
add r4, r0, #0
_02061C28:
ldrb r2, [r4]
add r0, r5, #0
add r1, r4, #0
lsl r2, r2, #2
ldr r2, [r6, r2]
blx r2
cmp r0, #1
beq _02061C28
pop {r4, r5, r6, pc}
nop
_02061C3C: .word 0x020FD4EC
thumb_func_end sub_02061C1C
thumb_func_start sub_02061C40
sub_02061C40: ; 0x02061C40
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
ldrb r2, [r4, #1]
ldrb r1, [r4, #2]
add r6, r0, #0
cmp r2, r1
bne _02061C82
ldrb r1, [r4, #3]
cmp r1, #0
bne _02061C6C
bl sub_0205F8E4
add r5, r0, #0
add r0, r6, #0
bl sub_0205F914
cmp r5, r0
bne _02061C82
ldrb r0, [r4, #1]
add r0, r0, #1
strb r0, [r4, #1]
b _02061C82
_02061C6C:
bl sub_0205F8F4
add r5, r0, #0
add r0, r6, #0
bl sub_0205F934
cmp r5, r0
bne _02061C82
ldrb r0, [r4, #1]
add r0, r0, #1
strb r0, [r4, #1]
_02061C82:
ldrb r0, [r4, #1]
cmp r0, #3
bne _02061CB4
add r0, r6, #0
bl sub_0205F8E4
add r7, r0, #0
add r0, r6, #0
bl sub_0205F8F4
str r0, [sp]
add r0, r6, #0
bl sub_0205F914
add r5, r0, #0
add r0, r6, #0
bl sub_0205F934
cmp r7, r5
bne _02061CB4
ldr r1, [sp]
cmp r1, r0
bne _02061CB4
mov r0, #0
strb r0, [r4, #1]
_02061CB4:
ldr r0, [r4, #4]
bl sub_02061E6C
add r7, r0, #0
ldrb r0, [r4, #1]
lsl r0, r0, #2
ldr r5, [r7, r0]
add r0, r6, #0
add r1, r5, #0
bl sub_0205F2B0
add r0, r6, #0
bl sub_02062050
cmp r0, #0
bne _02061CDC
add r0, r6, #0
add r1, r5, #0
bl sub_0205F290
_02061CDC:
add r0, r6, #0
add r1, r5, #0
bl sub_02060BB8
mov r1, #1
tst r1, r0
beq _02061D18
ldrb r0, [r4, #1]
add r0, r0, #1
strb r0, [r4, #1]
ldrb r0, [r4, #1]
lsl r0, r0, #2
ldr r5, [r7, r0]
add r0, r6, #0
add r1, r5, #0
bl sub_0205F2B0
add r0, r6, #0
bl sub_02062050
cmp r0, #0
bne _02061D10
add r0, r6, #0
add r1, r5, #0
bl sub_0205F290
_02061D10:
add r0, r6, #0
add r1, r5, #0
bl sub_02060BB8
_02061D18:
mov r1, #0xc
cmp r0, #0
beq _02061D20
mov r1, #0x20
_02061D20:
add r0, r5, #0
bl sub_0206234C
add r1, r0, #0
add r0, r6, #0
bl sub_0206217C
add r0, r6, #0
bl sub_02062050
cmp r0, #1
bne _02061D42
add r1, r4, #0
add r0, r6, #0
add r1, #8
bl sub_0206207C
_02061D42:
add r0, r6, #0
bl sub_0205F630
mov r0, #1
strb r0, [r4]
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02061C40
thumb_func_start sub_02061D50
sub_02061D50: ; 0x02061D50
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_02062428
cmp r0, #1
bne _02061D7C
add r0, r5, #0
bl sub_0205F63C
add r0, r5, #0
bl sub_02062050
cmp r0, #1
bne _02061D78
add r1, r4, #0
add r0, r5, #0
add r1, #8
bl sub_020620F8
_02061D78:
mov r0, #0
strb r0, [r4]
_02061D7C:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02061D50
thumb_func_start sub_02061D80
sub_02061D80: ; 0x02061D80
push {r3, lr}
mov r1, #2
mov r2, #1
mov r3, #0x1e
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061D80
thumb_func_start sub_02061D90
sub_02061D90: ; 0x02061D90
push {r3, lr}
mov r1, #2
mov r2, #1
mov r3, #0x1f
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061D90
thumb_func_start sub_02061DA0
sub_02061DA0: ; 0x02061DA0
push {r3, lr}
mov r1, #2
mov r2, #0
mov r3, #0x20
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061DA0
thumb_func_start sub_02061DB0
sub_02061DB0: ; 0x02061DB0
push {r3, lr}
mov r1, #2
mov r2, #0
mov r3, #0x21
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061DB0
thumb_func_start sub_02061DC0
sub_02061DC0: ; 0x02061DC0
push {r3, lr}
mov r1, #2
mov r2, #1
mov r3, #0x22
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061DC0
thumb_func_start sub_02061DD0
sub_02061DD0: ; 0x02061DD0
push {r3, lr}
mov r1, #2
mov r2, #1
mov r3, #0x23
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061DD0
thumb_func_start sub_02061DE0
sub_02061DE0: ; 0x02061DE0
push {r3, lr}
mov r1, #2
mov r2, #0
mov r3, #0x24
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061DE0
thumb_func_start sub_02061DF0
sub_02061DF0: ; 0x02061DF0
push {r3, lr}
mov r1, #2
mov r2, #0
mov r3, #0x25
bl sub_02061AEC
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02061DF0
thumb_func_start sub_02061E00
sub_02061E00: ; 0x02061E00
push {r4, lr}
ldr r2, [r0]
mov r4, #0
cmp r1, r2
beq _02061E14
_02061E0A:
add r0, r0, #4
ldr r2, [r0]
add r4, r4, #1
cmp r1, r2
bne _02061E0A
_02061E14:
cmp r4, #0
bne _02061E1C
bl GF_AssertFail
_02061E1C:
add r0, r4, #0
pop {r4, pc}
thumb_func_end sub_02061E00
thumb_func_start sub_02061E20
sub_02061E20: ; 0x02061E20
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
bl LCRandom
add r6, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_02061E00
add r1, r0, #0
add r0, r6, #0
bl _s32_div_f
lsl r0, r1, #2
ldr r0, [r5, r0]
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02061E20
thumb_func_start sub_02061E44
sub_02061E44: ; 0x02061E44
push {r4, r5, r6, lr}
add r5, r1, #0
bl sub_02061E6C
add r4, r0, #0
bl LCRandom
add r6, r0, #0
add r0, r4, #0
add r1, r5, #0
bl sub_02061E00
add r1, r0, #0
add r0, r6, #0
bl _s32_div_f
lsl r0, r1, #2
ldr r0, [r4, r0]
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02061E44
thumb_func_start sub_02061E6C
sub_02061E6C: ; 0x02061E6C
push {r3, lr}
ldr r1, _02061E8C ; =0x020FD838
mov r2, #0
_02061E72:
cmp r2, r0
bne _02061E7A
ldr r0, [r1, #4]
pop {r3, pc}
_02061E7A:
add r1, #8
ldr r2, [r1]
cmp r2, #0x27
bne _02061E72
bl GF_AssertFail
mov r0, #0
pop {r3, pc}
nop
_02061E8C: .word 0x020FD838
thumb_func_end sub_02061E6C
thumb_func_start sub_02061E90
sub_02061E90: ; 0x02061E90
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0205F26C
cmp r0, #1
beq _02061EA6
cmp r0, #2
beq _02061EA6
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, r6, r7, pc}
_02061EA6:
add r0, r5, #0
bl sub_0205F52C
bl sub_0205CA1C
add r6, r0, #0
bl sub_0205DE98
cmp r0, #0
bne _02061EC0
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, r6, r7, pc}
_02061EC0:
add r0, r5, #0
mov r4, #0
bl sub_0205F264
ldr r1, _02061F58 ; =0x020FD800
_02061ECA:
lsl r2, r4, #2
ldr r2, [r1, r2]
add r4, r4, #1
cmp r2, r0
beq _02061ED8
cmp r2, #0xff
bne _02061ECA
_02061ED8:
cmp r0, r2
beq _02061EE2
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, r6, r7, pc}
_02061EE2:
add r0, r6, #0
bl sub_0205C6DC
bl sub_0205F9D0
add r4, r0, #0
add r0, r5, #0
bl sub_0205F9D0
cmp r4, r0
beq _02061EFE
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, r6, r7, pc}
_02061EFE:
add r0, r6, #0
bl sub_0205C67C
add r4, r0, #0
add r0, r6, #0
bl sub_0205C688
add r6, r0, #0
add r0, r5, #0
mov r1, #0
bl sub_0205F2F4
str r0, [sp]
add r0, r5, #0
bl sub_0205F914
add r7, r0, #0
add r0, r5, #0
bl sub_0205F934
add r2, r0, #0
ldr r3, [sp]
ldr r0, [sp]
add r5, r2, r3
sub r1, r7, r0
sub r3, r2, r3
add r0, r7, r0
cmp r3, r6
bgt _02061F52
cmp r5, r6
blt _02061F52
cmp r1, r4
bgt _02061F52
cmp r0, r4
blt _02061F52
add r1, r2, #0
add r0, r7, #0
add r2, r4, #0
add r3, r6, #0
bl sub_02061200
pop {r3, r4, r5, r6, r7, pc}
_02061F52:
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02061F58: .word 0x020FD800
thumb_func_end sub_02061E90
thumb_func_start sub_02061F5C
sub_02061F5C: ; 0x02061F5C
push {r4, r5, r6, r7, lr}
sub sp, #0x14
str r0, [sp]
add r4, r2, #0
add r0, r1, #0
bl sub_02061E6C
add r1, r4, #0
add r5, r0, #0
bl sub_02061E00
add r4, r0, #0
cmp r4, #1
bne _02061F80
mov r0, #0
add sp, #0x14
mvn r0, r0
pop {r4, r5, r6, r7, pc}
_02061F80:
ldr r0, [sp]
bl sub_02061E90
mov r1, #0
mvn r1, r1
cmp r0, r1
beq _0206204A
mov r2, #0
add r3, r5, #0
_02061F92:
ldr r1, [r3]
cmp r0, r1
beq _0206204A
add r2, r2, #1
add r3, r3, #4
cmp r2, r4
blt _02061F92
mov r7, #0
mvn r7, r7
ldr r0, [sp]
add r6, r7, #0
bl sub_0205F914
str r0, [sp, #8]
ldr r0, [sp]
bl sub_0205F934
str r0, [sp, #4]
ldr r0, [sp]
bl sub_0205F52C
bl sub_0205CA1C
str r0, [sp, #0xc]
bl sub_0205C67C
str r0, [sp, #0x10]
ldr r0, [sp, #0xc]
bl sub_0205C688
ldr r2, [sp, #8]
ldr r1, [sp, #0x10]
cmp r2, r1
ble _02061FDA
mov r7, #2
b _02061FE0
_02061FDA:
cmp r2, r1
bge _02061FE0
mov r7, #3
_02061FE0:
ldr r1, [sp, #4]
cmp r1, r0
ble _02061FEA
mov r6, #0
b _02061FF0
_02061FEA:
cmp r1, r0
bge _02061FF0
mov r6, #1
_02061FF0:
mov r0, #0
sub r1, r0, #1
cmp r7, r1
bne _0206200E
_02061FF8:
ldr r1, [r5]
cmp r6, r1
bne _02062004
add sp, #0x14
add r0, r6, #0
pop {r4, r5, r6, r7, pc}
_02062004:
add r0, r0, #1
add r5, r5, #4
cmp r0, r4
blt _02061FF8
b _02062046
_0206200E:
cmp r6, r1
bne _02062028
_02062012:
ldr r1, [r5]
cmp r7, r1
bne _0206201E
add sp, #0x14
add r0, r7, #0
pop {r4, r5, r6, r7, pc}
_0206201E:
add r0, r0, #1
add r5, r5, #4
cmp r0, r4
blt _02062012
b _02062046
_02062028:
ldr r1, [r5]
cmp r7, r1
bne _02062034
add sp, #0x14
add r0, r7, #0
pop {r4, r5, r6, r7, pc}
_02062034:
cmp r6, r1
bne _0206203E
add sp, #0x14
add r0, r6, #0
pop {r4, r5, r6, r7, pc}
_0206203E:
add r0, r0, #1
add r5, r5, #4
cmp r0, r4
blt _02062028
_02062046:
mov r0, #0
mvn r0, r0
_0206204A:
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02061F5C
thumb_func_start sub_02062050
sub_02062050: ; 0x02062050
push {r3, lr}
bl sub_0205F26C
sub r0, r0, #7
cmp r0, #1
bhi _02062060
mov r0, #1
pop {r3, pc}
_02062060:
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02062050
thumb_func_start sub_02062064
sub_02062064: ; 0x02062064
push {r4, lr}
add r4, r1, #0
bl sub_0205F26C
cmp r0, #7
bne _02062076
mov r0, #0
strb r0, [r4, #1]
pop {r4, pc}
_02062076:
mov r0, #1
strb r0, [r4, #1]
pop {r4, pc}
thumb_func_end sub_02062064
thumb_func_start sub_0206207C
sub_0206207C: ; 0x0206207C
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r1, #0
bl sub_0205F2A8
mov r4, #0
add r6, r0, #0
add r1, r4, #0
ldr r0, _020620F4 ; =0x020FD7E0
mov r2, #1
b _02062096
_02062092:
add r1, r1, #4
add r4, r4, #1
_02062096:
cmp r4, #4
bge _020620A6
ldrsb r3, [r5, r2]
lsl r3, r3, #4
add r3, r0, r3
ldr r3, [r1, r3]
cmp r6, r3
bne _02062092
_020620A6:
cmp r4, #4
blt _020620AE
bl GF_AssertFail
_020620AE:
add r0, r4, #1
lsr r2, r0, #0x1f
lsl r1, r0, #0x1e
sub r1, r1, r2
mov r0, #0x1e
ror r1, r0
strb r6, [r5]
mov r0, #1
add r1, r2, r1
ldrsb r0, [r5, r0]
lsl r1, r1, #2
lsl r2, r0, #4
ldr r0, _020620F4 ; =0x020FD7E0
add r0, r0, r2
ldr r4, [r1, r0]
add r0, r7, #0
mov r1, #0x80
bl sub_0205F220
cmp r0, #0
beq _020620DC
mov r0, #1
b _020620DE
_020620DC:
mov r0, #0
_020620DE:
strb r0, [r5, #2]
add r0, r7, #0
add r1, r4, #0
bl sub_0205F290
add r0, r7, #0
mov r1, #0x80
bl sub_0205F20C
pop {r3, r4, r5, r6, r7, pc}
nop
_020620F4: .word 0x020FD7E0
thumb_func_end sub_0206207C
thumb_func_start sub_020620F8
sub_020620F8: ; 0x020620F8
push {r3, lr}
ldrb r1, [r1, #2]
cmp r1, #0
bne _02062106
mov r1, #0x80
bl sub_0205F214
_02062106:
pop {r3, pc}
thumb_func_end sub_020620F8
thumb_func_start sub_02062108
sub_02062108: ; 0x02062108
push {r4, lr}
mov r1, #1
add r4, r0, #0
bl sub_0205F228
cmp r0, #0
bne _0206211A
mov r0, #0
pop {r4, pc}
_0206211A:
add r0, r4, #0
mov r1, #2
bl sub_0205F228
cmp r0, #1
bne _0206212A
mov r0, #0
pop {r4, pc}
_0206212A:
add r0, r4, #0
mov r1, #0x10
bl sub_0205F228
cmp r0, #1
bne _02062146
add r0, r4, #0
mov r1, #0x20
bl sub_0205F228
cmp r0, #0
bne _02062146
mov r0, #0
pop {r4, pc}
_02062146:
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02062108
thumb_func_start sub_0206214C
sub_0206214C: ; 0x0206214C
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
cmp r4, #0x71
blt _0206215A
bl GF_AssertFail
_0206215A:
add r0, r5, #0
add r1, r4, #0
bl sub_0205F4CC
add r0, r5, #0
mov r1, #0
bl sub_0205F4DC
add r0, r5, #0
mov r1, #0x10
bl sub_0205F20C
add r0, r5, #0
mov r1, #0x20
bl sub_0205F214
pop {r3, r4, r5, pc}
thumb_func_end sub_0206214C
thumb_func_start sub_0206217C
sub_0206217C: ; 0x0206217C
push {r4, lr}
add r4, r0, #0
bl sub_0205F4CC
add r0, r4, #0
mov r1, #0
bl sub_0205F4DC
add r0, r4, #0
mov r1, #0x20
bl sub_0205F214
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0206217C
thumb_func_start sub_02062198
sub_02062198: ; 0x02062198
push {r4, lr}
mov r1, #0x10
add r4, r0, #0
bl sub_0205F228
cmp r0, #0
bne _020621AA
mov r0, #1
pop {r4, pc}
_020621AA:
add r0, r4, #0
mov r1, #0x20
bl sub_0205F228
cmp r0, #0
beq _020621BA
mov r0, #1
pop {r4, pc}
_020621BA:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02062198
thumb_func_start sub_020621C0
sub_020621C0: ; 0x020621C0
push {r4, lr}
mov r1, #0x10
add r4, r0, #0
bl sub_0205F228
cmp r0, #0
bne _020621D2
mov r0, #1
pop {r4, pc}
_020621D2:
add r0, r4, #0
mov r1, #0x20
bl sub_0205F228
cmp r0, #0
bne _020621E2
mov r0, #0
pop {r4, pc}
_020621E2:
add r0, r4, #0
mov r1, #0x30
bl sub_0205F214
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020621C0
thumb_func_start sub_020621F0
sub_020621F0: ; 0x020621F0
push {r4, lr}
add r4, r0, #0
mov r1, #0x10
bl sub_0205F214
add r0, r4, #0
mov r1, #0x20
bl sub_0205F20C
add r0, r4, #0
mov r1, #0xff
bl sub_0205F4CC
add r0, r4, #0
mov r1, #0
bl sub_0205F4DC
pop {r4, pc}
thumb_func_end sub_020621F0
thumb_func_start sub_02062214
sub_02062214: ; 0x02062214
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
mov r0, #4
mov r1, #0x14
bl AllocFromHeapAtEnd
add r4, r0, #0
bne _0206222A
bl GF_AssertFail
_0206222A:
add r2, r4, #0
mov r1, #0x14
mov r0, #0
_02062230:
strb r0, [r2]
add r2, r2, #1
sub r1, r1, #1
bne _02062230
add r0, r5, #0
bl sub_0205F35C
bl sub_0205F19C
sub r2, r0, #1
ldr r0, _0206225C ; =sub_0206229C
add r1, r4, #0
bl sub_0200E320
add r7, r0, #0
bne _02062254
bl GF_AssertFail
_02062254:
str r5, [r4, #0xc]
str r6, [r4, #0x10]
add r0, r7, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0206225C: .word sub_0206229C
thumb_func_end sub_02062214
thumb_func_start sub_02062260
sub_02062260: ; 0x02062260
push {r3, lr}
bl sub_0201F988
ldr r0, [r0, #4]
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02062260
thumb_func_start sub_0206226C
sub_0206226C: ; 0x0206226C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0201F988
add r4, r0, #0
ldr r0, [r4, #0xc]
bl sub_02062198
cmp r0, #1
beq _02062284
bl GF_AssertFail
_02062284:
ldr r0, [r4, #0xc]
bl sub_020621C0
mov r0, #4
add r1, r4, #0
bl FreeToHeapExplicit
add r0, r5, #0
bl sub_0200E390
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0206226C
thumb_func_start sub_0206229C
sub_0206229C: ; 0x0206229C
push {r3, r4, r5, lr}
ldr r4, _020622B4 ; =0x020FDA38
add r5, r1, #0
_020622A2:
ldr r1, [r5]
add r0, r5, #0
lsl r1, r1, #2
ldr r1, [r4, r1]
blx r1
cmp r0, #1
beq _020622A2
pop {r3, r4, r5, pc}
nop
_020622B4: .word 0x020FDA38
thumb_func_end sub_0206229C
thumb_func_start sub_020622B8
sub_020622B8: ; 0x020622B8
mov r1, #0
str r1, [r0, #8]
mov r1, #1
str r1, [r0]
add r0, r1, #0
bx lr
thumb_func_end sub_020622B8
thumb_func_start sub_020622C4
sub_020622C4: ; 0x020622C4
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0xc]
bl sub_02062108
cmp r0, #0
bne _020622D6
mov r0, #0
pop {r4, pc}
_020622D6:
mov r0, #2
str r0, [r4]
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020622C4
thumb_func_start sub_020622E0
sub_020622E0: ; 0x020622E0
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #0x10]
ldr r0, [r4, #0xc]
ldrh r1, [r1]
bl sub_0206214C
mov r0, #3
str r0, [r4]
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020622E0
thumb_func_start sub_020622F8
sub_020622F8: ; 0x020622F8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0xc]
bl sub_02062198
cmp r0, #0
bne _0206230A
mov r0, #0
pop {r4, pc}
_0206230A:
mov r0, #4
str r0, [r4]
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020622F8
thumb_func_start sub_02062314
sub_02062314: ; 0x02062314
ldr r1, [r0, #8]
ldr r3, [r0, #0x10]
add r2, r1, #1
str r2, [r0, #8]
ldrh r1, [r3, #2]
cmp r2, r1
bge _0206232A
mov r1, #1
str r1, [r0]
add r0, r1, #0
bx lr
_0206232A:
add r1, r3, #4
str r1, [r0, #0x10]
ldrh r1, [r3, #4]
cmp r1, #0xfe
beq _0206233C
mov r1, #0
str r1, [r0]
mov r0, #1
bx lr
_0206233C:
mov r1, #1
str r1, [r0, #4]
mov r1, #5
str r1, [r0]
mov r0, #0
bx lr
thumb_func_end sub_02062314
thumb_func_start sub_02062348
sub_02062348: ; 0x02062348
mov r0, #0
bx lr
thumb_func_end sub_02062348
thumb_func_start sub_0206234C
sub_0206234C: ; 0x0206234C
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r4, r1, #0
cmp r7, #4
blt _0206235A
bl GF_AssertFail
_0206235A:
ldr r3, _0206238C ; =0x020FD198
ldr r6, [r3]
cmp r6, #0
beq _02062384
mov r1, #0
_02062364:
add r2, r1, #0
add r5, r6, #0
_02062368:
ldr r0, [r5]
cmp r4, r0
bne _02062374
lsl r0, r7, #2
ldr r0, [r6, r0]
pop {r3, r4, r5, r6, r7, pc}
_02062374:
add r2, r2, #1
add r5, r5, #4
cmp r2, #4
blt _02062368
add r3, r3, #4
ldr r6, [r3]
cmp r6, #0
bne _02062364
_02062384:
bl GF_AssertFail
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0206238C: .word 0x020FD198
thumb_func_end sub_0206234C
thumb_func_start sub_02062390
sub_02062390: ; 0x02062390
push {r4, r5}
ldr r4, _020623C4 ; =0x020FD198
ldr r5, [r4]
cmp r5, #0
beq _020623BA
mov r2, #0
_0206239C:
add r3, r2, #0
_0206239E:
ldr r1, [r5]
cmp r0, r1
bne _020623AA
add r0, r3, #0
pop {r4, r5}
bx lr
_020623AA:
add r3, r3, #1
add r5, r5, #4
cmp r3, #4
blt _0206239E
add r4, r4, #4
ldr r5, [r4]
cmp r5, #0
bne _0206239C
_020623BA:
mov r0, #0
mvn r0, r0
pop {r4, r5}
bx lr
nop
_020623C4: .word 0x020FD198
thumb_func_end sub_02062390
thumb_func_start sub_020623C8
sub_020623C8: ; 0x020623C8
sub r0, #0x38
cmp r0, #3
bhi _020623D2
mov r0, #1
bx lr
_020623D2:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end sub_020623C8
thumb_func_start sub_020623D8
sub_020623D8: ; 0x020623D8
push {r4, lr}
sub sp, #0x10
ldr r3, _020623FC ; =0x020FDA28
add r2, sp, #0
add r4, r0, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
cmp r4, #4
blt _020623F2
bl GF_AssertFail
_020623F2:
lsl r1, r4, #2
add r0, sp, #0
ldr r0, [r0, r1]
add sp, #0x10
pop {r4, pc}
.balign 4, 0
_020623FC: .word 0x020FDA28
thumb_func_end sub_020623D8
thumb_func_start sub_02062400
sub_02062400: ; 0x02062400
push {r3, r4, r5, lr}
add r5, r0, #0
_02062404:
add r0, r5, #0
bl sub_0205F4D4
add r4, r0, #0
cmp r4, #0xff
beq _02062424
add r0, r5, #0
bl sub_0205F4F4
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_0206245C
cmp r0, #0
bne _02062404
_02062424:
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02062400
thumb_func_start sub_02062428
sub_02062428: ; 0x02062428
push {r4, lr}
add r4, r0, #0
bl sub_02062400
add r0, r4, #0
mov r1, #0x20
bl sub_0205F228
cmp r0, #0
bne _02062440
mov r0, #0
pop {r4, pc}
_02062440:
add r0, r4, #0
mov r1, #0x20
bl sub_0205F214
add r0, r4, #0
mov r1, #0xff
bl sub_0205F4CC
add r0, r4, #0
mov r1, #0
bl sub_0205F4DC
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02062428
thumb_func_start sub_0206245C
sub_0206245C: ; 0x0206245C
push {r3, lr}
lsl r3, r1, #2
ldr r1, _0206246C ; =0x020FD2D8
ldr r3, [r1, r3]
lsl r1, r2, #2
ldr r1, [r3, r1]
blx r1
pop {r3, pc}
.balign 4, 0
_0206246C: .word 0x020FD2D8
thumb_func_end sub_0206245C
thumb_func_start sub_02062470
sub_02062470: ; 0x02062470
push {r3, lr}
mov r1, #0x20
bl sub_0205F20C
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02062470
thumb_func_start sub_0206247C
sub_0206247C: ; 0x0206247C
push {r4, lr}
add r4, r0, #0
bl sub_0205F290
add r0, r4, #0
mov r1, #0
bl sub_0205F328
add r0, r4, #0
bl sub_02060F78
add r0, r4, #0
bl sub_0205F4E4
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0206247C
thumb_func_start sub_0206249C
sub_0206249C: ; 0x0206249C
push {r3, lr}
mov r1, #0
bl sub_0206247C
mov r0, #1
pop {r3, pc}
thumb_func_end sub_0206249C
thumb_func_start sub_020624A8
sub_020624A8: ; 0x020624A8
push {r3, lr}
mov r1, #1
bl sub_0206247C
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020624A8
thumb_func_start sub_020624B4
sub_020624B4: ; 0x020624B4
push {r3, lr}
mov r1, #2
bl sub_0206247C
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020624B4
thumb_func_start sub_020624C0
sub_020624C0: ; 0x020624C0
push {r3, lr}
mov r1, #3
bl sub_0206247C
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020624C0
thumb_func_start sub_020624CC
sub_020624CC: ; 0x020624CC
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
mov r1, #0xc
add r5, r0, #0
add r6, r2, #0
add r7, r3, #0
bl sub_0205F3C0
add r1, sp, #8
ldrh r1, [r1, #0x10]
strh r1, [r0]
strh r7, [r0, #2]
str r4, [r0, #4]
str r6, [r0, #8]
add r0, r5, #0
add r1, r4, #0
bl sub_02060F24
add r0, r5, #0
add r1, r4, #0
bl sub_0205F2BC
add r1, sp, #8
ldrh r1, [r1, #0x10]
add r0, r5, #0
bl sub_0205F328
add r0, r5, #0
mov r1, #4
bl sub_0205F20C
add r0, r5, #0
bl sub_0205F4E4
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020624CC
thumb_func_start sub_02062514
sub_02062514: ; 0x02062514
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205F3E4
add r4, r0, #0
ldr r1, [r4, #4]
ldr r2, [r4, #8]
add r0, r5, #0
bl sub_0206101C
add r0, r5, #0
bl sub_02061070
mov r0, #2
ldrsh r1, [r4, r0]
sub r1, r1, #1
strh r1, [r4, #2]
ldrsh r0, [r4, r0]
cmp r0, #0
ble _02062540
mov r0, #0
pop {r3, r4, r5, pc}
_02062540:
add r0, r5, #0
mov r1, #0x28
bl sub_0205F20C
add r0, r5, #0
bl sub_02060F78
add r0, r5, #0
bl sub_0205F484
add r0, r5, #0
mov r1, #0
bl sub_0205F328
add r0, r5, #0
bl sub_0205F4E4
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02062514
thumb_func_start sub_02062568
sub_02062568: ; 0x02062568
push {r3, lr}
mov r2, #1
str r2, [sp]
mov r1, #0
lsl r2, r2, #0xb
mov r3, #0x20
bl sub_020624CC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062568
thumb_func_start sub_0206257C
sub_0206257C: ; 0x0206257C
push {r3, lr}
mov r1, #1
lsl r2, r1, #0xb
mov r3, #0x20
str r1, [sp]
bl sub_020624CC
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0206257C
thumb_func_start sub_02062590
sub_02062590: ; 0x02062590
push {r3, lr}
mov r1, #1
str r1, [sp]
mov r1, #2
lsl r2, r1, #0xa
mov r3, #0x20
bl sub_020624CC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062590
thumb_func_start sub_020625A4
sub_020625A4: ; 0x020625A4
push {r3, lr}
mov r2, #1
str r2, [sp]
mov r1, #3
lsl r2, r2, #0xb
mov r3, #0x20
bl sub_020624CC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020625A4
thumb_func_start sub_020625B8
sub_020625B8: ; 0x020625B8
push {r3, lr}
mov r2, #2
str r2, [sp]
mov r1, #0
lsl r2, r2, #0xb
mov r3, #0x10
bl sub_020624CC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020625B8
thumb_func_start sub_020625CC
sub_020625CC: ; 0x020625CC
push {r3, lr}
mov r1, #2
str r1, [sp]
mov r1, #1
lsl r2, r1, #0xc
mov r3, #0x10
bl sub_020624CC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020625CC
thumb_func_start sub_020625E0
sub_020625E0: ; 0x020625E0
push {r3, lr}
mov r1, #2
lsl r2, r1, #0xb
mov r3, #0x10
str r1, [sp]
bl sub_020624CC
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020625E0
thumb_func_start sub_020625F4
sub_020625F4: ; 0x020625F4
push {r3, lr}
mov r2, #2
str r2, [sp]
mov r1, #3
lsl r2, r2, #0xb
mov r3, #0x10
bl sub_020624CC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020625F4
thumb_func_start sub_02062608
sub_02062608: ; 0x02062608
push {r3, lr}
mov r1, #3
mov r2, #2
str r1, [sp]
mov r1, #0
lsl r2, r2, #0xc
mov r3, #8
bl sub_020624CC
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02062608
thumb_func_start sub_02062620
sub_02062620: ; 0x02062620
push {r3, lr}
mov r1, #3
str r1, [sp]
mov r1, #1
lsl r2, r1, #0xd
mov r3, #8
bl sub_020624CC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062620
thumb_func_start sub_02062634
sub_02062634: ; 0x02062634
push {r3, lr}
mov r1, #3
str r1, [sp]
mov r1, #2
lsl r2, r1, #0xc
mov r3, #8
bl sub_020624CC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062634
thumb_func_start sub_02062648
sub_02062648: ; 0x02062648
push {r3, lr}
mov r2, #2
mov r1, #3
lsl r2, r2, #0xc
mov r3, #8
str r1, [sp]
bl sub_020624CC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062648
thumb_func_start sub_0206265C
sub_0206265C: ; 0x0206265C
push {r3, lr}
mov r3, #4
mov r1, #0
lsl r2, r3, #0xc
str r3, [sp]
bl sub_020624CC
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0206265C
thumb_func_start sub_02062670
sub_02062670: ; 0x02062670
push {r3, lr}
mov r1, #1
mov r3, #4
lsl r2, r1, #0xe
str r3, [sp]
bl sub_020624CC
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02062670
thumb_func_start sub_02062684
sub_02062684: ; 0x02062684
push {r3, lr}
mov r1, #2
mov r3, #4
lsl r2, r1, #0xd
str r3, [sp]
bl sub_020624CC
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02062684
thumb_func_start sub_02062698
sub_02062698: ; 0x02062698
push {r3, lr}
mov r3, #4
mov r1, #3
lsl r2, r3, #0xc
str r3, [sp]
bl sub_020624CC
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02062698
thumb_func_start sub_020626AC
sub_020626AC: ; 0x020626AC
push {r3, lr}
mov r1, #5
mov r2, #2
str r1, [sp]
mov r1, #0
lsl r2, r2, #0xe
mov r3, #2
bl sub_020624CC
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020626AC
thumb_func_start sub_020626C4
sub_020626C4: ; 0x020626C4
push {r3, lr}
mov r1, #5
str r1, [sp]
mov r1, #1
lsl r2, r1, #0xf
mov r3, #2
bl sub_020624CC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020626C4
thumb_func_start sub_020626D8
sub_020626D8: ; 0x020626D8
push {r3, lr}
mov r1, #5
str r1, [sp]
mov r1, #2
lsl r2, r1, #0xe
add r3, r1, #0
bl sub_020624CC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020626D8
thumb_func_start sub_020626EC
sub_020626EC: ; 0x020626EC
push {r3, lr}
mov r1, #5
mov r2, #2
str r1, [sp]
mov r1, #3
lsl r2, r2, #0xe
mov r3, #2
bl sub_020624CC
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020626EC
thumb_func_start sub_02062704
sub_02062704: ; 0x02062704
push {r3, lr}
mov r2, #1
mov r1, #0
lsl r2, r2, #0x10
mov r3, #1
str r1, [sp]
bl sub_020624CC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062704
thumb_func_start sub_02062718
sub_02062718: ; 0x02062718
push {r3, lr}
mov r1, #0
str r1, [sp]
mov r1, #1
lsl r2, r1, #0x10
add r3, r1, #0
bl sub_020624CC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062718
thumb_func_start sub_0206272C
sub_0206272C: ; 0x0206272C
push {r3, lr}
mov r1, #0
str r1, [sp]
mov r1, #2
lsl r2, r1, #0xf
mov r3, #1
bl sub_020624CC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_0206272C
thumb_func_start sub_02062740
sub_02062740: ; 0x02062740
push {r3, lr}
mov r1, #0
mov r2, #1
str r1, [sp]
mov r1, #3
lsl r2, r2, #0x10
mov r3, #1
bl sub_020624CC
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02062740
thumb_func_start sub_02062758
sub_02062758: ; 0x02062758
push {r3, lr}
mov r1, #9
mov r2, #1
str r1, [sp]
mov r1, #0
lsl r2, r2, #0xe
mov r3, #4
bl sub_020624CC
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02062758
thumb_func_start sub_02062770
sub_02062770: ; 0x02062770
push {r3, lr}
mov r1, #9
str r1, [sp]
mov r1, #1
lsl r2, r1, #0xe
mov r3, #4
bl sub_020624CC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062770
thumb_func_start sub_02062784
sub_02062784: ; 0x02062784
push {r3, lr}
mov r1, #9
str r1, [sp]
mov r1, #2
lsl r2, r1, #0xd
mov r3, #4
bl sub_020624CC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062784
thumb_func_start sub_02062798
sub_02062798: ; 0x02062798
push {r3, lr}
mov r1, #9
mov r2, #1
str r1, [sp]
mov r1, #3
lsl r2, r2, #0xe
mov r3, #4
bl sub_020624CC
mov r0, #1
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02062798
thumb_func_start sub_020627B0
sub_020627B0: ; 0x020627B0
push {r3, r4, r5, r6, r7, lr}
add r7, r1, #0
add r6, r2, #0
add r4, r3, #0
mov r1, #0xc
add r5, r0, #0
bl sub_0205F3C0
strh r4, [r0]
add r1, r6, #1
strh r1, [r0, #2]
add r0, r5, #0
add r1, r7, #0
bl sub_0205F290
add r0, r5, #0
add r1, r4, #0
bl sub_0205F328
add r0, r5, #0
bl sub_02060F78
add r0, r5, #0
bl sub_0205F4E4
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020627B0
thumb_func_start sub_020627E4
sub_020627E4: ; 0x020627E4
push {r4, lr}
add r4, r0, #0
bl sub_0205F3E4
mov r1, #2
ldrsh r2, [r0, r1]
sub r2, r2, #1
strh r2, [r0, #2]
ldrsh r0, [r0, r1]
cmp r0, #0
ble _020627FE
mov r0, #0
pop {r4, pc}
_020627FE:
add r0, r4, #0
mov r1, #0x20
bl sub_0205F20C
add r0, r4, #0
mov r1, #0
bl sub_0205F328
add r0, r4, #0
bl sub_0205F4E4
mov r0, #1
pop {r4, pc}
thumb_func_end sub_020627E4
thumb_func_start sub_02062818
sub_02062818: ; 0x02062818
push {r3, lr}
mov r1, #0
mov r2, #0x20
mov r3, #1
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062818
thumb_func_start sub_02062828
sub_02062828: ; 0x02062828
push {r3, lr}
mov r1, #1
mov r2, #0x20
add r3, r1, #0
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062828
thumb_func_start sub_02062838
sub_02062838: ; 0x02062838
push {r3, lr}
mov r1, #2
mov r2, #0x20
mov r3, #1
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062838
thumb_func_start sub_02062848
sub_02062848: ; 0x02062848
push {r3, lr}
mov r1, #3
mov r2, #0x20
mov r3, #1
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062848
thumb_func_start sub_02062858
sub_02062858: ; 0x02062858
push {r3, lr}
mov r1, #0
mov r2, #0x10
mov r3, #2
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062858
thumb_func_start sub_02062868
sub_02062868: ; 0x02062868
push {r3, lr}
mov r1, #1
mov r2, #0x10
mov r3, #2
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062868
thumb_func_start sub_02062878
sub_02062878: ; 0x02062878
push {r3, lr}
mov r1, #2
mov r2, #0x10
add r3, r1, #0
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062878
thumb_func_start sub_02062888
sub_02062888: ; 0x02062888
push {r3, lr}
mov r1, #3
mov r2, #0x10
mov r3, #2
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062888
thumb_func_start sub_02062898
sub_02062898: ; 0x02062898
push {r3, lr}
mov r1, #0
mov r2, #8
mov r3, #3
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062898
thumb_func_start sub_020628A8
sub_020628A8: ; 0x020628A8
push {r3, lr}
mov r1, #1
mov r2, #8
mov r3, #3
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020628A8
thumb_func_start sub_020628B8
sub_020628B8: ; 0x020628B8
push {r3, lr}
mov r1, #2
mov r2, #8
mov r3, #3
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020628B8
thumb_func_start sub_020628C8
sub_020628C8: ; 0x020628C8
push {r3, lr}
mov r1, #3
mov r2, #8
add r3, r1, #0
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020628C8
thumb_func_start sub_020628D8
sub_020628D8: ; 0x020628D8
push {r3, lr}
mov r2, #4
mov r1, #0
add r3, r2, #0
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020628D8
thumb_func_start sub_020628E8
sub_020628E8: ; 0x020628E8
push {r3, lr}
mov r2, #4
mov r1, #1
add r3, r2, #0
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020628E8
thumb_func_start sub_020628F8
sub_020628F8: ; 0x020628F8
push {r3, lr}
mov r2, #4
mov r1, #2
add r3, r2, #0
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020628F8
thumb_func_start sub_02062908
sub_02062908: ; 0x02062908
push {r3, lr}
mov r2, #4
mov r1, #3
add r3, r2, #0
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062908
thumb_func_start sub_02062918
sub_02062918: ; 0x02062918
push {r3, lr}
mov r1, #0
mov r2, #2
mov r3, #5
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062918
thumb_func_start sub_02062928
sub_02062928: ; 0x02062928
push {r3, lr}
mov r1, #1
mov r2, #2
mov r3, #5
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062928
thumb_func_start sub_02062938
sub_02062938: ; 0x02062938
push {r3, lr}
mov r1, #2
add r2, r1, #0
mov r3, #5
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062938
thumb_func_start sub_02062948
sub_02062948: ; 0x02062948
push {r3, lr}
mov r1, #3
mov r2, #2
mov r3, #5
bl sub_020627B0
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062948
thumb_func_start sub_02062958
sub_02062958: ; 0x02062958
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
mov r1, #0x10
add r5, r0, #0
add r6, r2, #0
add r7, r3, #0
bl sub_0205F3C0
strb r4, [r0, #0xc]
str r6, [r0]
strb r7, [r0, #0xd]
add r2, sp, #8
ldrh r1, [r2, #0x10]
strb r1, [r0, #0xe]
mov r1, #0x14
ldrsh r1, [r2, r1]
cmp r6, #0
strb r1, [r0, #0xf]
ldrh r1, [r2, #0x18]
strh r1, [r0, #8]
bne _0206298A
add r0, r5, #0
bl sub_02060F78
b _02062992
_0206298A:
add r0, r5, #0
add r1, r4, #0
bl sub_02060F24
_02062992:
ldr r1, _020629C4 ; =0x00010004
add r0, r5, #0
bl sub_0205F20C
add r0, r5, #0
add r1, r4, #0
bl sub_0205F2BC
add r1, sp, #8
ldrh r1, [r1, #0x10]
add r0, r5, #0
bl sub_0205F328
add r0, r5, #0
bl sub_0205F4E4
add r0, r5, #0
bl sub_0205F684
cmp r0, #0
bne _020629C2
ldr r0, _020629C8 ; =0x0000060A
bl PlaySE
_020629C2:
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020629C4: .word 0x00010004
_020629C8: .word 0x0000060A
thumb_func_end sub_02062958
thumb_func_start sub_020629CC
sub_020629CC: ; 0x020629CC
push {r3, r4, r5, lr}
sub sp, #0x18
add r5, r0, #0
bl sub_0205F3E4
add r4, r0, #0
ldr r2, [r4]
cmp r2, #0
beq _02062A1C
mov r1, #0xc
ldrsb r1, [r4, r1]
add r0, r5, #0
bl sub_0206101C
add r0, r5, #0
bl sub_02061070
mov r0, #1
ldr r1, [r4, #4]
lsl r0, r0, #0x10
cmp r1, r0
blt _02062A0E
mov r0, #0
str r0, [r4, #4]
mov r1, #0xc
ldrsb r1, [r4, r1]
add r0, r5, #0
bl sub_02060F24
add r0, r5, #0
mov r1, #4
bl sub_0205F20C
_02062A0E:
ldr r1, [r4]
cmp r1, #0
bge _02062A16
neg r1, r1
_02062A16:
ldr r0, [r4, #4]
add r0, r0, r1
str r0, [r4, #4]
_02062A1C:
ldrh r1, [r4, #0xa]
ldrh r0, [r4, #8]
add r0, r1, r0
strh r0, [r4, #0xa]
mov r0, #0xf
ldrh r1, [r4, #0xa]
lsl r0, r0, #8
cmp r1, r0
bls _02062A30
strh r0, [r4, #0xa]
_02062A30:
mov r1, #0xf
ldrsb r1, [r4, r1]
ldrh r0, [r4, #0xa]
lsl r2, r1, #2
ldr r1, _02062AB0 ; =0x0210FACC
lsr r0, r0, #8
lsl r0, r0, #0x10
ldr r2, [r1, r2]
mov r1, #0
str r1, [sp, #0xc]
lsr r0, r0, #0xe
ldr r0, [r2, r0]
str r0, [sp, #0x10]
str r1, [sp, #0x14]
add r0, r5, #0
add r1, sp, #0xc
bl sub_0205F97C
mov r0, #0xd
ldrsb r1, [r4, r0]
sub r1, r1, #1
strb r1, [r4, #0xd]
ldrsb r0, [r4, r0]
cmp r0, #0
ble _02062A68
add sp, #0x18
mov r0, #0
pop {r3, r4, r5, pc}
_02062A68:
add r1, sp, #0
mov r0, #0
str r0, [r1]
str r0, [r1, #4]
str r0, [r1, #8]
add r0, r5, #0
bl sub_0205F97C
ldr r1, _02062AB4 ; =0x00020028
add r0, r5, #0
bl sub_0205F20C
add r0, r5, #0
bl sub_02060F78
add r0, r5, #0
bl sub_0205F484
add r0, r5, #0
mov r1, #0
bl sub_0205F328
add r0, r5, #0
bl sub_0205F4E4
add r0, r5, #0
bl sub_0205F684
cmp r0, #0
bne _02062AAA
ldr r0, _02062AB8 ; =0x00000646
bl PlaySE
_02062AAA:
mov r0, #1
add sp, #0x18
pop {r3, r4, r5, pc}
.balign 4, 0
_02062AB0: .word 0x0210FACC
_02062AB4: .word 0x00020028
_02062AB8: .word 0x00000646
thumb_func_end sub_020629CC
thumb_func_start sub_02062ABC
sub_02062ABC: ; 0x02062ABC
push {lr}
sub sp, #0xc
mov r2, #2
str r2, [sp]
mov r1, #0
str r1, [sp, #4]
add r2, #0xfe
str r2, [sp, #8]
add r2, r1, #0
mov r3, #0x10
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_02062ABC
thumb_func_start sub_02062ADC
sub_02062ADC: ; 0x02062ADC
push {lr}
sub sp, #0xc
mov r1, #2
str r1, [sp]
mov r2, #0
str r2, [sp, #4]
add r1, #0xfe
str r1, [sp, #8]
mov r1, #1
mov r3, #0x10
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_02062ADC
thumb_func_start sub_02062AFC
sub_02062AFC: ; 0x02062AFC
push {lr}
sub sp, #0xc
mov r1, #2
add r3, r1, #0
str r1, [sp]
mov r2, #0
str r2, [sp, #4]
add r3, #0xfe
str r3, [sp, #8]
mov r3, #0x10
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_02062AFC
thumb_func_start sub_02062B1C
sub_02062B1C: ; 0x02062B1C
push {lr}
sub sp, #0xc
mov r1, #2
str r1, [sp]
mov r2, #0
str r2, [sp, #4]
add r1, #0xfe
str r1, [sp, #8]
mov r1, #3
mov r3, #0x10
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_02062B1C
thumb_func_start sub_02062B3C
sub_02062B3C: ; 0x02062B3C
push {lr}
sub sp, #0xc
mov r1, #3
str r1, [sp]
mov r1, #0
mov r2, #2
str r1, [sp, #4]
lsl r2, r2, #8
str r2, [sp, #8]
add r2, r1, #0
mov r3, #8
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02062B3C
thumb_func_start sub_02062B5C
sub_02062B5C: ; 0x02062B5C
push {lr}
sub sp, #0xc
mov r1, #3
str r1, [sp]
mov r2, #0
mov r1, #2
str r2, [sp, #4]
lsl r1, r1, #8
str r1, [sp, #8]
mov r1, #1
mov r3, #8
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02062B5C
thumb_func_start sub_02062B7C
sub_02062B7C: ; 0x02062B7C
push {lr}
sub sp, #0xc
mov r1, #3
str r1, [sp]
mov r2, #0
mov r1, #2
str r2, [sp, #4]
lsl r1, r1, #8
str r1, [sp, #8]
mov r1, #2
mov r3, #8
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02062B7C
thumb_func_start sub_02062B9C
sub_02062B9C: ; 0x02062B9C
push {lr}
sub sp, #0xc
mov r1, #3
mov r3, #2
str r1, [sp]
mov r2, #0
str r2, [sp, #4]
lsl r3, r3, #8
str r3, [sp, #8]
mov r3, #8
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_02062B9C
thumb_func_start sub_02062BBC
sub_02062BBC: ; 0x02062BBC
push {lr}
sub sp, #0xc
mov r1, #3
str r1, [sp]
mov r1, #0
mov r2, #2
str r1, [sp, #4]
lsl r2, r2, #8
str r2, [sp, #8]
lsl r2, r2, #4
mov r3, #8
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02062BBC
thumb_func_start sub_02062BDC
sub_02062BDC: ; 0x02062BDC
push {lr}
sub sp, #0xc
mov r1, #3
str r1, [sp]
mov r1, #0
str r1, [sp, #4]
mov r1, #2
lsl r1, r1, #8
str r1, [sp, #8]
mov r1, #1
lsl r2, r1, #0xd
mov r3, #8
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_02062BDC
thumb_func_start sub_02062C00
sub_02062C00: ; 0x02062C00
push {lr}
sub sp, #0xc
mov r1, #3
str r1, [sp]
mov r1, #0
str r1, [sp, #4]
mov r1, #2
lsl r1, r1, #8
str r1, [sp, #8]
mov r1, #2
lsl r2, r1, #0xc
mov r3, #8
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_02062C00
thumb_func_start sub_02062C24
sub_02062C24: ; 0x02062C24
push {lr}
sub sp, #0xc
mov r1, #3
str r1, [sp]
mov r2, #0
str r2, [sp, #4]
mov r2, #2
lsl r2, r2, #8
str r2, [sp, #8]
lsl r2, r2, #4
mov r3, #8
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02062C24
thumb_func_start sub_02062C44
sub_02062C44: ; 0x02062C44
push {lr}
sub sp, #0xc
mov r2, #3
str r2, [sp]
mov r1, #0
str r1, [sp, #4]
add r2, #0xfd
str r2, [sp, #8]
mov r2, #2
lsl r2, r2, #0xc
mov r3, #0x10
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02062C44
thumb_func_start sub_02062C64
sub_02062C64: ; 0x02062C64
push {lr}
sub sp, #0xc
mov r2, #3
str r2, [sp]
mov r1, #0
str r1, [sp, #4]
add r2, #0xfd
mov r1, #1
str r2, [sp, #8]
lsl r2, r1, #0xd
mov r3, #0x10
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02062C64
thumb_func_start sub_02062C84
sub_02062C84: ; 0x02062C84
push {lr}
sub sp, #0xc
mov r2, #3
str r2, [sp]
mov r1, #0
str r1, [sp, #4]
add r2, #0xfd
mov r1, #2
str r2, [sp, #8]
lsl r2, r1, #0xc
mov r3, #0x10
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02062C84
thumb_func_start sub_02062CA4
sub_02062CA4: ; 0x02062CA4
push {lr}
sub sp, #0xc
mov r1, #3
str r1, [sp]
mov r2, #0
str r2, [sp, #4]
add r2, r1, #0
add r2, #0xfd
str r2, [sp, #8]
mov r2, #2
lsl r2, r2, #0xc
mov r3, #0x10
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_02062CA4
thumb_func_start sub_02062CC8
sub_02062CC8: ; 0x02062CC8
push {lr}
sub sp, #0xc
mov r1, #0xa
str r1, [sp]
mov r1, #0
str r1, [sp, #4]
mov r1, #0xf0
str r1, [sp, #8]
mov r1, #2
lsl r2, r1, #0xb
mov r3, #0x10
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02062CC8
thumb_func_start sub_02062CE8
sub_02062CE8: ; 0x02062CE8
push {lr}
sub sp, #0xc
mov r1, #0xa
str r1, [sp]
mov r1, #0
str r1, [sp, #4]
mov r1, #0xf0
mov r2, #1
str r1, [sp, #8]
mov r1, #3
lsl r2, r2, #0xc
mov r3, #0x10
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_02062CE8
thumb_func_start sub_02062D0C
sub_02062D0C: ; 0x02062D0C
push {lr}
sub sp, #0xc
mov r1, #0xb
str r1, [sp]
mov r1, #0
str r1, [sp, #4]
mov r1, #5
lsl r1, r1, #6
str r1, [sp, #8]
mov r1, #2
lsl r2, r1, #0xd
mov r3, #0xc
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_02062D0C
thumb_func_start sub_02062D30
sub_02062D30: ; 0x02062D30
push {lr}
sub sp, #0xc
mov r1, #0xb
str r1, [sp]
mov r1, #0
str r1, [sp, #4]
mov r1, #5
lsl r1, r1, #6
mov r2, #1
str r1, [sp, #8]
mov r1, #3
lsl r2, r2, #0xe
mov r3, #0xc
bl sub_02062958
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02062D30
thumb_func_start sub_02062D54
sub_02062D54: ; 0x02062D54
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
mov r1, #4
bl sub_0205F3C0
str r4, [r0]
add r0, r5, #0
bl sub_0205F4E4
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02062D54
thumb_func_start sub_02062D6C
sub_02062D6C: ; 0x02062D6C
push {r4, lr}
add r4, r0, #0
bl sub_0205F3E4
ldr r1, [r0]
cmp r1, #0
beq _02062D82
sub r1, r1, #1
str r1, [r0]
mov r0, #0
pop {r4, pc}
_02062D82:
add r0, r4, #0
bl sub_0205F4E4
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02062D6C
thumb_func_start sub_02062D8C
sub_02062D8C: ; 0x02062D8C
push {r3, lr}
mov r1, #1
bl sub_02062D54
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062D8C
thumb_func_start sub_02062D98
sub_02062D98: ; 0x02062D98
push {r3, lr}
mov r1, #2
bl sub_02062D54
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062D98
thumb_func_start sub_02062DA4
sub_02062DA4: ; 0x02062DA4
push {r3, lr}
mov r1, #4
bl sub_02062D54
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062DA4
thumb_func_start sub_02062DB0
sub_02062DB0: ; 0x02062DB0
push {r3, lr}
mov r1, #8
bl sub_02062D54
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062DB0
thumb_func_start sub_02062DBC
sub_02062DBC: ; 0x02062DBC
push {r3, lr}
mov r1, #0xf
bl sub_02062D54
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062DBC
thumb_func_start sub_02062DC8
sub_02062DC8: ; 0x02062DC8
push {r3, lr}
mov r1, #0x10
bl sub_02062D54
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062DC8
thumb_func_start sub_02062DD4
sub_02062DD4: ; 0x02062DD4
push {r3, lr}
mov r1, #0x20
bl sub_02062D54
mov r0, #1
pop {r3, pc}
thumb_func_end sub_02062DD4
thumb_func_start sub_02062DE0
sub_02062DE0: ; 0x02062DE0
push {r4, lr}
mov r1, #8
add r4, r0, #0
bl sub_0205F3C0
mov r1, #1
lsl r1, r1, #0x10
str r1, [r0, #4]
add r0, r4, #0
mov r1, #0
bl sub_0205F328
add r0, r4, #0
bl sub_0205F4E4
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02062DE0
thumb_func_start sub_02062E04
sub_02062E04: ; 0x02062E04
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
bl sub_0205F3E4
add r4, r0, #0
ldr r1, [r4]
ldr r0, [r4, #4]
add r0, r1, r0
str r0, [r4]
add r1, sp, #0
mov r0, #0
str r0, [r1]
str r0, [r1, #4]
str r0, [r1, #8]
ldr r0, [r4]
str r0, [sp, #4]
add r0, r5, #0
bl sub_0205F97C
ldr r1, [r4]
asr r0, r1, #0xe
lsr r0, r0, #0x11
add r0, r1, r0
asr r0, r0, #0xf
cmp r0, #0x28
bge _02062E40
add sp, #0xc
mov r0, #0
pop {r4, r5, pc}
_02062E40:
add r0, r5, #0
bl sub_0205F4E4
mov r0, #1
add sp, #0xc
pop {r4, r5, pc}
thumb_func_end sub_02062E04
thumb_func_start sub_02062E4C
sub_02062E4C: ; 0x02062E4C
push {r4, lr}
mov r1, #8
add r4, r0, #0
bl sub_0205F3C0
mov r1, #5
lsl r1, r1, #0x12
str r1, [r0]
ldr r1, _02062E74 ; =0xFFFF0000
str r1, [r0, #4]
add r0, r4, #0
mov r1, #0
bl sub_0205F328
add r0, r4, #0
bl sub_0205F4E4
mov r0, #1
pop {r4, pc}
nop
_02062E74: .word 0xFFFF0000
thumb_func_end sub_02062E4C
thumb_func_start sub_02062E78
sub_02062E78: ; 0x02062E78
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
bl sub_0205F3E4
add r4, r0, #0
ldr r1, [r4]
ldr r0, [r4, #4]
add r0, r1, r0
str r0, [r4]
bpl _02062E92
mov r0, #0
str r0, [r4]
_02062E92:
add r1, sp, #0
mov r0, #0
str r0, [r1]
str r0, [r1, #4]
str r0, [r1, #8]
ldr r0, [r4]
str r0, [sp, #4]
add r0, r5, #0
bl sub_0205F97C
ldr r0, [r4]
cmp r0, #0
ble _02062EB2
add sp, #0xc
mov r0, #0
pop {r4, r5, pc}
_02062EB2:
add r0, r5, #0
bl sub_0205F4E4
mov r0, #1
add sp, #0xc
pop {r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02062E78
thumb_func_start sub_02062EC0
sub_02062EC0: ; 0x02062EC0
push {r4, lr}
mov r1, #2
add r4, r0, #0
lsl r1, r1, #8
bl sub_0205F20C
add r0, r4, #0
bl sub_0205F4E4
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02062EC0
thumb_func_start sub_02062ED8
sub_02062ED8: ; 0x02062ED8
push {r4, lr}
mov r1, #2
add r4, r0, #0
lsl r1, r1, #8
bl sub_0205F214
add r0, r4, #0
bl sub_0205F4E4
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02062ED8
thumb_func_start sub_02062EF0
sub_02062EF0: ; 0x02062EF0
push {r4, lr}
add r4, r0, #0
mov r1, #0x80
bl sub_0205F20C
add r0, r4, #0
bl sub_0205F4E4
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02062EF0
thumb_func_start sub_02062F04
sub_02062F04: ; 0x02062F04
push {r4, lr}
add r4, r0, #0
mov r1, #0x80
bl sub_0205F214
add r0, r4, #0
bl sub_0205F4E4
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02062F04
thumb_func_start sub_02062F18
sub_02062F18: ; 0x02062F18
push {r4, lr}
mov r1, #1
add r4, r0, #0
lsl r1, r1, #8
bl sub_0205F20C
add r0, r4, #0
bl sub_0205F4E4
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02062F18
thumb_func_start sub_02062F30
sub_02062F30: ; 0x02062F30
push {r4, lr}
mov r1, #1
add r4, r0, #0
lsl r1, r1, #8
bl sub_0205F214
add r0, r4, #0
bl sub_0205F4E4
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02062F30
thumb_func_start sub_02062F48
sub_02062F48: ; 0x02062F48
push {r4, r5, r6, lr}
add r6, r1, #0
mov r1, #8
add r5, r0, #0
bl sub_0205F3C0
add r4, r0, #0
str r6, [r4]
add r0, r5, #0
add r1, r6, #0
mov r2, #1
bl ov01_02200540
str r0, [r4, #4]
add r0, r5, #0
bl sub_0205F4E4
pop {r4, r5, r6, pc}
thumb_func_end sub_02062F48
thumb_func_start sub_02062F6C
sub_02062F6C: ; 0x02062F6C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205F3E4
add r4, r0, #0
ldr r0, [r4, #4]
bl ov01_022003F4
cmp r0, #1
bne _02062F90
ldr r0, [r4, #4]
bl sub_02068B48
add r0, r5, #0
bl sub_0205F4E4
mov r0, #1
pop {r3, r4, r5, pc}
_02062F90:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02062F6C
thumb_func_start sub_02062F94
sub_02062F94: ; 0x02062F94
push {r3, lr}
mov r1, #0
bl sub_02062F48
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02062F94
thumb_func_start sub_02062FA0
sub_02062FA0: ; 0x02062FA0
push {r3, lr}
mov r1, #1
bl sub_02062F48
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02062FA0
thumb_func_start sub_02062FAC
sub_02062FAC: ; 0x02062FAC
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
mov r1, #8
add r5, r0, #0
add r7, r2, #0
add r6, r3, #0
bl sub_0205F3C0
strh r4, [r0]
strh r6, [r0, #2]
strh r7, [r0, #4]
add r0, r5, #0
add r1, r4, #0
bl sub_02060F24
add r0, r5, #0
add r1, r4, #0
bl sub_0205F2BC
add r0, r5, #0
add r1, r6, #0
bl sub_0205F328
add r0, r5, #0
mov r1, #4
bl sub_0205F20C
add r0, r5, #0
bl sub_0205F4E4
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02062FAC
thumb_func_start sub_02062FEC
sub_02062FEC: ; 0x02062FEC
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r1, #0
bl sub_0205F3E4
add r4, r0, #0
mov r2, #6
ldrsh r2, [r4, r2]
mov r1, #0
ldrsh r1, [r4, r1]
lsl r2, r2, #2
ldr r2, [r6, r2]
add r0, r5, #0
bl sub_0206101C
add r0, r5, #0
bl sub_02061070
mov r0, #6
ldrsh r1, [r4, r0]
add r1, r1, #1
strh r1, [r4, #6]
ldrsh r1, [r4, r0]
mov r0, #4
ldrsh r0, [r4, r0]
cmp r1, r0
bge _02063026
mov r0, #0
pop {r4, r5, r6, pc}
_02063026:
add r0, r5, #0
mov r1, #0x28
bl sub_0205F20C
add r0, r5, #0
bl sub_02060F78
add r0, r5, #0
bl sub_0205F484
add r0, r5, #0
mov r1, #0
bl sub_0205F328
add r0, r5, #0
bl sub_0205F4E4
mov r0, #1
pop {r4, r5, r6, pc}
thumb_func_end sub_02062FEC
thumb_func_start sub_0206304C
sub_0206304C: ; 0x0206304C
push {r3, lr}
mov r2, #6
mov r1, #0
add r3, r2, #0
bl sub_02062FAC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_0206304C
thumb_func_start sub_0206305C
sub_0206305C: ; 0x0206305C
push {r3, lr}
mov r2, #6
mov r1, #1
add r3, r2, #0
bl sub_02062FAC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_0206305C
thumb_func_start sub_0206306C
sub_0206306C: ; 0x0206306C
push {r3, lr}
mov r2, #6
mov r1, #2
add r3, r2, #0
bl sub_02062FAC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_0206306C
thumb_func_start sub_0206307C
sub_0206307C: ; 0x0206307C
push {r3, lr}
mov r2, #6
mov r1, #3
add r3, r2, #0
bl sub_02062FAC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_0206307C
thumb_func_start sub_0206308C
sub_0206308C: ; 0x0206308C
push {r3, lr}
ldr r1, _020630A0 ; =0x020FDA50
bl sub_02062FEC
cmp r0, #1
bne _0206309C
mov r0, #1
pop {r3, pc}
_0206309C:
mov r0, #0
pop {r3, pc}
.balign 4, 0
_020630A0: .word 0x020FDA50
thumb_func_end sub_0206308C
thumb_func_start sub_020630A4
sub_020630A4: ; 0x020630A4
push {r3, lr}
mov r1, #0
mov r2, #3
mov r3, #7
bl sub_02062FAC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020630A4
thumb_func_start sub_020630B4
sub_020630B4: ; 0x020630B4
push {r3, lr}
mov r1, #1
mov r2, #3
mov r3, #7
bl sub_02062FAC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020630B4
thumb_func_start sub_020630C4
sub_020630C4: ; 0x020630C4
push {r3, lr}
mov r1, #2
mov r2, #3
mov r3, #7
bl sub_02062FAC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020630C4
thumb_func_start sub_020630D4
sub_020630D4: ; 0x020630D4
push {r3, lr}
mov r1, #3
add r2, r1, #0
mov r3, #7
bl sub_02062FAC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020630D4
thumb_func_start sub_020630E4
sub_020630E4: ; 0x020630E4
push {r3, lr}
ldr r1, _020630F8 ; =0x020FDA1C
bl sub_02062FEC
cmp r0, #1
bne _020630F4
mov r0, #1
pop {r3, pc}
_020630F4:
mov r0, #0
pop {r3, pc}
.balign 4, 0
_020630F8: .word 0x020FDA1C
thumb_func_end sub_020630E4
thumb_func_start sub_020630FC
sub_020630FC: ; 0x020630FC
push {r3, lr}
mov r1, #0
mov r2, #7
mov r3, #8
bl sub_02062FAC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_020630FC
thumb_func_start sub_0206310C
sub_0206310C: ; 0x0206310C
push {r3, lr}
mov r1, #1
mov r2, #7
mov r3, #8
bl sub_02062FAC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_0206310C
thumb_func_start sub_0206311C
sub_0206311C: ; 0x0206311C
push {r3, lr}
mov r1, #2
mov r2, #7
mov r3, #8
bl sub_02062FAC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_0206311C
thumb_func_start sub_0206312C
sub_0206312C: ; 0x0206312C
push {r3, lr}
mov r1, #3
mov r2, #7
mov r3, #8
bl sub_02062FAC
mov r0, #1
pop {r3, pc}
thumb_func_end sub_0206312C
thumb_func_start sub_0206313C
sub_0206313C: ; 0x0206313C
push {r3, lr}
ldr r1, _02063150 ; =0x020FDA68
bl sub_02062FEC
cmp r0, #1
bne _0206314C
mov r0, #1
pop {r3, pc}
_0206314C:
mov r0, #0
pop {r3, pc}
.balign 4, 0
_02063150: .word 0x020FDA68
thumb_func_end sub_0206313C
thumb_func_start sub_02063154
sub_02063154: ; 0x02063154
push {r4, lr}
add r4, r0, #0
mov r1, #4
bl sub_0205F3C0
add r0, r4, #0
mov r1, #9
bl sub_0205F328
add r0, r4, #0
bl sub_0205F4E4
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02063154
thumb_func_start sub_02063170
sub_02063170: ; 0x02063170
push {r4, lr}
add r4, r0, #0
bl sub_0205F3E4
ldr r1, [r0]
add r1, r1, #1
str r1, [r0]
cmp r1, #8
blt _02063198
add r0, r4, #0
mov r1, #1
bl sub_0205F290
add r0, r4, #0
mov r1, #0
bl sub_0205F328
add r0, r4, #0
bl sub_0205F4E4
_02063198:
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02063170
thumb_func_start sub_0206319C
sub_0206319C: ; 0x0206319C
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
mov r1, #4
bl sub_0205F3C0
add r0, r4, #0
bl sub_0206642C
cmp r0, #0
beq _020631B6
bl sub_02068B48
_020631B6:
add r1, sp, #0
mov r0, #0
str r0, [r1]
str r0, [r1, #4]
str r0, [r1, #8]
add r0, r4, #0
bl sub_0205F97C
add r0, r4, #0
bl ov01_022000DC
ldr r1, _020631EC ; =0x00010004
add r0, r4, #0
bl sub_0205F20C
mov r1, #1
add r0, r4, #0
lsl r1, r1, #0x14
bl sub_0205F214
add r0, r4, #0
bl sub_0205F4E4
mov r0, #0
add sp, #0xc
pop {r3, r4, pc}
nop
_020631EC: .word 0x00010004
thumb_func_end sub_0206319C
thumb_func_start sub_020631F0
sub_020631F0: ; 0x020631F0
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
bl sub_0205F3E4
add r4, r0, #0
ldr r0, _02063250 ; =0x0210FACC
add r1, sp, #0
ldr r2, [r0]
mov r0, #0
str r0, [r1]
str r0, [r1, #4]
str r0, [r1, #8]
ldr r0, [r4]
lsl r0, r0, #2
ldr r0, [r2, r0]
str r0, [sp, #4]
add r0, r5, #0
bl sub_0205F97C
ldr r0, [r4]
add r0, r0, #2
str r0, [r4]
cmp r0, #0x10
bhs _02063228
add sp, #0xc
mov r0, #0
pop {r4, r5, pc}
_02063228:
mov r0, #0
str r0, [sp, #4]
add r0, r5, #0
add r1, sp, #0
bl sub_0205F97C
ldr r1, _02063254 ; =0x00020028
add r0, r5, #0
bl sub_0205F20C
add r0, r5, #0
bl sub_02066438
add r0, r5, #0
bl sub_0205F4E4
mov r0, #1
add sp, #0xc
pop {r4, r5, pc}
nop
_02063250: .word 0x0210FACC
_02063254: .word 0x00020028
thumb_func_end sub_020631F0
thumb_func_start sub_02063258
sub_02063258: ; 0x02063258
push {r4, lr}
add r4, r0, #0
mov r1, #4
bl sub_0205F3C0
add r0, r4, #0
mov r1, #0
bl sub_0205F328
add r0, r4, #0
bl sub_0205F4E4
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02063258
thumb_func_start sub_02063274
sub_02063274: ; 0x02063274
push {r4, lr}
add r4, r0, #0
mov r1, #4
bl sub_0205F3C0
add r0, r4, #0
mov r1, #1
bl sub_0205F328
add r0, r4, #0
bl sub_0205F4E4
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02063274
thumb_func_start sub_02063290
sub_02063290: ; 0x02063290
push {r4, lr}
add r4, r0, #0
bl sub_0205F3E4
ldr r1, [r0]
add r1, r1, #1
str r1, [r0]
cmp r1, #0x15
bhs _020632A6
mov r0, #0
pop {r4, pc}
_020632A6:
add r0, r4, #0
bl sub_0205F4E4
mov r0, #1
pop {r4, pc}
thumb_func_end sub_02063290
thumb_func_start sub_020632B0
sub_020632B0: ; 0x020632B0
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r6, r1, #0
str r3, [sp, #4]
mov r1, #0xc
str r0, [sp]
add r7, r2, #0
ldr r5, [sp, #0x24]
bl sub_0205F3C0
add r4, r0, #0
mov r0, #0xb
mov r1, #0x1c
bl AllocFromHeapAtEnd
mov r1, #0
mov r2, #0x1c
str r0, [r4, #8]
bl MIi_CpuFill8
mov r0, #0x10
add r1, sp, #0x10
ldrsb r0, [r1, r0]
cmp r5, #0
strb r0, [r4]
strb r5, [r4, #1]
ldrh r0, [r1, #0x18]
strb r0, [r4, #3]
ble _020632FC
lsl r0, r5, #0xc
bl _itof
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _0206330A
_020632FC:
lsl r0, r5, #0xc
bl _itof
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_0206330A:
bl _ftoi
str r0, [sp, #8]
ldr r0, [r4, #8]
strb r6, [r0, #1]
ldr r0, [r4, #8]
strb r7, [r0, #2]
ldr r1, [r4, #8]
ldr r0, [sp, #4]
strb r0, [r1, #3]
lsl r0, r6, #4
cmp r0, #0
ble _02063336
lsl r0, r6, #0x10
bl _itof
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _02063344
_02063336:
lsl r0, r6, #0x10
bl _itof
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_02063344:
bl _ftoi
ldr r1, [sp, #8]
bl FX_Div
ldr r1, [r4, #8]
str r0, [r1, #4]
lsl r0, r7, #4
cmp r0, #0
ble _0206336A
lsl r0, r7, #0x10
bl _itof
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _02063378
_0206336A:
lsl r0, r7, #0x10
bl _itof
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_02063378:
bl _ftoi
ldr r1, [sp, #8]
bl FX_Div
ldr r1, [r4, #8]
str r0, [r1, #8]
ldr r0, [sp, #4]
lsl r0, r0, #4
cmp r0, #0
ble _020633A2
ldr r0, [sp, #4]
lsl r0, r0, #0x10
bl _itof
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _020633B2
_020633A2:
ldr r0, [sp, #4]
lsl r0, r0, #0x10
bl _itof
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_020633B2:
bl _ftoi
ldr r1, [sp, #8]
bl FX_Div
ldr r1, [r4, #8]
str r0, [r1, #0xc]
mov r0, #0xb4
add r1, r5, #0
bl _s32_div_f
ldr r1, [r4, #8]
strb r0, [r1]
ldr r1, [r4, #8]
ldr r0, [sp]
add r1, #0x10
bl sub_0205F944
ldr r0, [r4, #8]
ldr r0, [r0, #0x14]
str r0, [r4, #4]
ldr r0, [sp]
bl sub_02060F78
ldr r0, [sp]
ldr r1, _0206341C ; =0x00010004
bl sub_0205F20C
add r2, sp, #0x10
mov r1, #0x10
ldrsb r1, [r2, r1]
ldr r0, [sp]
bl sub_0205F2BC
add r1, sp, #0x10
ldrh r1, [r1, #0x18]
ldr r0, [sp]
bl sub_0205F328
ldr r0, [sp]
bl sub_0205F4E4
ldr r0, [sp]
bl sub_0205F684
cmp r0, #0
bne _02063416
ldr r0, _02063420 ; =0x0000060A
bl PlaySE
_02063416:
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
_0206341C: .word 0x00010004
_02063420: .word 0x0000060A
thumb_func_end sub_020632B0
thumb_func_start sub_02063424
sub_02063424: ; 0x02063424
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
bl sub_0205F3E4
add r4, r0, #0
ldrb r0, [r4, #2]
cmp r0, #0
beq _02063448
lsl r0, r0, #0xc
bl _itof
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _02063456
_02063448:
lsl r0, r0, #0xc
bl _itof
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_02063456:
bl _ftoi
str r0, [sp]
asr r0, r0, #0x1f
str r0, [sp, #4]
ldr r6, [r4, #8]
ldr r2, [sp]
ldr r0, [r6, #4]
ldr r3, [sp, #4]
asr r1, r0, #0x1f
bl _ll_mul
ldr r3, [r6, #0x10]
mov r6, #2
mov r2, #0
lsl r6, r6, #0xa
add r6, r0, r6
adc r1, r2
lsl r0, r1, #0x14
lsr r1, r6, #0xc
orr r1, r0
add r0, r3, r1
str r2, [sp, #0xc]
str r0, [sp, #8]
ldr r6, [r4, #8]
ldr r2, [sp]
ldr r0, [r6, #0xc]
ldr r3, [sp, #4]
asr r1, r0, #0x1f
bl _ll_mul
mov r3, #2
ldr r2, [r6, #0x18]
mov r6, #0
lsl r3, r3, #0xa
add r3, r0, r3
adc r1, r6
lsl r0, r1, #0x14
lsr r1, r3, #0xc
orr r1, r0
add r0, r2, r1
str r0, [sp, #0x10]
add r0, r5, #0
bl sub_0205F52C
add r6, r0, #0
add r0, r5, #0
bl sub_0205F8B8
add r2, r0, #0
add r0, r6, #0
add r1, sp, #8
bl sub_02061248
cmp r0, #0
beq _020634CC
ldr r0, [sp, #0xc]
str r0, [r4, #4]
b _020634D0
_020634CC:
ldr r0, [r4, #4]
str r0, [sp, #0xc]
_020634D0:
add r0, r5, #0
add r1, sp, #8
bl sub_0205F954
ldr r0, [r4, #8]
ldrb r1, [r0]
ldrb r0, [r4, #2]
mul r0, r1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_0201FBB8
ldr r7, [r4, #8]
add r6, r0, #0
ldr r0, [r7, #8]
ldr r2, [sp]
ldr r3, [sp, #4]
asr r1, r0, #0x1f
bl _ll_mul
add r2, r0, #0
ldr r0, [r7, #0x14]
mov r3, #0
mov r7, #2
lsl r7, r7, #0xa
add r2, r2, r7
adc r1, r3
lsl r1, r1, #0x14
lsr r2, r2, #0xc
orr r2, r1
add r0, r0, r2
asr r2, r6, #0x1f
lsr r1, r6, #0x10
lsl r2, r2, #0x10
orr r2, r1
lsl r1, r6, #0x10
add r6, r1, r7
adc r2, r3
lsl r1, r2, #0x14
lsr r2, r6, #0xc
orr r2, r1
add r1, r0, r2
ldr r0, [sp, #0xc]
str r3, [sp, #8]
sub r0, r1, r0
str r0, [sp, #0xc]
add r0, r5, #0
add r1, sp, #8
str r3, [sp, #0x10]
bl sub_0205F9A0
mov r0, #1
ldrsb r1, [r4, r0]
sub r1, r1, #1
strb r1, [r4, #1]
ldrb r1, [r4, #2]
add r1, r1, #1
strb r1, [r4, #2]
ldrsb r0, [r4, r0]
cmp r0, #0
ble _02063550
add sp, #0x14
mov r0, #0
pop {r4, r5, r6, r7, pc}
_02063550:
mov r0, #0
str r0, [sp, #0x10]
str r0, [sp, #0xc]
str r0, [sp, #8]
add r0, r5, #0
add r1, sp, #8
bl sub_0205F97C
add r0, r5, #0
add r1, sp, #8
bl sub_0205F9A0
ldr r2, [r4, #8]
mov r1, #1
ldrsb r1, [r2, r1]
add r0, r5, #0
bl sub_0205F91C
ldr r2, [r4, #8]
mov r1, #2
ldrsb r1, [r2, r1]
add r0, r5, #0
bl sub_0205F92C
ldr r2, [r4, #8]
mov r1, #3
ldrsb r1, [r2, r1]
add r0, r5, #0
bl sub_0205F93C
ldr r6, [r4, #8]
mov r0, #1
ldrsb r1, [r6, r0]
lsl r0, r1, #4
cmp r0, #0
ble _020635AA
lsl r0, r1, #0x10
bl _itof
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _020635B8
_020635AA:
lsl r0, r1, #0x10
bl _itof
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_020635B8:
bl _ftoi
ldr r1, [r6, #0x10]
add r0, r1, r0
str r0, [sp, #8]
ldr r6, [r4, #8]
mov r0, #2
ldrsb r1, [r6, r0]
lsl r0, r1, #4
cmp r0, #0
ble _020635E0
lsl r0, r1, #0x10
bl _itof
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _020635EE
_020635E0:
lsl r0, r1, #0x10
bl _itof
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_020635EE:
bl _ftoi
ldr r1, [r6, #0x14]
add r0, r1, r0
str r0, [sp, #0xc]
ldr r6, [r4, #8]
mov r0, #3
ldrsb r1, [r6, r0]
lsl r0, r1, #4
cmp r0, #0
ble _02063616
lsl r0, r1, #0x10
bl _itof
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _02063624
_02063616:
lsl r0, r1, #0x10
bl _itof
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_02063624:
bl _ftoi
ldr r1, [r6, #0x18]
add r0, r1, r0
str r0, [sp, #0x10]
add r0, r5, #0
add r1, sp, #8
bl sub_0205F954
add r0, r5, #0
bl sub_02061070
ldr r1, _0206367C ; =0x00020008
add r0, r5, #0
bl sub_0205F20C
add r0, r5, #0
bl sub_02060F78
add r0, r5, #0
bl sub_0205F484
add r0, r5, #0
mov r1, #0
bl sub_0205F328
add r0, r5, #0
bl sub_0205F4E4
add r0, r5, #0
bl sub_0205F684
cmp r0, #0
bne _0206366E
ldr r0, _02063680 ; =0x00000646
bl PlaySE
_0206366E:
ldr r0, [r4, #8]
bl FreeToHeap
mov r0, #0
add sp, #0x14
pop {r4, r5, r6, r7, pc}
nop
_0206367C: .word 0x00020008
_02063680: .word 0x00000646
thumb_func_end sub_02063424
thumb_func_start sub_02063684
sub_02063684: ; 0x02063684
push {lr}
sub sp, #0xc
mov r2, #1
str r2, [sp]
mov r1, #0xf
str r1, [sp, #4]
mov r1, #3
str r1, [sp, #8]
mov r1, #0
mov r3, #5
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_02063684
thumb_func_start sub_020636A4
sub_020636A4: ; 0x020636A4
push {lr}
sub sp, #0xc
mov r2, #3
str r2, [sp]
mov r1, #0xc
str r1, [sp, #4]
str r2, [sp, #8]
mov r2, #0
mov r1, #4
add r3, r2, #0
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_020636A4
thumb_func_start sub_020636C4
sub_020636C4: ; 0x020636C4
push {lr}
sub sp, #0xc
mov r1, #0
str r1, [sp]
mov r2, #0xf
str r2, [sp, #4]
mov r3, #3
str r3, [sp, #8]
add r2, r1, #0
sub r3, #8
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_020636C4
thumb_func_start sub_020636E4
sub_020636E4: ; 0x020636E4
push {lr}
sub sp, #0xc
mov r2, #0
str r2, [sp]
mov r1, #9
str r1, [sp, #4]
mov r3, #3
str r3, [sp, #8]
sub r1, r3, #5
sub r3, r3, #6
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_020636E4
thumb_func_start sub_02063704
sub_02063704: ; 0x02063704
push {lr}
sub sp, #0xc
mov r1, #2
str r1, [sp]
mov r1, #0xc
str r1, [sp, #4]
mov r1, #3
str r1, [sp, #8]
sub r1, r1, #7
mov r2, #1
add r3, r1, #0
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02063704
thumb_func_start sub_02063724
sub_02063724: ; 0x02063724
push {lr}
sub sp, #0xc
mov r2, #3
str r2, [sp]
mov r1, #6
str r1, [sp, #4]
str r2, [sp, #8]
mov r1, #2
mov r2, #1
mov r3, #0
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_02063724
thumb_func_start sub_02063744
sub_02063744: ; 0x02063744
push {lr}
sub sp, #0xc
mov r1, #1
str r1, [sp]
mov r1, #0xc
str r1, [sp, #4]
mov r1, #3
str r1, [sp, #8]
sub r1, r1, #4
mov r2, #0
mov r3, #5
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02063744
thumb_func_start sub_02063764
sub_02063764: ; 0x02063764
push {lr}
sub sp, #0xc
mov r1, #2
str r1, [sp]
mov r1, #6
str r1, [sp, #4]
mov r1, #3
mov r2, #0
str r1, [sp, #8]
sub r1, r1, #6
add r3, r2, #0
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02063764
thumb_func_start sub_02063784
sub_02063784: ; 0x02063784
push {lr}
sub sp, #0xc
mov r1, #2
str r1, [sp]
mov r1, #9
str r1, [sp, #4]
mov r1, #3
mov r2, #0
str r1, [sp, #8]
sub r1, r1, #6
add r3, r2, #0
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02063784
thumb_func_start sub_020637A4
sub_020637A4: ; 0x020637A4
push {lr}
sub sp, #0xc
mov r1, #3
str r1, [sp]
mov r2, #6
str r2, [sp, #4]
mov r2, #1
sub r3, r2, #2
str r1, [sp, #8]
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_020637A4
thumb_func_start sub_020637C0
sub_020637C0: ; 0x020637C0
push {lr}
sub sp, #0xc
mov r1, #1
str r1, [sp]
mov r1, #9
str r1, [sp, #4]
mov r1, #3
str r1, [sp, #8]
mov r1, #0
add r2, r1, #0
mov r3, #4
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_020637C0
thumb_func_start sub_020637E0
sub_020637E0: ; 0x020637E0
push {lr}
sub sp, #0xc
mov r1, #2
str r1, [sp]
mov r1, #0xc
str r1, [sp, #4]
mov r1, #3
mov r2, #0
str r1, [sp, #8]
sub r1, r1, #7
add r3, r2, #0
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_020637E0
thumb_func_start sub_02063800
sub_02063800: ; 0x02063800
push {lr}
sub sp, #0xc
mov r1, #0
str r1, [sp]
mov r2, #6
str r2, [sp, #4]
mov r3, #3
str r3, [sp, #8]
sub r2, r3, #4
sub r3, r3, #7
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_02063800
thumb_func_start sub_02063820
sub_02063820: ; 0x02063820
push {lr}
sub sp, #0xc
mov r1, #0
str r1, [sp]
mov r1, #9
str r1, [sp, #4]
mov r1, #3
str r1, [sp, #8]
mov r1, #1
add r2, r1, #0
sub r3, r1, #4
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02063820
thumb_func_start sub_02063840
sub_02063840: ; 0x02063840
push {lr}
sub sp, #0xc
mov r1, #3
str r1, [sp]
mov r2, #9
str r2, [sp, #4]
mov r2, #0
add r3, r2, #0
str r1, [sp, #8]
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02063840
thumb_func_start sub_0206385C
sub_0206385C: ; 0x0206385C
push {lr}
sub sp, #0xc
mov r1, #1
str r1, [sp]
mov r1, #0xc
str r1, [sp, #4]
mov r1, #3
str r1, [sp, #8]
mov r1, #0
add r2, r1, #0
mov r3, #4
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_0206385C
thumb_func_start sub_0206387C
sub_0206387C: ; 0x0206387C
push {lr}
sub sp, #0xc
mov r1, #1
str r1, [sp]
mov r1, #0xc
str r1, [sp, #4]
mov r1, #3
str r1, [sp, #8]
mov r1, #0
add r2, r1, #0
mov r3, #5
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_0206387C
thumb_func_start sub_0206389C
sub_0206389C: ; 0x0206389C
push {lr}
sub sp, #0xc
mov r2, #1
str r2, [sp]
mov r1, #9
str r1, [sp, #4]
mov r1, #3
str r1, [sp, #8]
mov r1, #2
mov r3, #5
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_0206389C
thumb_func_start sub_020638BC
sub_020638BC: ; 0x020638BC
push {lr}
sub sp, #0xc
mov r2, #1
str r2, [sp]
mov r1, #9
str r1, [sp, #4]
mov r1, #3
str r1, [sp, #8]
mov r1, #2
mov r3, #4
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_020638BC
thumb_func_start sub_020638DC
sub_020638DC: ; 0x020638DC
push {lr}
sub sp, #0xc
mov r1, #1
str r1, [sp]
mov r2, #0xc
str r2, [sp, #4]
mov r2, #3
str r2, [sp, #8]
mov r2, #0
mov r3, #5
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_020638DC
thumb_func_start sub_020638FC
sub_020638FC: ; 0x020638FC
push {lr}
sub sp, #0xc
mov r1, #1
str r1, [sp]
mov r1, #6
str r1, [sp, #4]
mov r1, #3
str r1, [sp, #8]
mov r1, #0
add r2, r1, #0
mov r3, #2
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_020638FC
thumb_func_start sub_0206391C
sub_0206391C: ; 0x0206391C
push {lr}
sub sp, #0xc
mov r2, #3
str r2, [sp]
mov r1, #6
str r1, [sp, #4]
str r2, [sp, #8]
mov r2, #0
mov r1, #2
add r3, r2, #0
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_0206391C
thumb_func_start sub_0206393C
sub_0206393C: ; 0x0206393C
push {lr}
sub sp, #0xc
mov r1, #3
str r1, [sp]
mov r2, #9
str r2, [sp, #4]
mov r2, #0
add r3, r2, #0
str r1, [sp, #8]
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_0206393C
thumb_func_start sub_02063958
sub_02063958: ; 0x02063958
push {lr}
sub sp, #0xc
mov r1, #1
str r1, [sp]
mov r1, #6
str r1, [sp, #4]
mov r1, #3
str r1, [sp, #8]
mov r1, #0
add r2, r1, #0
mov r3, #2
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02063958
thumb_func_start sub_02063978
sub_02063978: ; 0x02063978
push {lr}
sub sp, #0xc
mov r1, #2
str r1, [sp]
mov r1, #9
str r1, [sp, #4]
mov r1, #3
mov r2, #0
str r1, [sp, #8]
sub r1, r1, #6
add r3, r2, #0
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_02063978
thumb_func_start sub_02063998
sub_02063998: ; 0x02063998
push {lr}
sub sp, #0xc
mov r1, #0
str r1, [sp]
mov r2, #6
str r2, [sp, #4]
mov r3, #3
str r3, [sp, #8]
add r2, r1, #0
sub r3, r3, #5
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_02063998
thumb_func_start sub_020639B8
sub_020639B8: ; 0x020639B8
push {lr}
sub sp, #0xc
mov r1, #0
str r1, [sp]
mov r2, #9
str r2, [sp, #4]
mov r3, #3
str r3, [sp, #8]
add r2, r1, #0
sub r3, r3, #6
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_020639B8
thumb_func_start sub_020639D8
sub_020639D8: ; 0x020639D8
push {lr}
sub sp, #0xc
mov r3, #1
str r3, [sp]
mov r1, #9
str r1, [sp, #4]
mov r1, #3
mov r2, #0
str r1, [sp, #8]
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
thumb_func_end sub_020639D8
thumb_func_start sub_020639F4
sub_020639F4: ; 0x020639F4
push {lr}
sub sp, #0xc
mov r2, #3
str r2, [sp]
mov r1, #9
str r1, [sp, #4]
str r2, [sp, #8]
mov r2, #0
mov r1, #4
add r3, r2, #0
bl sub_020632B0
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end sub_020639F4
thumb_func_start sub_02063A14
sub_02063A14: ; 0x02063A14
ldr r3, _02063A18 ; =sub_02063A40
bx r3
.balign 4, 0
_02063A18: .word sub_02063A40
thumb_func_end sub_02063A14
thumb_func_start sub_02063A1C
sub_02063A1C: ; 0x02063A1C
push {r4, lr}
add r4, r0, #0
bl sub_02063A5C
cmp r0, #0
bne _02063A2C
mov r0, #0
pop {r4, pc}
_02063A2C:
add r0, r4, #0
bl sub_02063A78
cmp r0, #0
beq _02063A3A
mov r0, #1
pop {r4, pc}
_02063A3A:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02063A1C
thumb_func_start sub_02063A40
sub_02063A40: ; 0x02063A40
push {r4, lr}
add r4, r0, #0
bl sub_0205F26C
add r1, r0, #0
lsl r2, r1, #2
ldr r1, _02063A58 ; =0x020FE104
add r0, r4, #0
ldr r1, [r1, r2]
blx r1
pop {r4, pc}
nop
_02063A58: .word 0x020FE104
thumb_func_end sub_02063A40
thumb_func_start sub_02063A5C
sub_02063A5C: ; 0x02063A5C
push {r4, lr}
add r4, r0, #0
bl sub_0205F26C
add r1, r0, #0
lsl r2, r1, #2
ldr r1, _02063A74 ; =0x020FE134
add r0, r4, #0
ldr r1, [r1, r2]
blx r1
pop {r4, pc}
nop
_02063A74: .word 0x020FE134
thumb_func_end sub_02063A5C
thumb_func_start sub_02063A78
sub_02063A78: ; 0x02063A78
push {r4, lr}
add r4, r0, #0
bl sub_0205F26C
add r1, r0, #0
lsl r2, r1, #2
ldr r1, _02063A90 ; =0x020FE164
add r0, r4, #0
ldr r1, [r1, r2]
blx r1
pop {r4, pc}
nop
_02063A90: .word 0x020FE164
thumb_func_end sub_02063A78
thumb_func_start sub_02063A94
sub_02063A94: ; 0x02063A94
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0205F914
add r5, r0, #0
add r0, r4, #0
bl sub_0205F8FC
cmp r5, r0
beq _02063AAC
mov r0, #1
pop {r3, r4, r5, pc}
_02063AAC:
add r0, r4, #0
bl sub_0205F934
add r5, r0, #0
add r0, r4, #0
bl sub_0205F90C
cmp r5, r0
beq _02063AC2
mov r0, #1
pop {r3, r4, r5, pc}
_02063AC2:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02063A94
thumb_func_start sub_02063AC8
sub_02063AC8: ; 0x02063AC8
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0205F914
add r5, r0, #0
add r0, r4, #0
bl sub_0205F8FC
cmp r5, r0
beq _02063AE0
mov r0, #0
pop {r3, r4, r5, pc}
_02063AE0:
add r0, r4, #0
bl sub_0205F934
add r5, r0, #0
add r0, r4, #0
bl sub_0205F90C
cmp r5, r0
bne _02063AF6
mov r0, #1
pop {r3, r4, r5, pc}
_02063AF6:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02063AC8
thumb_func_start sub_02063AFC
sub_02063AFC: ; 0x02063AFC
bx lr
.balign 4, 0
thumb_func_end sub_02063AFC
thumb_func_start sub_02063B00
sub_02063B00: ; 0x02063B00
mov r0, #0
bx lr
thumb_func_end sub_02063B00
thumb_func_start sub_02063B04
sub_02063B04: ; 0x02063B04
mov r0, #0
bx lr
thumb_func_end sub_02063B04
thumb_func_start sub_02063B08
sub_02063B08: ; 0x02063B08
push {r3, r4, r5, lr}
add r5, r0, #0
mov r1, #9
bl sub_0205F398
add r4, r0, #0
add r0, r5, #0
mov r1, #1
bl sub_0205F2F4
strb r0, [r4, #3]
pop {r3, r4, r5, pc}
thumb_func_end sub_02063B08
thumb_func_start sub_02063B20
sub_02063B20: ; 0x02063B20
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205F3BC
add r4, r0, #0
ldrb r0, [r4]
cmp r0, #3
bhi _02063B98
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02063B3C: ; jump table
.short _02063B44 - _02063B3C - 2 ; case 0
.short _02063B56 - _02063B3C - 2 ; case 1
.short _02063B7E - _02063B3C - 2 ; case 2
.short _02063B94 - _02063B3C - 2 ; case 3
_02063B44:
add r0, r5, #0
bl sub_02063A94
cmp r0, #1
bne _02063B98
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
b _02063B98
_02063B56:
add r0, r5, #0
bl sub_02063AC8
cmp r0, #0
beq _02063B98
mov r0, #2
ldrsb r1, [r4, r0]
add r1, r1, #1
strb r1, [r4, #2]
ldrsb r1, [r4, r0]
mov r0, #3
ldrsb r0, [r4, r0]
cmp r1, r0
bge _02063B78
mov r0, #0
strb r0, [r4]
b _02063B98
_02063B78:
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
_02063B7E:
add r0, r5, #0
bl sub_0205F648
cmp r0, #1
beq _02063B98
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
mov r0, #0
strb r0, [r4, #2]
strb r0, [r4, #1]
_02063B94:
mov r0, #1
pop {r3, r4, r5, pc}
_02063B98:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02063B20
thumb_func_start sub_02063B9C
sub_02063B9C: ; 0x02063B9C
push {r4, r5, r6, lr}
sub sp, #0x20
add r5, r0, #0
bl sub_0205F3BC
add r4, r0, #0
ldrb r0, [r4, #1]
cmp r0, #3
bhi _02063C7A
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02063BBA: ; jump table
.short _02063BC2 - _02063BBA - 2 ; case 0
.short _02063BE4 - _02063BBA - 2 ; case 1
.short _02063C16 - _02063BBA - 2 ; case 2
.short _02063C2C - _02063BBA - 2 ; case 3
_02063BC2:
ldr r3, _02063C80 ; =0x020FE0C4
add r2, sp, #0x10
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
add r0, r5, #0
bl sub_0205F2A8
strb r0, [r4, #4]
lsl r1, r0, #2
add r0, sp, #0x10
ldr r0, [r0, r1]
strb r0, [r4, #5]
ldrb r0, [r4, #1]
add r0, r0, #1
strb r0, [r4, #1]
_02063BE4:
ldr r6, _02063C84 ; =0x020FE0D4
add r3, sp, #0
add r2, r3, #0
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
mov r0, #5
ldrsb r0, [r4, r0]
lsl r3, r0, #3
mov r0, #6
ldrsb r0, [r4, r0]
lsl r1, r0, #2
add r0, r2, r3
ldr r0, [r1, r0]
mov r1, #0
bl sub_0206234C
add r1, r0, #0
add r0, r5, #0
bl sub_0206217C
ldrb r0, [r4, #1]
add r0, r0, #1
strb r0, [r4, #1]
_02063C16:
add r0, r5, #0
bl sub_02062428
cmp r0, #0
bne _02063C26
add sp, #0x20
mov r0, #1
pop {r4, r5, r6, pc}
_02063C26:
ldrb r0, [r4, #1]
add r0, r0, #1
strb r0, [r4, #1]
_02063C2C:
mov r0, #8
ldrsb r1, [r4, r0]
add r1, r1, #1
strb r1, [r4, #8]
ldrsb r0, [r4, r0]
cmp r0, #8
bge _02063C40
add sp, #0x20
mov r0, #1
pop {r4, r5, r6, pc}
_02063C40:
mov r0, #0
strb r0, [r4, #8]
mov r0, #7
ldrsb r1, [r4, r0]
add r1, r1, #1
strb r1, [r4, #7]
ldrsb r0, [r4, r0]
cmp r0, #4
bge _02063C64
mov r0, #6
ldrsb r0, [r4, r0]
add sp, #0x20
add r1, r0, #1
mov r0, #1
and r1, r0
strb r1, [r4, #6]
strb r0, [r4, #1]
pop {r4, r5, r6, pc}
_02063C64:
mov r1, #4
ldrsb r1, [r4, r1]
add r0, r5, #0
bl sub_0205F290
ldrb r0, [r4, #1]
add r0, r0, #1
strb r0, [r4, #1]
mov r0, #0
strb r0, [r4, #7]
strb r0, [r4]
_02063C7A:
mov r0, #0
add sp, #0x20
pop {r4, r5, r6, pc}
.balign 4, 0
_02063C80: .word 0x020FE0C4
_02063C84: .word 0x020FE0D4
thumb_func_end sub_02063B9C
thumb_func_start sub_02063C88
sub_02063C88: ; 0x02063C88
push {r3, r4, r5, lr}
add r5, r0, #0
mov r1, #9
bl sub_0205F398
add r4, r0, #0
add r0, r5, #0
mov r1, #1
bl sub_0205F2F4
strb r0, [r4, #3]
add r0, r5, #0
bl sub_0205F26C
cmp r0, #5
beq _02063CAC
mov r0, #1
b _02063CAE
_02063CAC:
mov r0, #0
_02063CAE:
strb r0, [r4, #5]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02063C88
thumb_func_start sub_02063CB4
sub_02063CB4: ; 0x02063CB4
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205F3BC
add r4, r0, #0
ldrb r0, [r4]
cmp r0, #3
bhi _02063D2C
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02063CD0: ; jump table
.short _02063CD8 - _02063CD0 - 2 ; case 0
.short _02063CEA - _02063CD0 - 2 ; case 1
.short _02063D12 - _02063CD0 - 2 ; case 2
.short _02063D28 - _02063CD0 - 2 ; case 3
_02063CD8:
add r0, r5, #0
bl sub_02063A94
cmp r0, #1
bne _02063D2C
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
b _02063D2C
_02063CEA:
add r0, r5, #0
bl sub_02063AC8
cmp r0, #0
beq _02063D2C
mov r0, #2
ldrsb r1, [r4, r0]
add r1, r1, #1
strb r1, [r4, #2]
ldrsb r1, [r4, r0]
mov r0, #3
ldrsb r0, [r4, r0]
cmp r1, r0
bge _02063D0C
mov r0, #0
strb r0, [r4]
b _02063D2C
_02063D0C:
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
_02063D12:
add r0, r5, #0
bl sub_0205F648
cmp r0, #1
beq _02063D2C
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
mov r0, #0
strb r0, [r4, #2]
strb r0, [r4, #1]
_02063D28:
mov r0, #1
pop {r3, r4, r5, pc}
_02063D2C:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02063CB4
thumb_func_start sub_02063D30
sub_02063D30: ; 0x02063D30
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
ldr r3, _02063E4C ; =0x020FE0E4
add r2, sp, #0
add r7, r0, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
add r0, r7, #0
bl sub_0205F3BC
add r4, r0, #0
ldrb r0, [r4, #1]
cmp r0, #3
bhi _02063E46
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02063D64: ; jump table
.short _02063D6C - _02063D64 - 2 ; case 0
.short _02063DB2 - _02063D64 - 2 ; case 1
.short _02063DD8 - _02063D64 - 2 ; case 2
.short _02063DEE - _02063D64 - 2 ; case 3
_02063D6C:
add r0, r7, #0
bl sub_0205F2A8
mov r5, #0
add r6, r0, #0
add r1, r5, #0
add r0, sp, #0
mov r2, #5
b _02063D82
_02063D7E:
add r1, r1, #4
add r5, r5, #1
_02063D82:
cmp r5, #4
bge _02063D92
ldrsb r3, [r4, r2]
lsl r3, r3, #4
add r3, r0, r3
ldr r3, [r1, r3]
cmp r6, r3
bne _02063D7E
_02063D92:
cmp r5, #4
blt _02063D9A
bl GF_AssertFail
_02063D9A:
add r0, r5, #1
lsr r2, r0, #0x1f
lsl r1, r0, #0x1e
sub r1, r1, r2
mov r0, #0x1e
ror r1, r0
strb r6, [r4, #4]
add r0, r2, r1
strb r0, [r4, #6]
ldrb r0, [r4, #1]
add r0, r0, #1
strb r0, [r4, #1]
_02063DB2:
mov r0, #5
ldrsb r0, [r4, r0]
add r2, sp, #0
lsl r3, r0, #4
mov r0, #6
ldrsb r0, [r4, r0]
lsl r1, r0, #2
add r0, r2, r3
ldr r0, [r1, r0]
mov r1, #0
bl sub_0206234C
add r1, r0, #0
add r0, r7, #0
bl sub_0206217C
ldrb r0, [r4, #1]
add r0, r0, #1
strb r0, [r4, #1]
_02063DD8:
add r0, r7, #0
bl sub_02062428
cmp r0, #0
bne _02063DE8
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02063DE8:
ldrb r0, [r4, #1]
add r0, r0, #1
strb r0, [r4, #1]
_02063DEE:
mov r0, #8
ldrsb r1, [r4, r0]
add r1, r1, #1
strb r1, [r4, #8]
ldrsb r0, [r4, r0]
cmp r0, #8
bge _02063E02
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02063E02:
mov r0, #0
strb r0, [r4, #8]
mov r0, #7
ldrsb r1, [r4, r0]
add r1, r1, #1
strb r1, [r4, #7]
ldrsb r0, [r4, r0]
cmp r0, #4
bge _02063E30
mov r0, #6
ldrsb r0, [r4, r0]
add sp, #0x20
add r0, r0, #1
lsr r2, r0, #0x1f
lsl r1, r0, #0x1e
sub r1, r1, r2
mov r0, #0x1e
ror r1, r0
add r0, r2, r1
strb r0, [r4, #6]
mov r0, #1
strb r0, [r4, #1]
pop {r3, r4, r5, r6, r7, pc}
_02063E30:
mov r1, #4
ldrsb r1, [r4, r1]
add r0, r7, #0
bl sub_0205F290
ldrb r0, [r4, #1]
add r0, r0, #1
strb r0, [r4, #1]
mov r0, #0
strb r0, [r4, #7]
strb r0, [r4]
_02063E46:
mov r0, #0
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02063E4C: .word 0x020FE0E4
thumb_func_end sub_02063D30
thumb_func_start sub_02063E50
sub_02063E50: ; 0x02063E50
push {r4, lr}
mov r1, #0x18
add r4, r0, #0
bl sub_0205F3E8
ldr r1, _02063E6C ; =0x00000106
str r1, [r0]
mov r1, #0
str r1, [r0, #4]
add r0, r4, #0
bl sub_0205F484
pop {r4, pc}
nop
_02063E6C: .word 0x00000106
thumb_func_end sub_02063E50
thumb_func_start sub_02063E70
sub_02063E70: ; 0x02063E70
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0205F394
add r7, r0, #0
add r0, r5, #0
bl sub_0205F40C
add r4, r0, #0
add r0, r5, #0
bl sub_0205F52C
add r1, r5, #0
bl sub_02055780
add r6, r0, #0
add r0, r5, #0
bl ov01_021FA2D4
cmp r0, #1
bne _02063E9C
b _02063FDC
_02063E9C:
ldr r0, [r4, #8]
cmp r0, #0
bne _02063ECC
add r0, r5, #0
bl sub_0205F52C
add r1, r5, #0
bl sub_020557A0
add r1, r6, #0
bl sub_020640A4
str r0, [r4]
ldr r1, [r4]
add r0, r5, #0
bl sub_0205F258
add r1, r4, #0
ldr r2, [r4]
add r0, r5, #0
add r1, #8
bl ov01_021F94C0
b _02063F22
_02063ECC:
ldr r0, [r4, #4]
cmp r6, r0
beq _02063F22
add r1, r4, #0
ldr r2, [r4]
add r0, r5, #0
add r1, #8
bl ov01_021F95CC
add r0, r5, #0
bl sub_0205F52C
add r1, r5, #0
bl sub_020557A0
add r1, r6, #0
bl sub_020640A4
str r0, [r4]
ldr r1, [r4]
add r0, r5, #0
bl sub_0205F258
ldr r1, [r4]
ldr r0, _02063FE0 ; =0x0000FFFF
cmp r1, r0
beq _02063F1A
cmp r6, #1
bne _02063F0C
add r0, r5, #0
bl ov01_021FE66C
_02063F0C:
add r1, r4, #0
ldr r2, [r4]
add r0, r5, #0
add r1, #8
bl ov01_021F94C0
b _02063F1E
_02063F1A:
bl GF_AssertFail
_02063F1E:
mov r0, #0
strh r0, [r7, #2]
_02063F22:
add r0, r5, #0
str r6, [r4, #4]
bl ov01_021FA2D4
cmp r0, #1
beq _02063FDC
ldr r1, [r4, #8]
cmp r1, #0
beq _02063FDC
add r0, r5, #0
bl ov01_021FA3E8
add r0, r5, #0
bl ov01_021F9344
cmp r0, #0
bne _02063FD4
add r0, r5, #0
bl sub_0205F330
cmp r0, #0
beq _02063F58
cmp r0, #1
beq _02063F74
cmp r0, #2
beq _02063F90
b _02063FAC
_02063F58:
ldr r0, [r4, #8]
bl sub_02023EF4
cmp r0, #0
beq _02063FCA
ldr r0, [r4, #8]
mov r1, #0
bl sub_02023EE0
ldr r0, [r4, #8]
mov r1, #0
bl sub_02023F40
b _02063FCA
_02063F74:
ldr r0, [r4, #8]
bl sub_02023EF4
cmp r0, #1
beq _02063FCA
ldr r0, [r4, #8]
mov r1, #1
bl sub_02023EE0
ldr r0, [r4, #8]
mov r1, #0
bl sub_02023F40
b _02063FCA
_02063F90:
ldr r0, [r4, #8]
bl sub_02023EF4
cmp r0, #2
beq _02063FCA
ldr r0, [r4, #8]
mov r1, #2
bl sub_02023EE0
ldr r0, [r4, #8]
mov r1, #0
bl sub_02023F40
b _02063FCA
_02063FAC:
bl GF_AssertFail
ldr r0, [r4, #8]
bl sub_02023EF4
cmp r0, #0
beq _02063FCA
ldr r0, [r4, #8]
mov r1, #0
bl sub_02023EE0
ldr r0, [r4, #8]
mov r1, #0
bl sub_02023F40
_02063FCA:
mov r1, #1
ldr r0, [r4, #8]
lsl r1, r1, #0xc
bl sub_02023F04
_02063FD4:
ldr r1, [r4, #8]
add r0, r5, #0
bl ov01_021FA40C
_02063FDC:
pop {r3, r4, r5, r6, r7, pc}
nop
_02063FE0: .word 0x0000FFFF
thumb_func_end sub_02063E70
thumb_func_start sub_02063FE4
sub_02063FE4: ; 0x02063FE4
push {r4, lr}
add r4, r0, #0
bl sub_0205F40C
add r2, r0, #0
add r1, r2, #0
ldr r2, [r2]
add r0, r4, #0
add r1, #8
bl ov01_021F95CC
pop {r4, pc}
thumb_func_end sub_02063FE4
thumb_func_start sub_02063FFC
sub_02063FFC: ; 0x02063FFC
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205F40C
add r4, r0, #0
ldr r0, [r4, #8]
cmp r0, #0
beq _02064014
add r1, r4, #0
add r1, #0xc
bl ov01_021F9610
_02064014:
add r1, r4, #0
ldr r2, [r4]
add r0, r5, #0
add r1, #8
bl ov01_021F95CC
mov r1, #2
add r0, r5, #0
lsl r1, r1, #0x14
bl sub_0205F20C
pop {r3, r4, r5, pc}
thumb_func_end sub_02063FFC
thumb_func_start sub_0206402C
sub_0206402C: ; 0x0206402C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205F40C
add r4, r0, #0
add r0, r5, #0
bl ov01_021FA2D4
cmp r0, #1
beq _0206407E
ldr r0, [r4, #8]
cmp r0, #0
bne _0206405E
ldr r2, [r4]
ldr r0, _02064080 ; =0x0000FFFF
cmp r2, r0
beq _0206405A
add r1, r4, #0
add r0, r5, #0
add r1, #8
bl ov01_021F94C0
b _0206405E
_0206405A:
bl GF_AssertFail
_0206405E:
ldr r0, [r4, #8]
cmp r0, #0
beq _0206407E
add r1, r4, #0
add r1, #0xc
bl ov01_021F9630
ldr r1, [r4, #8]
add r0, r5, #0
bl ov01_021FA3E8
mov r1, #2
add r0, r5, #0
lsl r1, r1, #0x14
bl sub_0205F214
_0206407E:
pop {r3, r4, r5, pc}
.balign 4, 0
_02064080: .word 0x0000FFFF
thumb_func_end sub_0206402C
thumb_func_start sub_02064084
sub_02064084: ; 0x02064084
push {r4, lr}
add r4, r0, #0
bl ov01_021FA2D4
cmp r0, #1
bne _02064098
bl GF_AssertFail
mov r0, #0
pop {r4, pc}
_02064098:
add r0, r4, #0
bl sub_0205F40C
ldr r0, [r0, #8]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02064084
thumb_func_start sub_020640A4
sub_020640A4: ; 0x020640A4
push {r4, lr}
add r4, r0, #0
cmp r1, #0
bne _020640B0
ldr r0, _020640C0 ; =0x00000106
pop {r4, pc}
_020640B0:
cmp r4, #0
bne _020640B8
bl GF_AssertFail
_020640B8:
ldr r0, _020640C4 ; =0x02207274
lsl r1, r4, #2
ldr r0, [r0, r1]
pop {r4, pc}
.balign 4, 0
_020640C0: .word 0x00000106
_020640C4: .word 0x02207274
thumb_func_end sub_020640A4
thumb_func_start sub_020640C8
sub_020640C8: ; 0x020640C8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x58
add r5, r0, #0
ldr r7, [r5, #0x40]
add r4, r1, #0
ldr r6, [r5, #0x3c]
add r1, sp, #0x40
str r1, [sp]
add r1, r6, #0
add r2, r7, #0
mov r3, #0
bl sub_020641EC
cmp r0, #0
bne _020640EC
add sp, #0x58
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_020640EC:
ldr r0, [sp, #0x50]
cmp r0, #0
bne _02064172
ldr r1, _020641E8 ; =0x00000E9B
ldr r2, [sp, #0x54]
add r0, r5, #0
bl sub_0203FE74
cmp r4, #0
beq _02064114
add r0, sp, #0x28
str r0, [sp]
ldr r3, [sp, #0x54]
add r0, r5, #0
add r1, r6, #0
add r2, r7, #0
bl sub_020641EC
cmp r0, #0
bne _02064134
_02064114:
ldr r0, [sp, #0x48]
str r0, [sp]
ldr r0, [sp, #0x4c]
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
str r0, [sp, #0xc]
ldr r1, [sp, #0x54]
ldr r2, [sp, #0x40]
ldr r3, [sp, #0x44]
add r0, r5, #0
bl sub_0203FEA4
add sp, #0x58
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02064134:
ldr r0, [sp, #0x48]
str r0, [sp]
ldr r0, [sp, #0x4c]
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r1, [sp, #0x54]
ldr r2, [sp, #0x40]
ldr r3, [sp, #0x44]
add r0, r5, #0
bl sub_0203FEA4
ldr r0, [sp, #0x30]
str r0, [sp]
ldr r0, [sp, #0x34]
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
ldr r1, [sp, #0x3c]
ldr r2, [sp, #0x28]
ldr r3, [sp, #0x2c]
add r0, r5, #0
bl sub_0203FEA4
add sp, #0x58
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02064172:
cmp r0, #1
bne _020641DE
cmp r4, #0
bne _02064180
add sp, #0x58
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02064180:
ldr r2, [sp, #0x54]
ldr r3, [sp, #0x4c]
add r0, r5, #0
add r1, r6, #0
bl sub_02064520
add r1, r0, #0
ldr r2, [sp, #0x40]
ldr r3, [sp, #0x44]
add r0, sp, #0x10
bl sub_0206426C
ldr r1, _020641E8 ; =0x00000E9B
ldr r2, [sp, #0x54]
add r0, r5, #0
bl sub_0203FE74
ldr r0, [sp, #0x48]
str r0, [sp]
ldr r0, [sp, #0x4c]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r1, [sp, #0x54]
ldr r2, [sp, #0x40]
ldr r3, [sp, #0x44]
add r0, r5, #0
bl sub_0203FEA4
ldr r0, [sp, #0x18]
str r0, [sp]
ldr r0, [sp, #0x1c]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
str r0, [sp, #0xc]
ldr r1, [sp, #0x24]
ldr r2, [sp, #0x10]
ldr r3, [sp, #0x14]
add r0, r5, #0
bl sub_0203FEA4
add sp, #0x58
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_020641DE:
bl GF_AssertFail
mov r0, #0
add sp, #0x58
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020641E8: .word 0x00000E9B
thumb_func_end sub_020640C8
thumb_func_start sub_020641EC
sub_020641EC: ; 0x020641EC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
mov r0, #0
add r6, r1, #0
add r7, r2, #0
add r4, r3, #0
str r0, [sp, #0xc]
str r0, [sp, #4]
add r0, r6, #0
add r1, sp, #4
add r2, sp, #0xc
mov r3, #1
bl sub_0205EEF4
cmp r0, #0
beq _02064264
_0206420E:
cmp r4, #0
beq _02064218
ldr r0, [sp, #4]
cmp r4, r0
beq _02064254
_02064218:
ldr r0, [sp, #4]
add r1, r7, #0
add r2, sp, #8
bl sub_020642C4
mov r1, #0
mvn r1, r1
str r0, [sp]
cmp r0, r1
beq _02064254
ldr r0, [sp, #4]
bl sub_02064508
add r1, r0, #0
lsl r1, r1, #0x10
ldr r0, [r5, #0xc]
lsr r1, r1, #0x10
bl sub_02040514
cmp r0, #0
bne _02064254
ldr r0, [sp, #0x28]
ldr r1, [sp, #4]
ldr r2, [sp]
ldr r3, [sp, #8]
bl sub_0206426C
add sp, #0x10
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02064254:
add r0, r6, #0
add r1, sp, #4
add r2, sp, #0xc
mov r3, #1
bl sub_0205EEF4
cmp r0, #0
bne _0206420E
_02064264:
mov r0, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020641EC
thumb_func_start sub_0206426C
sub_0206426C: ; 0x0206426C
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
str r2, [r5]
str r3, [r5, #4]
add r0, r4, #0
bl sub_0205F27C
str r0, [r5, #8]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_020404C8
str r0, [r5, #0xc]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_02040500
str r0, [r5, #0x10]
str r4, [r5, #0x14]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0206426C
thumb_func_start sub_02064298
sub_02064298: ; 0x02064298
push {r3, lr}
bl sub_0205F26C
cmp r0, #8
bhi _020642C2
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_020642AE: ; jump table
.short _020642C2 - _020642AE - 2 ; case 0
.short _020642C2 - _020642AE - 2 ; case 1
.short _020642C2 - _020642AE - 2 ; case 2
.short _020642C2 - _020642AE - 2 ; case 3
.short _020642C0 - _020642AE - 2 ; case 4
.short _020642C0 - _020642AE - 2 ; case 5
.short _020642C0 - _020642AE - 2 ; case 6
.short _020642C0 - _020642AE - 2 ; case 7
.short _020642C0 - _020642AE - 2 ; case 8
_020642C0:
mov r0, #1
_020642C2:
pop {r3, pc}
thumb_func_end sub_02064298
thumb_func_start sub_020642C4
sub_020642C4: ; 0x020642C4
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
add r4, r1, #0
str r2, [sp, #8]
bl sub_02064298
cmp r0, #1
bne _02064332
add r0, r4, #0
bl sub_0205C67C
add r7, r0, #0
add r0, r4, #0
bl sub_0205C688
add r6, r0, #0
add r0, r5, #0
bl sub_0205F2A8
add r4, r0, #0
add r0, r5, #0
mov r1, #0
bl sub_0205F2F4
add r2, r0, #0
str r6, [sp]
mov r0, #0
str r0, [sp, #4]
add r0, r5, #0
add r1, r4, #0
add r3, r7, #0
bl sub_0206439C
add r6, r0, #0
mov r0, #0
mvn r0, r0
cmp r6, r0
beq _0206432A
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl sub_02064468
cmp r0, #0
bne _0206432A
ldr r0, [sp, #8]
add sp, #0x14
str r4, [r0]
add r0, r6, #0
pop {r4, r5, r6, r7, pc}
_0206432A:
mov r0, #0
add sp, #0x14
mvn r0, r0
pop {r4, r5, r6, r7, pc}
_02064332:
cmp r0, #2
bne _02064394
add r0, r4, #0
bl sub_0205C67C
str r0, [sp, #0x10]
add r0, r4, #0
bl sub_0205C688
add r7, r0, #0
add r0, r5, #0
mov r1, #0
bl sub_0205F2F4
str r0, [sp, #0xc]
mov r4, #0
_02064352:
str r7, [sp]
mov r0, #0
str r0, [sp, #4]
ldr r2, [sp, #0xc]
ldr r3, [sp, #0x10]
add r0, r5, #0
add r1, r4, #0
bl sub_0206439C
add r6, r0, #0
mov r0, #0
mvn r0, r0
cmp r6, r0
beq _02064386
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl sub_02064468
cmp r0, #0
bne _02064386
ldr r0, [sp, #8]
add sp, #0x14
str r4, [r0]
add r0, r6, #0
pop {r4, r5, r6, r7, pc}
_02064386:
add r4, r4, #1
cmp r4, #4
blt _02064352
mov r0, #0
add sp, #0x14
mvn r0, r0
pop {r4, r5, r6, r7, pc}
_02064394:
mov r0, #0
mvn r0, r0
add sp, #0x14
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_020642C4
thumb_func_start sub_0206439C
sub_0206439C: ; 0x0206439C
push {r3, r4, r5, lr}
add r4, r1, #0
ldr r1, [sp, #0x14]
lsl r5, r4, #2
ldr r4, _020643B4 ; =0x020FE194
str r1, [sp]
add r1, r2, #0
add r2, r3, #0
ldr r3, [sp, #0x10]
ldr r4, [r4, r5]
blx r4
pop {r3, r4, r5, pc}
.balign 4, 0
_020643B4: .word 0x020FE194
thumb_func_end sub_0206439C
thumb_func_start sub_020643B8
sub_020643B8: ; 0x020643B8
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r1, #0
add r6, r2, #0
add r4, r3, #0
bl sub_0205F914
cmp r0, r6
bne _020643DE
add r0, r7, #0
bl sub_0205F934
cmp r4, r0
bge _020643DE
sub r1, r0, r5
cmp r4, r1
blt _020643DE
sub r0, r0, r4
pop {r3, r4, r5, r6, r7, pc}
_020643DE:
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020643B8
thumb_func_start sub_020643E4
sub_020643E4: ; 0x020643E4
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r1, #0
add r6, r2, #0
add r4, r3, #0
bl sub_0205F914
cmp r0, r6
bne _0206440A
add r0, r7, #0
bl sub_0205F934
cmp r4, r0
ble _0206440A
add r1, r0, r5
cmp r4, r1
bgt _0206440A
sub r0, r4, r0
pop {r3, r4, r5, r6, r7, pc}
_0206440A:
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020643E4
thumb_func_start sub_02064410
sub_02064410: ; 0x02064410
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r6, r1, #0
add r5, r2, #0
add r4, r3, #0
bl sub_0205F934
cmp r0, r4
bne _02064436
add r0, r7, #0
bl sub_0205F914
cmp r5, r0
bge _02064436
sub r1, r0, r6
cmp r5, r1
blt _02064436
sub r0, r0, r5
pop {r3, r4, r5, r6, r7, pc}
_02064436:
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02064410
thumb_func_start sub_0206443C
sub_0206443C: ; 0x0206443C
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r6, r1, #0
add r5, r2, #0
add r4, r3, #0
bl sub_0205F934
cmp r0, r4
bne _02064462
add r0, r7, #0
bl sub_0205F914
cmp r5, r0
ble _02064462
add r1, r0, r6
cmp r5, r1
bgt _02064462
sub r0, r5, r0
pop {r3, r4, r5, r6, r7, pc}
_02064462:
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0206443C
thumb_func_start sub_02064468
sub_02064468: ; 0x02064468
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r1, #0
str r0, [sp, #4]
str r2, [sp, #8]
cmp r2, #0
bne _0206447C
add sp, #0x18
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0206447C:
bl sub_0205F914
add r4, r0, #0
ldr r0, [sp, #4]
bl sub_0205F934
add r7, r0, #0
ldr r0, [sp, #4]
bl sub_0205F924
str r0, [sp, #0xc]
add r0, r5, #0
bl sub_02060F0C
add r6, r4, r0
add r0, r5, #0
bl sub_02060F18
add r4, r7, r0
ldr r0, [sp, #8]
mov r7, #0
sub r0, r0, #1
str r0, [sp, #0x10]
cmp r0, #0
ble _020644E4
mov r0, #1
str r0, [sp, #0x14]
_020644B2:
ldr r0, [sp, #4]
ldr r2, [sp, #0xc]
add r1, r6, #0
add r3, r4, #0
str r5, [sp]
bl sub_02060B90
ldr r1, [sp, #0x14]
bic r0, r1
beq _020644CC
add sp, #0x18
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_020644CC:
add r0, r5, #0
bl sub_02060F0C
add r6, r6, r0
add r0, r5, #0
bl sub_02060F18
add r4, r4, r0
ldr r0, [sp, #0x10]
add r7, r7, #1
cmp r7, r0
blt _020644B2
_020644E4:
ldr r0, [sp, #4]
ldr r2, [sp, #0xc]
add r1, r6, #0
add r3, r4, #0
str r5, [sp]
bl sub_02060B90
mov r1, #1
bic r0, r1
cmp r0, #4
bne _02064500
add sp, #0x18
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02064500:
mov r0, #1
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02064468
thumb_func_start sub_02064508
sub_02064508: ; 0x02064508
push {r3, lr}
bl sub_0205F27C
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_020404C8
pop {r3, pc}
thumb_func_end sub_02064508
thumb_func_start sub_02064518
sub_02064518: ; 0x02064518
ldr r3, _0206451C ; =sub_02064508
bx r3
.balign 4, 0
_0206451C: .word sub_02064508
thumb_func_end sub_02064518
thumb_func_start sub_02064520
sub_02064520: ; 0x02064520
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r1, #0
mov r0, #0
add r4, r2, #0
add r6, r3, #0
str r0, [sp, #4]
add r0, r5, #0
add r1, sp, #0
add r2, sp, #4
mov r3, #1
bl sub_0205EEF4
cmp r0, #0
beq _02064570
add r7, sp, #0
_02064540:
ldr r0, [sp]
cmp r0, r4
beq _02064560
bl sub_02064298
sub r0, r0, #1
cmp r0, #1
bhi _02064560
ldr r0, [sp]
bl sub_02064508
cmp r6, r0
bne _02064560
ldr r0, [sp]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_02064560:
add r0, r5, #0
add r1, r7, #0
add r2, sp, #4
mov r3, #1
bl sub_0205EEF4
cmp r0, #0
bne _02064540
_02064570:
bl GF_AssertFail
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02064520
thumb_func_start sub_0206457C
sub_0206457C: ; 0x0206457C
push {r4, lr}
sub sp, #0x10
ldr r4, [sp, #0x18]
str r4, [sp]
ldr r4, [sp, #0x1c]
str r4, [sp, #4]
ldr r4, [sp, #0x20]
str r4, [sp, #8]
ldr r4, [sp, #0x24]
str r4, [sp, #0xc]
bl sub_020645B4
add sp, #0x10
pop {r4, pc}
thumb_func_end sub_0206457C
thumb_func_start sub_02064598
sub_02064598: ; 0x02064598
push {r4, lr}
add r4, r0, #0
bne _020645A2
bl GF_AssertFail
_020645A2:
add r0, r4, #0
bl sub_0206460C
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02064598
thumb_func_start sub_020645AC
sub_020645AC: ; 0x020645AC
ldr r3, _020645B0 ; =sub_02064618
bx r3
.balign 4, 0
_020645B0: .word sub_02064618
thumb_func_end sub_020645AC
thumb_func_start sub_020645B4
sub_020645B4: ; 0x020645B4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
mov r0, #4
mov r1, #0x30
add r7, r2, #0
str r3, [sp]
bl AllocFromHeapAtEnd
add r4, r0, #0
bne _020645CE
bl GF_AssertFail
_020645CE:
add r0, r4, #0
mov r1, #0
mov r2, #0x30
bl memset
ldr r0, [sp]
add r1, r4, #0
str r0, [r4, #8]
ldr r0, [sp, #0x18]
mov r2, #0xff
str r0, [r4, #0xc]
ldr r0, [sp, #0x1c]
str r0, [r4, #0x10]
ldr r0, [sp, #0x20]
str r0, [r4, #0x14]
ldr r0, [sp, #0x24]
str r0, [r4, #0x18]
str r5, [r4, #0x2c]
str r6, [r4, #0x24]
ldr r0, _02064608 ; =sub_02064630
str r7, [r4, #0x28]
bl sub_0200E320
add r4, r0, #0
bne _02064604
bl GF_AssertFail
_02064604:
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02064608: .word sub_02064630
thumb_func_end sub_020645B4
thumb_func_start sub_0206460C
sub_0206460C: ; 0x0206460C
push {r3, lr}
bl sub_0201F988
ldr r0, [r0, #4]
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0206460C
thumb_func_start sub_02064618
sub_02064618: ; 0x02064618
push {r4, lr}
add r4, r0, #0
bl sub_0201F988
add r1, r0, #0
mov r0, #4
bl FreeToHeapExplicit
add r0, r4, #0
bl sub_0200E390
pop {r4, pc}
thumb_func_end sub_02064618
thumb_func_start sub_02064630
sub_02064630: ; 0x02064630
push {r3, r4, r5, lr}
ldr r4, _02064648 ; =0x020FE1A4
add r5, r1, #0
_02064636:
ldr r1, [r5]
add r0, r5, #0
lsl r1, r1, #2
ldr r1, [r4, r1]
blx r1
cmp r0, #1
beq _02064636
pop {r3, r4, r5, pc}
nop
_02064648: .word 0x020FE1A4
thumb_func_end sub_02064630
thumb_func_start sub_0206464C
sub_0206464C: ; 0x0206464C
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r4, [r5, #0x24]
add r0, r4, #0
bl sub_0205F648
cmp r0, #1
bne _02064662
add r0, r4, #0
bl sub_0205F708
_02064662:
mov r0, #1
str r0, [r5]
pop {r3, r4, r5, pc}
thumb_func_end sub_0206464C
thumb_func_start sub_02064668
sub_02064668: ; 0x02064668
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r5, [r4, #0x24]
add r0, r5, #0
bl sub_0205F648
cmp r0, #1
bne _0206467C
mov r0, #0
pop {r3, r4, r5, pc}
_0206467C:
ldr r0, [r4, #0x24]
ldr r1, [r4, #8]
bl ov01_021F9408
add r0, r5, #0
mov r1, #0x40
bl sub_0205F20C
mov r0, #2
str r0, [r4]
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end sub_02064668
thumb_func_start sub_02064694
sub_02064694: ; 0x02064694
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x28]
bl sub_0205C6DC
bl sub_02062198
cmp r0, #0
bne _020646AA
mov r0, #0
pop {r4, pc}
_020646AA:
ldr r0, [r4, #0x24]
bl sub_0205F264
sub r0, #0x33
cmp r0, #3
bhi _020646D2
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_020646C2: ; jump table
.short _020646CA - _020646C2 - 2 ; case 0
.short _020646CA - _020646C2 - 2 ; case 1
.short _020646CA - _020646C2 - 2 ; case 2
.short _020646CA - _020646C2 - 2 ; case 3
_020646CA:
mov r0, #7
str r0, [r4]
mov r0, #1
pop {r4, pc}
_020646D2:
mov r0, #3
str r0, [r4]
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02064694
thumb_func_start sub_020646DC
sub_020646DC: ; 0x020646DC
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x24]
bl sub_02062108
cmp r0, #0
bne _020646EE
mov r0, #0
pop {r4, pc}
_020646EE:
mov r0, #0
ldr r1, [r4, #8]
mvn r0, r0
cmp r1, r0
bne _020646FC
bl GF_AssertFail
_020646FC:
ldr r0, [r4, #8]
mov r1, #0
bl sub_0206234C
add r1, r0, #0
ldr r0, [r4, #0x24]
bl sub_0206214C
mov r0, #4
str r0, [r4]
mov r0, #0
pop {r4, pc}
thumb_func_end sub_020646DC
thumb_func_start sub_02064714
sub_02064714: ; 0x02064714
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x24]
bl sub_02062198
cmp r0, #0
bne _02064726
mov r0, #0
pop {r4, pc}
_02064726:
mov r0, #5
str r0, [r4]
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02064714
thumb_func_start sub_02064730
sub_02064730: ; 0x02064730
push {r4, lr}
add r4, r0, #0
mov r1, #0
ldr r0, [r4, #0x24]
add r2, r1, #0
bl ov01_02200540
str r0, [r4, #0x20]
mov r0, #6
str r0, [r4]
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02064730
thumb_func_start sub_02064748
sub_02064748: ; 0x02064748
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x20]
bl ov01_022003F4
cmp r0, #1
bne _02064760
ldr r0, [r4, #0x20]
bl sub_02068B48
mov r0, #9
str r0, [r4]
_02064760:
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02064748
thumb_func_start sub_02064764
sub_02064764: ; 0x02064764
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x24]
mov r1, #0x65
bl sub_0206214C
mov r0, #8
str r0, [r4]
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02064764
thumb_func_start sub_02064778
sub_02064778: ; 0x02064778
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x24]
bl sub_02062198
cmp r0, #1
bne _0206478A
mov r0, #9
str r0, [r4]
_0206478A:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02064778
thumb_func_start sub_02064790
sub_02064790: ; 0x02064790
ldr r1, [r0, #0x1c]
add r1, r1, #1
str r1, [r0, #0x1c]
cmp r1, #0x1e
blt _020647A2
mov r1, #0
str r1, [r0, #0x1c]
mov r1, #0xa
str r1, [r0]
_020647A2:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end sub_02064790
thumb_func_start sub_020647A8
sub_020647A8: ; 0x020647A8
ldr r1, [r0, #0xc]
cmp r1, #1
bgt _020647B6
mov r1, #0xd
str r1, [r0]
mov r0, #1
bx lr
_020647B6:
mov r1, #0xb
str r1, [r0]
mov r0, #1
bx lr
.balign 4, 0
thumb_func_end sub_020647A8
thumb_func_start sub_020647C0
sub_020647C0: ; 0x020647C0
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x24]
bl sub_02062108
cmp r0, #1
bne _020647E2
ldr r0, [r4, #8]
mov r1, #0xc
bl sub_0206234C
add r1, r0, #0
ldr r0, [r4, #0x24]
bl sub_0206214C
mov r0, #0xc
str r0, [r4]
_020647E2:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020647C0
thumb_func_start sub_020647E8
sub_020647E8: ; 0x020647E8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x24]
bl sub_02062198
cmp r0, #0
bne _020647FA
mov r0, #0
pop {r4, pc}
_020647FA:
ldr r0, [r4, #0xc]
sub r0, r0, #1
str r0, [r4, #0xc]
mov r0, #0xa
str r0, [r4]
mov r0, #1
pop {r4, pc}
thumb_func_end sub_020647E8
thumb_func_start sub_02064808
sub_02064808: ; 0x02064808
ldr r1, [r0, #0x1c]
add r1, r1, #1
str r1, [r0, #0x1c]
cmp r1, #8
bge _02064816
mov r0, #0
bx lr
_02064816:
mov r1, #0
str r1, [r0, #0x1c]
mov r1, #0xe
str r1, [r0]
mov r0, #1
bx lr
.balign 4, 0
thumb_func_end sub_02064808
thumb_func_start sub_02064824
sub_02064824: ; 0x02064824
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #0x28]
bl sub_0205C6DC
add r4, r0, #0
bl sub_0205F914
add r6, r0, #0
add r0, r4, #0
bl sub_0205F934
add r7, r0, #0
ldr r0, [r5, #0x24]
bl sub_0205F914
str r0, [sp]
ldr r0, [r5, #0x24]
bl sub_0205F934
add r3, r0, #0
ldr r2, [sp]
add r0, r6, #0
add r1, r7, #0
bl sub_02061200
add r6, r0, #0
ldr r0, [r5, #0x28]
bl sub_0205C654
cmp r6, r0
beq _02064898
ldr r0, [r5, #0x18]
cmp r0, #0
beq _02064870
ldr r0, [r5, #0x14]
cmp r0, #2
bne _02064898
_02064870:
add r0, r4, #0
bl sub_02062108
cmp r0, #1
bne _0206489C
add r0, r4, #0
mov r1, #0x80
bl sub_0205F214
add r0, r6, #0
mov r1, #0
bl sub_0206234C
add r1, r0, #0
add r0, r4, #0
bl sub_0206214C
mov r0, #0xf
str r0, [r5]
b _0206489C
_02064898:
mov r0, #0x10
str r0, [r5]
_0206489C:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02064824
thumb_func_start sub_020648A0
sub_020648A0: ; 0x020648A0
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4, #0x28]
bl sub_0205C6DC
add r5, r0, #0
bl sub_02062198
cmp r0, #0
bne _020648B8
mov r0, #0
pop {r3, r4, r5, pc}
_020648B8:
add r0, r5, #0
bl sub_020621C0
mov r0, #0x10
str r0, [r4]
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020648A0
thumb_func_start sub_020648C8
sub_020648C8: ; 0x020648C8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x24]
bl sub_020621C0
ldr r0, [r4, #0x24]
mov r1, #0
bl sub_0205FC94
mov r0, #0x11
str r0, [r4]
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020648C8
thumb_func_start sub_020648E4
sub_020648E4: ; 0x020648E4
mov r1, #1
str r1, [r0, #4]
mov r0, #0
bx lr
thumb_func_end sub_020648E4
thumb_func_start sub_020648EC
sub_020648EC: ; 0x020648EC
push {r4, lr}
add r4, r0, #0
bl sub_0203E344
bl sub_0202A998
bl sub_0202AEBC
add r1, r0, #0
beq _0206490A
lsl r2, r1, #2
ldr r1, _0206490C ; =0x020FE214
add r0, r4, #0
ldr r1, [r1, r2]
blx r1
_0206490A:
pop {r4, pc}
.balign 4, 0
_0206490C: .word 0x020FE214
thumb_func_end sub_020648EC
thumb_func_start sub_02064910
sub_02064910: ; 0x02064910
push {r4, lr}
add r4, r0, #0
bl sub_0203E344
bl sub_0202A998
bl sub_0202AEBC
cmp r0, #0
beq _02064932
lsl r1, r0, #2
ldr r0, _02064934 ; =0x020FE1EC
ldr r1, [r0, r1]
cmp r1, #0
beq _02064932
add r0, r4, #0
blx r1
_02064932:
pop {r4, pc}
.balign 4, 0
_02064934: .word 0x020FE1EC
thumb_func_end sub_02064910
thumb_func_start sub_02064938
sub_02064938: ; 0x02064938
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
add r4, r1, #0
add r7, r2, #0
str r3, [sp, #4]
bl sub_0203E344
bl sub_0202A998
bl sub_0202AEBC
cmp r0, #0
bne _0206495A
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0206495A:
lsl r1, r0, #2
ldr r0, _0206497C ; =0x020FE23C
ldr r6, [r0, r1]
cmp r6, #0
beq _02064976
ldr r0, [sp, #0x20]
ldr r3, [sp, #4]
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
add r2, r7, #0
blx r6
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_02064976:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0206497C: .word 0x020FE23C
thumb_func_end sub_02064938
thumb_func_start sub_02064980
sub_02064980: ; 0x02064980
cmp r0, #0
bne _02064990
mov r0, #0xc
add r2, r1, #0
mul r2, r0
ldr r0, _020649AC ; =0x020FE264
ldr r0, [r0, r2]
bx lr
_02064990:
cmp r0, #1
bne _020649A0
mov r0, #0xc
add r2, r1, #0
mul r2, r0
ldr r0, _020649B0 ; =0x020FE268
ldr r0, [r0, r2]
bx lr
_020649A0:
mov r0, #0xc
add r2, r1, #0
mul r2, r0
ldr r0, _020649B4 ; =0x020FE26C
ldr r0, [r0, r2]
bx lr
.balign 4, 0
_020649AC: .word 0x020FE264
_020649B0: .word 0x020FE268
_020649B4: .word 0x020FE26C
thumb_func_end sub_02064980
thumb_func_start sub_020649B8
sub_020649B8: ; 0x020649B8
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
add r5, r1, #0
str r4, [r5, #0x14]
ldr r0, [r4, #0x20]
ldr r0, [r0]
str r0, [r5]
ldr r0, [r4, #0xc]
bl sub_020503D0
bl sub_02066644
ldrh r1, [r5, #8]
mov r2, #1
lsl r0, r0, #0x10
bic r1, r2
lsr r2, r0, #0x10
mov r0, #1
and r0, r2
orr r0, r1
strh r0, [r5, #8]
ldr r0, [r4, #0xc]
bl sub_020503D0
bl sub_020666B4
lsl r0, r0, #0x10
lsr r0, r0, #0x10
lsl r0, r0, #0x1f
ldrh r1, [r5, #8]
mov r2, #2
lsr r0, r0, #0x1e
bic r1, r2
orr r0, r1
strh r0, [r5, #8]
ldr r0, [r4, #0x40]
bl sub_0205C700
str r0, [r5, #4]
ldr r0, [r4, #0x40]
bl sub_0205C67C
add r6, r0, #0
ldr r0, [r4, #0x40]
bl sub_0205C688
add r7, r0, #0
add r0, r4, #0
add r1, r6, #0
add r2, r7, #0
bl sub_02054918
strh r0, [r5, #0xc]
ldr r0, [r4, #0x40]
bl sub_0205C654
cmp r0, #3
bhi _02064A4E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02064A38: ; jump table
.short _02064A40 - _02064A38 - 2 ; case 0
.short _02064A44 - _02064A38 - 2 ; case 1
.short _02064A4C - _02064A38 - 2 ; case 2
.short _02064A48 - _02064A38 - 2 ; case 3
_02064A40:
sub r7, r7, #1
b _02064A4E
_02064A44:
add r7, r7, #1
b _02064A4E
_02064A48:
add r6, r6, #1
b _02064A4E
_02064A4C:
sub r6, r6, #1
_02064A4E:
add r0, r4, #0
add r1, r6, #0
add r2, r7, #0
bl sub_02054918
strh r0, [r5, #0xa]
add r0, r4, #0
add r1, sp, #0
bl sub_0203DBF8
ldr r0, [r4, #0x40]
str r0, [r5, #0x10]
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020649B8
thumb_func_start sub_02064A68
sub_02064A68: ; 0x02064A68
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r4, r1, #0
mov r0, #0x20
mov r1, #0xc
add r6, r2, #0
add r7, r3, #0
bl AllocFromHeap
str r5, [r0]
strh r4, [r0, #4]
strh r6, [r0, #6]
strh r7, [r0, #8]
add r1, sp, #8
ldrh r1, [r1, #0x10]
strh r1, [r0, #0xa]
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02064A68
thumb_func_start sub_02064A8C
sub_02064A8C: ; 0x02064A8C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5]
add r6, r2, #0
bl sub_0205064C
add r7, r0, #0
ldr r0, [r5]
bl sub_02050650
add r4, r0, #0
add r0, r7, #0
bl sub_020505C0
mov r0, #0xd5
mov r2, #0
ldr r1, _02064ACC ; =sub_02064AD0
lsl r0, r0, #2
str r1, [r4, r0]
str r2, [sp]
ldrh r1, [r5, #4]
add r0, r6, #0
add r3, r2, #0
bl sub_02064A68
mov r1, #0xe
lsl r1, r1, #6
str r0, [r4, r1]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r3, r4, r5, r6, r7, pc}
nop
_02064ACC: .word sub_02064AD0
thumb_func_end sub_02064A8C
thumb_func_start sub_02064AD0
sub_02064AD0: ; 0x02064AD0
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r7, #0
bl sub_02050650
add r4, r0, #0
add r0, r7, #0
bl sub_02050654
add r6, r0, #0
ldr r0, [r6]
cmp r0, #0
beq _02064AF6
cmp r0, #1
beq _02064B46
b _02064B50
_02064AF6:
add r0, r5, #0
add r1, sp, #0
bl sub_0203DBF8
ldr r1, [r4]
ldr r2, [sp]
lsl r1, r1, #0x10
add r0, r7, #0
lsr r1, r1, #0x10
mov r3, #0
bl sub_0203FED4
add r0, r5, #0
mov r1, #0x2a
bl sub_020402F0
ldrh r1, [r4, #4]
strh r1, [r0]
add r0, r5, #0
mov r1, #0x2b
bl sub_020402F0
ldrh r1, [r4, #6]
strh r1, [r0]
add r0, r5, #0
mov r1, #0x2c
bl sub_020402F0
ldrh r1, [r4, #8]
strh r1, [r0]
add r0, r5, #0
mov r1, #0x2d
bl sub_020402F0
ldrh r1, [r4, #0xa]
strh r1, [r0]
ldr r0, [r6]
add r0, r0, #1
str r0, [r6]
b _02064B50
_02064B46:
add r0, r4, #0
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02064B50:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02064AD0
thumb_func_start sub_02064B54
sub_02064B54: ; 0x02064B54
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
ldr r0, [r6]
bl sub_0205064C
add r5, r0, #0
ldr r0, [r6]
bl sub_02050650
add r7, r0, #0
mov r0, #0xb
mov r1, #0x44
bl AllocFromHeap
mov r1, #0
mov r2, #0x44
add r4, r0, #0
bl memset
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
str r0, [r4]
ldr r0, [r5, #0xc]
bl sub_0207879C
str r0, [r4, #4]
ldr r0, [r5, #0xc]
bl Sav2_Mailbox_get
str r0, [r4, #8]
ldr r0, [r5, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #0xc]
ldr r0, [r5, #0xc]
bl sub_020270C4
str r0, [r4, #0x10]
mov r0, #0x37
lsl r0, r0, #4
add r0, r7, r0
str r0, [r4, #0x18]
add r0, r4, #0
mov r1, #0
add r0, #0x25
strb r1, [r0]
add r0, r4, #0
mov r1, #5
add r0, #0x24
strb r1, [r0]
str r5, [r4, #0x1c]
ldrh r0, [r6, #4]
add r2, r4, #0
strh r0, [r4, #0x28]
add r0, r4, #0
ldrb r1, [r6, #6]
add r0, #0x26
strb r1, [r0]
mov r0, #0x43
lsl r0, r0, #2
add r0, r5, r0
str r0, [r4, #0x20]
ldr r1, _02064BEC ; =0x0210159C
add r0, r5, #0
bl SwitchToPokegearApp
mov r0, #0xe
lsl r0, r0, #6
str r4, [r7, r0]
ldr r1, _02064BF0 ; =sub_0203CA9C
add r0, r7, #0
bl sub_0203C8F0
pop {r3, r4, r5, r6, r7, pc}
nop
_02064BEC: .word 0x0210159C
_02064BF0: .word sub_0203CA9C
thumb_func_end sub_02064B54
thumb_func_start sub_02064BF4
sub_02064BF4: ; 0x02064BF4
mov r0, #0
mvn r0, r0
bx lr
.balign 4, 0
thumb_func_end sub_02064BF4
thumb_func_start sub_02064BFC
sub_02064BFC: ; 0x02064BFC
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4]
bl sub_0205064C
add r5, r0, #0
ldr r0, [r4]
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_020505C0
mov r0, #0xd5
ldr r1, _02064C2C ; =sub_02064C58
lsl r0, r0, #2
str r1, [r4, r0]
mov r1, #0
add r0, #0x2c
str r1, [r4, r0]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r3, r4, r5, pc}
nop
_02064C2C: .word sub_02064C58
thumb_func_end sub_02064BFC
thumb_func_start sub_02064C30
sub_02064C30: ; 0x02064C30
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
ldr r1, _02064C54 ; =sub_02064C58
mov r2, #0
bl sub_020504F0
ldr r2, [r4]
add r0, r2, #0
add r0, #0xd2
ldrb r1, [r0]
mov r0, #0x80
add r2, #0xd2
orr r0, r1
strb r0, [r2]
mov r0, #0
pop {r4, pc}
nop
_02064C54: .word sub_02064C58
thumb_func_end sub_02064C30
thumb_func_start sub_02064C58
sub_02064C58: ; 0x02064C58
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205064C
add r4, r0, #0
add r0, r5, #0
bl sub_02050654
add r5, r0, #0
ldr r0, [r5]
cmp r0, #0
beq _02064C7C
cmp r0, #1
beq _02064CC2
cmp r0, #2
bne _02064C7A
b _02064D94
_02064C7A:
b _02064D9E
_02064C7C:
add r0, r4, #0
bl sub_02069F88
cmp r0, #0
beq _02064CBA
add r0, r4, #0
bl sub_02069D68
bl sub_02062198
cmp r0, #0
bne _02064C96
b _02064D9E
_02064C96:
ldr r0, [r4, #0x40]
bl sub_0205C700
cmp r0, #1
bne _02064CA4
mov r6, #0x30
b _02064CA6
_02064CA4:
mov r6, #0x38
_02064CA6:
add r0, r4, #0
bl sub_02069D68
add r1, r6, #0
bl sub_0205FC94
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _02064D9E
_02064CBA:
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _02064D9E
_02064CC2:
ldr r0, [r4, #0x40]
bl sub_0205C700
cmp r0, #1
bne _02064D3E
ldr r0, [r4, #0x40]
bl sub_0205C6DC
bl sub_0205F708
ldr r0, [r4, #0x40]
mov r1, #1
bl ov01_021F1AFC
ldr r0, [r4, #0x40]
bl ov01_021F1B04
add r0, r4, #0
mov r1, #0
bl sub_02054F28
bl sub_02004A20
cmp r0, #0
bne _02064D08
ldr r1, [r4, #0x20]
add r0, r4, #0
ldr r1, [r1]
bl sub_02054F60
add r1, r0, #0
add r0, r4, #0
mov r2, #1
bl sub_02054FDC
_02064D08:
ldr r0, [r4, #0x40]
bl sub_0205C654
add r1, r0, #0
lsl r1, r1, #0x18
add r0, r4, #0
lsr r1, r1, #0x18
bl ov01_02205790
add r0, r4, #0
bl sub_02069F88
cmp r0, #0
beq _02064D8C
add r0, r4, #0
bl sub_02069D68
mov r1, #1
bl sub_02069E84
add r0, r4, #0
bl sub_02069D68
mov r1, #1
bl sub_02069DC8
b _02064D8C
_02064D3E:
bl sub_02004A20
cmp r0, #0
bne _02064D58
ldr r1, _02064DA4 ; =0x000003F5
add r0, r4, #0
bl sub_02054F28
ldr r1, _02064DA4 ; =0x000003F5
add r0, r4, #0
mov r2, #1
bl sub_02054FDC
_02064D58:
ldr r0, [r4, #0x40]
bl sub_0205C6DC
bl sub_0205F708
ldr r0, [r4, #0x40]
mov r1, #2
bl ov01_021F1AFC
ldr r0, [r4, #0x40]
bl ov01_021F1B04
add r0, r4, #0
bl ov01_02205D68
add r0, r4, #0
bl sub_02069F88
cmp r0, #0
beq _02064D8C
add r0, r4, #0
bl sub_02069D68
mov r1, #0
bl sub_02069E84
_02064D8C:
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _02064D9E
_02064D94:
ldr r0, [r4, #0x3c]
bl sub_0205F5A4
mov r0, #1
pop {r4, r5, r6, pc}
_02064D9E:
mov r0, #0
pop {r4, r5, r6, pc}
nop
_02064DA4: .word 0x000003F5
thumb_func_end sub_02064C58
thumb_func_start sub_02064DA8
sub_02064DA8: ; 0x02064DA8
push {r4, lr}
add r4, r0, #0
ldrh r0, [r4, #8]
lsl r1, r0, #0x1f
lsr r1, r1, #0x1f
cmp r1, #1
bne _02064DBA
mov r0, #2
pop {r4, pc}
_02064DBA:
lsl r0, r0, #0x1e
lsr r0, r0, #0x1f
cmp r0, #1
bne _02064DC6
mov r0, #3
pop {r4, pc}
_02064DC6:
ldr r0, [r4, #0x10]
bl sub_0205CABC
cmp r0, #1
bne _02064DD4
mov r0, #1
pop {r4, pc}
_02064DD4:
ldrh r0, [r4, #0xc]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0205B6F4
cmp r0, #1
beq _02064DF0
ldrh r0, [r4, #0xc]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0205B8AC
cmp r0, #1
bne _02064DF6
_02064DF0:
mov r0, #0
mvn r0, r0
pop {r4, pc}
_02064DF6:
ldr r0, [r4]
bl sub_0203B470
cmp r0, #0
bne _02064E06
mov r0, #0
mvn r0, r0
pop {r4, pc}
_02064E06:
ldr r0, [r4, #4]
cmp r0, #2
bne _02064E12
mov r0, #0
mvn r0, r0
pop {r4, pc}
_02064E12:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02064DA8
thumb_func_start sub_02064E18
sub_02064E18: ; 0x02064E18
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
ldr r0, [r6]
bl sub_0205064C
add r5, r0, #0
ldr r0, [r6]
bl sub_02050650
add r7, r0, #0
mov r0, #0xb
mov r1, #0x44
bl AllocFromHeap
mov r1, #0
mov r2, #0x44
add r4, r0, #0
bl memset
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
str r0, [r4]
ldr r0, [r5, #0xc]
bl sub_0207879C
str r0, [r4, #4]
ldr r0, [r5, #0xc]
bl Sav2_Mailbox_get
str r0, [r4, #8]
ldr r0, [r5, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #0xc]
mov r0, #0x37
lsl r0, r0, #4
add r0, r7, r0
str r0, [r4, #0x18]
add r0, r4, #0
mov r1, #0
add r0, #0x25
strb r1, [r0]
add r0, r4, #0
mov r1, #6
add r0, #0x24
strb r1, [r0]
str r5, [r4, #0x1c]
ldrh r0, [r6, #4]
strh r0, [r4, #0x28]
add r0, r4, #0
ldrb r1, [r6, #6]
add r0, #0x26
strb r1, [r0]
ldrh r0, [r6, #4]
bl sub_02078000
strh r0, [r4, #0x2a]
mov r0, #0x43
lsl r0, r0, #2
add r0, r5, r0
str r0, [r4, #0x20]
ldr r1, _02064EB0 ; =0x0210159C
add r0, r5, #0
add r2, r4, #0
bl SwitchToPokegearApp
mov r0, #0xe
lsl r0, r0, #6
str r4, [r7, r0]
ldr r1, _02064EB4 ; =sub_0203CA9C
add r0, r7, #0
bl sub_0203C8F0
pop {r3, r4, r5, r6, r7, pc}
nop
_02064EB0: .word 0x0210159C
_02064EB4: .word sub_0203CA9C
thumb_func_end sub_02064E18
thumb_func_start sub_02064EB8
sub_02064EB8: ; 0x02064EB8
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
bl sub_0205064C
add r6, r0, #0
ldr r0, [r5]
bl sub_02050650
add r4, r0, #0
ldrh r0, [r5, #4]
bl sub_02078078
add r2, r0, #0
add r0, r6, #0
mov r1, #3
mov r3, #0xb
bl sub_0203F018
add r6, r0, #0
ldrh r0, [r5, #4]
mov r1, #3
mov r2, #0
bl sub_0203D818
mov r1, #0xe1
lsl r1, r1, #2
str r0, [r4, r1]
sub r0, r1, #4
str r6, [r4, r0]
ldr r1, _02064F00 ; =sub_0203D830
add r0, r4, #0
bl sub_0203C8F0
pop {r4, r5, r6, pc}
nop
_02064F00: .word sub_0203D830
thumb_func_end sub_02064EB8
thumb_func_start sub_02064F04
sub_02064F04: ; 0x02064F04
mov r0, #0
bx lr
thumb_func_end sub_02064F04
thumb_func_start sub_02064F08
sub_02064F08: ; 0x02064F08
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
bl sub_0205064C
ldr r0, [r5]
bl sub_02050650
add r0, r5, #0
add r1, r4, #0
bl sub_02064B54
pop {r3, r4, r5, pc}
thumb_func_end sub_02064F08
thumb_func_start sub_02064F24
sub_02064F24: ; 0x02064F24
mov r0, #0
bx lr
thumb_func_end sub_02064F24
thumb_func_start sub_02064F28
sub_02064F28: ; 0x02064F28
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4]
bl sub_0205064C
add r5, r0, #0
ldr r0, [r4]
bl sub_02050650
add r4, r0, #0
ldr r1, [r5, #0xc]
add r0, r5, #0
mov r2, #0xb
bl sub_0203F53C
mov r1, #0xe
lsl r1, r1, #6
str r0, [r4, r1]
ldr r1, _02064F58 ; =sub_0203D718
add r0, r4, #0
bl sub_0203C8F0
pop {r3, r4, r5, pc}
nop
_02064F58: .word sub_0203D718
thumb_func_end sub_02064F28
thumb_func_start sub_02064F5C
sub_02064F5C: ; 0x02064F5C
push {r3, lr}
ldr r1, _02064F6C ; =sub_02064F70
mov r2, #0
bl sub_020658B8
mov r0, #1
pop {r3, pc}
nop
_02064F6C: .word sub_02064F70
thumb_func_end sub_02064F5C
thumb_func_start sub_02064F70
sub_02064F70: ; 0x02064F70
ldr r3, _02064F78 ; =sub_0203F53C
ldr r1, [r0, #0xc]
mov r2, #0xb
bx r3
.balign 4, 0
_02064F78: .word sub_0203F53C
thumb_func_end sub_02064F70
thumb_func_start sub_02064F7C
sub_02064F7C: ; 0x02064F7C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5]
bl sub_0205064C
add r6, r0, #0
ldr r0, [r5]
bl sub_02050650
add r4, r0, #0
add r0, r6, #0
bl sub_020505C0
bl ov01_021FC30C
str r0, [sp]
ldr r1, [sp]
mov r0, #0xb
bl AllocFromHeapAtEnd
ldr r2, [sp]
mov r1, #0
add r7, r0, #0
bl memset
mov r0, #0xd5
ldr r1, _02064FD0 ; =0x021FC311
lsl r0, r0, #2
str r1, [r4, r0]
add r0, #0x2c
str r7, [r4, r0]
mov r0, #0xc
strh r0, [r4, #0x26]
ldr r0, [r6, #0xc]
bl sub_0207879C
ldrh r1, [r5, #4]
mov r2, #1
mov r3, #0xb
bl sub_02078434
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02064FD0: .word 0x021FC311
thumb_func_end sub_02064F7C
thumb_func_start sub_02064FD4
sub_02064FD4: ; 0x02064FD4
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4]
bl sub_0205064C
add r5, r0, #0
ldr r0, [r4]
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_020505C0
mov r0, #0xd5
ldr r1, _0206500C ; =0x021FC699
lsl r0, r0, #2
str r1, [r4, r0]
add r0, r5, #0
mov r1, #0xb
mov r2, #0
bl ov01_021FC66C
mov r1, #0xe
lsl r1, r1, #6
str r0, [r4, r1]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r3, r4, r5, pc}
.balign 4, 0
_0206500C: .word 0x021FC699
thumb_func_end sub_02064FD4
thumb_func_start sub_02065010
sub_02065010: ; 0x02065010
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
mov r1, #4
mov r2, #0
bl ov01_021FC66C
add r2, r0, #0
ldr r0, [r4]
ldr r1, _0206502C ; =0x021FC699
bl sub_020504F0
mov r0, #0
pop {r4, pc}
.balign 4, 0
_0206502C: .word 0x021FC699
thumb_func_end sub_02065010
thumb_func_start sub_02065030
sub_02065030: ; 0x02065030
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4]
bl sub_0205064C
add r5, r0, #0
ldr r0, [r4]
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_020505C0
mov r0, #0xd5
ldr r1, _02065068 ; =0x021FC699
lsl r0, r0, #2
str r1, [r4, r0]
add r0, r5, #0
mov r1, #0xb
mov r2, #1
bl ov01_021FC66C
mov r1, #0xe
lsl r1, r1, #6
str r0, [r4, r1]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r3, r4, r5, pc}
.balign 4, 0
_02065068: .word 0x021FC699
thumb_func_end sub_02065030
thumb_func_start sub_0206506C
sub_0206506C: ; 0x0206506C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
mov r1, #4
mov r2, #1
bl ov01_021FC66C
add r2, r0, #0
ldr r0, [r4]
ldr r1, _02065088 ; =0x021FC699
bl sub_020504F0
mov r0, #0
pop {r4, pc}
.balign 4, 0
_02065088: .word 0x021FC699
thumb_func_end sub_0206506C
thumb_func_start sub_0206508C
sub_0206508C: ; 0x0206508C
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4]
bl sub_0205064C
add r5, r0, #0
ldr r0, [r4]
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_020505C0
mov r0, #0xd5
ldr r1, _020650C4 ; =0x021FC699
lsl r0, r0, #2
str r1, [r4, r0]
add r0, r5, #0
mov r1, #0xb
mov r2, #2
bl ov01_021FC66C
mov r1, #0xe
lsl r1, r1, #6
str r0, [r4, r1]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r3, r4, r5, pc}
.balign 4, 0
_020650C4: .word 0x021FC699
thumb_func_end sub_0206508C
thumb_func_start sub_020650C8
sub_020650C8: ; 0x020650C8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
mov r1, #4
mov r2, #2
bl ov01_021FC66C
add r2, r0, #0
ldr r0, [r4]
ldr r1, _020650E4 ; =0x021FC699
bl sub_020504F0
mov r0, #0
pop {r4, pc}
.balign 4, 0
_020650E4: .word 0x021FC699
thumb_func_end sub_020650C8
thumb_func_start sub_020650E8
sub_020650E8: ; 0x020650E8
push {r4, lr}
add r4, r0, #0
ldrh r0, [r4, #8]
lsl r1, r0, #0x1f
lsr r1, r1, #0x1f
cmp r1, #1
bne _020650FA
mov r0, #2
pop {r4, pc}
_020650FA:
lsl r0, r0, #0x1e
lsr r0, r0, #0x1f
cmp r0, #1
bne _02065106
mov r0, #3
pop {r4, pc}
_02065106:
ldrh r0, [r4, #0xa]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0205B778
cmp r0, #1
bne _02065148
ldrh r0, [r4, #0xc]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0205BA30
cmp r0, #1
beq _02065130
ldrh r0, [r4, #0xc]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0205BA24
cmp r0, #1
bne _02065144
_02065130:
ldr r0, [r4, #0x10]
bl sub_0205C6DC
bl sub_0205F83C
cmp r0, #1
bne _02065144
mov r0, #0
mvn r0, r0
pop {r4, pc}
_02065144:
mov r0, #0
pop {r4, pc}
_02065148:
mov r0, #0
mvn r0, r0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020650E8
thumb_func_start sub_02065150
sub_02065150: ; 0x02065150
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0xb
mov r1, #0x18
bl AllocFromHeap
add r4, r0, #0
mov r0, #0
strh r0, [r4, #0x16]
mov r0, #0x80
mov r1, #0xb
bl String_ctor
str r0, [r4, #0x10]
ldr r0, [r5]
ldrh r2, [r5, #0x24]
ldr r0, [r0, #0xc]
ldr r1, [r4, #0x10]
mov r3, #0xb
bl sub_02077980
ldr r0, [r5]
ldr r1, _02065188 ; =sub_0206518C
add r2, r4, #0
bl sub_020504F0
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
_02065188: .word sub_0206518C
thumb_func_end sub_02065150
thumb_func_start sub_0206518C
sub_0206518C: ; 0x0206518C
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205064C
add r4, r0, #0
add r0, r5, #0
bl sub_02050650
add r5, r0, #0
ldrh r0, [r5, #0x16]
cmp r0, #0
beq _020651AE
cmp r0, #1
beq _020651F4
cmp r0, #2
beq _02065232
b _0206524E
_020651AE:
add r0, r4, #0
add r0, #0xd2
ldrb r1, [r0]
mov r0, #0x40
orr r1, r0
add r0, r4, #0
add r0, #0xd2
strb r1, [r0]
ldr r0, [r4, #0x3c]
bl sub_0205F574
ldr r0, [r4, #8]
add r1, r5, #0
mov r2, #3
bl sub_0205B514
ldr r0, [r4, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
add r4, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_0205B564
ldr r1, [r5, #0x10]
add r0, r5, #0
add r2, r4, #0
mov r3, #1
bl sub_0205B5B4
strh r0, [r5, #0x14]
ldrh r0, [r5, #0x16]
add r0, r0, #1
strh r0, [r5, #0x16]
b _0206524E
_020651F4:
ldrh r0, [r5, #0x14]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0205B624
cmp r0, #1
bne _0206524E
ldr r1, _02065254 ; =gMain
mov r0, #0xf3
ldr r2, [r1, #0x48]
tst r0, r2
bne _02065214
ldr r1, [r1, #0x5c]
mov r0, #1
tst r0, r1
beq _0206524E
_02065214:
add r0, r4, #0
add r0, #0xd2
ldrb r1, [r0]
mov r0, #0x40
add r4, #0xd2
bic r1, r0
strb r1, [r4]
add r0, r5, #0
mov r1, #0
bl sub_0200E9BC
ldrh r0, [r5, #0x16]
add r0, r0, #1
strh r0, [r5, #0x16]
b _0206524E
_02065232:
ldr r0, [r4, #0x3c]
bl sub_0205F5A4
add r0, r5, #0
bl RemoveWindow
ldr r0, [r5, #0x10]
bl String_dtor
add r0, r5, #0
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, pc}
_0206524E:
mov r0, #0
pop {r3, r4, r5, pc}
nop
_02065254: .word gMain
thumb_func_end sub_0206518C
thumb_func_start sub_02065258
sub_02065258: ; 0x02065258
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
ldr r0, [r6]
add r4, r1, #0
bl sub_0205064C
ldrh r1, [r6, #4]
add r5, r0, #0
cmp r1, #0x54
bne _02065280
bl sub_0206BD7C
cmp r0, #0
beq _02065280
add r0, r6, #0
add r1, r4, #0
mov r2, #3
bl sub_02064A8C
pop {r3, r4, r5, r6, r7, pc}
_02065280:
ldr r0, [r6]
bl sub_02050650
add r7, r0, #0
mov r0, #0xb
mov r1, #0x44
bl AllocFromHeap
mov r1, #0
mov r2, #0x44
add r4, r0, #0
bl memset
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
str r0, [r4]
ldr r0, [r5, #0xc]
bl sub_0207879C
str r0, [r4, #4]
ldr r0, [r5, #0xc]
bl Sav2_Mailbox_get
str r0, [r4, #8]
ldr r0, [r5, #0xc]
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #0xc]
ldr r0, [r5, #0xc]
bl sub_020270C4
str r0, [r4, #0x10]
mov r0, #0x37
lsl r0, r0, #4
add r0, r7, r0
str r0, [r4, #0x18]
add r0, r4, #0
mov r1, #0
add r0, #0x25
strb r1, [r0]
add r1, r4, #0
mov r0, #0x10
add r1, #0x24
strb r0, [r1]
ldrh r1, [r6, #4]
add r0, #0xfc
add r0, r5, r0
strh r1, [r4, #0x28]
add r1, r4, #0
ldrb r2, [r6, #6]
add r1, #0x26
strb r2, [r1]
str r5, [r4, #0x1c]
str r0, [r4, #0x20]
ldr r1, _02065308 ; =0x0210159C
add r0, r5, #0
add r2, r4, #0
bl SwitchToPokegearApp
mov r0, #0xe
lsl r0, r0, #6
str r4, [r7, r0]
ldr r1, _0206530C ; =sub_0203CA9C
add r0, r7, #0
bl sub_0203C8F0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02065308: .word 0x0210159C
_0206530C: .word sub_0203CA9C
thumb_func_end sub_02065258
thumb_func_start sub_02065310
sub_02065310: ; 0x02065310
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #0x14]
bl sub_0206BD10
cmp r0, #0
beq _0206532C
add r0, r5, #0
add r1, r4, #0
mov r2, #3
bl sub_02064A8C
pop {r4, r5, r6, pc}
_0206532C:
ldr r0, [r5]
bl sub_0205064C
add r6, r0, #0
ldr r0, [r5]
bl sub_02050650
add r4, r0, #0
add r0, r6, #0
bl sub_020505C0
mov r0, #0xd5
ldr r1, _02065368 ; =sub_020653B8
lsl r0, r0, #2
str r1, [r4, r0]
mov r1, #0
add r0, #0x2c
str r1, [r4, r0]
mov r0, #0xc
strh r0, [r4, #0x26]
ldr r0, [r6, #0xc]
bl sub_0207879C
ldrh r1, [r5, #4]
mov r2, #1
mov r3, #0xb
bl sub_02078434
pop {r4, r5, r6, pc}
nop
_02065368: .word sub_020653B8
thumb_func_end sub_02065310
thumb_func_start sub_0206536C
sub_0206536C: ; 0x0206536C
push {r4, lr}
add r4, r0, #0
ldrh r0, [r4, #8]
lsl r1, r0, #0x1f
lsr r1, r1, #0x1f
cmp r1, #1
bne _0206537E
mov r0, #2
pop {r4, pc}
_0206537E:
lsl r0, r0, #0x1e
lsr r0, r0, #0x1f
cmp r0, #1
bne _0206538A
mov r0, #3
pop {r4, pc}
_0206538A:
ldr r0, [r4, #0x14]
bl sub_0206BD10
cmp r0, #0
beq _02065398
mov r0, #0
pop {r4, pc}
_02065398:
ldr r0, [r4]
bl sub_0203B578
cmp r0, #1
bne _020653B0
ldr r0, [r4]
bl sub_0203B438
cmp r0, #1
bne _020653B0
mov r0, #0
pop {r4, pc}
_020653B0:
mov r0, #0
mvn r0, r0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0206536C
thumb_func_start sub_020653B8
sub_020653B8: ; 0x020653B8
push {r4, lr}
add r4, r0, #0
bl sub_0205064C
mov r1, #0xb
bl ov02_0224BFD8
add r2, r0, #0
ldr r1, _020653D4 ; =0x0224C021
add r0, r4, #0
bl sub_02050510
mov r0, #0
pop {r4, pc}
.balign 4, 0
_020653D4: .word 0x0224C021
thumb_func_end sub_020653B8
thumb_func_start sub_020653D8
sub_020653D8: ; 0x020653D8
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4]
bl sub_0205064C
add r5, r0, #0
ldr r0, [r4]
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
mov r1, #1
bl sub_0203ED24
mov r1, #0xe
lsl r1, r1, #6
str r0, [r4, r1]
ldr r1, _02065404 ; =sub_0203D718
add r0, r4, #0
bl sub_0203C8F0
pop {r3, r4, r5, pc}
.balign 4, 0
_02065404: .word sub_0203D718
thumb_func_end sub_020653D8
thumb_func_start sub_02065408
sub_02065408: ; 0x02065408
push {r3, lr}
ldr r1, _02065418 ; =sub_0206541C
mov r2, #0
bl sub_020658B8
mov r0, #1
pop {r3, pc}
nop
_02065418: .word sub_0206541C
thumb_func_end sub_02065408
thumb_func_start sub_0206541C
sub_0206541C: ; 0x0206541C
ldr r3, _02065424 ; =sub_0203ED24
mov r1, #1
bx r3
nop
_02065424: .word sub_0203ED24
thumb_func_end sub_0206541C
thumb_func_start sub_02065428
sub_02065428: ; 0x02065428
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4]
bl sub_0205064C
add r5, r0, #0
ldr r0, [r4]
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_0203ECC0
mov r1, #0xe
lsl r1, r1, #6
str r0, [r4, r1]
ldr r1, _02065454 ; =sub_0203D718
add r0, r4, #0
bl sub_0203C8F0
pop {r3, r4, r5, pc}
nop
_02065454: .word sub_0203D718
thumb_func_end sub_02065428
thumb_func_start sub_02065458
sub_02065458: ; 0x02065458
push {r3, lr}
ldr r1, _02065468 ; =sub_0206546C
mov r2, #0
bl sub_020658B8
mov r0, #1
pop {r3, pc}
nop
_02065468: .word sub_0206546C
thumb_func_end sub_02065458
thumb_func_start sub_0206546C
sub_0206546C: ; 0x0206546C
ldr r3, _02065470 ; =sub_0203ECC0
bx r3
.balign 4, 0
_02065470: .word sub_0203ECC0
thumb_func_end sub_0206546C
thumb_func_start sub_02065474
sub_02065474: ; 0x02065474
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4]
bl sub_0205064C
add r5, r0, #0
ldr r0, [r4]
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_0203EC64
mov r1, #0xe
lsl r1, r1, #6
str r0, [r4, r1]
ldr r1, _020654A0 ; =sub_0203D718
add r0, r4, #0
bl sub_0203C8F0
pop {r3, r4, r5, pc}
nop
_020654A0: .word sub_0203D718
thumb_func_end sub_02065474
thumb_func_start sub_020654A4
sub_020654A4: ; 0x020654A4
push {r3, lr}
ldr r1, _020654B4 ; =sub_020654B8
mov r2, #0
bl sub_020658B8
mov r0, #1
pop {r3, pc}
nop
_020654B4: .word sub_020654B8
thumb_func_end sub_020654A4
thumb_func_start sub_020654B8
sub_020654B8: ; 0x020654B8
ldr r3, _020654BC ; =sub_0203EC64
bx r3
.balign 4, 0
_020654BC: .word sub_0203EC64
thumb_func_end sub_020654B8
thumb_func_start sub_020654C0
sub_020654C0: ; 0x020654C0
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4]
bl sub_0205064C
add r5, r0, #0
ldr r0, [r4]
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_020505C0
mov r0, #0xd5
ldr r1, _020654F0 ; =sub_02065508
lsl r0, r0, #2
str r1, [r4, r0]
mov r1, #0
add r0, #0x2c
str r1, [r4, r0]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r3, r4, r5, pc}
nop
_020654F0: .word sub_02065508
thumb_func_end sub_020654C0
thumb_func_start sub_020654F4
sub_020654F4: ; 0x020654F4
push {r3, lr}
ldr r0, [r0]
ldr r1, _02065504 ; =sub_02065508
mov r2, #0
bl sub_020504F0
mov r0, #0
pop {r3, pc}
.balign 4, 0
_02065504: .word sub_02065508
thumb_func_end sub_020654F4
thumb_func_start sub_02065508
sub_02065508: ; 0x02065508
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
beq _02065526
cmp r0, #1
beq _02065546
b _0206555A
_02065526:
add r0, r5, #0
mov r1, #4
mov r2, #0
bl ov01_021F6A9C
add r0, r5, #0
add r0, #0xd2
ldrb r1, [r0]
mov r0, #0x80
add r5, #0xd2
orr r0, r1
strb r0, [r5]
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0206555A
_02065546:
add r0, r5, #0
bl ov01_021F6B10
cmp r0, #1
bne _0206555A
ldr r0, [r5, #0x3c]
bl sub_0205F5A4
mov r0, #1
pop {r3, r4, r5, pc}
_0206555A:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02065508
thumb_func_start sub_02065560
sub_02065560: ; 0x02065560
push {r4, r5, r6, lr}
add r6, r0, #0
mov r0, #0xb
mov r1, #0x18
bl AllocFromHeap
add r4, r0, #0
mov r0, #0
mov r1, #0x1b
mov r2, #0xa
mov r3, #0xb
strh r0, [r4, #0x16]
bl NewMsgDataFromNarc
add r5, r0, #0
bl sub_02005C18
cmp r0, #1
bne _02065590
add r0, r5, #0
mov r1, #0x69
bl NewString_ReadMsgData
b _02065598
_02065590:
add r0, r5, #0
mov r1, #0x68
bl NewString_ReadMsgData
_02065598:
str r0, [r4, #0x10]
add r0, r5, #0
bl DestroyMsgData
bl sub_02005C24
ldr r0, [r6]
ldr r1, _020655B4 ; =sub_0206518C
add r2, r4, #0
bl sub_020504F0
mov r0, #0
pop {r4, r5, r6, pc}
nop
_020655B4: .word sub_0206518C
thumb_func_end sub_02065560
thumb_func_start sub_020655B8
sub_020655B8: ; 0x020655B8
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4]
bl sub_0205064C
add r5, r0, #0
ldr r0, [r4]
bl sub_02050650
add r4, r0, #0
ldr r2, _020655E8 ; =0x000001D2
add r0, r5, #0
mov r1, #0xb
bl sub_0203FAE8
mov r1, #0xe
lsl r1, r1, #6
str r0, [r4, r1]
ldr r1, _020655EC ; =sub_0203CA9C
add r0, r4, #0
bl sub_0203C8F0
pop {r3, r4, r5, pc}
nop
_020655E8: .word 0x000001D2
_020655EC: .word sub_0203CA9C
thumb_func_end sub_020655B8
thumb_func_start sub_020655F0
sub_020655F0: ; 0x020655F0
push {r3, lr}
ldr r1, _02065600 ; =sub_02065604
mov r2, #0
bl sub_020658B8
mov r0, #1
pop {r3, pc}
nop
_02065600: .word sub_02065604
thumb_func_end sub_020655F0
thumb_func_start sub_02065604
sub_02065604: ; 0x02065604
ldr r3, _0206560C ; =sub_0203FAE8
mov r1, #0xb
ldr r2, _02065610 ; =0x000001D2
bx r3
.balign 4, 0
_0206560C: .word sub_0203FAE8
_02065610: .word 0x000001D2
thumb_func_end sub_02065604
thumb_func_start sub_02065614
sub_02065614: ; 0x02065614
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4]
bl sub_0205064C
add r5, r0, #0
ldr r0, [r4]
bl sub_02050650
add r4, r0, #0
ldr r1, [r5, #0xc]
add r0, r5, #0
bl sub_0203F570
mov r0, #0xe
mov r1, #0
lsl r0, r0, #6
str r1, [r4, r0]
ldr r1, _02065644 ; =sub_0203D9B4
add r0, r4, #0
bl sub_0203C8F0
pop {r3, r4, r5, pc}
nop
_02065644: .word sub_0203D9B4
thumb_func_end sub_02065614
thumb_func_start sub_02065648
sub_02065648: ; 0x02065648
push {r3, lr}
ldr r1, _02065658 ; =sub_0206565C
mov r2, #0
bl sub_020658B8
mov r0, #1
pop {r3, pc}
nop
_02065658: .word sub_0206565C
thumb_func_end sub_02065648
thumb_func_start sub_0206565C
sub_0206565C: ; 0x0206565C
push {r4, lr}
add r4, r0, #0
bl ov01_021F4440
ldr r1, [r4, #0xc]
add r0, r4, #0
bl sub_0203F570
mov r0, #0
pop {r4, pc}
thumb_func_end sub_0206565C
thumb_func_start sub_02065670
sub_02065670: ; 0x02065670
ldr r3, _0206568C ; =0x0210FAD8
mov r2, #0
_02065674:
ldrh r0, [r3]
cmp r1, r0
bne _0206567E
mov r0, #0
bx lr
_0206567E:
add r2, r2, #1
add r3, r3, #2
cmp r2, #8
blo _02065674
mov r0, #1
bx lr
nop
_0206568C: .word 0x0210FAD8
thumb_func_end sub_02065670
thumb_func_start sub_02065690
sub_02065690: ; 0x02065690
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r5, r0, #0
cmp r4, #1
beq _020656A2
cmp r4, #2
beq _020656A2
bl GF_AssertFail
_020656A2:
add r0, r5, #0
bl sub_02067584
cmp r0, #1
bne _020656B0
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_020656B0:
ldr r0, [r5, #0xc]
bl sub_020503D0
bl sub_020668A0
cmp r0, #1
bne _020656C2
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_020656C2:
ldr r0, [r5, #0xc]
bl sub_020503D0
bl sub_02066870
cmp r0, #1
bne _020656D4
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_020656D4:
add r0, r5, #0
bl ov01_021F6B10
cmp r0, #1
beq _020656E2
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_020656E2:
cmp r4, #1
ldr r0, [r5, #0xc]
bne _020656F2
bl sub_0207879C
bl sub_020781C4
b _020656FA
_020656F2:
bl sub_0207879C
bl sub_020781D0
_020656FA:
add r6, r0, #0
ldr r0, _020657A0 ; =0x000001D7
cmp r6, r0
bne _02065710
add r0, r5, #0
bl ov01_021F6B00
cmp r0, #4
bne _02065710
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02065710:
add r0, r6, #0
mov r1, #6
mov r2, #0xb
bl sub_02077D88
lsl r0, r0, #0x10
lsr r4, r0, #0x10
mov r0, #2
add r1, r4, #0
bl sub_02064980
add r7, r0, #0
mov r0, #1
add r1, r4, #0
bl sub_02064980
str r0, [sp]
cmp r0, #0
bne _0206573A
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0206573A:
mov r0, #0xb
mov r1, #0x28
bl AllocFromHeap
add r4, r0, #0
mov r1, #0
mov r2, #0x28
bl memset
str r5, [r4]
add r0, r5, #0
add r1, r4, #4
strh r6, [r4, #0x24]
bl sub_020649B8
mov r6, #0
cmp r7, #0
bne _02065768
ldr r1, [sp]
add r0, r4, #0
blx r1
add r6, r0, #0
b _02065780
_02065768:
add r0, r4, #4
blx r7
add r1, r0, #0
bne _0206577A
ldr r1, [sp]
add r0, r4, #0
blx r1
add r6, r0, #0
b _02065780
_0206577A:
add r0, r4, #0
bl sub_020657A4
_02065780:
cmp r6, #0
bne _0206578C
add r0, r4, #0
bl FreeToHeap
b _0206579C
_0206578C:
ldrh r1, [r4, #0x24]
add r0, r5, #0
bl sub_02065670
cmp r0, #0
beq _0206579C
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0206579C:
mov r0, #2
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020657A0: .word 0x000001D7
thumb_func_end sub_02065690
thumb_func_start sub_020657A4
sub_020657A4: ; 0x020657A4
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
add r6, r1, #0
mov r0, #0xb
mov r1, #0x18
bl AllocFromHeap
add r4, r0, #0
mov r0, #0
strh r0, [r4, #0x16]
mov r0, #0x80
mov r1, #0xb
bl String_ctor
str r0, [r4, #0x10]
ldr r0, [r5]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
mov r1, #0xb
str r1, [sp]
ldrh r2, [r5, #0x24]
ldr r1, [r4, #0x10]
add r3, r6, #0
bl sub_02077AA4
ldr r0, [r5]
ldr r1, _020657E8 ; =sub_0206518C
add r2, r4, #0
bl sub_020504F0
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_020657E8: .word sub_0206518C
thumb_func_end sub_020657A4
thumb_func_start sub_020657EC
sub_020657EC: ; 0x020657EC
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
add r0, #0x26
ldrb r0, [r0]
cmp r0, #5
bhi _020658B4
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02065812: ; jump table
.short _0206581E - _02065812 - 2 ; case 0
.short _02065832 - _02065812 - 2 ; case 1
.short _0206585C - _02065812 - 2 ; case 2
.short _02065866 - _02065812 - 2 ; case 3
.short _0206587E - _02065812 - 2 ; case 4
.short _0206589C - _02065812 - 2 ; case 5
_0206581E:
ldr r0, [r5, #0x3c]
bl sub_0205F574
mov r0, #0
bl ov01_021E636C
mov r0, #1
add r4, #0x26
strb r0, [r4]
b _020658B4
_02065832:
bl sub_0200FB5C
cmp r0, #0
beq _020658B4
ldr r1, [r4, #0x1c]
add r0, r5, #0
blx r1
str r0, [r4, #0x20]
add r0, r4, #0
add r0, #0x27
ldrb r0, [r0]
cmp r0, #0
bne _02065854
mov r0, #2
add r4, #0x26
strb r0, [r4]
b _020658B4
_02065854:
mov r0, #3
add r4, #0x26
strb r0, [r4]
b _020658B4
_0206585C:
add r0, r5, #0
bl sub_020505A0
cmp r0, #0
bne _020658B4
_02065866:
ldr r0, [r4, #0x20]
cmp r0, #0
beq _02065870
bl FreeToHeap
_02065870:
add r0, r5, #0
bl sub_020505C0
mov r0, #4
add r4, #0x26
strb r0, [r4]
b _020658B4
_0206587E:
add r0, r5, #0
bl sub_020505C8
cmp r0, #0
beq _020658B4
ldr r0, [r5, #0x3c]
bl sub_0205F574
mov r0, #1
bl ov01_021E636C
mov r0, #5
add r4, #0x26
strb r0, [r4]
b _020658B4
_0206589C:
bl sub_0200FB5C
cmp r0, #0
beq _020658B4
ldr r0, [r5, #0x3c]
bl sub_0205F5A4
add r0, r4, #0
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, pc}
_020658B4:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_020657EC
thumb_func_start sub_020658B8
sub_020658B8: ; 0x020658B8
add r3, r0, #0
str r1, [r3, #0x1c]
add r0, #0x27
strb r2, [r0]
ldr r0, [r3]
add r2, r3, #0
ldr r3, _020658CC ; =sub_020504F0
ldr r1, _020658D0 ; =sub_020657EC
bx r3
nop
_020658CC: .word sub_020504F0
_020658D0: .word sub_020657EC
thumb_func_end sub_020658B8
thumb_func_start sub_020658D4
sub_020658D4: ; 0x020658D4
push {r4, lr}
add r4, r0, #0
mov r1, #0xc
bl sub_0205F370
add r1, r0, #0
add r0, r4, #0
bl sub_02065CD0
add r0, r4, #0
mov r1, #0
bl sub_0205F328
add r0, r4, #0
bl sub_0205F63C
add r0, r4, #0
mov r1, #0
bl sub_0205F6AC
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020658D4
thumb_func_start sub_02065900
sub_02065900: ; 0x02065900
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205F394
add r4, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_02065CD0
cmp r0, #0
beq _02065930
add r0, r5, #0
mov r1, #0
bl sub_0205F6AC
ldr r6, _02065934 ; =0x020FE404
_02065920:
ldrb r2, [r4]
add r0, r5, #0
add r1, r4, #0
lsl r2, r2, #2
ldr r2, [r6, r2]
blx r2
cmp r0, #1
beq _02065920
_02065930:
pop {r4, r5, r6, pc}
nop
_02065934: .word 0x020FE404
thumb_func_end sub_02065900
thumb_func_start sub_02065938
sub_02065938: ; 0x02065938
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205F394
add r4, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_02065CD0
cmp r0, #0
beq _02065960
ldr r6, _02065964 ; =0x020FE414
_02065950:
ldrb r2, [r4]
add r0, r5, #0
add r1, r4, #0
lsl r2, r2, #2
ldr r2, [r6, r2]
blx r2
cmp r0, #1
beq _02065950
_02065960:
pop {r4, r5, r6, pc}
nop
_02065964: .word 0x020FE414
thumb_func_end sub_02065938
thumb_func_start sub_02065968
sub_02065968: ; 0x02065968
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205F394
add r4, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_02065CD0
cmp r0, #0
beq _02065990
ldr r6, _02065994 ; =0x020FE424
_02065980:
ldrb r2, [r4]
add r0, r5, #0
add r1, r4, #0
lsl r2, r2, #2
ldr r2, [r6, r2]
blx r2
cmp r0, #1
beq _02065980
_02065990:
pop {r4, r5, r6, pc}
nop
_02065994: .word 0x020FE424
thumb_func_end sub_02065968
thumb_func_start sub_02065998
sub_02065998: ; 0x02065998
bx lr
.balign 4, 0
thumb_func_end sub_02065998
thumb_func_start sub_0206599C
sub_0206599C: ; 0x0206599C
push {r3, lr}
bl sub_0205F394
ldrb r0, [r0, #3]
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0206599C
thumb_func_start sub_020659A8
sub_020659A8: ; 0x020659A8
push {r3, lr}
bl sub_0205F394
ldrh r0, [r0, #0xa]
lsl r0, r0, #0x1d
lsr r0, r0, #0x1e
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020659A8
thumb_func_start sub_020659B8
sub_020659B8: ; 0x020659B8
push {r3, lr}
bl sub_0205F394
ldrh r2, [r0, #0xa]
mov r1, #1
bic r2, r1
mov r1, #1
orr r1, r2
strh r1, [r0, #0xa]
pop {r3, pc}
thumb_func_end sub_020659B8
thumb_func_start sub_020659CC
sub_020659CC: ; 0x020659CC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl sub_0205F52C
add r4, r0, #0
add r0, r5, #0
bl sub_0205F394
add r6, r0, #0
add r0, r5, #0
bl sub_0205F63C
add r0, r5, #0
bl sub_0205F660
add r0, r5, #0
mov r1, #0x20
bl sub_0205F214
add r0, r5, #0
mov r1, #0xff
bl sub_0205F4CC
add r0, r5, #0
mov r1, #0
bl sub_0205F4DC
mov r1, #0
add r0, r4, #0
strb r1, [r6]
add r0, #0xe8
str r1, [r0]
mov r0, #1
lsl r0, r0, #8
str r1, [r4, r0]
add r0, r4, #0
add r0, #0xec
str r1, [r0]
add r4, #0xf0
add r0, r5, #0
str r1, [r4]
bl sub_0205F914
add r4, r0, #0
add r0, r5, #0
bl sub_0205F924
add r6, r0, #0
add r0, r5, #0
bl sub_0205F934
add r7, r0, #0
add r0, r5, #0
bl sub_0205F2A8
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
add r3, r7, #0
bl sub_0205FC2C
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020659CC
thumb_func_start sub_02065A4C
sub_02065A4C: ; 0x02065A4C
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r1, #0
bl sub_0205F52C
add r4, r0, #0
add r0, r5, #0
bl sub_0205F63C
add r0, r5, #0
bl sub_0205F660
mov r0, #1
lsl r0, r0, #8
ldr r1, [r4, r0]
cmp r1, #1
bne _02065A76
mov r1, #2
str r1, [r4, r0]
mov r0, #0
pop {r4, r5, r6, pc}
_02065A76:
cmp r1, #2
bne _02065B64
add r0, r5, #0
add r1, r6, #0
bl sub_02065D58
add r0, r5, #0
bl sub_0205F914
add r1, r4, #0
add r1, #0xec
ldr r1, [r1]
cmp r1, r0
bne _02065B12
add r0, r5, #0
bl sub_0205F934
add r1, r4, #0
add r1, #0xf0
ldr r1, [r1]
cmp r1, r0
bne _02065B12
mov r0, #1
mov r1, #0
lsl r0, r0, #8
str r1, [r4, r0]
mov r0, #3
strb r0, [r6]
add r0, r5, #0
bl sub_02069E14
cmp r0, #0
beq _02065AEA
ldrh r0, [r6, #0xa]
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
bne _02065AEA
add r0, r5, #0
bl sub_02069EAC
cmp r0, #0
beq _02065ADC
add r0, r5, #0
mov r1, #0
bl ov01_0220329C
add r0, r5, #0
mov r1, #0
bl sub_02069E84
b _02065AE4
_02065ADC:
add r0, r5, #0
mov r1, #0
bl sub_02069DC8
_02065AE4:
add r0, r5, #0
bl sub_020664D8
_02065AEA:
add r0, r5, #0
bl sub_02065D78
bl sub_020623C8
cmp r0, #0
beq _02065B0E
add r0, r4, #0
bl sub_0205CA1C
bl sub_0205C654
add r1, r0, #0
lsl r1, r1, #0x18
add r0, r5, #0
lsr r1, r1, #0x18
bl sub_02069E28
_02065B0E:
mov r0, #1
pop {r4, r5, r6, pc}
_02065B12:
add r0, r5, #0
add r1, r6, #0
bl sub_02065DF4
cmp r0, #1
bne _02065B6C
add r0, r5, #0
bl sub_02069E14
cmp r0, #0
beq _02065B52
add r0, r5, #0
bl sub_02069EAC
cmp r0, #0
beq _02065B44
add r0, r5, #0
mov r1, #0
bl ov01_0220329C
add r0, r5, #0
mov r1, #0
bl sub_02069E84
b _02065B4C
_02065B44:
add r0, r5, #0
mov r1, #0
bl sub_02069DC8
_02065B4C:
add r0, r5, #0
bl sub_020664D8
_02065B52:
add r0, r5, #0
bl sub_0205F630
mov r1, #3
add r0, r1, #0
add r0, #0xfd
str r1, [r4, r0]
mov r0, #1
pop {r4, r5, r6, pc}
_02065B64:
cmp r1, #3
bne _02065B6C
mov r1, #0
str r1, [r4, r0]
_02065B6C:
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02065A4C
thumb_func_start sub_02065B70
sub_02065B70: ; 0x02065B70
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0205F63C
add r0, r5, #0
bl sub_0205F660
add r0, r5, #0
add r1, r4, #0
bl sub_02065D24
cmp r0, #1
bne _02065BE2
add r0, r5, #0
add r1, r4, #0
bl sub_02065D58
add r0, r5, #0
bl sub_02069E14
cmp r0, #0
beq _02065BC8
add r0, r5, #0
bl sub_02069EAC
cmp r0, #0
beq _02065BBA
add r0, r5, #0
mov r1, #0
bl ov01_0220329C
add r0, r5, #0
mov r1, #0
bl sub_02069E84
b _02065BC2
_02065BBA:
add r0, r5, #0
mov r1, #0
bl sub_02069DC8
_02065BC2:
add r0, r5, #0
bl sub_020664D8
_02065BC8:
add r0, r5, #0
bl sub_02065F44
cmp r0, #1
bne _02065BE2
add r0, r5, #0
bl sub_0205F630
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
mov r0, #1
pop {r3, r4, r5, pc}
_02065BE2:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02065B70
thumb_func_start sub_02065BE8
sub_02065BE8: ; 0x02065BE8
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0205F63C
add r0, r5, #0
bl sub_0205F660
add r0, r5, #0
add r1, r4, #0
bl sub_02065D24
cmp r0, #1
bne _02065C26
add r0, r5, #0
add r1, r4, #0
bl sub_02065D58
add r0, r5, #0
bl sub_02065FBC
cmp r0, #1
bne _02065C26
add r0, r5, #0
bl sub_0205F630
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
mov r0, #1
pop {r3, r4, r5, pc}
_02065C26:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02065BE8
thumb_func_start sub_02065C2C
sub_02065C2C: ; 0x02065C2C
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_02062428
cmp r0, #1
bne _02065C44
add r0, r5, #0
bl sub_0205F63C
mov r0, #0
strb r0, [r4]
_02065C44:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02065C2C
thumb_func_start sub_02065C48
sub_02065C48: ; 0x02065C48
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_02062428
cmp r0, #1
bne _02065C86
ldrb r0, [r4, #2]
add r0, r0, #1
strb r0, [r4, #2]
ldrb r0, [r4, #2]
cmp r0, #2
blo _02065C78
add r0, r5, #0
bl sub_0205F63C
mov r0, #0
strb r0, [r4]
strb r0, [r4, #3]
ldrh r2, [r4, #0xa]
mov r1, #6
bic r2, r1
strh r2, [r4, #0xa]
pop {r3, r4, r5, pc}
_02065C78:
add r0, r5, #0
bl sub_02069ED4
add r1, r0, #0
add r0, r5, #0
bl sub_0206217C
_02065C86:
ldrb r0, [r4, #3]
add r0, r0, #1
strb r0, [r4, #3]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02065C48
thumb_func_start sub_02065C90
sub_02065C90: ; 0x02065C90
push {r4, r5, r6, lr}
add r5, r1, #0
bl sub_0205F52C
bl sub_0205CA1C
add r4, r0, #0
bl sub_0205C6DC
mov r1, #0x10
add r6, r0, #0
bl sub_0205F228
cmp r0, #1
bne _02065CBE
add r0, r6, #0
mov r1, #0x20
bl sub_0205F228
cmp r0, #1
bne _02065CBE
mov r0, #0
strb r0, [r5]
_02065CBE:
add r0, r4, #0
bl sub_0205C6D4
cmp r0, #3
bne _02065CCC
mov r0, #0
strb r0, [r5]
_02065CCC:
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02065C90
thumb_func_start sub_02065CD0
sub_02065CD0: ; 0x02065CD0
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0205F35C
bl sub_0205C600
cmp r0, #0
bne _02065CE8
mov r0, #0
strb r0, [r4, #1]
pop {r3, r4, r5, pc}
_02065CE8:
ldrb r0, [r4, #1]
cmp r0, #0
bne _02065CF6
add r0, r5, #0
add r1, r4, #0
bl sub_02065CFC
_02065CF6:
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02065CD0
thumb_func_start sub_02065CFC
sub_02065CFC: ; 0x02065CFC
push {r3, r4, r5, lr}
add r5, r1, #0
bl sub_0205F52C
bl sub_0205CA1C
mov r1, #1
add r4, r0, #0
strb r1, [r5, #1]
bl sub_0205C67C
strh r0, [r5, #4]
add r0, r4, #0
bl sub_0205C688
strh r0, [r5, #6]
mov r0, #0xff
strh r0, [r5, #8]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02065CFC
thumb_func_start sub_02065D24
sub_02065D24: ; 0x02065D24
push {r4, r5, r6, lr}
add r5, r1, #0
bl sub_0205F52C
bl sub_0205CA1C
add r6, r0, #0
beq _02065D54
bl sub_0205C67C
add r4, r0, #0
add r0, r6, #0
bl sub_0205C688
mov r1, #4
ldrsh r1, [r5, r1]
cmp r4, r1
bne _02065D50
mov r1, #6
ldrsh r1, [r5, r1]
cmp r0, r1
beq _02065D54
_02065D50:
mov r0, #1
pop {r4, r5, r6, pc}
_02065D54:
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_02065D24
thumb_func_start sub_02065D58
sub_02065D58: ; 0x02065D58
push {r3, r4, r5, lr}
add r5, r1, #0
bl sub_0205F52C
bl sub_0205CA1C
add r4, r0, #0
bl sub_0205C67C
strh r0, [r5, #4]
add r0, r4, #0
bl sub_0205C688
strh r0, [r5, #6]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02065D58
thumb_func_start sub_02065D78
sub_02065D78: ; 0x02065D78
push {r4, lr}
bl sub_0205F52C
add r4, r0, #0
bl sub_0205CA1C
add r4, #0xe8
ldr r0, [r4]
add r1, r0, #0
sub r1, #0x58
cmp r1, #3
bhi _02065DB2
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02065D9C: ; jump table
.short _02065DA4 - _02065D9C - 2 ; case 0
.short _02065DA8 - _02065D9C - 2 ; case 1
.short _02065DAC - _02065D9C - 2 ; case 2
.short _02065DB0 - _02065D9C - 2 ; case 3
_02065DA4:
mov r0, #0x10
pop {r4, pc}
_02065DA8:
mov r0, #0x11
pop {r4, pc}
_02065DAC:
mov r0, #0x12
pop {r4, pc}
_02065DB0:
mov r0, #0x13
_02065DB2:
pop {r4, pc}
thumb_func_end sub_02065D78
thumb_func_start sub_02065DB4
sub_02065DB4: ; 0x02065DB4
push {r3, lr}
bl sub_0205F52C
bl sub_0205CA1C
bl sub_0205C6DC
bl sub_0205F4D4
add r1, r0, #0
sub r1, #0x58
cmp r1, #3
bhi _02065DF0
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02065DDA: ; jump table
.short _02065DE2 - _02065DDA - 2 ; case 0
.short _02065DE6 - _02065DDA - 2 ; case 1
.short _02065DEA - _02065DDA - 2 ; case 2
.short _02065DEE - _02065DDA - 2 ; case 3
_02065DE2:
mov r0, #0x10
pop {r3, pc}
_02065DE6:
mov r0, #0x11
pop {r3, pc}
_02065DEA:
mov r0, #0x12
pop {r3, pc}
_02065DEE:
mov r0, #0x13
_02065DF0:
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02065DB4
thumb_func_start sub_02065DF4
sub_02065DF4: ; 0x02065DF4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
add r4, r1, #0
bl sub_0205F52C
bl sub_0205CA1C
add r7, r0, #0
add r0, r5, #0
bl sub_0205F914
str r0, [sp, #8]
add r0, r5, #0
bl sub_0205F934
str r0, [sp, #4]
add r0, r7, #0
bl sub_0205C694
str r0, [sp]
add r0, r7, #0
bl sub_0205C6A0
add r6, r0, #0
ldr r1, [sp, #8]
ldr r0, [sp]
cmp r1, r0
bne _02065E36
ldr r0, [sp, #4]
cmp r0, r6
bne _02065E36
b _02065F3C
_02065E36:
add r0, r5, #0
bl sub_02065D78
str r0, [sp, #0x10]
ldr r0, [sp, #8]
ldr r1, [sp, #4]
ldr r2, [sp]
add r3, r6, #0
bl sub_02061200
str r0, [sp, #0x14]
add r0, r5, #0
bl sub_02069EC0
add r6, r0, #0
ldr r0, [sp, #0x10]
bl sub_020623C8
mov r1, #1
str r1, [sp, #0xc]
cmp r6, #0
beq _02065F00
cmp r0, #0
beq _02065EB4
add r0, r6, #0
bl sub_020623D8
add r1, r0, #0
add r0, r6, #0
bl ov01_0220542C
add r6, r0, #0
bl sub_02066444
lsl r0, r0, #0x10
lsr r0, r0, #0x10
lsl r0, r0, #0x1e
ldrh r1, [r4, #0xa]
mov r2, #6
lsr r0, r0, #0x1d
bic r1, r2
orr r0, r1
lsl r1, r6, #0x18
strh r0, [r4, #0xa]
add r0, r5, #0
lsr r1, r1, #0x18
bl sub_02069E50
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0
strb r0, [r4, #2]
strb r0, [r4, #3]
add r0, r7, #0
bl sub_0205C654
add r1, r0, #0
lsl r1, r1, #0x18
add r0, r5, #0
lsr r1, r1, #0x18
bl sub_02069E28
b _02065F2A
_02065EB4:
add r0, r7, #0
bl sub_0205CB00
cmp r0, #0
bne _02065EC4
add sp, #0x18
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02065EC4:
ldr r1, [sp, #0x10]
add r0, r6, #0
bl ov01_0220542C
add r6, r0, #0
bl sub_02066444
lsl r0, r0, #0x10
lsr r0, r0, #0x10
lsl r0, r0, #0x1e
ldrh r1, [r4, #0xa]
mov r2, #6
lsr r0, r0, #0x1d
bic r1, r2
orr r0, r1
lsl r1, r6, #0x18
strh r0, [r4, #0xa]
add r0, r5, #0
lsr r1, r1, #0x18
bl sub_02069E50
mov r0, #2
str r0, [sp, #0xc]
mov r1, #0
strb r1, [r4, #2]
add r0, r5, #0
strb r1, [r4, #3]
bl sub_02069E28
b _02065F2A
_02065F00:
cmp r0, #0
beq _02065F20
ldr r0, [sp, #0x14]
bl sub_020623D8
add r6, r0, #0
add r0, r7, #0
bl sub_0205C654
add r1, r0, #0
lsl r1, r1, #0x18
add r0, r5, #0
lsr r1, r1, #0x18
bl sub_02069E28
b _02065F2A
_02065F20:
ldr r0, [sp, #0x14]
ldr r1, [sp, #0x10]
bl sub_0206234C
add r6, r0, #0
_02065F2A:
add r0, r5, #0
add r1, r6, #0
bl sub_0206217C
ldr r0, [sp, #0xc]
add sp, #0x18
strb r0, [r4]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02065F3C:
mov r0, #0
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02065DF4
thumb_func_start sub_02065F44
sub_02065F44: ; 0x02065F44
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
bl sub_0205F52C
bl sub_0205CA1C
add r4, r0, #0
add r0, r5, #0
bl sub_0205F914
str r0, [sp]
add r0, r5, #0
bl sub_0205F934
add r7, r0, #0
add r0, r4, #0
bl sub_0205C694
add r6, r0, #0
add r0, r4, #0
bl sub_0205C6A0
add r4, r0, #0
ldr r0, [sp]
cmp r0, r6
bne _02065F7E
cmp r7, r4
beq _02065FB4
_02065F7E:
add r0, r5, #0
bl sub_02065DB4
str r0, [sp, #4]
ldr r0, [sp]
add r1, r7, #0
add r2, r6, #0
add r3, r4, #0
bl sub_02061200
ldr r1, [sp, #4]
cmp r1, #0xff
bne _02065FA2
bl GF_AssertFail
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02065FA2:
bl sub_0206234C
add r1, r0, #0
add r0, r5, #0
bl sub_0206217C
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02065FB4:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02065F44
thumb_func_start sub_02065FBC
sub_02065FBC: ; 0x02065FBC
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205F52C
bl sub_0205CA1C
add r4, r0, #0
add r0, r5, #0
bl sub_0205F914
add r0, r5, #0
bl sub_0205F934
add r0, r4, #0
bl sub_0205C694
add r0, r4, #0
bl sub_0205C6A0
add r0, r5, #0
bl sub_02065DB4
add r1, r0, #0
cmp r1, #0xff
bne _02065FF2
mov r0, #0
pop {r3, r4, r5, pc}
_02065FF2:
add r0, r5, #0
bl sub_0206217C
mov r0, #1
pop {r3, r4, r5, pc}
thumb_func_end sub_02065FBC
thumb_func_start sub_02065FFC
sub_02065FFC: ; 0x02065FFC
push {r3, r4, r5, lr}
mov r1, #0xc
add r5, r0, #0
bl sub_0205F370
add r4, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_02066150
add r0, r5, #0
mov r1, #0
bl sub_0205F328
add r0, r5, #0
bl sub_0205F63C
mov r0, #0
strb r0, [r4, #1]
pop {r3, r4, r5, pc}
thumb_func_end sub_02065FFC
thumb_func_start sub_02066024
sub_02066024: ; 0x02066024
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205F394
add r4, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_02066150
cmp r0, #0
beq _0206604C
ldr r6, _02066050 ; =0x020FE3D4
_0206603C:
ldrb r2, [r4]
add r0, r5, #0
add r1, r4, #0
lsl r2, r2, #2
ldr r2, [r6, r2]
blx r2
cmp r0, #1
beq _0206603C
_0206604C:
pop {r4, r5, r6, pc}
nop
_02066050: .word 0x020FE3D4
thumb_func_end sub_02066024
thumb_func_start sub_02066054
sub_02066054: ; 0x02066054
bx lr
.balign 4, 0
thumb_func_end sub_02066054
thumb_func_start sub_02066058
sub_02066058: ; 0x02066058
push {r3, lr}
bl sub_0205F394
mov r1, #0
strb r1, [r0, #1]
pop {r3, pc}
thumb_func_end sub_02066058
thumb_func_start sub_02066064
sub_02066064: ; 0x02066064
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0205F63C
add r0, r5, #0
bl sub_0205F660
add r0, r5, #0
add r1, r4, #0
bl sub_020661F0
cmp r0, #1
bne _0206609C
add r0, r5, #0
add r1, r4, #0
bl sub_0206623C
cmp r0, #1
bne _0206609C
add r0, r5, #0
bl sub_0205F630
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
mov r0, #1
pop {r3, r4, r5, pc}
_0206609C:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02066064
thumb_func_start sub_020660A0
sub_020660A0: ; 0x020660A0
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_02062428
cmp r0, #0
bne _020660B2
mov r0, #0
pop {r3, r4, r5, pc}
_020660B2:
add r0, r5, #0
bl sub_0205F63C
mov r0, #0
strb r0, [r4]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020660A0
thumb_func_start sub_020660C0
sub_020660C0: ; 0x020660C0
push {r4, r5, r6, r7, lr}
sub sp, #0xc
mov r1, #0
add r4, r0, #0
str r1, [sp, #8]
bl sub_0205F26C
str r0, [sp]
add r0, r4, #0
bl sub_0205F254
add r6, r0, #0
add r0, r4, #0
bl sub_02064518
add r5, r0, #0
add r0, r4, #0
bl sub_0205F35C
ldr r1, [sp]
add r7, r0, #0
cmp r1, #8
bhi _02066148
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_020660FA: ; jump table
.short _02066148 - _020660FA - 2 ; case 0
.short _0206610C - _020660FA - 2 ; case 1
.short _0206610C - _020660FA - 2 ; case 2
.short _0206610C - _020660FA - 2 ; case 3
.short _0206610C - _020660FA - 2 ; case 4
.short _0206610C - _020660FA - 2 ; case 5
.short _0206610C - _020660FA - 2 ; case 6
.short _0206610C - _020660FA - 2 ; case 7
.short _0206610C - _020660FA - 2 ; case 8
_0206610C:
add r1, sp, #4
add r2, sp, #8
mov r3, #1
bl sub_0205EEF4
cmp r0, #1
bne _02066148
_0206611A:
ldr r0, [sp, #4]
cmp r4, r0
beq _02066138
bl sub_0205F254
cmp r6, r0
bne _02066138
ldr r0, [sp, #4]
bl sub_02064518
cmp r5, r0
bne _02066138
ldr r0, [sp, #4]
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_02066138:
add r0, r7, #0
add r1, sp, #4
add r2, sp, #8
mov r3, #1
bl sub_0205EEF4
cmp r0, #1
beq _0206611A
_02066148:
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020660C0
thumb_func_start sub_02066150
sub_02066150: ; 0x02066150
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
str r1, [sp]
bl sub_0205F35C
add r4, r0, #0
mov r0, #0
str r0, [sp, #8]
add r0, r5, #0
bl sub_0205F254
add r7, r0, #0
add r0, r5, #0
bl sub_02064518
add r6, r0, #0
add r0, r4, #0
add r1, sp, #4
add r2, sp, #8
mov r3, #1
bl sub_0205EEF4
cmp r0, #1
bne _020661C2
_02066182:
ldr r0, [sp, #4]
cmp r5, r0
beq _020661B2
bl sub_0205F254
cmp r7, r0
bne _020661B2
ldr r0, [sp, #4]
bl sub_02064518
cmp r6, r0
bne _020661B2
ldr r0, [sp]
ldrb r0, [r0, #1]
cmp r0, #0
bne _020661AC
ldr r1, [sp]
ldr r2, [sp, #4]
add r0, r5, #0
bl sub_020661CC
_020661AC:
add sp, #0xc
mov r0, #1
pop {r4, r5, r6, r7, pc}
_020661B2:
add r0, r4, #0
add r1, sp, #4
add r2, sp, #8
mov r3, #1
bl sub_0205EEF4
cmp r0, #1
beq _02066182
_020661C2:
ldr r1, [sp]
mov r0, #0
strb r0, [r1, #1]
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_02066150
thumb_func_start sub_020661CC
sub_020661CC: ; 0x020661CC
push {r3, r4, r5, lr}
add r5, r1, #0
mov r0, #1
add r4, r2, #0
strb r0, [r5, #1]
add r0, r4, #0
bl sub_0205F914
strh r0, [r5, #2]
add r0, r4, #0
bl sub_0205F934
strh r0, [r5, #4]
mov r0, #0xff
strh r0, [r5, #6]
str r4, [r5, #8]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020661CC
thumb_func_start sub_020661F0
sub_020661F0: ; 0x020661F0
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
ldr r5, [r1, #8]
bl sub_0205F914
add r6, r0, #0
add r0, r4, #0
bl sub_0205F934
add r7, r0, #0
add r0, r5, #0
bl sub_0205F8FC
add r4, r0, #0
add r0, r5, #0
bl sub_0205F90C
cmp r6, r4
bne _0206621A
cmp r7, r0
beq _02066236
_0206621A:
add r0, r5, #0
bl sub_0205F648
cmp r0, #1
beq _02066232
mov r1, #0x61
add r0, r5, #0
lsl r1, r1, #6
bl sub_0205F220
cmp r0, #0
bne _02066236
_02066232:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02066236:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_020661F0
thumb_func_start sub_0206623C
sub_0206623C: ; 0x0206623C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
str r0, [sp]
add r5, r1, #0
bl sub_0205F914
add r4, r0, #0
ldr r0, [sp]
bl sub_0205F934
add r6, r0, #0
ldr r0, [r5, #8]
bl sub_0205F914
str r0, [sp, #8]
ldr r0, [r5, #8]
bl sub_0205F934
add r7, r0, #0
ldr r0, [r5, #8]
bl sub_0205F8FC
str r0, [sp, #4]
ldr r0, [r5, #8]
bl sub_0205F90C
add r3, r0, #0
ldr r0, [sp, #8]
cmp r4, r0
bne _02066282
cmp r6, r7
bne _02066282
add sp, #0xc
mov r0, #0
pop {r4, r5, r6, r7, pc}
_02066282:
ldr r2, [sp, #4]
add r0, r4, #0
add r1, r6, #0
bl sub_02061200
add r5, r0, #0
bl sub_02060F0C
add r4, r4, r0
add r0, r5, #0
bl sub_02060F18
add r1, r6, r0
ldr r0, [sp, #8]
cmp r4, r0
bne _020662A6
cmp r1, r7
beq _020662BC
_020662A6:
add r0, r5, #0
mov r1, #0xc
bl sub_0206234C
add r1, r0, #0
ldr r0, [sp]
bl sub_0206217C
add sp, #0xc
mov r0, #1
pop {r4, r5, r6, r7, pc}
_020662BC:
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0206623C
thumb_func_start sub_020662C4
sub_020662C4: ; 0x020662C4
push {r4, r5, lr}
sub sp, #0xc
add r5, r1, #0
add r4, r0, #0
mov r1, #8
bl sub_0205F370
strb r5, [r0, #1]
add r0, r4, #0
mov r1, #0
bl sub_0205F328
add r0, r4, #0
bl sub_0205F63C
mov r1, #1
add r0, r4, #0
lsl r1, r1, #0x14
bl sub_0205F20C
ldr r5, _02066308 ; =0x020FE3DC
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r5]
add r1, r2, #0
str r0, [r3]
add r0, r4, #0
bl sub_0205F97C
add sp, #0xc
pop {r4, r5, pc}
nop
_02066308: .word 0x020FE3DC
thumb_func_end sub_020662C4
thumb_func_start sub_0206630C
sub_0206630C: ; 0x0206630C
ldr r3, _02066314 ; =sub_020662C4
mov r1, #0
bx r3
nop
_02066314: .word sub_020662C4
thumb_func_end sub_0206630C
thumb_func_start sub_02066318
sub_02066318: ; 0x02066318
ldr r3, _02066320 ; =sub_020662C4
mov r1, #1
bx r3
nop
_02066320: .word sub_020662C4
thumb_func_end sub_02066318
thumb_func_start sub_02066324
sub_02066324: ; 0x02066324
ldr r3, _0206632C ; =sub_020662C4
mov r1, #2
bx r3
nop
_0206632C: .word sub_020662C4
thumb_func_end sub_02066324
thumb_func_start sub_02066330
sub_02066330: ; 0x02066330
ldr r3, _02066338 ; =sub_020662C4
mov r1, #3
bx r3
nop
_02066338: .word sub_020662C4
thumb_func_end sub_02066330
thumb_func_start sub_0206633C
sub_0206633C: ; 0x0206633C
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205F394
ldr r6, _0206635C ; =0x020FE3CC
add r4, r0, #0
_02066348:
ldrb r2, [r4]
add r0, r5, #0
add r1, r4, #0
lsl r2, r2, #2
ldr r2, [r6, r2]
blx r2
cmp r0, #1
beq _02066348
pop {r4, r5, r6, pc}
nop
_0206635C: .word 0x020FE3CC
thumb_func_end sub_0206633C
thumb_func_start sub_02066360
sub_02066360: ; 0x02066360
push {r3, lr}
bl sub_0206642C
cmp r0, #0
beq _0206636E
bl ov01_021F1640
_0206636E:
pop {r3, pc}
thumb_func_end sub_02066360
thumb_func_start sub_02066370
sub_02066370: ; 0x02066370
push {r4, r5, lr}
sub sp, #0xc
add r4, r0, #0
bl sub_0205F394
add r5, r0, #0
mov r1, #0
strb r1, [r5]
add r0, r4, #0
bl sub_02066420
ldrb r0, [r5, #2]
cmp r0, #0
bne _020663AC
ldr r5, _020663B0 ; =0x020FE3E8
add r3, sp, #0
ldmia r5!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r5]
add r1, r2, #0
str r0, [r3]
add r0, r4, #0
bl sub_0205F97C
mov r1, #1
add r0, r4, #0
lsl r1, r1, #0x14
bl sub_0205F20C
_020663AC:
add sp, #0xc
pop {r4, r5, pc}
.balign 4, 0
_020663B0: .word 0x020FE3E8
thumb_func_end sub_02066370
thumb_func_start sub_020663B4
sub_020663B4: ; 0x020663B4
push {r3, r4, r5, lr}
add r4, r1, #0
ldrb r1, [r4, #2]
add r5, r0, #0
cmp r1, #0
bne _020663CE
ldrb r1, [r4, #1]
bl ov01_021FFF5C
add r1, r0, #0
add r0, r5, #0
bl sub_02066420
_020663CE:
add r0, r5, #0
bl sub_0205F63C
add r0, r5, #0
bl sub_0205F660
ldrb r0, [r4]
add r0, r0, #1
strb r0, [r4]
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_020663B4
thumb_func_start sub_020663E4
sub_020663E4: ; 0x020663E4
push {r3, r4, r5, lr}
add r4, r1, #0
ldrb r1, [r4, #2]
add r5, r0, #0
cmp r1, #0
bne _0206641C
bl sub_0206642C
cmp r0, #0
bne _02066412
add r0, r5, #0
bl sub_0205F73C
cmp r0, #1
bne _02066412
ldrb r1, [r4, #1]
add r0, r5, #0
bl ov01_021FFF5C
add r1, r0, #0
add r0, r5, #0
bl sub_02066420
_02066412:
mov r1, #1
add r0, r5, #0
lsl r1, r1, #0x14
bl sub_0205F20C
_0206641C:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_020663E4
thumb_func_start sub_02066420
sub_02066420: ; 0x02066420
push {r4, lr}
add r4, r1, #0
bl sub_0205F394
str r4, [r0, #4]
pop {r4, pc}
thumb_func_end sub_02066420
thumb_func_start sub_0206642C
sub_0206642C: ; 0x0206642C
push {r3, lr}
bl sub_0205F394
ldr r0, [r0, #4]
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0206642C
thumb_func_start sub_02066438
sub_02066438: ; 0x02066438
push {r3, lr}
bl sub_0205F394
mov r1, #1
strb r1, [r0, #2]
pop {r3, pc}
thumb_func_end sub_02066438
thumb_func_start sub_02066444
sub_02066444: ; 0x02066444
push {r3, r4, r5, lr}
sub sp, #0x30
ldr r5, _020664CC ; =0x020FE3F4
add r3, r0, #0
ldmia r5!, {r0, r1}
add r4, sp, #0x20
add r2, r4, #0
stmia r4!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r4!, {r0, r1}
ldr r5, _020664D0 ; =0x020FE434
add r4, sp, #0x10
ldmia r5!, {r0, r1}
stmia r4!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r4!, {r0, r1}
ldr r5, _020664D4 ; =0x020FE444
add r4, sp, #0
ldmia r5!, {r0, r1}
stmia r4!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r4!, {r0, r1}
mov r1, #0
_02066472:
lsl r0, r1, #2
ldr r0, [r2, r0]
cmp r3, r0
bne _02066480
add sp, #0x30
mov r0, #3
pop {r3, r4, r5, pc}
_02066480:
add r0, r1, #1
lsl r0, r0, #0x18
lsr r1, r0, #0x18
cmp r1, #4
blo _02066472
mov r2, #0
add r1, sp, #0x10
_0206648E:
lsl r0, r2, #2
ldr r0, [r1, r0]
cmp r3, r0
bne _0206649C
add sp, #0x30
mov r0, #2
pop {r3, r4, r5, pc}
_0206649C:
add r0, r2, #1
lsl r0, r0, #0x18
lsr r2, r0, #0x18
cmp r2, #4
blo _0206648E
mov r2, #0
add r1, sp, #0
_020664AA:
lsl r0, r2, #2
ldr r0, [r1, r0]
cmp r3, r0
bne _020664B8
add sp, #0x30
mov r0, #1
pop {r3, r4, r5, pc}
_020664B8:
add r0, r2, #1
lsl r0, r0, #0x18
lsr r2, r0, #0x18
cmp r2, #4
blo _020664AA
bl GF_AssertFail
mov r0, #0
add sp, #0x30
pop {r3, r4, r5, pc}
.balign 4, 0
_020664CC: .word 0x020FE3F4
_020664D0: .word 0x020FE434
_020664D4: .word 0x020FE444
thumb_func_end sub_02066444
thumb_func_start sub_020664D8
sub_020664D8: ; 0x020664D8
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r0, #0
bl sub_0205F52C
add r4, r0, #0
add r0, r5, #0
bl sub_0205F914
str r0, [sp, #8]
add r0, r5, #0
bl sub_0205F934
add r2, r0, #0
ldr r1, [sp, #8]
add r0, r4, #0
str r2, [sp, #4]
bl sub_02054918
add r6, r0, #0
lsl r0, r6, #0x18
lsr r0, r0, #0x18
bl sub_0205B6E8
cmp r0, #1
bne _02066516
add r0, r5, #0
mov r1, #0
bl ov01_021FF070
b _0206652A
_02066516:
lsl r0, r6, #0x18
lsr r0, r0, #0x18
bl sub_0205B6F4
cmp r0, #1
bne _0206652A
add r0, r5, #0
mov r1, #0
bl ov01_021FF8F0
_0206652A:
add r0, r5, #0
bl ov01_022055DC
cmp r0, #0
beq _02066596
add r0, r5, #0
bl sub_0205F2A8
lsl r0, r0, #0x18
lsr r0, r0, #0x18
add r0, #0xfe
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r0, #1
bhi _02066596
add r0, r5, #0
add r1, sp, #8
add r2, sp, #4
bl ov01_02205604
ldr r1, [sp, #8]
ldr r2, [sp, #4]
add r0, r4, #0
bl sub_02054918
add r4, r0, #0
lsl r0, r4, #0x18
lsr r0, r0, #0x18
bl sub_0205B6E8
cmp r0, #1
bne _0206657C
mov r1, #1
str r1, [sp]
ldr r2, [sp, #8]
ldr r3, [sp, #4]
add r0, r5, #0
bl ov01_021FF0E4
add sp, #0xc
pop {r3, r4, r5, r6, pc}
_0206657C:
lsl r0, r4, #0x18
lsr r0, r0, #0x18
bl sub_0205B6F4
cmp r0, #1
bne _02066596
mov r1, #1
str r1, [sp]
ldr r2, [sp, #8]
ldr r3, [sp, #4]
add r0, r5, #0
bl ov01_021FF964
_02066596:
add sp, #0xc
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020664D8
thumb_func_start sub_0206659C
sub_0206659C: ; 0x0206659C
ldr r3, _020665A0 ; =sub_02050408
bx r3
.balign 4, 0
_020665A0: .word sub_02050408
thumb_func_end sub_0206659C
thumb_func_start sub_020665A4
sub_020665A4: ; 0x020665A4
ldr r3, _020665A8 ; =sub_02050430
bx r3
.balign 4, 0
_020665A8: .word sub_02050430
thumb_func_end sub_020665A4
thumb_func_start sub_020665AC
sub_020665AC: ; 0x020665AC
ldr r3, _020665B0 ; =sub_020503DC
bx r3
.balign 4, 0
_020665B0: .word sub_020503DC
thumb_func_end sub_020665AC
thumb_func_start sub_020665B4
sub_020665B4: ; 0x020665B4
push {r3, lr}
cmp r1, #0
beq _020665CE
cmp r1, #1
beq _020665C4
cmp r1, #2
beq _020665D8
b _020665E2
_020665C4:
lsl r1, r2, #0x10
lsr r1, r1, #0x10
bl sub_0206659C
b _020665E6
_020665CE:
lsl r1, r2, #0x10
lsr r1, r1, #0x10
bl sub_020665A4
b _020665E6
_020665D8:
lsl r1, r2, #0x10
lsr r1, r1, #0x10
bl sub_020665AC
pop {r3, pc}
_020665E2:
bl GF_AssertFail
_020665E6:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_020665B4
thumb_func_start sub_020665EC
sub_020665EC: ; 0x020665EC
ldr r3, _020665F4 ; =sub_0206659C
mov r1, #0x96
lsl r1, r1, #4
bx r3
.balign 4, 0
_020665F4: .word sub_0206659C
thumb_func_end sub_020665EC
thumb_func_start sub_020665F8
sub_020665F8: ; 0x020665F8
ldr r3, _02066600 ; =sub_020665AC
mov r1, #0x96
lsl r1, r1, #4
bx r3
.balign 4, 0
_02066600: .word sub_020665AC
thumb_func_end sub_020665F8
thumb_func_start sub_02066604
sub_02066604: ; 0x02066604
ldr r3, _0206660C ; =sub_0206659C
ldr r1, _02066610 ; =0x00000964
bx r3
nop
_0206660C: .word sub_0206659C
_02066610: .word 0x00000964
thumb_func_end sub_02066604
thumb_func_start sub_02066614
sub_02066614: ; 0x02066614
ldr r3, _0206661C ; =sub_020665AC
ldr r1, _02066620 ; =0x00000964
bx r3
nop
_0206661C: .word sub_020665AC
_02066620: .word 0x00000964
thumb_func_end sub_02066614
thumb_func_start sub_02066624
sub_02066624: ; 0x02066624
ldr r3, _0206662C ; =sub_0206659C
ldr r1, _02066630 ; =0x00000961
bx r3
nop
_0206662C: .word sub_0206659C
_02066630: .word 0x00000961
thumb_func_end sub_02066624
thumb_func_start sub_02066634
sub_02066634: ; 0x02066634
ldr r3, _0206663C ; =sub_020665A4
ldr r1, _02066640 ; =0x00000961
bx r3
nop
_0206663C: .word sub_020665A4
_02066640: .word 0x00000961
thumb_func_end sub_02066634
thumb_func_start sub_02066644
sub_02066644: ; 0x02066644
ldr r3, _0206664C ; =sub_020665AC
ldr r1, _02066650 ; =0x00000961
bx r3
nop
_0206664C: .word sub_020665AC
_02066650: .word 0x00000961
thumb_func_end sub_02066644
thumb_func_start sub_02066654
sub_02066654: ; 0x02066654
ldr r3, _0206665C ; =sub_0206659C
ldr r1, _02066660 ; =0x0000099C
bx r3
nop
_0206665C: .word sub_0206659C
_02066660: .word 0x0000099C
thumb_func_end sub_02066654
thumb_func_start sub_02066664
sub_02066664: ; 0x02066664
ldr r3, _0206666C ; =sub_0206659C
ldr r1, _02066670 ; =0x00000965
bx r3
nop
_0206666C: .word sub_0206659C
_02066670: .word 0x00000965
thumb_func_end sub_02066664
thumb_func_start sub_02066674
sub_02066674: ; 0x02066674
ldr r3, _0206667C ; =sub_020665A4
ldr r1, _02066680 ; =0x00000965
bx r3
nop
_0206667C: .word sub_020665A4
_02066680: .word 0x00000965
thumb_func_end sub_02066674
thumb_func_start sub_02066684
sub_02066684: ; 0x02066684
ldr r3, _0206668C ; =sub_020665AC
ldr r1, _02066690 ; =0x00000965
bx r3
nop
_0206668C: .word sub_020665AC
_02066690: .word 0x00000965
thumb_func_end sub_02066684
thumb_func_start sub_02066694
sub_02066694: ; 0x02066694
ldr r3, _0206669C ; =sub_0206659C
ldr r1, _020666A0 ; =0x00000969
bx r3
nop
_0206669C: .word sub_0206659C
_020666A0: .word 0x00000969
thumb_func_end sub_02066694
thumb_func_start sub_020666A4
sub_020666A4: ; 0x020666A4
ldr r3, _020666AC ; =sub_020665A4
ldr r1, _020666B0 ; =0x00000969
bx r3
nop
_020666AC: .word sub_020665A4
_020666B0: .word 0x00000969
thumb_func_end sub_020666A4
thumb_func_start sub_020666B4
sub_020666B4: ; 0x020666B4
ldr r3, _020666BC ; =sub_020665AC
ldr r1, _020666C0 ; =0x00000969
bx r3
nop
_020666BC: .word sub_020665AC
_020666C0: .word 0x00000969
thumb_func_end sub_020666B4
thumb_func_start sub_020666C4
sub_020666C4: ; 0x020666C4
ldr r2, _020666D0 ; =0x0000097B
ldr r3, _020666D4 ; =sub_020665AC
add r1, r1, r2
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bx r3
.balign 4, 0
_020666D0: .word 0x0000097B
_020666D4: .word sub_020665AC
thumb_func_end sub_020666C4
thumb_func_start sub_020666D8
sub_020666D8: ; 0x020666D8
push {r3, lr}
cmp r1, #3
bhi _02066710
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_020666EA: ; jump table
.short _020666F2 - _020666EA - 2 ; case 0
.short _020666FA - _020666EA - 2 ; case 1
.short _02066702 - _020666EA - 2 ; case 2
.short _0206670A - _020666EA - 2 ; case 3
_020666F2:
ldr r1, _02066714 ; =0x00000977
bl sub_0206659C
pop {r3, pc}
_020666FA:
ldr r1, _02066718 ; =0x00000978
bl sub_0206659C
pop {r3, pc}
_02066702:
ldr r1, _0206671C ; =0x00000979
bl sub_0206659C
pop {r3, pc}
_0206670A:
ldr r1, _02066720 ; =0x0000097A
bl sub_0206659C
_02066710:
pop {r3, pc}
nop
_02066714: .word 0x00000977
_02066718: .word 0x00000978
_0206671C: .word 0x00000979
_02066720: .word 0x0000097A
thumb_func_end sub_020666D8
thumb_func_start sub_02066724
sub_02066724: ; 0x02066724
push {r3, lr}
mov r2, #0
cmp r1, #3
bhi _02066766
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02066738: ; jump table
.short _02066740 - _02066738 - 2 ; case 0
.short _0206674A - _02066738 - 2 ; case 1
.short _02066754 - _02066738 - 2 ; case 2
.short _0206675E - _02066738 - 2 ; case 3
_02066740:
ldr r1, _0206676C ; =0x00000977
bl sub_020665AC
add r2, r0, #0
b _02066766
_0206674A:
ldr r1, _02066770 ; =0x00000978
bl sub_020665AC
add r2, r0, #0
b _02066766
_02066754:
ldr r1, _02066774 ; =0x00000979
bl sub_020665AC
add r2, r0, #0
b _02066766
_0206675E:
ldr r1, _02066778 ; =0x0000097A
bl sub_020665AC
add r2, r0, #0
_02066766:
add r0, r2, #0
pop {r3, pc}
nop
_0206676C: .word 0x00000977
_02066770: .word 0x00000978
_02066774: .word 0x00000979
_02066778: .word 0x0000097A
thumb_func_end sub_02066724
thumb_func_start sub_0206677C
sub_0206677C: ; 0x0206677C
push {r3, lr}
cmp r1, #0
ldr r1, _02066790 ; =0x00000986
beq _0206678A
bl sub_0206659C
pop {r3, pc}
_0206678A:
bl sub_020665A4
pop {r3, pc}
.balign 4, 0
_02066790: .word 0x00000986
thumb_func_end sub_0206677C
thumb_func_start sub_02066794
sub_02066794: ; 0x02066794
ldr r3, _0206679C ; =sub_020665AC
ldr r1, _020667A0 ; =0x00000986
bx r3
nop
_0206679C: .word sub_020665AC
_020667A0: .word 0x00000986
thumb_func_end sub_02066794
thumb_func_start sub_020667A4
sub_020667A4: ; 0x020667A4
push {r3, r4, r5, r6, r7, lr}
ldr r5, _020667D8 ; =0x020FE454
add r7, r0, #0
add r6, r1, #0
mov r4, #0
_020667AE:
ldrh r0, [r5]
cmp r6, r0
bne _020667CC
ldrh r1, [r5, #2]
add r0, r7, #0
bl sub_020665AC
cmp r0, #0
beq _020667CC
mov r0, #6
add r1, r4, #0
mul r1, r0
ldr r0, _020667DC ; =0x020FE458
ldrh r0, [r0, r1]
pop {r3, r4, r5, r6, r7, pc}
_020667CC:
add r4, r4, #1
add r5, r5, #6
cmp r4, #0xd
blo _020667AE
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_020667D8: .word 0x020FE454
_020667DC: .word 0x020FE458
thumb_func_end sub_020667A4
thumb_func_start sub_020667E0
sub_020667E0: ; 0x020667E0
ldr r3, _020667E8 ; =sub_0206659C
ldr r1, _020667EC ; =0x00000966
bx r3
nop
_020667E8: .word sub_0206659C
_020667EC: .word 0x00000966
thumb_func_end sub_020667E0
thumb_func_start sub_020667F0
sub_020667F0: ; 0x020667F0
ldr r3, _020667F8 ; =sub_020665A4
ldr r1, _020667FC ; =0x00000966
bx r3
nop
_020667F8: .word sub_020665A4
_020667FC: .word 0x00000966
thumb_func_end sub_020667F0
thumb_func_start sub_02066800
sub_02066800: ; 0x02066800
ldr r3, _02066808 ; =sub_020665AC
ldr r1, _0206680C ; =0x00000966
bx r3
nop
_02066808: .word sub_020665AC
_0206680C: .word 0x00000966
thumb_func_end sub_02066800
thumb_func_start sub_02066810
sub_02066810: ; 0x02066810
ldr r3, _02066818 ; =sub_020665AC
ldr r1, _0206681C ; =0x00000976
bx r3
nop
_02066818: .word sub_020665AC
_0206681C: .word 0x00000976
thumb_func_end sub_02066810
thumb_func_start sub_02066820
sub_02066820: ; 0x02066820
ldr r3, _02066828 ; =sub_0206659C
ldr r1, _0206682C ; =0x00000975
bx r3
nop
_02066828: .word sub_0206659C
_0206682C: .word 0x00000975
thumb_func_end sub_02066820
thumb_func_start sub_02066830
sub_02066830: ; 0x02066830
ldr r3, _02066838 ; =sub_020665A4
ldr r1, _0206683C ; =0x00000975
bx r3
nop
_02066838: .word sub_020665A4
_0206683C: .word 0x00000975
thumb_func_end sub_02066830
thumb_func_start sub_02066840
sub_02066840: ; 0x02066840
ldr r3, _02066848 ; =sub_0206659C
ldr r1, _0206684C ; =0x00000967
bx r3
nop
_02066848: .word sub_0206659C
_0206684C: .word 0x00000967
thumb_func_end sub_02066840
thumb_func_start sub_02066850
sub_02066850: ; 0x02066850
ldr r3, _02066858 ; =sub_020665A4
ldr r1, _0206685C ; =0x00000967
bx r3
nop
_02066858: .word sub_020665A4
_0206685C: .word 0x00000967
thumb_func_end sub_02066850
thumb_func_start sub_02066860
sub_02066860: ; 0x02066860
ldr r3, _02066868 ; =sub_020665AC
ldr r1, _0206686C ; =0x00000967
bx r3
nop
_02066868: .word sub_020665AC
_0206686C: .word 0x00000967
thumb_func_end sub_02066860
thumb_func_start sub_02066870
sub_02066870: ; 0x02066870
ldr r3, _02066878 ; =sub_020665AC
ldr r1, _0206687C ; =0x00000996
bx r3
nop
_02066878: .word sub_020665AC
_0206687C: .word 0x00000996
thumb_func_end sub_02066870
thumb_func_start sub_02066880
sub_02066880: ; 0x02066880
ldr r3, _02066888 ; =sub_0206659C
ldr r1, _0206688C ; =0x00000971
bx r3
nop
_02066888: .word sub_0206659C
_0206688C: .word 0x00000971
thumb_func_end sub_02066880
thumb_func_start sub_02066890
sub_02066890: ; 0x02066890
ldr r3, _02066898 ; =sub_020665A4
ldr r1, _0206689C ; =0x00000971
bx r3
nop
_02066898: .word sub_020665A4
_0206689C: .word 0x00000971
thumb_func_end sub_02066890
thumb_func_start sub_020668A0
sub_020668A0: ; 0x020668A0
ldr r3, _020668A8 ; =sub_020665AC
ldr r1, _020668AC ; =0x00000971
bx r3
nop
_020668A8: .word sub_020665AC
_020668AC: .word 0x00000971
thumb_func_end sub_020668A0
thumb_func_start sub_020668B0
sub_020668B0: ; 0x020668B0
ldr r3, _020668B8 ; =sub_020665A4
ldr r1, _020668BC ; =0x00000972
bx r3
nop
_020668B8: .word sub_020665A4
_020668BC: .word 0x00000972
thumb_func_end sub_020668B0
thumb_func_start sub_020668C0
sub_020668C0: ; 0x020668C0
ldr r3, _020668C8 ; =sub_020665B4
ldr r2, _020668CC ; =0x00000962
bx r3
nop
_020668C8: .word sub_020665B4
_020668CC: .word 0x00000962
thumb_func_end sub_020668C0
thumb_func_start sub_020668D0
sub_020668D0: ; 0x020668D0
ldr r3, _020668D8 ; =sub_0206659C
ldr r1, _020668DC ; =0x00000973
bx r3
nop
_020668D8: .word sub_0206659C
_020668DC: .word 0x00000973
thumb_func_end sub_020668D0
thumb_func_start sub_020668E0
sub_020668E0: ; 0x020668E0
ldr r3, _020668E8 ; =sub_020665A4
ldr r1, _020668EC ; =0x00000973
bx r3
nop
_020668E8: .word sub_020665A4
_020668EC: .word 0x00000973
thumb_func_end sub_020668E0
thumb_func_start sub_020668F0
sub_020668F0: ; 0x020668F0
ldr r3, _020668F8 ; =sub_020665AC
ldr r1, _020668FC ; =0x00000973
bx r3
nop
_020668F8: .word sub_020665AC
_020668FC: .word 0x00000973
thumb_func_end sub_020668F0
thumb_func_start sub_02066900
sub_02066900: ; 0x02066900
ldr r3, _02066908 ; =sub_0206659C
ldr r1, _0206690C ; =0x00000974
bx r3
nop
_02066908: .word sub_0206659C
_0206690C: .word 0x00000974
thumb_func_end sub_02066900
thumb_func_start sub_02066910
sub_02066910: ; 0x02066910
ldr r3, _02066918 ; =sub_020665A4
ldr r1, _0206691C ; =0x00000974
bx r3
nop
_02066918: .word sub_020665A4
_0206691C: .word 0x00000974
thumb_func_end sub_02066910
thumb_func_start sub_02066920
sub_02066920: ; 0x02066920
ldr r3, _02066928 ; =sub_020665AC
ldr r1, _0206692C ; =0x00000974
bx r3
nop
_02066928: .word sub_020665AC
_0206692C: .word 0x00000974
thumb_func_end sub_02066920
thumb_func_start sub_02066930
sub_02066930: ; 0x02066930
push {r4, r5, r6, lr}
add r4, r2, #0
add r5, r0, #0
add r6, r1, #0
cmp r4, #0x26
blo _02066940
bl GF_AssertFail
_02066940:
mov r2, #0x9b
lsl r2, r2, #4
add r0, r5, #0
add r1, r6, #0
add r2, r4, r2
bl sub_020665B4
pop {r4, r5, r6, pc}
thumb_func_end sub_02066930
thumb_func_start sub_02066950
sub_02066950: ; 0x02066950
ldr r3, _02066958 ; =sub_0206659C
mov r1, #0x97
lsl r1, r1, #4
bx r3
.balign 4, 0
_02066958: .word sub_0206659C
thumb_func_end sub_02066950
thumb_func_start sub_0206695C
sub_0206695C: ; 0x0206695C
ldr r3, _02066964 ; =sub_020665AC
mov r1, #0x6a
bx r3
nop
_02066964: .word sub_020665AC
thumb_func_end sub_0206695C
thumb_func_start sub_02066968
sub_02066968: ; 0x02066968
ldr r3, _02066970 ; =sub_020665AC
mov r1, #0x9c
bx r3
nop
_02066970: .word sub_020665AC
thumb_func_end sub_02066968
thumb_func_start sub_02066974
sub_02066974: ; 0x02066974
ldr r3, _0206697C ; =sub_020665AC
mov r1, #0x6b
bx r3
nop
_0206697C: .word sub_020665AC
thumb_func_end sub_02066974
thumb_func_start sub_02066980
sub_02066980: ; 0x02066980
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
cmp r4, #4
blt _0206698E
bl GF_AssertFail
_0206698E:
ldr r1, _020669A0 ; =0x0000011B
add r0, r5, #0
add r1, r4, r1
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl sub_020665AC
pop {r3, r4, r5, pc}
nop
_020669A0: .word 0x0000011B
thumb_func_end sub_02066980
thumb_func_start sub_020669A4
sub_020669A4: ; 0x020669A4
ldr r3, _020669AC ; =sub_020665AC
ldr r1, _020669B0 ; =0x0000096A
bx r3
nop
_020669AC: .word sub_020665AC
_020669B0: .word 0x0000096A
thumb_func_end sub_020669A4
thumb_func_start sub_020669B4
sub_020669B4: ; 0x020669B4
push {r3, lr}
cmp r1, #2
bls _020669BE
mov r0, #0
pop {r3, pc}
_020669BE:
ldr r2, _020669CC ; =0x0000096B
add r1, r1, r2
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl sub_020665AC
pop {r3, pc}
.balign 4, 0
_020669CC: .word 0x0000096B
thumb_func_end sub_020669B4
thumb_func_start sub_020669D0
sub_020669D0: ; 0x020669D0
ldr r3, _020669D8 ; =sub_020665AC
ldr r1, _020669DC ; =0x00000981
bx r3
nop
_020669D8: .word sub_020665AC
_020669DC: .word 0x00000981
thumb_func_end sub_020669D0
thumb_func_start sub_020669E0
sub_020669E0: ; 0x020669E0
ldr r3, _020669E8 ; =sub_020665AC
ldr r1, _020669EC ; =0x000009A6
bx r3
nop
_020669E8: .word sub_020665AC
_020669EC: .word 0x000009A6
thumb_func_end sub_020669E0
thumb_func_start sub_020669F0
sub_020669F0: ; 0x020669F0
ldr r3, _020669F8 ; =sub_020665AC
ldr r1, _020669FC ; =0x00000982
bx r3
nop
_020669F8: .word sub_020665AC
_020669FC: .word 0x00000982
thumb_func_end sub_020669F0
thumb_func_start sub_02066A00
sub_02066A00: ; 0x02066A00
ldr r3, _02066A08 ; =sub_020665AC
mov r1, #0x9a
bx r3
nop
_02066A08: .word sub_020665AC
thumb_func_end sub_02066A00
thumb_func_start sub_02066A0C
sub_02066A0C: ; 0x02066A0C
ldr r3, _02066A14 ; =sub_020665AC
ldr r1, _02066A18 ; =0x00000997
bx r3
nop
_02066A14: .word sub_020665AC
_02066A18: .word 0x00000997
thumb_func_end sub_02066A0C
thumb_func_start sub_02066A1C
sub_02066A1C: ; 0x02066A1C
ldr r3, _02066A24 ; =sub_0206659C
ldr r1, _02066A28 ; =0x0000099A
bx r3
nop
_02066A24: .word sub_0206659C
_02066A28: .word 0x0000099A
thumb_func_end sub_02066A1C
thumb_func_start sub_02066A2C
sub_02066A2C: ; 0x02066A2C
ldr r3, _02066A34 ; =sub_020665A4
ldr r1, _02066A38 ; =0x0000099A
bx r3
nop
_02066A34: .word sub_020665A4
_02066A38: .word 0x0000099A
thumb_func_end sub_02066A2C
thumb_func_start sub_02066A3C
sub_02066A3C: ; 0x02066A3C
ldr r3, _02066A44 ; =sub_020665AC
ldr r1, _02066A48 ; =0x0000099A
bx r3
nop
_02066A44: .word sub_020665AC
_02066A48: .word 0x0000099A
thumb_func_end sub_02066A3C
thumb_func_start sub_02066A4C
sub_02066A4C: ; 0x02066A4C
ldr r3, _02066A54 ; =sub_020665AC
mov r1, #0xf9
bx r3
nop
_02066A54: .word sub_020665AC
thumb_func_end sub_02066A4C
thumb_func_start sub_02066A58
sub_02066A58: ; 0x02066A58
ldr r3, _02066A60 ; =sub_020665AC
mov r1, #0xca
bx r3
nop
_02066A60: .word sub_020665AC
thumb_func_end sub_02066A58
thumb_func_start sub_02066A64
sub_02066A64: ; 0x02066A64
push {r3, lr}
cmp r1, #0
ldr r1, _02066A78 ; =0x0000099D
beq _02066A72
bl sub_0206659C
pop {r3, pc}
_02066A72:
bl sub_020665A4
pop {r3, pc}
.balign 4, 0
_02066A78: .word 0x0000099D
thumb_func_end sub_02066A64
thumb_func_start sub_02066A7C
sub_02066A7C: ; 0x02066A7C
push {r3, r4, r5, lr}
add r5, r1, #0
add r4, r2, #0
bl sub_020504A4
mov r1, #1
lsl r1, r1, #0xe
cmp r5, r1
blo _02066A94
lsl r1, r1, #1
cmp r5, r1
bls _02066A9C
_02066A94:
bl GF_AssertFail
mov r0, #0
pop {r3, r4, r5, pc}
_02066A9C:
cmp r0, #0
bne _02066AA4
mov r0, #0
pop {r3, r4, r5, pc}
_02066AA4:
strh r4, [r0]
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02066A7C
thumb_func_start sub_02066AAC
sub_02066AAC: ; 0x02066AAC
push {r3, lr}
bl sub_020504A4
cmp r0, #0
bne _02066ABA
mov r0, #0
pop {r3, pc}
_02066ABA:
ldrh r0, [r0]
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02066AAC
thumb_func_start sub_02066AC0
sub_02066AC0: ; 0x02066AC0
ldr r3, _02066AC8 ; =sub_02066A7C
add r2, r1, #0
ldr r1, _02066ACC ; =0x0000403F
bx r3
.balign 4, 0
_02066AC8: .word sub_02066A7C
_02066ACC: .word 0x0000403F
thumb_func_end sub_02066AC0
thumb_func_start sub_02066AD0
sub_02066AD0: ; 0x02066AD0
ldr r3, _02066AD8 ; =sub_02066AAC
ldr r1, _02066ADC ; =0x0000403F
bx r3
nop
_02066AD8: .word sub_02066AAC
_02066ADC: .word 0x0000403F
thumb_func_end sub_02066AD0
thumb_func_start sub_02066AE0
sub_02066AE0: ; 0x02066AE0
ldr r3, _02066AE8 ; =sub_02066A7C
add r2, r1, #0
ldr r1, _02066AEC ; =0x00004030
bx r3
.balign 4, 0
_02066AE8: .word sub_02066A7C
_02066AEC: .word 0x00004030
thumb_func_end sub_02066AE0
thumb_func_start sub_02066AF0
sub_02066AF0: ; 0x02066AF0
ldr r3, _02066AF8 ; =sub_02066AAC
ldr r1, _02066AFC ; =0x00004030
bx r3
nop
_02066AF8: .word sub_02066AAC
_02066AFC: .word 0x00004030
thumb_func_end sub_02066AF0
thumb_func_start sub_02066B00
sub_02066B00: ; 0x02066B00
push {r3, lr}
ldr r1, _02066B20 ; =0x00004030
bl sub_02066AAC
ldr r2, _02066B24 ; =0x00000183
cmp r0, r2
bne _02066B12
add r2, r2, #3
b _02066B1A
_02066B12:
add r1, r2, #3
cmp r0, r1
bne _02066B1A
add r2, r2, #6
_02066B1A:
add r0, r2, #0
pop {r3, pc}
nop
_02066B20: .word 0x00004030
_02066B24: .word 0x00000183
thumb_func_end sub_02066B00
thumb_func_start sub_02066B28
sub_02066B28: ; 0x02066B28
push {r3, lr}
ldr r1, _02066B48 ; =0x00004030
bl sub_02066AAC
ldr r2, _02066B4C ; =0x00000183
cmp r0, r2
bne _02066B3A
add r2, r2, #6
b _02066B42
_02066B3A:
add r1, r2, #3
cmp r0, r1
beq _02066B42
add r2, r2, #3
_02066B42:
add r0, r2, #0
pop {r3, pc}
nop
_02066B48: .word 0x00004030
_02066B4C: .word 0x00000183
thumb_func_end sub_02066B28
thumb_func_start sub_02066B50
sub_02066B50: ; 0x02066B50
ldr r3, _02066B58 ; =sub_02066AAC
ldr r1, _02066B5C ; =0x00004035
bx r3
nop
_02066B58: .word sub_02066AAC
_02066B5C: .word 0x00004035
thumb_func_end sub_02066B50
thumb_func_start sub_02066B60
sub_02066B60: ; 0x02066B60
ldr r3, _02066B68 ; =sub_02066A7C
add r2, r1, #0
ldr r1, _02066B6C ; =0x00004035
bx r3
.balign 4, 0
_02066B68: .word sub_02066A7C
_02066B6C: .word 0x00004035
thumb_func_end sub_02066B60
thumb_func_start sub_02066B70
sub_02066B70: ; 0x02066B70
ldr r3, _02066B78 ; =sub_02066AAC
ldr r1, _02066B7C ; =0x0000403E
bx r3
nop
_02066B78: .word sub_02066AAC
_02066B7C: .word 0x0000403E
thumb_func_end sub_02066B70
thumb_func_start sub_02066B80
sub_02066B80: ; 0x02066B80
push {r4, lr}
add r4, r0, #0
bmi _02066B8A
cmp r4, #2
blo _02066B8E
_02066B8A:
bl GF_AssertFail
_02066B8E:
ldr r0, _02066B98 ; =0x020FE4A4
lsl r1, r4, #1
ldrh r0, [r0, r1]
pop {r4, pc}
nop
_02066B98: .word 0x020FE4A4
thumb_func_end sub_02066B80
thumb_func_start sub_02066B9C
sub_02066B9C: ; 0x02066B9C
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
bl sub_02066B80
ldr r1, _02066BBC ; =0x00004043
add r2, r0, #0
add r1, r4, r1
lsl r1, r1, #0x10
add r0, r5, #0
lsr r1, r1, #0x10
bl sub_02066A7C
pop {r3, r4, r5, pc}
nop
_02066BBC: .word 0x00004043
thumb_func_end sub_02066B9C
thumb_func_start sub_02066BC0
sub_02066BC0: ; 0x02066BC0
push {r3, r4, r5, lr}
add r4, r1, #0
ldr r1, _02066BE4 ; =0x00004043
add r1, r4, r1
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl sub_02066AAC
add r5, r0, #0
add r0, r4, #0
bl sub_02066B80
cmp r5, r0
bne _02066BE0
mov r0, #1
pop {r3, r4, r5, pc}
_02066BE0:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
_02066BE4: .word 0x00004043
thumb_func_end sub_02066BC0
thumb_func_start sub_02066BE8
sub_02066BE8: ; 0x02066BE8
push {r3, lr}
cmp r1, #4
bhs _02066BFA
ldr r3, _02066BFC ; =0x00004045
add r1, r1, r3
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl sub_02066A7C
_02066BFA:
pop {r3, pc}
.balign 4, 0
_02066BFC: .word 0x00004045
thumb_func_end sub_02066BE8
thumb_func_start sub_02066C00
sub_02066C00: ; 0x02066C00
push {r4, lr}
add r4, r0, #0
bmi _02066C0A
cmp r4, #4
blt _02066C0E
_02066C0A:
bl GF_AssertFail
_02066C0E:
ldr r0, _02066C18 ; =0x020FE4A8
lsl r1, r4, #1
ldrh r0, [r0, r1]
pop {r4, pc}
nop
_02066C18: .word 0x020FE4A8
thumb_func_end sub_02066C00
thumb_func_start sub_02066C1C
sub_02066C1C: ; 0x02066C1C
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bmi _02066C28
cmp r4, #4
blt _02066C2C
_02066C28:
bl GF_AssertFail
_02066C2C:
add r0, r4, #0
bl sub_02066C00
add r2, r0, #0
ldr r1, _02066C48 ; =0x00004036
lsl r2, r2, #0x10
add r1, r4, r1
lsl r1, r1, #0x10
add r0, r5, #0
lsr r1, r1, #0x10
lsr r2, r2, #0x10
bl sub_02066A7C
pop {r3, r4, r5, pc}
.balign 4, 0
_02066C48: .word 0x00004036
thumb_func_end sub_02066C1C
thumb_func_start sub_02066C4C
sub_02066C4C: ; 0x02066C4C
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bmi _02066C58
cmp r4, #4
blt _02066C5C
_02066C58:
bl GF_AssertFail
_02066C5C:
ldr r1, _02066C70 ; =0x00004036
add r0, r5, #0
add r1, r4, r1
lsl r1, r1, #0x10
lsr r1, r1, #0x10
mov r2, #0
bl sub_02066A7C
pop {r3, r4, r5, pc}
nop
_02066C70: .word 0x00004036
thumb_func_end sub_02066C4C
thumb_func_start sub_02066C74
sub_02066C74: ; 0x02066C74
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bmi _02066C80
cmp r4, #4
blt _02066C84
_02066C80:
bl GF_AssertFail
_02066C84:
ldr r1, _02066CA8 ; =0x00004036
add r0, r5, #0
add r1, r4, r1
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl sub_02066AAC
add r5, r0, #0
add r0, r4, #0
bl sub_02066C00
cmp r5, r0
bne _02066CA2
mov r0, #1
pop {r3, r4, r5, pc}
_02066CA2:
mov r0, #0
pop {r3, r4, r5, pc}
nop
_02066CA8: .word 0x00004036
thumb_func_end sub_02066C74
thumb_func_start sub_02066CAC
sub_02066CAC: ; 0x02066CAC
push {r3, r4, r5, lr}
add r4, r1, #0
lsl r2, r4, #0x10
ldr r1, _02066CCC ; =0x0000403C
lsr r2, r2, #0x10
add r5, r0, #0
bl sub_02066A7C
lsr r2, r4, #0x10
lsl r2, r2, #0x10
ldr r1, _02066CCC ; =0x0000403C
add r0, r5, #0
lsr r2, r2, #0x10
bl sub_02066A7C
pop {r3, r4, r5, pc}
.balign 4, 0
_02066CCC: .word 0x0000403C
thumb_func_end sub_02066CAC
thumb_func_start sub_02066CD0
sub_02066CD0: ; 0x02066CD0
push {r3, r4, r5, lr}
ldr r1, _02066CEC ; =0x0000403C
add r5, r0, #0
bl sub_02066AAC
add r4, r0, #0
ldr r1, _02066CF0 ; =0x0000403D
add r0, r5, #0
bl sub_02066AAC
lsl r0, r0, #0x10
orr r0, r4
pop {r3, r4, r5, pc}
nop
_02066CEC: .word 0x0000403C
_02066CF0: .word 0x0000403D
thumb_func_end sub_02066CD0
thumb_func_start sub_02066CF4
sub_02066CF4: ; 0x02066CF4
push {r3, r4, r5, lr}
add r5, r0, #0
bl LCRandom
add r4, r0, #0
bl LCRandom
add r1, r0, #0
lsl r1, r1, #0x10
add r0, r5, #0
orr r1, r4
bl sub_02066CAC
pop {r3, r4, r5, pc}
thumb_func_end sub_02066CF4
thumb_func_start sub_02066D10
sub_02066D10: ; 0x02066D10
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_020503D0
add r4, r0, #0
add r0, r5, #0
bl sub_0202C854
bl sub_0202C7DC
add r2, r0, #0
ldr r1, _02066D38 ; =0x41C64E6D
add r0, r4, #0
mul r2, r1
ldr r1, _02066D3C ; =0x00003039
add r1, r2, r1
bl sub_02066CAC
pop {r3, r4, r5, pc}
nop
_02066D38: .word 0x41C64E6D
_02066D3C: .word 0x00003039
thumb_func_end sub_02066D10
thumb_func_start sub_02066D40
sub_02066D40: ; 0x02066D40
ldr r3, _02066D48 ; =sub_02066AAC
ldr r1, _02066D4C ; =0x00004041
bx r3
nop
_02066D48: .word sub_02066AAC
_02066D4C: .word 0x00004041
thumb_func_end sub_02066D40
thumb_func_start sub_02066D50
sub_02066D50: ; 0x02066D50
ldr r3, _02066D58 ; =sub_02066A7C
add r2, r1, #0
ldr r1, _02066D5C ; =0x00004041
bx r3
.balign 4, 0
_02066D58: .word sub_02066A7C
_02066D5C: .word 0x00004041
thumb_func_end sub_02066D50
thumb_func_start sub_02066D60
sub_02066D60: ; 0x02066D60
push {r4, lr}
bl sub_020503D0
add r4, r0, #0
bl LCRandom
mov r1, #0x62
bl _s32_div_f
add r1, r1, #2
lsl r1, r1, #0x10
add r0, r4, #0
lsr r1, r1, #0x10
bl sub_02066D50
pop {r4, pc}
thumb_func_end sub_02066D60
thumb_func_start sub_02066D80
sub_02066D80: ; 0x02066D80
push {r4, lr}
ldr r1, _02066DA0 ; =0x00004042
add r4, r0, #0
bl sub_02066AAC
ldr r2, _02066DA4 ; =0x00002710
cmp r0, r2
bhs _02066D96
add r0, r0, #1
lsl r0, r0, #0x10
lsr r2, r0, #0x10
_02066D96:
ldr r1, _02066DA0 ; =0x00004042
add r0, r4, #0
bl sub_02066A7C
pop {r4, pc}
.balign 4, 0
_02066DA0: .word 0x00004042
_02066DA4: .word 0x00002710
thumb_func_end sub_02066D80
thumb_func_start sub_02066DA8
sub_02066DA8: ; 0x02066DA8
ldr r3, _02066DB0 ; =sub_02066AAC
ldr r1, _02066DB4 ; =0x00004042
bx r3
nop
_02066DB0: .word sub_02066AAC
_02066DB4: .word 0x00004042
thumb_func_end sub_02066DA8
thumb_func_start sub_02066DB8
sub_02066DB8: ; 0x02066DB8
ldr r3, _02066DC0 ; =sub_02066AAC
ldr r1, _02066DC4 ; =0x0000404B
bx r3
nop
_02066DC0: .word sub_02066AAC
_02066DC4: .word 0x0000404B
thumb_func_end sub_02066DB8
thumb_func_start sub_02066DC8
sub_02066DC8: ; 0x02066DC8
ldr r3, _02066DD0 ; =sub_02066A7C
add r2, r1, #0
ldr r1, _02066DD4 ; =0x0000404B
bx r3
.balign 4, 0
_02066DD0: .word sub_02066A7C
_02066DD4: .word 0x0000404B
thumb_func_end sub_02066DC8
thumb_func_start sub_02066DD8
sub_02066DD8: ; 0x02066DD8
ldr r3, _02066DE0 ; =sub_02066AAC
ldr r1, _02066DE4 ; =0x0000404E
bx r3
nop
_02066DE0: .word sub_02066AAC
_02066DE4: .word 0x0000404E
thumb_func_end sub_02066DD8
thumb_func_start sub_02066DE8
sub_02066DE8: ; 0x02066DE8
ldr r3, _02066DF0 ; =sub_02066AAC
ldr r1, _02066DF4 ; =0x0000404F
bx r3
nop
_02066DF0: .word sub_02066AAC
_02066DF4: .word 0x0000404F
thumb_func_end sub_02066DE8
thumb_func_start sub_02066DF8
sub_02066DF8: ; 0x02066DF8
ldr r3, _02066E00 ; =sub_02066AAC
ldr r1, _02066E04 ; =0x00004050
bx r3
nop
_02066E00: .word sub_02066AAC
_02066E04: .word 0x00004050
thumb_func_end sub_02066DF8
thumb_func_start sub_02066E08
sub_02066E08: ; 0x02066E08
ldr r3, _02066E10 ; =sub_02066AAC
ldr r1, _02066E14 ; =0x00004051
bx r3
nop
_02066E10: .word sub_02066AAC
_02066E14: .word 0x00004051
thumb_func_end sub_02066E08
thumb_func_start sub_02066E18
sub_02066E18: ; 0x02066E18
ldr r3, _02066E20 ; =sub_02066AAC
ldr r1, _02066E24 ; =0x0000404D
bx r3
nop
_02066E20: .word sub_02066AAC
_02066E24: .word 0x0000404D
thumb_func_end sub_02066E18
thumb_func_start sub_02066E28
sub_02066E28: ; 0x02066E28
ldr r3, _02066E30 ; =sub_02066AAC
ldr r1, _02066E34 ; =0x0000404C
bx r3
nop
_02066E30: .word sub_02066AAC
_02066E34: .word 0x0000404C
thumb_func_end sub_02066E28
thumb_func_start sub_02066E38
sub_02066E38: ; 0x02066E38
ldr r3, _02066E40 ; =sub_02066A7C
add r2, r1, #0
ldr r1, _02066E44 ; =0x0000404C
bx r3
.balign 4, 0
_02066E40: .word sub_02066A7C
_02066E44: .word 0x0000404C
thumb_func_end sub_02066E38
thumb_func_start sub_02066E48
sub_02066E48: ; 0x02066E48
ldr r3, _02066E50 ; =sub_02066AAC
ldr r1, _02066E54 ; =0x00004052
bx r3
nop
_02066E50: .word sub_02066AAC
_02066E54: .word 0x00004052
thumb_func_end sub_02066E48
thumb_func_start sub_02066E58
sub_02066E58: ; 0x02066E58
push {r3, lr}
ldr r1, _02066E70 ; =0x00004077
bl sub_02066AAC
cmp r0, #2
blo _02066E68
cmp r0, #4
bls _02066E6C
_02066E68:
mov r0, #0
pop {r3, pc}
_02066E6C:
mov r0, #1
pop {r3, pc}
.balign 4, 0
_02066E70: .word 0x00004077
thumb_func_end sub_02066E58
thumb_func_start sub_02066E74
sub_02066E74: ; 0x02066E74
ldr r3, _02066E7C ; =sub_02066AAC
ldr r1, _02066E80 ; =0x00004057
bx r3
nop
_02066E7C: .word sub_02066AAC
_02066E80: .word 0x00004057
thumb_func_end sub_02066E74
thumb_func_start sub_02066E84
sub_02066E84: ; 0x02066E84
ldr r3, _02066E8C ; =sub_02066A7C
add r2, r1, #0
ldr r1, _02066E90 ; =0x00004057
bx r3
.balign 4, 0
_02066E8C: .word sub_02066A7C
_02066E90: .word 0x00004057
thumb_func_end sub_02066E84
thumb_func_start sub_02066E94
sub_02066E94: ; 0x02066E94
push {r3, r4, r5, lr}
ldr r1, _02066EC8 ; =0x00004033
add r5, r0, #0
bl sub_02066AAC
add r4, r0, #0
bl LCRandom
mov r1, #0x1e
bl _s32_div_f
lsl r0, r1, #0x10
lsr r2, r0, #0x10
cmp r4, r2
bne _02066EBE
add r0, r2, #1
mov r1, #0x1e
bl _s32_div_f
lsl r0, r1, #0x10
lsr r2, r0, #0x10
_02066EBE:
ldr r1, _02066EC8 ; =0x00004033
add r0, r5, #0
bl sub_02066A7C
pop {r3, r4, r5, pc}
.balign 4, 0
_02066EC8: .word 0x00004033
thumb_func_end sub_02066E94
thumb_func_start sub_02066ECC
sub_02066ECC: ; 0x02066ECC
ldr r3, _02066ED4 ; =sub_02066AAC
ldr r1, _02066ED8 ; =0x00004033
bx r3
nop
_02066ED4: .word sub_02066AAC
_02066ED8: .word 0x00004033
thumb_func_end sub_02066ECC
thumb_func_start sub_02066EDC
sub_02066EDC: ; 0x02066EDC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
add r0, r2, #0
mov r1, #0x44
bl AllocFromHeapAtEnd
ldr r7, [r6, #0xc]
mov r1, #0
mov r2, #0x44
add r4, r0, #0
bl MIi_CpuFill8
add r0, r7, #0
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #0xc]
add r0, r7, #0
bl SavArray_PlayerParty_get
str r0, [r4]
add r0, r7, #0
bl sub_0207879C
str r0, [r4, #4]
add r0, r4, #0
mov r2, #0
add r0, #0x25
strb r2, [r0]
add r0, r4, #0
ldrb r1, [r5, #8]
add r0, #0x24
strb r1, [r0]
add r0, r4, #0
add r0, #0x36
ldrb r1, [r0]
mov r0, #0xf
ldrb r3, [r5, #0xa]
bic r1, r0
mov r0, #0xf
and r3, r0
orr r3, r1
add r1, r4, #0
add r1, #0x36
strb r3, [r1]
add r1, r4, #0
add r1, #0x36
add r0, #0xfd
ldrb r1, [r1]
mov r3, #0xf0
add r0, r6, r0
bic r1, r3
ldrb r3, [r5, #0xb]
lsl r3, r3, #0x1c
lsr r3, r3, #0x18
orr r3, r1
add r1, r4, #0
add r1, #0x36
strb r3, [r1]
add r1, r4, #0
ldrb r3, [r5, #0xc]
add r1, #0x37
strb r3, [r1]
add r1, r4, #0
ldrb r3, [r5, #0xd]
add r1, #0x26
strb r3, [r1]
str r0, [r4, #0x20]
_02066F64:
add r0, r5, r2
ldrb r1, [r0, #0xe]
add r0, r4, r2
add r0, #0x30
strb r1, [r0]
add r0, r2, #1
lsl r0, r0, #0x18
lsr r2, r0, #0x18
cmp r2, #6
blo _02066F64
ldr r1, _02066F8C ; =0x0210159C
add r0, r6, #0
add r2, r4, #0
bl SwitchToPokegearApp
ldr r0, [r5, #0x14]
str r4, [r0]
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
nop
_02066F8C: .word 0x0210159C
thumb_func_end sub_02066EDC
thumb_func_start sub_02066F90
sub_02066F90: ; 0x02066F90
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, r1, #0
bl sub_020505A0
cmp r0, #0
beq _02066FA2
mov r0, #1
pop {r3, r4, r5, pc}
_02066FA2:
ldr r0, [r5, #0x14]
ldr r4, [r0]
add r0, r4, #0
add r0, #0x26
ldrb r0, [r0]
cmp r0, #6
beq _02066FBC
cmp r0, #7
bne _02066FC4
mov r0, #0
str r0, [r5]
mov r0, #4
pop {r3, r4, r5, pc}
_02066FBC:
mov r0, #1
str r0, [r5]
mov r0, #4
pop {r3, r4, r5, pc}
_02066FC4:
add r0, r4, #0
add r1, r5, #0
add r0, #0x30
add r1, #0xe
mov r2, #6
bl MIi_CpuCopy8
add r0, r4, #0
add r0, #0x26
ldrb r0, [r0]
strb r0, [r5, #0xd]
add r0, r4, #0
bl FreeToHeap
ldr r0, [r5, #0x14]
mov r1, #0
str r1, [r0]
mov r0, #2
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02066F90
thumb_func_start sub_02066FEC
sub_02066FEC: ; 0x02066FEC
push {r3, r4, r5, r6, r7, lr}
add r7, r1, #0
add r6, r0, #0
ldr r5, [r7, #0xc]
add r0, r2, #0
mov r1, #0x3c
bl AllocFromHeapAtEnd
mov r1, #0
mov r2, #0x3c
add r4, r0, #0
bl MIi_CpuFill8
add r0, r5, #0
bl Sav2_PlayerData_GetOptionsAddr
str r0, [r4, #4]
add r0, r5, #0
bl SavArray_PlayerParty_get
str r0, [r4]
add r0, r5, #0
bl sub_02074910
str r0, [r4, #0x1c]
add r0, r5, #0
bl sub_02088288
str r0, [r4, #0x2c]
mov r0, #1
strb r0, [r4, #0x11]
ldrb r0, [r6, #0xd]
strb r0, [r4, #0x14]
ldr r0, [r4]
bl GetPartyCount
strb r0, [r4, #0x13]
mov r0, #0
strh r0, [r4, #0x18]
ldrb r0, [r6, #9]
strb r0, [r4, #0x12]
add r0, r5, #0
bl sub_0202D95C
str r0, [r4, #0x20]
mov r0, #0x43
lsl r0, r0, #2
add r0, r7, r0
str r0, [r4, #0x30]
add r0, r5, #0
bl sub_0208828C
str r0, [r4, #0x34]
ldr r1, _02067080 ; =0x020FE4B0
add r0, r4, #0
bl sub_02089D40
add r0, r5, #0
bl Sav2_PlayerData_GetProfileAddr
add r1, r0, #0
add r0, r4, #0
bl sub_0208AD34
ldr r1, _02067084 ; =0x02103A1C
add r0, r7, #0
add r2, r4, #0
bl SwitchToPokegearApp
ldr r0, [r6, #0x14]
str r4, [r0]
mov r0, #3
pop {r3, r4, r5, r6, r7, pc}
nop
_02067080: .word 0x020FE4B0
_02067084: .word 0x02103A1C
thumb_func_end sub_02066FEC
thumb_func_start sub_02067088
sub_02067088: ; 0x02067088
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
bl sub_020505A0
cmp r0, #0
beq _0206709A
mov r0, #3
pop {r4, pc}
_0206709A:
ldr r0, [r4, #0x14]
ldr r0, [r0]
ldrb r1, [r0, #0x14]
strb r1, [r4, #0xd]
bl FreeToHeap
ldr r1, [r4, #0x14]
mov r0, #0
str r0, [r1]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02067088
thumb_func_start sub_020670B0
sub_020670B0: ; 0x020670B0
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldr r1, [r4, #4]
cmp r1, #4
bhi _02067112
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_020670D4: ; jump table
.short _020670DE - _020670D4 - 2 ; case 0
.short _020670EA - _020670D4 - 2 ; case 1
.short _020670F4 - _020670D4 - 2 ; case 2
.short _02067100 - _020670D4 - 2 ; case 3
.short _0206710A - _020670D4 - 2 ; case 4
_020670DE:
add r1, r5, #0
mov r2, #0xb
bl sub_02066EDC
str r0, [r4, #4]
b _02067112
_020670EA:
add r1, r5, #0
bl sub_02066F90
str r0, [r4, #4]
b _02067112
_020670F4:
add r1, r5, #0
mov r2, #0xb
bl sub_02066FEC
str r0, [r4, #4]
b _02067112
_02067100:
add r1, r5, #0
bl sub_02067088
str r0, [r4, #4]
b _02067112
_0206710A:
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, pc}
_02067112:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020670B0
thumb_func_start sub_02067118
sub_02067118: ; 0x02067118
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r6, r2, #0
add r7, r3, #0
bl sub_0205064C
str r0, [sp]
mov r0, #0xb
mov r1, #0x18
bl AllocFromHeap
add r4, r0, #0
mov r1, #0
mov r2, #0x18
bl MIi_CpuFill8
strb r6, [r4, #8]
strb r7, [r4, #9]
add r0, sp, #8
ldrb r1, [r0, #0x10]
add r2, r4, #0
strb r1, [r4, #0xa]
ldrb r1, [r0, #0x14]
strb r1, [r4, #0xb]
ldrb r1, [r0, #0x18]
strb r1, [r4, #0xc]
ldrb r0, [r0, #0x1c]
ldr r1, _02067160 ; =sub_020670B0
strb r0, [r4, #0xd]
ldr r0, [sp]
str r5, [r4, #0x14]
ldr r0, [r0, #0x10]
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
nop
_02067160: .word sub_020670B0
thumb_func_end sub_02067118
thumb_func_start sub_02067164
sub_02067164: ; 0x02067164
push {r3, r4, r5, lr}
add r5, r1, #0
add r4, r0, #0
ldr r0, [r5, #0xc]
bl sub_0203A05C
cmp r0, #0
beq _02067184
ldrh r1, [r4, #0x12]
ldrh r2, [r4, #0x14]
add r0, r5, #0
bl sub_0203F8EC
str r0, [r4, #8]
mov r0, #1
pop {r3, r4, r5, pc}
_02067184:
mov r0, #1
str r0, [r4]
mov r0, #2
pop {r3, r4, r5, pc}
thumb_func_end sub_02067164
thumb_func_start sub_0206718C
sub_0206718C: ; 0x0206718C
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
bl sub_020505A0
cmp r0, #0
beq _0206719E
mov r0, #1
pop {r4, pc}
_0206719E:
ldr r0, [r4, #8]
ldr r0, [r0, #0x20]
str r0, [r4]
ldr r0, [r4, #8]
bl FreeToHeap
mov r0, #2
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0206718C
thumb_func_start sub_020671B0
sub_020671B0: ; 0x020671B0
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldr r1, [r4, #4]
cmp r1, #0
beq _020671D2
cmp r1, #1
beq _020671DC
cmp r1, #2
beq _020671E6
b _020671FC
_020671D2:
add r1, r5, #0
bl sub_02067164
str r0, [r4, #4]
b _020671FC
_020671DC:
add r1, r5, #0
bl sub_0206718C
str r0, [r4, #4]
b _020671FC
_020671E6:
ldrh r1, [r4, #0x10]
add r0, r5, #0
bl sub_02040374
ldr r1, [r4]
strh r1, [r0]
add r0, r4, #0
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, pc}
_020671FC:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_020671B0
thumb_func_start sub_02067200
sub_02067200: ; 0x02067200
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r6, r2, #0
add r7, r3, #0
bl sub_0205064C
str r0, [sp]
mov r0, #0xb
mov r1, #0x18
bl AllocFromHeap
add r4, r0, #0
mov r1, #0
mov r2, #0x18
bl MIi_CpuFill8
strh r5, [r4, #0x12]
strh r7, [r4, #0x14]
ldr r0, [sp]
strh r6, [r4, #0x10]
ldr r0, [r0, #0x10]
ldr r1, _02067234 ; =sub_020671B0
add r2, r4, #0
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02067234: .word sub_020671B0
thumb_func_end sub_02067200
thumb_func_start sub_02067238
sub_02067238: ; 0x02067238
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r4, #0
bl sub_02050650
add r5, r0, #0
bl sub_0203769C
mov r1, #1
sub r0, r1, r0
bl sub_02037C44
add r7, r0, #0
bne _0206725E
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0206725E:
ldrh r1, [r5, #2]
add r0, r6, #0
bl sub_02040374
add r4, r0, #0
ldrh r0, [r5]
cmp r0, #0
beq _02067278
cmp r0, #1
beq _02067284
cmp r0, #2
beq _02067290
b _0206729A
_02067278:
add r0, r6, #0
add r1, r7, #0
bl sub_0204B610
strh r0, [r4]
b _0206729A
_02067284:
add r0, r6, #0
add r1, r7, #0
bl sub_0204B66C
strh r0, [r4]
b _0206729A
_02067290:
add r0, r6, #0
add r1, r7, #0
bl sub_0204B690
strh r0, [r4]
_0206729A:
add r0, r5, #0
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02067238
thumb_func_start sub_020672A4
sub_020672A4: ; 0x020672A4
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r6, r2, #0
bl sub_0205064C
add r7, r0, #0
mov r0, #0xb
mov r1, #4
bl AllocFromHeap
add r4, r0, #0
mov r1, #0
mov r2, #4
bl MIi_CpuFill8
strh r5, [r4]
strh r6, [r4, #2]
ldr r0, [r7, #0x10]
ldr r1, _020672D4 ; =sub_02067238
add r2, r4, #0
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
nop
_020672D4: .word sub_02067238
thumb_func_end sub_020672A4
thumb_func_start sub_020672D8
sub_020672D8: ; 0x020672D8
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
bl sub_0203107C
mov r1, #0
mov r2, #0xff
bl sub_020310BC
str r0, [sp]
cmp r0, #0x14
bhs _020672F2
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_020672F2:
add r0, r4, #0
bl sub_0202D918
mov r1, #0xd
mov r2, #0
add r4, r0, #0
bl sub_0202D5DC
lsl r0, r0, #0x18
mov r1, #0
lsr r7, r0, #0x18
add r0, r4, #0
add r2, r1, #0
bl sub_0202D5DC
lsl r0, r0, #0x18
lsr r6, r0, #0x18
add r0, r4, #0
mov r1, #1
mov r2, #0
bl sub_0202D5DC
lsl r0, r0, #0x18
lsr r5, r0, #0x18
add r0, r4, #0
mov r1, #0xe
mov r2, #0
bl sub_0202D5DC
add r0, r4, #0
mov r1, #2
mov r2, #0
bl sub_0202D5DC
add r0, r4, #0
mov r1, #3
mov r2, #0
bl sub_0202D5DC
cmp r7, #0
beq _02067350
cmp r6, #0
beq _02067350
cmp r5, #0
beq _02067350
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02067350:
cmp r7, #0
bne _02067362
add r0, r4, #0
mov r1, #0xd
mov r2, #1
bl sub_0202D5DC
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02067362:
ldr r0, [sp]
cmp r0, #0x32
bhs _0206736C
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0206736C:
cmp r6, #0
bne _0206737E
add r0, r4, #0
mov r1, #0
mov r2, #1
bl sub_0202D5DC
mov r0, #2
pop {r3, r4, r5, r6, r7, pc}
_0206737E:
cmp r0, #0x64
blo _02067386
cmp r5, #0
beq _0206738A
_02067386:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0206738A:
mov r1, #1
add r0, r4, #0
add r2, r1, #0
bl sub_0202D5DC
mov r0, #3
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020672D8
thumb_func_start sub_02067398
sub_02067398: ; 0x02067398
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r0, #0
bl sub_0203107C
mov r1, #0
mov r2, #0xff
bl sub_020310BC
str r0, [sp, #8]
cmp r0, #0x14
bhs _020673B6
add sp, #0xc
mov r0, #0
pop {r4, r5, r6, r7, pc}
_020673B6:
add r0, r4, #0
bl sub_0202D918
mov r1, #0xd
mov r2, #0
add r7, r0, #0
bl sub_0202D5DC
lsl r0, r0, #0x18
mov r1, #0
lsr r6, r0, #0x18
add r0, r7, #0
add r2, r1, #0
bl sub_0202D5DC
lsl r0, r0, #0x18
lsr r4, r0, #0x18
add r0, r7, #0
mov r1, #1
mov r2, #0
bl sub_0202D5DC
lsl r0, r0, #0x18
lsr r5, r0, #0x18
add r0, r7, #0
mov r1, #0xe
mov r2, #0
bl sub_0202D5DC
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
add r0, r7, #0
mov r1, #2
mov r2, #0
bl sub_0202D5DC
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
add r0, r7, #0
mov r1, #3
mov r2, #0
bl sub_0202D5DC
lsl r0, r0, #0x18
lsr r1, r0, #0x18
cmp r6, #0
beq _02067426
cmp r4, #0
beq _02067426
cmp r5, #0
beq _02067426
add sp, #0xc
mov r0, #0
pop {r4, r5, r6, r7, pc}
_02067426:
cmp r6, #0
bne _0206743C
ldr r0, [sp, #4]
cmp r0, #0
beq _02067436
add sp, #0xc
mov r0, #4
pop {r4, r5, r6, r7, pc}
_02067436:
add sp, #0xc
mov r0, #1
pop {r4, r5, r6, r7, pc}
_0206743C:
ldr r0, [sp, #8]
cmp r0, #0x32
bhs _02067448
add sp, #0xc
mov r0, #0
pop {r4, r5, r6, r7, pc}
_02067448:
cmp r4, #0
bne _0206745E
ldr r0, [sp]
cmp r0, #0
beq _02067458
add sp, #0xc
mov r0, #5
pop {r4, r5, r6, r7, pc}
_02067458:
add sp, #0xc
mov r0, #2
pop {r4, r5, r6, r7, pc}
_0206745E:
cmp r0, #0x64
bhs _02067468
add sp, #0xc
mov r0, #0
pop {r4, r5, r6, r7, pc}
_02067468:
cmp r5, #0
beq _02067472
add sp, #0xc
mov r0, #0
pop {r4, r5, r6, r7, pc}
_02067472:
cmp r1, #0
beq _0206747C
add sp, #0xc
mov r0, #6
pop {r4, r5, r6, r7, pc}
_0206747C:
mov r0, #3
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02067398
thumb_func_start sub_02067484
sub_02067484: ; 0x02067484
add r0, #0xa0
ldr r0, [r0]
ldr r2, [r1]
ldrh r3, [r0, #0x24]
add r2, r3, r2
strh r2, [r0, #0x24]
ldrh r3, [r0, #0x28]
ldr r2, [r1, #4]
add r2, r3, r2
strh r2, [r0, #0x28]
ldrh r2, [r0, #0x26]
ldr r1, [r1, #8]
add r1, r2, r1
strh r1, [r0, #0x26]
bx lr
.balign 4, 0
thumb_func_end sub_02067484
thumb_func_start sub_020674A4
sub_020674A4: ; 0x020674A4
ldr r1, _020674AC ; =0x02E90EDD
mul r1, r0
add r0, r1, #1
bx lr
.balign 4, 0
_020674AC: .word 0x02E90EDD
thumb_func_end sub_020674A4
thumb_func_start sub_020674B0
sub_020674B0: ; 0x020674B0
ldr r1, _020674B8 ; =0x5D588B65
mul r1, r0
add r0, r1, #1
bx lr
.balign 4, 0
_020674B8: .word 0x5D588B65
thumb_func_end sub_020674B0
thumb_func_start sub_020674BC
sub_020674BC: ; 0x020674BC
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0202C854
bl sub_0202C7DC
bl sub_020674B0
add r4, r0, #0
add r0, r5, #0
bl sub_0202D918
add r1, r4, #0
bl sub_0202D638
add r0, r4, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020674BC
thumb_func_start sub_020674E0
sub_020674E0: ; 0x020674E0
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
bl sub_0202D918
add r6, r0, #0
bl sub_0202D63C
bl sub_020674B0
add r4, r0, #0
add r0, r6, #0
add r1, r4, #0
bl sub_0202D638
add r0, r4, #0
bl sub_020674A4
str r0, [sp]
add r0, r5, #0
bl sub_0202D908
mov r1, #0xa
add r2, sp, #0
bl sub_0202D308
ldr r0, [sp]
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020674E0
thumb_func_start sub_0206751C
sub_0206751C: ; 0x0206751C
push {r3, r4, r5, r6, lr}
sub sp, #4
add r6, r0, #0
bl sub_0202D918
add r4, r0, #0
add r0, r6, #0
bl sub_0202D908
add r5, r0, #0
add r0, r4, #0
bl sub_0202D63C
bl sub_020674A4
mov r1, #0
str r0, [sp]
add r0, r5, #0
add r2, r1, #0
bl sub_0202D284
add r1, r0, #0
lsl r1, r1, #0x10
add r0, r4, #0
lsr r1, r1, #0x10
mov r2, #0
bl sub_0202D57C
mov r1, #0x18
add r5, r0, #0
mul r5, r1
mov r4, #0
cmp r5, #0
ble _0206756E
ldr r0, [sp]
_02067562:
bl sub_020674A4
add r4, r4, #1
str r0, [sp]
cmp r4, r5
blt _02067562
_0206756E:
add r0, r6, #0
bl sub_0202D908
mov r1, #0xa
add r2, sp, #0
bl sub_0202D308
ldr r0, [sp]
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0206751C
thumb_func_start sub_02067584
sub_02067584: ; 0x02067584
ldr r0, [r0, #0x20]
ldr r1, [r0]
ldr r0, _02067598 ; =0x0000010F
cmp r1, r0
bne _02067592
mov r0, #1
bx lr
_02067592:
mov r0, #0
bx lr
nop
_02067598: .word 0x0000010F
thumb_func_end sub_02067584
thumb_func_start sub_0206759C
sub_0206759C: ; 0x0206759C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
str r1, [sp]
cmp r1, #0
ble _02067606
bl sub_0202C9D8
bl sub_0202CA10
add r4, r0, #0
add r0, r5, #0
bl Sav2_PlayerData_GetProfileAddr
add r7, r0, #0
ldr r0, [sp]
mov r1, #0xa
add r6, r0, #0
mov r5, #0
mul r6, r1
_020675C2:
add r0, r7, #0
add r1, r5, #0
bl sub_02028F98
cmp r0, #0
beq _020675FC
add r0, r5, #0
add r1, r4, #0
bl sub_0202CA14
add r1, r0, #0
cmp r1, #0
ble _020675E4
cmp r1, #0xc8
bge _020675E4
sub r1, r1, r6
b _020675EE
_020675E4:
cmp r1, #0xc8
blt _020675EC
bl GF_AssertFail
_020675EC:
mov r1, #0
_020675EE:
cmp r1, #0
bge _020675F4
mov r1, #0
_020675F4:
add r0, r5, #0
add r2, r4, #0
bl sub_0202CA1C
_020675FC:
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #8
blo _020675C2
_02067606:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0206759C
thumb_func_start sub_02067608
sub_02067608: ; 0x02067608
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0202D9F4
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_02067830
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02067608
thumb_func_start sub_02067620
sub_02067620: ; 0x02067620
push {r3, r4, r5, lr}
add r4, r0, #0
mov r5, #0
_02067626:
add r0, r4, #0
add r1, r5, #0
bl sub_0202DA28
cmp r0, #0
beq _0206763A
add r0, r4, #0
add r1, r5, #0
bl sub_02067608
_0206763A:
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #4
blo _02067626
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02067620
thumb_func_start sub_02067648
sub_02067648: ; 0x02067648
push {r4, r5, r6, lr}
add r5, r0, #0
mov r4, #0
mov r6, #0x1c
_02067650:
add r0, r5, #0
add r1, r4, #0
bl sub_0202DA28
cmp r0, #0
beq _0206768A
bl LCRandom
lsr r1, r0, #0x1f
lsl r0, r0, #0x1c
sub r0, r0, r1
ror r0, r6
add r0, r1, r0
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bne _0206767A
add r0, r5, #0
add r1, r4, #0
bl sub_02067608
b _0206768A
_0206767A:
add r0, r5, #0
bl sub_0202D9F4
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl sub_02067884
_0206768A:
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, #4
blo _02067650
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02067648
thumb_func_start sub_02067698
sub_02067698: ; 0x02067698
push {r4, lr}
add r4, r0, #0
cmp r4, #0x29
blo _020676A4
bl GF_AssertFail
_020676A4:
ldr r0, _020676AC ; =0x020FE4B8
lsl r1, r4, #2
ldr r0, [r0, r1]
pop {r4, pc}
.balign 4, 0
_020676AC: .word 0x020FE4B8
thumb_func_end sub_02067698
thumb_func_start sub_020676B0
sub_020676B0: ; 0x020676B0
push {r3, r4, r5, lr}
add r4, r0, #0
mov r5, #0
_020676B6:
add r0, r4, #0
add r1, r5, #0
bl sub_0202DA28
cmp r0, #0
beq _020676C6
mov r0, #1
pop {r3, r4, r5, pc}
_020676C6:
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #4
blo _020676B6
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_020676B0
thumb_func_start sub_020676D4
sub_020676D4: ; 0x020676D4
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_020676B0
cmp r0, #0
beq _020676EA
add r0, r5, #0
add r1, r4, #0
bl sub_0202D9E8
_020676EA:
pop {r3, r4, r5, pc}
thumb_func_end sub_020676D4
thumb_func_start sub_020676EC
sub_020676EC: ; 0x020676EC
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
str r1, [sp, #0x10]
add r7, r0, #0
bl sub_0202D9C4
ldr r1, [sp, #0x10]
str r0, [sp, #0x14]
bl sub_0202DA54
add r4, r0, #0
ldr r0, [sp, #0x10]
cmp r0, #3
bhi _02067736
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02067714: ; jump table
.short _0206771C - _02067714 - 2 ; case 0
.short _02067722 - _02067714 - 2 ; case 1
.short _02067728 - _02067714 - 2 ; case 2
.short _02067730 - _02067714 - 2 ; case 3
_0206771C:
mov r6, #0xf3
mov r5, #0x28
b _0206773E
_02067722:
mov r6, #0xf4
mov r5, #0x28
b _0206773E
_02067728:
mov r6, #0x5f
lsl r6, r6, #2
mov r5, #0x23
b _0206773E
_02067730:
ldr r6, _020677F0 ; =0x0000017D
mov r5, #0x23
b _0206773E
_02067736:
bl GF_AssertFail
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
_0206773E:
add r0, r4, #0
mov r1, #4
add r2, r6, #0
bl sub_0202DAB8
add r0, r4, #0
mov r1, #6
add r2, r5, #0
bl sub_0202DAB8
add r0, r7, #0
bl Sav2_PlayerData_GetProfileAddr
str r0, [sp, #0x18]
mov r0, #4
bl AllocMonZeroed
add r7, r0, #0
bl ZeroMonData
ldr r0, [sp, #0x18]
bl sub_02028F88
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
mov r1, #1
str r1, [sp, #8]
str r0, [sp, #0xc]
add r0, r7, #0
add r1, r6, #0
add r2, r5, #0
mov r3, #0x20
bl sub_0206DE38
add r0, r4, #0
mov r1, #7
mov r2, #0
bl sub_0202DAB8
add r0, r4, #0
mov r1, #8
mov r2, #1
bl sub_0202DAB8
add r0, r7, #0
mov r1, #0xaf
mov r2, #0
bl GetMonData
add r2, r0, #0
add r0, r4, #0
mov r1, #2
bl sub_0202DAB8
mov r1, #0
add r0, r7, #0
add r2, r1, #0
bl GetMonData
add r2, r0, #0
add r0, r4, #0
mov r1, #3
bl sub_0202DAB8
add r0, r7, #0
mov r1, #0xa4
mov r2, #0
bl GetMonData
add r2, r0, #0
add r0, r4, #0
mov r1, #5
bl sub_0202DAB8
add r0, r7, #0
bl FreeToHeap
ldr r0, [sp, #0x14]
bl sub_0202D9F4
add r2, r0, #0
ldr r0, [sp, #0x14]
ldr r1, [sp, #0x10]
bl sub_02067830
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
nop
_020677F0: .word 0x0000017D
thumb_func_end sub_020676EC
thumb_func_start sub_020677F4
sub_020677F4: ; 0x020677F4
push {r3, lr}
mov r1, #0x5f
lsl r1, r1, #2
cmp r0, r1
bgt _02067810
bge _02067824
cmp r0, #0xf4
bgt _02067828
cmp r0, #0xf3
blt _02067828
beq _02067818
cmp r0, #0xf4
beq _0206781C
b _02067828
_02067810:
add r1, r1, #1
cmp r0, r1
beq _02067820
b _02067828
_02067818:
mov r0, #0
pop {r3, pc}
_0206781C:
mov r0, #1
pop {r3, pc}
_02067820:
mov r0, #3
pop {r3, pc}
_02067824:
mov r0, #2
pop {r3, pc}
_02067828:
bl GF_AssertFail
mov r0, #4
pop {r3, pc}
thumb_func_end sub_020677F4
thumb_func_start sub_02067830
sub_02067830: ; 0x02067830
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
str r0, [sp]
str r1, [sp, #4]
add r7, r2, #0
bl sub_0202D9F8
lsl r1, r0, #2
ldr r0, _02067880 ; =0x020FE4B8
ldr r6, [r0, r1]
ldr r0, [sp, #4]
cmp r0, #1
bhi _02067850
mov r4, #0x10
mov r5, #0
b _02067854
_02067850:
mov r4, #0x19
mov r5, #0x10
_02067854:
bl LCRandom
add r1, r4, #0
bl _s32_div_f
add r0, r5, r1
lsl r0, r0, #0x18
lsr r2, r0, #0x18
ldr r0, _02067880 ; =0x020FE4B8
lsl r1, r2, #2
ldr r3, [r0, r1]
cmp r3, r7
beq _02067854
cmp r3, r6
beq _02067854
ldr r0, [sp]
ldr r1, [sp, #4]
bl sub_02067914
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_02067880: .word 0x020FE4B8
thumb_func_end sub_02067830
thumb_func_start sub_02067884
sub_02067884: ; 0x02067884
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
str r0, [sp]
str r1, [sp, #4]
add r6, r2, #0
bl sub_0202D9F8
mov r1, #0xe
ldr r2, _0206790C ; =0x020FE55C
mul r1, r0
ldrh r0, [r2, r1]
add r4, r2, r1
cmp r0, #1
bne _020678CA
ldrh r0, [r4, #2]
lsl r0, r0, #0x18
lsr r2, r0, #0x18
ldr r0, _02067910 ; =0x020FE4B8
lsl r1, r2, #2
ldr r3, [r0, r1]
cmp r3, r6
bne _020678BE
ldr r0, [sp]
ldr r1, [sp, #4]
add r2, r6, #0
bl sub_02067830
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_020678BE:
ldr r0, [sp]
ldr r1, [sp, #4]
bl sub_02067914
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_020678CA:
ldr r7, _02067910 ; =0x020FE4B8
_020678CC:
ldrh r5, [r4]
cmp r5, #0
bne _020678D6
bl GF_AssertFail
_020678D6:
cmp r5, #1
bhi _020678DE
mov r0, #0
b _020678EC
_020678DE:
bl LCRandom
add r1, r5, #0
bl _s32_div_f
lsl r0, r1, #0x10
lsr r0, r0, #0x10
_020678EC:
lsl r0, r0, #0x18
lsr r0, r0, #0x17
add r0, r4, r0
ldrh r0, [r0, #2]
lsl r0, r0, #0x18
lsr r2, r0, #0x18
lsl r0, r2, #2
ldr r3, [r7, r0]
cmp r3, r6
beq _020678CC
ldr r0, [sp]
ldr r1, [sp, #4]
bl sub_02067914
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0206790C: .word 0x020FE55C
_02067910: .word 0x020FE4B8
thumb_func_end sub_02067884
thumb_func_start sub_02067914
sub_02067914: ; 0x02067914
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
add r7, r3, #0
bl sub_0202DA54
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl sub_0202DA10
ldr r0, [sp]
mov r1, #1
add r2, r7, #0
bl sub_0202DAB8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02067914
thumb_func_start sub_0206793C
sub_0206793C: ; 0x0206793C
push {r4, lr}
add r4, r0, #0
bl sub_0205064C
add r0, r4, #0
bl sub_02050650
add r2, r0, #0
ldr r1, _02067958 ; =0x020FE79C
add r0, r4, #0
add r2, #0xc
bl sub_02050624
pop {r4, pc}
.balign 4, 0
_02067958: .word 0x020FE79C
thumb_func_end sub_0206793C
thumb_func_start sub_0206795C
sub_0206795C: ; 0x0206795C
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r5, #0
bl sub_02050650
add r4, r0, #0
ldr r0, [r4, #4]
cmp r0, #6
bhi _02067A16
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02067982: ; jump table
.short _02067990 - _02067982 - 2 ; case 0
.short _020679B8 - _02067982 - 2 ; case 1
.short _020679C6 - _02067982 - 2 ; case 2
.short _020679D4 - _02067982 - 2 ; case 3
.short _020679E2 - _02067982 - 2 ; case 4
.short _020679F0 - _02067982 - 2 ; case 5
.short _020679FE - _02067982 - 2 ; case 6
_02067990:
ldr r0, [r4, #0x24]
add r3, r4, #0
str r0, [sp]
ldr r0, [r4, #0x28]
add r3, #0xc
str r0, [sp, #4]
ldr r1, [r4]
ldr r2, [r4, #8]
add r0, r6, #0
bl ov23_02259B88
ldr r1, [r4]
ldr r2, [r4, #8]
add r0, r6, #0
bl ov23_02259B68
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
b _02067A16
_020679B8:
add r0, r5, #0
bl sub_020552E8
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
b _02067A16
_020679C6:
add r0, r5, #0
bl sub_0205525C
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
b _02067A16
_020679D4:
add r0, r5, #0
bl sub_0206793C
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
b _02067A16
_020679E2:
add r0, r5, #0
bl sub_020552A4
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
b _02067A16
_020679F0:
add r0, r5, #0
bl sub_0205532C
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
b _02067A16
_020679FE:
ldr r0, [r4, #0x24]
bl FreeToHeap
ldr r0, [r4, #0x28]
bl FreeToHeap
add r0, r4, #0
bl FreeToHeap
add sp, #8
mov r0, #1
pop {r4, r5, r6, pc}
_02067A16:
mov r0, #0
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end sub_0206795C
thumb_func_start sub_02067A1C
sub_02067A1C: ; 0x02067A1C
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r1, #0
add r0, r3, #0
mov r1, #0x2c
add r6, r2, #0
str r3, [sp]
bl AllocFromHeap
mov r1, #0
mov r2, #0x2c
add r4, r0, #0
bl memset
mov r0, #0
str r0, [r4, #4]
str r5, [r4]
ldr r0, [sp]
str r6, [r4, #8]
bl AllocMonZeroed
str r0, [r4, #0x24]
ldr r0, [sp]
bl AllocMonZeroed
str r0, [r4, #0x28]
ldr r1, _02067A5C ; =sub_0206795C
add r0, r7, #0
add r2, r4, #0
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02067A5C: .word sub_0206795C
thumb_func_end sub_02067A1C
thumb_func_start sub_02067A60
sub_02067A60: ; 0x02067A60
push {r4, lr}
mov r1, #0x24
bl AllocFromHeap
add r4, r0, #0
mov r0, #0
add r1, r4, #0
mov r2, #0x24
bl MIi_CpuClearFast
add r0, r4, #0
pop {r4, pc}
thumb_func_end sub_02067A60
thumb_func_start sub_02067A78
sub_02067A78: ; 0x02067A78
ldr r3, _02067A7C ; =FreeToHeap
bx r3
.balign 4, 0
_02067A7C: .word FreeToHeap
thumb_func_end sub_02067A78
thumb_func_start sub_02067A80
sub_02067A80: ; 0x02067A80
add r0, #0xac
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_02067A80
thumb_func_start sub_02067A88
sub_02067A88: ; 0x02067A88
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0xc]
bl sub_020503D0
mov r1, #0
bl sub_020668C0
ldr r1, [r5, #0x20]
add r0, r5, #0
ldr r1, [r1]
bl sub_0203BB70
ldr r0, [r5, #0xc]
bl sub_0202D9C4
mov r1, #0
bl sub_0202DB18
add r0, r5, #0
mov r1, #0
add r0, #0x7e
strh r1, [r0]
add r0, r5, #0
add r0, #0x7c
strh r1, [r0]
ldr r0, [r5, #0xc]
bl sub_020503D0
bl sub_02066860
cmp r0, #0
bne _02067AE0
ldr r0, [r5, #0xc]
bl sub_0202D9C4
ldr r1, [r5, #0x20]
add r4, r0, #0
ldr r1, [r1]
bl sub_020676D4
add r0, r4, #0
bl sub_02067648
_02067AE0:
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02067A88
thumb_func_start sub_02067AE4
sub_02067AE4: ; 0x02067AE4
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0xac
ldr r0, [r0]
cmp r0, #1
beq _02067B84
ldr r0, [r5, #0xc]
bl sub_020503D0
bl sub_020668B0
ldr r0, [r5, #0xc]
bl sub_020503D0
mov r1, #0
bl sub_020668C0
ldr r1, [r5, #0x20]
add r0, r5, #0
ldr r1, [r1]
bl sub_0203BB70
ldr r0, [r5, #0xc]
bl sub_0202D9C4
mov r1, #0
bl sub_0202DB18
add r0, r5, #0
mov r1, #0
add r0, #0x7e
strh r1, [r0]
add r0, r5, #0
add r0, #0x7c
strh r1, [r0]
ldr r0, [r5, #0xc]
bl sub_0202D9C4
ldr r1, [r5, #0x20]
ldr r1, [r1]
bl sub_020676D4
ldr r0, [r5, #0x20]
ldr r0, [r0]
bl sub_0203B578
cmp r0, #0
bne _02067B56
ldr r0, [r5, #0xc]
bl sub_020503D0
add r4, r0, #0
bl sub_020668E0
add r0, r4, #0
bl sub_02066910
_02067B56:
ldr r0, [r5, #0xc]
bl sub_0203B9C4
bl sub_0203B9B4
add r4, r0, #0
ldr r0, [r4, #4]
cmp r0, #1
bne _02067B7A
ldr r0, [r5, #0x20]
ldr r0, [r0]
bl sub_0203B470
cmp r0, #0
bne _02067B7A
mov r0, #0
str r0, [r4, #4]
pop {r3, r4, r5, pc}
_02067B7A:
ldr r0, [r4, #4]
cmp r0, #2
bne _02067B84
mov r0, #0
str r0, [r4, #4]
_02067B84:
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02067AE4
thumb_func_start sub_02067B88
sub_02067B88: ; 0x02067B88
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0xc]
bl sub_020503D0
bl sub_02066850
ldr r0, [r4, #0xc]
bl sub_0202D9C4
bl sub_02067620
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02067B88
thumb_func_start sub_02067BA4
sub_02067BA4: ; 0x02067BA4
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0xc]
bl sub_020503D0
bl sub_02066850
ldr r0, [r4, #0xc]
bl sub_0202D9C4
bl sub_02067620
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02067BA4
thumb_func_start sub_02067BC0
sub_02067BC0: ; 0x02067BC0
push {r3, lr}
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066850
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02067BC0
thumb_func_start sub_02067BD0
sub_02067BD0: ; 0x02067BD0
push {r4, lr}
ldr r0, [r0, #0xc]
bl sub_020503D0
add r4, r0, #0
bl sub_02066634
add r0, r4, #0
mov r1, #0
bl sub_02066AC0
pop {r4, pc}
thumb_func_end sub_02067BD0
thumb_func_start sub_02067BE8
sub_02067BE8: ; 0x02067BE8
push {r3, lr}
ldr r0, [r0, #0xc]
bl sub_0202D9C4
bl sub_02067620
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02067BE8
thumb_func_start sub_02067BF8
sub_02067BF8: ; 0x02067BF8
push {r4, r5, r6, lr}
add r5, r1, #0
mov r1, #0x1c
add r4, r2, #0
add r6, r3, #0
bl AllocFromHeapAtEnd
add r3, r0, #0
mov r2, #0x1c
mov r1, #0
_02067C0C:
strb r1, [r3]
add r3, r3, #1
sub r2, r2, #1
bne _02067C0C
str r5, [r0]
str r4, [r0, #0x10]
add r2, sp, #0
ldrh r1, [r2, #0x10]
strh r1, [r0, #8]
mov r1, #0x14
ldrsh r1, [r2, r1]
strh r1, [r0, #0xa]
mov r1, #0x18
ldrsh r1, [r2, r1]
strh r1, [r0, #0xc]
strh r6, [r0, #0xe]
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02067BF8
thumb_func_start sub_02067C30
sub_02067C30: ; 0x02067C30
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r6, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r6, #0
bl sub_02050650
add r4, r0, #0
ldrh r0, [r4, #4]
cmp r0, #6
bls _02067C4C
b _02067DE4
_02067C4C:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02067C58: ; jump table
.short _02067C66 - _02067C58 - 2 ; case 0
.short _02067C78 - _02067C58 - 2 ; case 1
.short _02067CF2 - _02067C58 - 2 ; case 2
.short _02067D1E - _02067C58 - 2 ; case 3
.short _02067D2E - _02067C58 - 2 ; case 4
.short _02067D44 - _02067C58 - 2 ; case 5
.short _02067D8C - _02067C58 - 2 ; case 6
_02067C66:
ldr r1, _02067DEC ; =0x02205A61
add r0, r6, #0
mov r2, #0
bl sub_02050530
ldrh r0, [r4, #4]
add r0, r0, #1
strh r0, [r4, #4]
b _02067DE4
_02067C78:
ldr r0, [r5, #0x40]
bl sub_0205C700
sub r0, r0, #1
cmp r0, #1
bhi _02067C8E
mov r0, #4
strh r0, [r4, #4]
mov r0, #0
strh r0, [r4, #6]
b _02067DE4
_02067C8E:
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
bl sub_020543BC
ldrh r1, [r4, #0xe]
cmp r1, r0
beq _02067CAE
ldr r0, [r4]
bl ov01_02205D68
mov r0, #4
strh r0, [r4, #4]
mov r0, #0
strh r0, [r4, #6]
b _02067DE4
_02067CAE:
add r0, r5, #0
bl sub_02069FB0
cmp r0, #0
beq _02067CE8
add r0, r5, #0
mov r1, #2
bl ov02_02250780
cmp r0, #0
beq _02067CD4
mov r0, #0x42
lsl r0, r0, #2
ldr r0, [r5, r0]
mov r1, #1
mov r6, #2
bl sub_0206A1F4
b _02067CD6
_02067CD4:
mov r6, #1
_02067CD6:
add r0, r5, #0
add r1, r6, #0
bl ov02_022507B4
mov r0, #1
strh r0, [r4, #6]
mov r0, #2
strh r0, [r4, #4]
b _02067DE4
_02067CE8:
mov r0, #4
strh r0, [r4, #4]
mov r0, #0
strh r0, [r4, #6]
b _02067DE4
_02067CF2:
ldr r0, [r4, #0x10]
mov r1, #5
mov r2, #0
bl GetMonData
add r5, r0, #0
ldr r0, [r4, #0x10]
mov r1, #0x70
mov r2, #0
bl GetMonData
add r1, r0, #0
lsl r0, r5, #0x10
lsl r1, r1, #0x18
lsr r0, r0, #0x10
lsr r1, r1, #0x18
bl sub_02006218
ldrh r0, [r4, #4]
add r0, r0, #1
strh r0, [r4, #4]
b _02067DE4
_02067D1E:
bl sub_02006360
cmp r0, #0
bne _02067DE4
ldrh r0, [r4, #4]
add r0, r0, #1
strh r0, [r4, #4]
b _02067DE4
_02067D2E:
ldr r0, [r5, #0x40]
bl sub_0205C6DC
ldr r1, _02067DF0 ; =0x020FE7AC
bl sub_02062214
str r0, [r4, #0x18]
ldrh r0, [r4, #4]
add r0, r0, #1
strh r0, [r4, #4]
b _02067DE4
_02067D44:
ldr r0, [r4, #0x18]
bl sub_02062260
cmp r0, #0
beq _02067DE4
ldr r0, [r4, #0x18]
bl sub_0206226C
ldrh r0, [r4, #6]
cmp r0, #0
ldr r0, [r4]
bne _02067D70
ldr r0, [r0, #0x40]
bl sub_0205C724
add r3, r0, #0
ldr r0, [r4]
ldr r2, [r4, #0x10]
mov r1, #1
bl ov02_02249458
b _02067D82
_02067D70:
ldr r0, [r0, #0x40]
bl sub_0205C724
add r3, r0, #0
ldr r0, [r4]
ldr r2, [r4, #0x10]
mov r1, #2
bl ov02_02249458
_02067D82:
str r0, [r4, #0x14]
ldrh r0, [r4, #4]
add r0, r0, #1
strh r0, [r4, #4]
b _02067DE4
_02067D8C:
ldr r0, [r4, #0x14]
bl ov02_0224953C
cmp r0, #0
beq _02067DE4
ldr r0, [r4, #0x14]
bl ov02_02249548
ldr r0, [r5, #0xc]
bl sub_0203B9C4
add r7, r0, #0
ldrh r0, [r4, #8]
bl sub_0203BB50
lsl r0, r0, #0x10
lsr r5, r0, #0x10
bne _02067DB4
bl GF_AssertFail
_02067DB4:
add r0, r5, #0
add r1, sp, #8
bl sub_0203BA74
add r0, r7, #0
bl sub_0203B964
add r1, r0, #0
add r0, r5, #0
bl sub_0203BAE8
ldr r0, [sp, #0x14]
mov r2, #1
str r0, [sp]
str r2, [sp, #4]
ldr r1, [sp, #8]
ldr r3, [sp, #0x10]
add r0, r6, #0
sub r2, r2, #2
bl sub_02053908
add r0, r4, #0
bl FreeToHeap
_02067DE4:
mov r0, #0
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
nop
_02067DEC: .word 0x02205A61
_02067DF0: .word 0x020FE7AC
thumb_func_end sub_02067C30
thumb_func_start sub_02067DF4
sub_02067DF4: ; 0x02067DF4
cmp r0, #0
bne _02067E00
ldr r0, _02067E08 ; =0x020FE7BC
lsl r1, r1, #3
ldr r0, [r0, r1]
bx lr
_02067E00:
ldr r0, _02067E0C ; =0x020FE7C0
lsl r1, r1, #3
ldr r0, [r0, r1]
bx lr
.balign 4, 0
_02067E08: .word 0x020FE7BC
_02067E0C: .word 0x020FE7C0
thumb_func_end sub_02067DF4
thumb_func_start sub_02067E10
sub_02067E10: ; 0x02067E10
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
add r4, r1, #0
str r5, [r4, #4]
ldr r1, [r5, #0x20]
ldr r1, [r1]
str r1, [r4]
mov r1, #0
strh r1, [r4, #0xc]
add r1, sp, #8
bl sub_0203DBF8
ldr r0, [sp, #8]
str r0, [r4, #8]
ldr r0, [sp, #8]
cmp r0, #0
beq _02067E62
bl sub_0205F25C
cmp r0, #0x54
beq _02067E46
cmp r0, #0x55
beq _02067E50
cmp r0, #0x56
beq _02067E5A
b _02067E62
_02067E46:
ldrh r1, [r4, #0xc]
mov r0, #8
orr r0, r1
strh r0, [r4, #0xc]
b _02067E62
_02067E50:
ldrh r1, [r4, #0xc]
mov r0, #0x10
orr r0, r1
strh r0, [r4, #0xc]
b _02067E62
_02067E5A:
ldrh r1, [r4, #0xc]
mov r0, #1
orr r0, r1
strh r0, [r4, #0xc]
_02067E62:
ldr r0, [r5, #0x40]
bl sub_0205C67C
str r0, [sp, #4]
ldr r0, [r5, #0x40]
bl sub_0205C688
add r2, r0, #0
ldr r1, [sp, #4]
str r2, [sp]
add r0, r5, #0
bl sub_02054918
add r7, r0, #0
ldr r0, [r5, #0x40]
add r1, sp, #4
add r2, sp, #0
bl sub_0205E02C
ldr r1, [sp, #4]
ldr r2, [sp]
add r0, r5, #0
bl sub_02054918
add r6, r0, #0
ldr r0, [r5, #0x40]
add r1, r7, #0
add r2, r6, #0
bl ov01_021F20C0
cmp r0, #0
beq _02067EAA
ldrh r1, [r4, #0xc]
mov r0, #4
orr r0, r1
strh r0, [r4, #0xc]
_02067EAA:
ldr r0, [r5, #0x40]
bl sub_0205C654
add r1, r0, #0
add r0, r6, #0
bl ov01_021F25E8
cmp r0, #0
beq _02067EC4
ldrh r1, [r4, #0xc]
mov r0, #0x40
orr r0, r1
strh r0, [r4, #0xc]
_02067EC4:
lsl r0, r6, #0x18
lsr r0, r0, #0x18
bl sub_0205B8DC
cmp r0, #0
beq _02067ED8
ldrh r1, [r4, #0xc]
mov r0, #0x20
orr r0, r1
strh r0, [r4, #0xc]
_02067ED8:
lsl r0, r6, #0x18
lsr r0, r0, #0x18
bl sub_0205B8E8
cmp r0, #0
beq _02067EEE
ldrh r1, [r4, #0xc]
mov r0, #1
lsl r0, r0, #0xc
orr r0, r1
strh r0, [r4, #0xc]
_02067EEE:
ldr r0, [r5, #0xc]
bl sub_0203B9C4
bl sub_0203B984
cmp r0, #0xb
bne _02067F04
ldrh r1, [r4, #0xc]
mov r0, #0x80
orr r0, r1
strh r0, [r4, #0xc]
_02067F04:
lsl r0, r6, #0x18
lsr r0, r0, #0x18
bl sub_0205BAF8
cmp r0, #0
bne _02067F1A
add r0, r5, #0
bl ov01_021E7FA8
cmp r0, #0
beq _02067F24
_02067F1A:
ldrh r1, [r4, #0xc]
mov r0, #2
lsl r0, r0, #0xc
orr r0, r1
strh r0, [r4, #0xc]
_02067F24:
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_02067E10
thumb_func_start sub_02067F28
sub_02067F28: ; 0x02067F28
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
mov r0, #0x20
mov r1, #0x10
bl AllocFromHeap
ldr r1, _02067F48 ; =0x19740205
str r1, [r0]
ldr r1, [r4, #8]
str r1, [r0, #4]
ldr r2, [r5]
ldr r1, [r5, #4]
str r2, [r0, #8]
str r1, [r0, #0xc]
pop {r3, r4, r5, pc}
.balign 4, 0
_02067F48: .word 0x19740205
thumb_func_end sub_02067F28
thumb_func_start sub_02067F4C
sub_02067F4C: ; 0x02067F4C
push {r4, lr}
add r4, r0, #0
ldr r1, [r4]
ldr r0, _02067F64 ; =0x19740205
cmp r1, r0
beq _02067F5C
bl GF_AssertFail
_02067F5C:
add r0, r4, #0
bl FreeToHeap
pop {r4, pc}
.balign 4, 0
_02067F64: .word 0x19740205
thumb_func_end sub_02067F4C
thumb_func_start sub_02067F68
sub_02067F68: ; 0x02067F68
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #4]
ldr r0, [r1, #0x70]
sub r0, r0, #2
cmp r0, #1
bhi _02067F7A
mov r0, #1
pop {r4, pc}
_02067F7A:
ldr r0, [r1, #0xc]
bl Sav2_PlayerData_GetProfileAddr
mov r1, #1
bl sub_02028F98
cmp r0, #0
bne _02067F8E
mov r0, #2
pop {r4, pc}
_02067F8E:
ldrh r1, [r4, #0xc]
mov r0, #1
tst r1, r0
beq _02067F98
mov r0, #0
_02067F98:
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02067F68
thumb_func_start sub_02067F9C
sub_02067F9C: ; 0x02067F9C
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
add r6, r1, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
add r1, r6, #0
bl sub_02067F28
add r5, r0, #0
ldr r0, [r6, #4]
bl sub_020505C0
mov r0, #0xd5
ldr r1, _02067FCC ; =sub_02067FD0
lsl r0, r0, #2
str r1, [r4, r0]
add r0, #0x2c
str r5, [r4, r0]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r4, r5, r6, pc}
.balign 4, 0
_02067FCC: .word sub_02067FD0
thumb_func_end sub_02067F9C
thumb_func_start sub_02067FD0
sub_02067FD0: ; 0x02067FD0
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_0205064C
add r6, r0, #0
ldr r1, _02068008 ; =0x00002717
ldr r2, [r4, #4]
add r0, r5, #0
bl sub_0203FF0C
mov r2, #0
str r2, [sp]
ldrh r1, [r4, #0xc]
add r0, r6, #0
add r3, r2, #0
bl sub_02040490
add r0, r4, #0
bl sub_02067F4C
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_02068008: .word 0x00002717
thumb_func_end sub_02067FD0
thumb_func_start sub_0206800C
sub_0206800C: ; 0x0206800C
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #4]
ldr r0, [r1, #0x70]
sub r0, r0, #2
cmp r0, #1
bhi _0206801E
mov r0, #1
pop {r4, pc}
_0206801E:
ldr r0, [r1, #0xc]
bl Sav2_PlayerData_GetProfileAddr
mov r1, #4
bl sub_02028F98
cmp r0, #0
bne _02068032
mov r0, #2
pop {r4, pc}
_02068032:
ldr r0, [r4]
bl sub_0203B454
cmp r0, #0
bne _02068040
mov r0, #1
pop {r4, pc}
_02068040:
ldr r0, [r4, #4]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066644
cmp r0, #1
bne _02068054
mov r0, #3
pop {r4, pc}
_02068054:
ldr r0, [r4, #4]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_020666B4
cmp r0, #1
bne _02068068
mov r0, #5
pop {r4, pc}
_02068068:
ldr r0, [r4, #4]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066860
cmp r0, #1
beq _02068088
ldr r0, [r4, #4]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_020668A0
cmp r0, #1
bne _0206808C
_02068088:
mov r0, #1
b _0206808E
_0206808C:
mov r0, #0
_0206808E:
cmp r0, #1
bne _02068096
mov r0, #1
pop {r4, pc}
_02068096:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0206800C
thumb_func_start sub_0206809C
sub_0206809C: ; 0x0206809C
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
bl sub_0205064C
add r6, r0, #0
ldr r0, [r5]
bl sub_02050650
add r4, r0, #0
mov r0, #0xb
mov r1, #4
bl AllocFromHeap
ldrh r1, [r5, #4]
str r1, [r0]
mov r1, #0xe1
lsl r1, r1, #2
str r0, [r4, r1]
add r0, r6, #0
mov r1, #0
bl Radio_new
mov r1, #0xe
lsl r1, r1, #6
str r0, [r4, r1]
ldr r1, _020680DC ; =sub_0203D758
add r0, r4, #0
bl sub_0203C8F0
pop {r4, r5, r6, pc}
nop
_020680DC: .word sub_0203D758
thumb_func_end sub_0206809C
thumb_func_start sub_020680E0
sub_020680E0: ; 0x020680E0
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #4]
ldr r0, [r1, #0x70]
sub r0, r0, #2
cmp r0, #1
bhi _020680F2
mov r0, #1
pop {r4, pc}
_020680F2:
ldr r0, [r1, #0xc]
bl Sav2_PlayerData_GetProfileAddr
mov r1, #3
bl sub_02028F98
cmp r0, #0
bne _02068106
mov r0, #2
pop {r4, pc}
_02068106:
ldr r0, [r4, #4]
ldr r0, [r0, #0x40]
bl sub_0205C700
cmp r0, #2
bne _02068116
mov r0, #4
pop {r4, pc}
_02068116:
ldrh r1, [r4, #0xc]
mov r0, #4
tst r0, r1
bne _02068122
mov r0, #1
pop {r4, pc}
_02068122:
ldr r0, [r4, #4]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066644
cmp r0, #1
bne _02068136
mov r0, #3
pop {r4, pc}
_02068136:
ldr r0, [r4, #4]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_020666B4
cmp r0, #1
bne _0206814A
mov r0, #5
pop {r4, pc}
_0206814A:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020680E0
thumb_func_start sub_02068150
sub_02068150: ; 0x02068150
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
add r6, r1, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
add r1, r6, #0
bl sub_02067F28
add r5, r0, #0
ldr r0, [r6, #4]
bl sub_020505C0
mov r0, #0xd5
ldr r1, _02068180 ; =sub_02068184
lsl r0, r0, #2
str r1, [r4, r0]
add r0, #0x2c
str r5, [r4, r0]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r4, r5, r6, pc}
.balign 4, 0
_02068180: .word sub_02068184
thumb_func_end sub_02068150
thumb_func_start sub_02068184
sub_02068184: ; 0x02068184
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_0205064C
add r6, r0, #0
ldr r1, _020681BC ; =0x0000271B
add r0, r5, #0
mov r2, #0
bl sub_0203FF0C
mov r2, #0
str r2, [sp]
ldrh r1, [r4, #0xc]
add r0, r6, #0
add r3, r2, #0
bl sub_02040490
add r0, r4, #0
bl sub_02067F4C
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_020681BC: .word 0x0000271B
thumb_func_end sub_02068184
thumb_func_start sub_020681C0
sub_020681C0: ; 0x020681C0
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #4]
ldr r0, [r1, #0x70]
sub r0, r0, #2
cmp r0, #1
bhi _020681D2
mov r0, #1
pop {r4, pc}
_020681D2:
ldr r0, [r1, #0xc]
bl Sav2_PlayerData_GetProfileAddr
mov r1, #2
bl sub_02028F98
cmp r0, #0
bne _020681E6
mov r0, #2
pop {r4, pc}
_020681E6:
ldr r0, [r4]
cmp r0, #0xee
bne _020681F0
mov r0, #1
pop {r4, pc}
_020681F0:
ldrh r1, [r4, #0xc]
mov r0, #8
tst r0, r1
beq _020681FC
mov r0, #0
pop {r4, pc}
_020681FC:
mov r0, #1
pop {r4, pc}
thumb_func_end sub_020681C0
thumb_func_start sub_02068200
sub_02068200: ; 0x02068200
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
add r6, r1, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
add r1, r6, #0
bl sub_02067F28
add r5, r0, #0
ldr r0, [r6, #4]
bl sub_020505C0
mov r0, #0xd5
ldr r1, _02068230 ; =sub_02068234
lsl r0, r0, #2
str r1, [r4, r0]
add r0, #0x2c
str r5, [r4, r0]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r4, r5, r6, pc}
.balign 4, 0
_02068230: .word sub_02068234
thumb_func_end sub_02068200
thumb_func_start sub_02068234
sub_02068234: ; 0x02068234
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_0205064C
add r6, r0, #0
ldr r1, _0206826C ; =0x00002719
ldr r2, [r4, #4]
add r0, r5, #0
bl sub_0203FF0C
mov r2, #0
str r2, [sp]
ldrh r1, [r4, #0xc]
add r0, r6, #0
add r3, r2, #0
bl sub_02040490
add r0, r4, #0
bl sub_02067F4C
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_0206826C: .word 0x00002719
thumb_func_end sub_02068234
thumb_func_start sub_02068270
sub_02068270: ; 0x02068270
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #4]
ldr r0, [r1, #0x70]
sub r0, r0, #2
cmp r0, #1
bhi _02068282
mov r0, #1
pop {r4, pc}
_02068282:
ldr r0, [r1, #0xc]
bl Sav2_PlayerData_GetProfileAddr
mov r1, #0
bl sub_02028F98
cmp r0, #0
bne _02068296
mov r0, #2
pop {r4, pc}
_02068296:
ldrh r1, [r4, #0xc]
mov r0, #0x10
tst r0, r1
beq _020682A2
mov r0, #0
pop {r4, pc}
_020682A2:
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02068270
thumb_func_start sub_020682A8
sub_020682A8: ; 0x020682A8
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
add r6, r1, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
add r1, r6, #0
bl sub_02067F28
add r5, r0, #0
ldr r0, [r6, #4]
bl sub_020505C0
mov r0, #0xd5
ldr r1, _020682D8 ; =sub_020682DC
lsl r0, r0, #2
str r1, [r4, r0]
add r0, #0x2c
str r5, [r4, r0]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r4, r5, r6, pc}
.balign 4, 0
_020682D8: .word sub_020682DC
thumb_func_end sub_020682A8
thumb_func_start sub_020682DC
sub_020682DC: ; 0x020682DC
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_0205064C
add r6, r0, #0
ldr r1, _02068314 ; =0x00002718
ldr r2, [r4, #4]
add r0, r5, #0
bl sub_0203FF0C
mov r2, #0
str r2, [sp]
ldrh r1, [r4, #0xc]
add r0, r6, #0
add r3, r2, #0
bl sub_02040490
add r0, r4, #0
bl sub_02067F4C
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_02068314: .word 0x00002718
thumb_func_end sub_020682DC
thumb_func_start sub_02068318
sub_02068318: ; 0x02068318
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #4]
ldr r0, [r1, #0x70]
sub r0, r0, #2
cmp r0, #1
bhi _0206832A
mov r0, #1
pop {r4, pc}
_0206832A:
ldr r0, [r1, #0x40]
bl sub_0205C700
cmp r0, #2
beq _02068338
mov r0, #1
pop {r4, pc}
_02068338:
ldr r0, [r4, #4]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
mov r1, #7
bl sub_02028F98
cmp r0, #0
bne _0206834E
mov r0, #2
pop {r4, pc}
_0206834E:
ldrh r1, [r4, #0xc]
mov r0, #0x20
tst r0, r1
beq _0206835A
mov r0, #0
pop {r4, pc}
_0206835A:
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02068318
thumb_func_start sub_02068360
sub_02068360: ; 0x02068360
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
add r6, r1, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
add r1, r6, #0
bl sub_02067F28
add r5, r0, #0
ldr r0, [r6, #4]
bl sub_020505C0
mov r0, #0xd5
ldr r1, _02068390 ; =sub_02068394
lsl r0, r0, #2
str r1, [r4, r0]
add r0, #0x2c
str r5, [r4, r0]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r4, r5, r6, pc}
.balign 4, 0
_02068390: .word sub_02068394
thumb_func_end sub_02068360
thumb_func_start sub_02068394
sub_02068394: ; 0x02068394
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_0205064C
add r6, r0, #0
ldr r1, _020683CC ; =0x0000271C
add r0, r5, #0
mov r2, #0
bl sub_0203FF0C
mov r2, #0
str r2, [sp]
ldrh r1, [r4, #0xc]
add r0, r6, #0
add r3, r2, #0
bl sub_02040490
add r0, r4, #0
bl sub_02067F4C
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_020683CC: .word 0x0000271C
thumb_func_end sub_02068394
thumb_func_start sub_020683D0
sub_020683D0: ; 0x020683D0
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #4]
ldr r0, [r1, #0x70]
sub r0, r0, #2
cmp r0, #1
bhi _020683E2
mov r0, #1
pop {r4, pc}
_020683E2:
ldr r0, [r1, #0xc]
bl Sav2_PlayerData_GetProfileAddr
mov r1, #0xf
bl sub_02028F98
cmp r0, #0
bne _020683F6
mov r0, #2
pop {r4, pc}
_020683F6:
ldrh r1, [r4, #0xc]
mov r0, #0x40
tst r0, r1
bne _02068402
mov r0, #1
pop {r4, pc}
_02068402:
ldr r0, [r4, #4]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066644
cmp r0, #1
bne _02068416
mov r0, #3
pop {r4, pc}
_02068416:
ldr r0, [r4, #4]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_020666B4
cmp r0, #1
bne _0206842A
mov r0, #5
pop {r4, pc}
_0206842A:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020683D0
thumb_func_start sub_02068430
sub_02068430: ; 0x02068430
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
add r6, r1, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
add r1, r6, #0
bl sub_02067F28
add r5, r0, #0
ldr r0, [r6, #4]
bl sub_020505C0
mov r0, #0xd5
ldr r1, _02068460 ; =sub_02068464
lsl r0, r0, #2
str r1, [r4, r0]
add r0, #0x2c
str r5, [r4, r0]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r4, r5, r6, pc}
.balign 4, 0
_02068460: .word sub_02068464
thumb_func_end sub_02068430
thumb_func_start sub_02068464
sub_02068464: ; 0x02068464
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_0205064C
add r6, r0, #0
ldr r1, _0206849C ; =0x0000271A
add r0, r5, #0
mov r2, #0
bl sub_0203FF0C
mov r2, #0
str r2, [sp]
ldrh r1, [r4, #0xc]
add r0, r6, #0
add r3, r2, #0
bl sub_02040490
add r0, r4, #0
bl sub_02067F4C
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_0206849C: .word 0x0000271A
thumb_func_end sub_02068464
thumb_func_start sub_020684A0
sub_020684A0: ; 0x020684A0
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #4]
ldr r1, [r0, #0x70]
sub r1, r1, #2
cmp r1, #1
bhi _020684B2
mov r0, #1
pop {r4, pc}
_020684B2:
bl sub_0206BD44
cmp r0, #0
beq _020684BE
mov r0, #0
pop {r4, pc}
_020684BE:
ldrh r1, [r4, #0xc]
mov r0, #0x80
tst r0, r1
beq _020684CA
mov r0, #0
pop {r4, pc}
_020684CA:
mov r0, #1
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020684A0
thumb_func_start sub_020684D0
sub_020684D0: ; 0x020684D0
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
add r6, r1, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
add r1, r6, #0
bl sub_02067F28
add r5, r0, #0
ldr r0, [r6, #4]
bl sub_020505C0
mov r0, #0xd5
ldr r1, _02068500 ; =sub_02068504
lsl r0, r0, #2
str r1, [r4, r0]
add r0, #0x2c
str r5, [r4, r0]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r4, r5, r6, pc}
.balign 4, 0
_02068500: .word sub_02068504
thumb_func_end sub_020684D0
thumb_func_start sub_02068504
sub_02068504: ; 0x02068504
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_0205064C
add r6, r0, #0
bl sub_0206BD44
cmp r0, #0
beq _0206852C
add r0, r5, #0
mov r1, #3
mov r2, #0
bl sub_0203FF0C
b _02068536
_0206852C:
ldr r1, _02068550 ; =0x0000271D
add r0, r5, #0
mov r2, #0
bl sub_0203FF0C
_02068536:
mov r2, #0
str r2, [sp]
ldrh r1, [r4, #0xc]
add r0, r6, #0
add r3, r2, #0
bl sub_02040490
add r0, r4, #0
bl sub_02067F4C
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_02068550: .word 0x0000271D
thumb_func_end sub_02068504
thumb_func_start sub_02068554
sub_02068554: ; 0x02068554
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #4]
ldr r0, [r0, #0x70]
sub r0, r0, #2
cmp r0, #1
bhi _02068566
mov r0, #1
pop {r4, pc}
_02068566:
ldr r0, [r4]
bl sub_0203B540
cmp r0, #0
bne _02068574
mov r0, #1
pop {r4, pc}
_02068574:
ldr r0, [r4, #4]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066644
cmp r0, #1
bne _02068588
mov r0, #3
pop {r4, pc}
_02068588:
ldr r0, [r4, #4]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_020666B4
cmp r0, #1
bne _0206859C
mov r0, #5
pop {r4, pc}
_0206859C:
ldr r0, [r4, #4]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066860
cmp r0, #1
beq _020685BC
ldr r0, [r4, #4]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_020668A0
cmp r0, #1
bne _020685C0
_020685BC:
mov r0, #1
b _020685C2
_020685C0:
mov r0, #0
_020685C2:
cmp r0, #1
bne _020685CA
mov r0, #1
pop {r4, pc}
_020685CA:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02068554
thumb_func_start sub_020685D0
sub_020685D0: ; 0x020685D0
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
bl sub_0205064C
add r6, r0, #0
ldr r0, [r5]
bl sub_02050650
add r4, r0, #0
add r0, r6, #0
bl sub_020505C0
ldrh r1, [r5, #4]
ldr r2, [r6, #0xc]
mov r0, #0xb
lsl r1, r1, #0x18
lsr r1, r1, #0x18
bl sub_020689A4
add r6, r0, #0
mov r0, #0xb
mov r1, #4
bl AllocFromHeapAtEnd
str r0, [r6, #4]
ldrh r1, [r5, #4]
str r1, [r0]
mov r0, #0xd5
ldr r1, _0206861C ; =sub_02068620
lsl r0, r0, #2
str r1, [r4, r0]
add r0, #0x2c
str r6, [r4, r0]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r4, r5, r6, pc}
nop
_0206861C: .word sub_02068620
thumb_func_end sub_020685D0
thumb_func_start sub_02068620
sub_02068620: ; 0x02068620
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r5, #0
bl sub_02050650
add r4, r0, #0
ldr r2, [r4, #4]
ldr r1, [r4]
ldr r2, [r2]
add r0, r6, #0
lsl r2, r2, #0x18
lsr r2, r2, #0x18
mov r3, #4
bl ov02_0224C500
add r6, r0, #0
ldr r0, [r4, #4]
bl FreeToHeap
add r0, r4, #0
bl FreeToHeap
ldr r1, _02068660 ; =0x0224C559
add r0, r5, #0
add r2, r6, #0
bl sub_02050510
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_02068660: .word 0x0224C559
thumb_func_end sub_02068620
thumb_func_start sub_02068664
sub_02068664: ; 0x02068664
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #4]
ldr r0, [r0, #0x70]
sub r0, r0, #2
cmp r0, #1
bhi _02068676
mov r0, #1
pop {r4, pc}
_02068676:
ldr r0, [r4]
bl sub_0203B578
cmp r0, #1
bne _0206868A
ldr r0, [r4]
bl sub_0203B438
cmp r0, #1
beq _0206868E
_0206868A:
mov r0, #1
pop {r4, pc}
_0206868E:
ldr r0, [r4, #4]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_02066644
cmp r0, #1
bne _020686A2
mov r0, #3
pop {r4, pc}
_020686A2:
ldr r0, [r4, #4]
ldr r0, [r0, #0xc]
bl sub_020503D0
bl sub_020666B4
cmp r0, #1
bne _020686B6
mov r0, #5
pop {r4, pc}
_020686B6:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02068664
thumb_func_start sub_020686BC
sub_020686BC: ; 0x020686BC
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
bl sub_0205064C
add r6, r0, #0
ldr r0, [r5]
bl sub_02050650
add r4, r0, #0
add r0, r6, #0
bl sub_020505C0
ldrh r1, [r5, #4]
ldr r2, [r6, #0xc]
mov r0, #0xb
lsl r1, r1, #0x18
lsr r1, r1, #0x18
bl sub_020689A4
add r6, r0, #0
mov r0, #0xb
mov r1, #4
bl AllocFromHeapAtEnd
str r0, [r6, #4]
ldrh r1, [r5, #4]
str r1, [r0]
mov r0, #0xd5
ldr r1, _02068708 ; =sub_0206870C
lsl r0, r0, #2
str r1, [r4, r0]
add r0, #0x2c
str r6, [r4, r0]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r4, r5, r6, pc}
nop
_02068708: .word sub_0206870C
thumb_func_end sub_020686BC
thumb_func_start sub_0206870C
sub_0206870C: ; 0x0206870C
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r5, #0
bl sub_02050650
add r4, r0, #0
ldr r2, [r4, #4]
ldr r1, [r4]
ldr r2, [r2]
add r0, r6, #0
lsl r2, r2, #0x18
lsr r2, r2, #0x18
mov r3, #0xb
bl ov02_0224C368
add r6, r0, #0
ldr r0, [r4, #4]
bl FreeToHeap
add r0, r4, #0
bl FreeToHeap
ldr r1, _0206874C ; =0x0224C3AD
add r0, r5, #0
add r2, r6, #0
bl sub_02050510
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_0206874C: .word 0x0224C3AD
thumb_func_end sub_0206870C
thumb_func_start sub_02068750
sub_02068750: ; 0x02068750
push {r3, lr}
ldr r1, [r0, #4]
ldr r0, [r1, #0x70]
sub r0, r0, #2
cmp r0, #1
bhi _02068760
mov r0, #1
pop {r3, pc}
_02068760:
ldr r0, [r1, #0xc]
bl sub_020503D0
bl sub_020668A0
cmp r0, #1
bne _02068772
mov r0, #1
b _02068774
_02068772:
mov r0, #0
_02068774:
cmp r0, #1
bne _0206877C
mov r0, #1
pop {r3, pc}
_0206877C:
mov r0, #0
pop {r3, pc}
thumb_func_end sub_02068750
thumb_func_start sub_02068780
sub_02068780: ; 0x02068780
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5]
bl sub_0205064C
add r7, r0, #0
ldr r0, [r5]
bl sub_02050650
ldrh r1, [r5, #4]
add r4, r0, #0
ldr r2, [r7, #0xc]
lsl r1, r1, #0x18
mov r0, #0xb
lsr r1, r1, #0x18
bl sub_020689A4
add r6, r0, #0
mov r0, #0xb
mov r1, #4
bl AllocFromHeapAtEnd
str r0, [r6, #4]
ldrh r1, [r5, #4]
str r1, [r0]
add r0, r7, #0
bl sub_020505C0
mov r0, #0xd5
ldr r1, _020687CC ; =0x021FCE99
lsl r0, r0, #2
str r1, [r4, r0]
add r0, #0x2c
str r6, [r4, r0]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r3, r4, r5, r6, r7, pc}
nop
_020687CC: .word 0x021FCE99
thumb_func_end sub_02068780
thumb_func_start sub_020687D0
sub_020687D0: ; 0x020687D0
ldr r0, [r0, #4]
ldr r0, [r0, #0x70]
sub r0, r0, #2
cmp r0, #1
bhi _020687DE
mov r0, #1
bx lr
_020687DE:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end sub_020687D0
thumb_func_start sub_020687E4
sub_020687E4: ; 0x020687E4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5]
add r6, r1, #0
bl sub_0205064C
add r7, r0, #0
ldr r0, [r5]
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
add r1, r6, #0
bl sub_02067F28
add r5, r0, #0
add r0, r7, #0
bl sub_020505C0
mov r0, #0xd5
ldr r1, _0206881C ; =sub_02068820
lsl r0, r0, #2
str r1, [r4, r0]
add r0, #0x2c
str r5, [r4, r0]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0206881C: .word sub_02068820
thumb_func_end sub_020687E4
thumb_func_start sub_02068820
sub_02068820: ; 0x02068820
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_0205064C
add r6, r0, #0
ldr r1, _02068858 ; =0x000022C4
add r0, r5, #0
mov r2, #0
bl sub_0203FF0C
mov r2, #0
str r2, [sp]
ldrh r1, [r4, #0xc]
add r0, r6, #0
add r3, r2, #0
bl sub_02040490
add r0, r4, #0
bl sub_02067F4C
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_02068858: .word 0x000022C4
thumb_func_end sub_02068820
thumb_func_start sub_0206885C
sub_0206885C: ; 0x0206885C
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #4]
ldr r0, [r1, #0x70]
sub r0, r0, #2
cmp r0, #1
bhi _0206886E
mov r0, #1
pop {r4, pc}
_0206886E:
ldr r0, [r1, #0x40]
bl sub_0205C700
cmp r0, #2
beq _0206887C
mov r0, #1
pop {r4, pc}
_0206887C:
ldr r0, [r4, #4]
ldr r0, [r0, #0xc]
bl Sav2_PlayerData_GetProfileAddr
mov r1, #6
bl sub_02028F98
cmp r0, #0
bne _02068892
mov r0, #2
pop {r4, pc}
_02068892:
ldrh r1, [r4, #0xc]
mov r0, #1
lsl r0, r0, #0xc
tst r0, r1
beq _020688A0
mov r0, #0
pop {r4, pc}
_020688A0:
mov r0, #1
pop {r4, pc}
thumb_func_end sub_0206885C
thumb_func_start sub_020688A4
sub_020688A4: ; 0x020688A4
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
add r6, r1, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
add r1, r6, #0
bl sub_02067F28
add r5, r0, #0
ldr r0, [r6, #4]
bl sub_020505C0
mov r0, #0xd5
ldr r1, _020688D4 ; =sub_020688D8
lsl r0, r0, #2
str r1, [r4, r0]
add r0, #0x2c
str r5, [r4, r0]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r4, r5, r6, pc}
.balign 4, 0
_020688D4: .word sub_020688D8
thumb_func_end sub_020688A4
thumb_func_start sub_020688D8
sub_020688D8: ; 0x020688D8
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_0205064C
add r6, r0, #0
ldr r1, _02068910 ; =0x00002721
add r0, r5, #0
mov r2, #0
bl sub_0203FF0C
mov r2, #0
str r2, [sp]
ldrh r1, [r4, #0xc]
add r0, r6, #0
add r3, r2, #0
bl sub_02040490
add r0, r4, #0
bl sub_02067F4C
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_02068910: .word 0x00002721
thumb_func_end sub_020688D8
thumb_func_start sub_02068914
sub_02068914: ; 0x02068914
ldr r1, [r0, #4]
ldr r1, [r1, #0x70]
sub r1, r1, #2
cmp r1, #1
bhi _02068922
mov r0, #1
bx lr
_02068922:
ldrh r1, [r0, #0xc]
mov r0, #2
lsl r0, r0, #0xc
tst r0, r1
beq _02068930
mov r0, #0
bx lr
_02068930:
mov r0, #1
bx lr
thumb_func_end sub_02068914
thumb_func_start sub_02068934
sub_02068934: ; 0x02068934
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5]
add r6, r1, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
add r1, r6, #0
bl sub_02067F28
add r5, r0, #0
ldr r0, [r6, #4]
bl sub_020505C0
mov r0, #0xd5
ldr r1, _02068964 ; =sub_02068968
lsl r0, r0, #2
str r1, [r4, r0]
add r0, #0x2c
str r5, [r4, r0]
mov r0, #0xc
strh r0, [r4, #0x26]
pop {r4, r5, r6, pc}
.balign 4, 0
_02068964: .word sub_02068968
thumb_func_end sub_02068934
thumb_func_start sub_02068968
sub_02068968: ; 0x02068968
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
bl sub_02050650
add r4, r0, #0
add r0, r5, #0
bl sub_0205064C
add r6, r0, #0
ldr r1, _020689A0 ; =0x00002722
ldr r2, [r4, #4]
add r0, r5, #0
bl sub_0203FF0C
mov r2, #0
str r2, [sp]
ldrh r1, [r4, #0xc]
add r0, r6, #0
add r3, r2, #0
bl sub_02040490
add r0, r4, #0
bl sub_02067F4C
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_020689A0: .word 0x00002722
thumb_func_end sub_02068968
thumb_func_start sub_020689A4
sub_020689A4: ; 0x020689A4
push {r4, r5, r6, lr}
add r5, r1, #0
add r6, r2, #0
mov r1, #8
bl AllocFromHeapAtEnd
add r4, r0, #0
add r0, r6, #0
bl SavArray_PlayerParty_get
add r1, r5, #0
bl GetPartyMonByIndex
str r0, [r4]
mov r0, #0
str r0, [r4, #4]
add r0, r4, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_020689A4
thumb_func_start sub_020689C8
sub_020689C8: ; 0x020689C8
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r1, #0
bl sub_02068C08
add r4, r0, #0
add r0, r5, #0
add r1, r6, #0
bl sub_02068C38
str r0, [r4, #0xc]
str r6, [r4]
str r5, [r4, #8]
add r0, r4, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020689C8
thumb_func_start sub_020689E8
sub_020689E8: ; 0x020689E8
push {r4, lr}
add r4, r0, #0
bl sub_02068C5C
add r0, r4, #0
bl sub_02068C2C
pop {r4, pc}
thumb_func_end sub_020689E8
thumb_func_start sub_020689F8
sub_020689F8: ; 0x020689F8
push {r4, lr}
add r4, r0, #0
bl sub_02068B80
add r0, r4, #0
bl sub_020689E8
pop {r4, pc}
thumb_func_end sub_020689F8
thumb_func_start sub_02068A08
sub_02068A08: ; 0x02068A08
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
str r0, [sp]
add r7, r1, #0
str r2, [sp, #4]
str r3, [sp, #8]
mov r4, #0
bl sub_02068CC4
add r6, r0, #0
ldr r0, [sp]
bl sub_02068CC8
add r5, r0, #0
_02068A24:
add r0, r5, #0
bl sub_02068CCC
cmp r0, #0
beq _02068A36
add r4, r4, #1
add r5, #0xc8
cmp r4, r6
blt _02068A24
_02068A36:
cmp r4, r6
blt _02068A40
add sp, #0x18
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02068A40:
add r0, r5, #0
bl sub_02068CD8
ldr r1, [sp, #8]
add r0, r5, #0
bl sub_02068D8C
ldr r1, [sp, #0x30]
add r0, r5, #0
bl sub_02068D94
ldr r1, [sp]
add r0, r5, #0
bl sub_02068DA4
ldr r0, [sp, #4]
cmp r0, #0
beq _02068A6E
ldr r1, [sp, #4]
add r0, r5, #0
bl sub_02068DA8
b _02068A7E
_02068A6E:
add r1, sp, #0xc
mov r0, #0
str r0, [r1]
str r0, [r1, #4]
str r0, [r1, #8]
add r0, r5, #0
bl sub_02068DA8
_02068A7E:
ldr r1, [r7]
add r0, r5, #0
bl sub_02068D78
ldr r1, [r7, #4]
add r0, r5, #0
bl sub_02068CF4
ldr r1, [r7, #8]
add r0, r5, #0
bl sub_02068D48
ldr r1, [r7, #0xc]
add r0, r5, #0
bl sub_02068D10
ldr r1, [r7, #0x10]
add r0, r5, #0
bl sub_02068D2C
ldr r1, [r7, #0x14]
add r0, r5, #0
bl sub_02068D64
ldr r1, [r7, #0x18]
add r0, r5, #0
bl sub_02068D6C
ldr r1, [sp, #0x34]
add r0, r5, #0
bl sub_02068BDC
add r4, r0, #0
bne _02068ACE
add r0, r5, #0
bl sub_02068C6C
add sp, #0x18
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02068ACE:
add r0, r5, #0
add r1, r4, #0
bl sub_02068D9C
add r0, r5, #0
bl sub_02068CFC
cmp r0, #0
bne _02068AF2
add r0, r4, #0
bl sub_0200E390
add r0, r5, #0
bl sub_02068C6C
add sp, #0x18
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02068AF2:
add r0, r5, #0
mov r1, #2
bl sub_02068CE4
ldr r0, [sp]
ldr r0, [r0, #4]
add r1, r0, #1
ldr r0, [sp]
str r1, [r0, #4]
add r0, r5, #0
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02068A08
thumb_func_start sub_02068B0C
sub_02068B0C: ; 0x02068B0C
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r5, r1, #0
add r6, r0, #0
add r4, sp, #8
ldmia r5!, {r0, r1}
add r7, r4, #0
stmia r4!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r4!, {r0, r1}
ldr r0, [r5]
add r1, r7, #0
str r0, [r4]
ldr r0, _02068B40 ; =sub_02068DD8
str r0, [sp, #0x1c]
ldr r0, _02068B44 ; =sub_02068DDC
str r0, [sp, #0x20]
ldr r0, [sp, #0x38]
str r0, [sp]
ldr r0, [sp, #0x3c]
str r0, [sp, #4]
add r0, r6, #0
bl sub_02068A08
add sp, #0x24
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02068B40: .word sub_02068DD8
_02068B44: .word sub_02068DDC
thumb_func_end sub_02068B0C
thumb_func_start sub_02068B48
sub_02068B48: ; 0x02068B48
push {r4, lr}
add r4, r0, #0
bne _02068B52
bl GF_AssertFail
_02068B52:
add r0, r4, #0
bl sub_02068CCC
cmp r0, #0
beq _02068B7E
add r0, r4, #0
bl sub_02068D50
ldr r1, [r4, #0x14]
ldr r0, [r1, #4]
sub r0, r0, #1
str r0, [r1, #4]
add r0, r4, #0
bl sub_02068DA0
cmp r0, #0
beq _02068B78
bl sub_0200E390
_02068B78:
add r0, r4, #0
bl sub_02068C6C
_02068B7E:
pop {r4, pc}
thumb_func_end sub_02068B48
thumb_func_start sub_02068B80
sub_02068B80: ; 0x02068B80
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_02068CC4
add r4, r0, #0
add r0, r5, #0
bl sub_02068CC8
add r5, r0, #0
_02068B92:
add r0, r5, #0
bl sub_02068CCC
cmp r0, #1
bne _02068BA2
add r0, r5, #0
bl sub_02068B48
_02068BA2:
add r5, #0xc8
sub r4, r4, #1
bne _02068B92
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02068B80
thumb_func_start sub_02068BAC
sub_02068BAC: ; 0x02068BAC
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_02068CC4
add r4, r0, #0
add r0, r5, #0
bl sub_02068CC8
add r5, r0, #0
mov r6, #3
_02068BC0:
add r0, r5, #0
add r1, r6, #0
bl sub_02068CEC
cmp r0, #3
bne _02068BD2
add r0, r5, #0
bl sub_02068D34
_02068BD2:
add r5, #0xc8
sub r4, r4, #1
bne _02068BC0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02068BAC
thumb_func_start sub_02068BDC
sub_02068BDC: ; 0x02068BDC
push {r4, lr}
add r3, r0, #0
add r2, r1, #0
ldr r0, _02068BF8 ; =sub_02068BFC
add r1, r3, #0
bl sub_0200E320
add r4, r0, #0
bne _02068BF2
bl GF_AssertFail
_02068BF2:
add r0, r4, #0
pop {r4, pc}
nop
_02068BF8: .word sub_02068BFC
thumb_func_end sub_02068BDC
thumb_func_start sub_02068BFC
sub_02068BFC: ; 0x02068BFC
ldr r3, _02068C04 ; =sub_02068D18
add r0, r1, #0
bx r3
nop
_02068C04: .word sub_02068D18
thumb_func_end sub_02068BFC
thumb_func_start sub_02068C08
sub_02068C08: ; 0x02068C08
push {r4, lr}
mov r1, #0x10
bl AllocFromHeap
add r4, r0, #0
bne _02068C18
bl GF_AssertFail
_02068C18:
add r2, r4, #0
mov r1, #0x10
mov r0, #0
_02068C1E:
strb r0, [r2]
add r2, r2, #1
sub r1, r1, #1
bne _02068C1E
add r0, r4, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02068C08
thumb_func_start sub_02068C2C
sub_02068C2C: ; 0x02068C2C
ldr r3, _02068C34 ; =FreeToHeapExplicit
add r1, r0, #0
ldr r0, [r1, #8]
bx r3
.balign 4, 0
_02068C34: .word FreeToHeapExplicit
thumb_func_end sub_02068C2C
thumb_func_start sub_02068C38
sub_02068C38: ; 0x02068C38
push {r3, r4, r5, lr}
mov r2, #0xc8
add r5, r1, #0
mul r5, r2
add r1, r5, #0
bl AllocFromHeap
add r4, r0, #0
bne _02068C4E
bl GF_AssertFail
_02068C4E:
add r0, r4, #0
mov r1, #0
add r2, r5, #0
bl memset
add r0, r4, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_02068C38
thumb_func_start sub_02068C5C
sub_02068C5C: ; 0x02068C5C
ldr r3, _02068C68 ; =FreeToHeapExplicit
add r1, r0, #0
ldr r0, [r1, #8]
ldr r1, [r1, #0xc]
bx r3
nop
_02068C68: .word FreeToHeapExplicit
thumb_func_end sub_02068C5C
thumb_func_start sub_02068C6C
sub_02068C6C: ; 0x02068C6C
push {r4, lr}
mov r1, #0
mov r2, #0xc8
add r4, r0, #0
bl memset
ldr r1, _02068CAC ; =sub_02068DC8
add r0, r4, #0
bl sub_02068CF4
ldr r1, _02068CB0 ; =sub_02068DD4
add r0, r4, #0
bl sub_02068D48
ldr r1, _02068CB4 ; =sub_02068DCC
add r0, r4, #0
bl sub_02068D10
ldr r1, _02068CB8 ; =sub_02068DD0
add r0, r4, #0
bl sub_02068D2C
ldr r1, _02068CBC ; =sub_02068DD8
add r0, r4, #0
bl sub_02068D64
ldr r1, _02068CC0 ; =sub_02068DDC
add r0, r4, #0
bl sub_02068D6C
pop {r4, pc}
nop
_02068CAC: .word sub_02068DC8
_02068CB0: .word sub_02068DD4
_02068CB4: .word sub_02068DCC
_02068CB8: .word sub_02068DD0
_02068CBC: .word sub_02068DD8
_02068CC0: .word sub_02068DDC
thumb_func_end sub_02068C6C
thumb_func_start sub_02068CC4
sub_02068CC4: ; 0x02068CC4
ldr r0, [r0]
bx lr
thumb_func_end sub_02068CC4
thumb_func_start sub_02068CC8
sub_02068CC8: ; 0x02068CC8
ldr r0, [r0, #0xc]
bx lr
thumb_func_end sub_02068CC8
thumb_func_start sub_02068CCC
sub_02068CCC: ; 0x02068CCC
ldr r1, [r0]
mov r0, #1
tst r1, r0
bne _02068CD6
mov r0, #0
_02068CD6:
bx lr
thumb_func_end sub_02068CCC
thumb_func_start sub_02068CD8
sub_02068CD8: ; 0x02068CD8
ldr r2, [r0]
mov r1, #1
orr r1, r2
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_02068CD8
thumb_func_start sub_02068CE4
sub_02068CE4: ; 0x02068CE4
ldr r2, [r0]
orr r1, r2
str r1, [r0]
bx lr
thumb_func_end sub_02068CE4
thumb_func_start sub_02068CEC
sub_02068CEC: ; 0x02068CEC
ldr r0, [r0]
and r0, r1
bx lr
.balign 4, 0
thumb_func_end sub_02068CEC
thumb_func_start sub_02068CF4
sub_02068CF4: ; 0x02068CF4
add r0, #0xb0
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_02068CF4
thumb_func_start sub_02068CFC
sub_02068CFC: ; 0x02068CFC
push {r4, lr}
add r4, r0, #0
bl sub_02068D74
add r1, r0, #0
add r0, r4, #0
add r4, #0xb0
ldr r2, [r4]
blx r2
pop {r4, pc}
thumb_func_end sub_02068CFC
thumb_func_start sub_02068D10
sub_02068D10: ; 0x02068D10
add r0, #0xb4
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_02068D10
thumb_func_start sub_02068D18
sub_02068D18: ; 0x02068D18
push {r4, lr}
add r4, r0, #0
bl sub_02068D74
add r1, r0, #0
add r0, r4, #0
add r4, #0xb4
ldr r2, [r4]
blx r2
pop {r4, pc}
thumb_func_end sub_02068D18
thumb_func_start sub_02068D2C
sub_02068D2C: ; 0x02068D2C
add r0, #0xb8
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_02068D2C
thumb_func_start sub_02068D34
sub_02068D34: ; 0x02068D34
push {r4, lr}
add r4, r0, #0
bl sub_02068D74
add r1, r0, #0
add r0, r4, #0
add r4, #0xb8
ldr r2, [r4]
blx r2
pop {r4, pc}
thumb_func_end sub_02068D34
thumb_func_start sub_02068D48
sub_02068D48: ; 0x02068D48
add r0, #0xbc
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_02068D48
thumb_func_start sub_02068D50
sub_02068D50: ; 0x02068D50
push {r4, lr}
add r4, r0, #0
bl sub_02068D74
add r1, r0, #0
add r0, r4, #0
add r4, #0xbc
ldr r2, [r4]
blx r2
pop {r4, pc}
thumb_func_end sub_02068D50
thumb_func_start sub_02068D64
sub_02068D64: ; 0x02068D64
add r0, #0xc0
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_02068D64
thumb_func_start sub_02068D6C
sub_02068D6C: ; 0x02068D6C
add r0, #0xc4
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_02068D6C
thumb_func_start sub_02068D74
sub_02068D74: ; 0x02068D74
add r0, #0x30
bx lr
thumb_func_end sub_02068D74
thumb_func_start sub_02068D78
sub_02068D78: ; 0x02068D78
push {r4, lr}
add r4, r1, #0
bl sub_02068D74
mov r1, #0
add r2, r4, #0
bl memset
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02068D78
thumb_func_start sub_02068D8C
sub_02068D8C: ; 0x02068D8C
str r1, [r0, #4]
bx lr
thumb_func_end sub_02068D8C
thumb_func_start sub_02068D90
sub_02068D90: ; 0x02068D90
ldr r0, [r0, #4]
bx lr
thumb_func_end sub_02068D90
thumb_func_start sub_02068D94
sub_02068D94: ; 0x02068D94
str r1, [r0, #0xc]
bx lr
thumb_func_end sub_02068D94
thumb_func_start sub_02068D98
sub_02068D98: ; 0x02068D98
ldr r0, [r0, #0xc]
bx lr
thumb_func_end sub_02068D98
thumb_func_start sub_02068D9C
sub_02068D9C: ; 0x02068D9C
str r1, [r0, #0x10]
bx lr
thumb_func_end sub_02068D9C
thumb_func_start sub_02068DA0
sub_02068DA0: ; 0x02068DA0
ldr r0, [r0, #0x10]
bx lr
thumb_func_end sub_02068DA0
thumb_func_start sub_02068DA4
sub_02068DA4: ; 0x02068DA4
str r1, [r0, #0x14]
bx lr
thumb_func_end sub_02068DA4
thumb_func_start sub_02068DA8
sub_02068DA8: ; 0x02068DA8
add r3, r1, #0
add r2, r0, #0
ldmia r3!, {r0, r1}
add r2, #0x24
stmia r2!, {r0, r1}
ldr r0, [r3]
str r0, [r2]
bx lr
thumb_func_end sub_02068DA8
thumb_func_start sub_02068DB8
sub_02068DB8: ; 0x02068DB8
add r2, r0, #0
add r2, #0x24
add r3, r1, #0
ldmia r2!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r2]
str r0, [r3]
bx lr
thumb_func_end sub_02068DB8
thumb_func_start sub_02068DC8
sub_02068DC8: ; 0x02068DC8
mov r0, #1
bx lr
thumb_func_end sub_02068DC8
thumb_func_start sub_02068DCC
sub_02068DCC: ; 0x02068DCC
bx lr
.balign 4, 0
thumb_func_end sub_02068DCC
thumb_func_start sub_02068DD0
sub_02068DD0: ; 0x02068DD0
bx lr
.balign 4, 0
thumb_func_end sub_02068DD0
thumb_func_start sub_02068DD4
sub_02068DD4: ; 0x02068DD4
bx lr
.balign 4, 0
thumb_func_end sub_02068DD4
thumb_func_start sub_02068DD8
sub_02068DD8: ; 0x02068DD8
bx lr
.balign 4, 0
thumb_func_end sub_02068DD8
thumb_func_start sub_02068DDC
sub_02068DDC: ; 0x02068DDC
bx lr
.balign 4, 0
thumb_func_end sub_02068DDC
thumb_func_start sub_02068DE0
sub_02068DE0: ; 0x02068DE0
push {r4, lr}
bl sub_0203E344
bl sub_0202A998
add r4, r0, #0
mov r1, #1
bl sub_0202AE98
add r0, r4, #0
mov r1, #1
bl sub_0202AEA8
mov r2, #0
add r1, r2, #0
_02068DFE:
strb r1, [r0, r2]
add r2, r2, #1
cmp r2, #4
blt _02068DFE
pop {r4, pc}
thumb_func_end sub_02068DE0
thumb_func_start sub_02068E08
sub_02068E08: ; 0x02068E08
push {r4, lr}
bl sub_0203E344
bl sub_0202A998
add r4, r0, #0
mov r1, #2
bl sub_0202AE98
add r0, r4, #0
mov r1, #2
bl sub_0202AEA8
pop {r4, pc}
thumb_func_end sub_02068E08
thumb_func_start sub_02068E24
sub_02068E24: ; 0x02068E24
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0203E344
bl sub_0202A998
add r4, r0, #0
mov r1, #3
bl sub_0202AE98
add r0, r4, #0
mov r1, #3
bl sub_0202AEA8
add r4, r0, #0
ldr r0, [r5, #0xc]
bl Sav2_PlayerData_GetProfileAddr
mov r1, #0xa
bl sub_02028F98
cmp r0, #0
beq _02068E60
mov r0, #0
strb r0, [r4]
strb r0, [r4, #1]
mov r0, #1
strb r0, [r4, #2]
strb r0, [r4, #3]
pop {r3, r4, r5, pc}
_02068E60:
add r0, r5, #0
bl sub_02068E70
mov r0, #0
strb r0, [r4, #2]
strb r0, [r4, #3]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02068E24
thumb_func_start sub_02068E70
sub_02068E70: ; 0x02068E70
push {r3, r4, r5, r6, r7, lr}
bl sub_0203E344
bl sub_0202A998
mov r1, #3
bl sub_0202AEA8
add r5, r0, #0
bl LCRandom
mov r1, #0xf
bl _s32_div_f
strb r1, [r5]
ldrb r0, [r5]
ldr r7, _02068EAC ; =0x020FE82C
lsl r4, r0, #3
add r6, r7, r4
bl LCRandom
ldr r1, [r7, r4]
bl _s32_div_f
lsl r0, r1, #0x18
lsr r0, r0, #0x18
add r0, r6, r0
ldrb r0, [r0, #4]
strb r0, [r5, #1]
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02068EAC: .word 0x020FE82C
thumb_func_end sub_02068E70
thumb_func_start sub_02068EB0
sub_02068EB0: ; 0x02068EB0
push {r4, lr}
bl sub_0203E344
bl sub_0202A998
add r4, r0, #0
mov r1, #4
bl sub_0202AE98
add r0, r4, #0
mov r1, #4
bl sub_0202AEA8
mov r1, #0
str r1, [r0]
pop {r4, pc}
thumb_func_end sub_02068EB0
thumb_func_start sub_02068ED0
sub_02068ED0: ; 0x02068ED0
push {r4, lr}
bl sub_0203E344
bl sub_0202A998
add r4, r0, #0
mov r1, #5
bl sub_0202AE98
add r0, r4, #0
mov r1, #5
bl sub_0202AEA8
mov r2, #0
strb r2, [r0]
mov r1, #1
strb r1, [r0, #1]
mov r1, #2
strb r1, [r0, #2]
mov r1, #7
strb r1, [r0, #3]
str r2, [r0, #4]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02068ED0
thumb_func_start sub_02068F00
sub_02068F00: ; 0x02068F00
push {r4, lr}
bl sub_0203E344
bl sub_0202A998
add r4, r0, #0
mov r1, #6
bl sub_0202AE98
add r0, r4, #0
mov r1, #6
bl sub_0202AEA8
mov r1, #0xd
strh r1, [r0]
mov r1, #0x4b
strh r1, [r0, #6]
mov r2, #0
strb r2, [r0, #0xc]
mov r1, #9
strh r1, [r0, #2]
mov r1, #0x3a
strh r1, [r0, #8]
mov r1, #1
strb r1, [r0, #0xd]
mov r1, #0xe
strh r1, [r0, #4]
mov r1, #0x20
strh r1, [r0, #0xa]
strb r2, [r0, #0xe]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02068F00
thumb_func_start sub_02068F40
sub_02068F40: ; 0x02068F40
push {r3, lr}
bl sub_0203E344
bl sub_0202A998
mov r1, #7
bl sub_0202AE98
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02068F40
thumb_func_start sub_02068F54
sub_02068F54: ; 0x02068F54
push {r3, lr}
bl sub_0203E344
bl sub_0202A998
mov r1, #8
bl sub_0202AE98
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02068F54
thumb_func_start sub_02068F68
sub_02068F68: ; 0x02068F68
push {r4, lr}
add r4, r1, #0
bl sub_0203E344
bl sub_0202A998
bl sub_0202AEBC
cmp r4, r0
bne _02068F80
mov r0, #1
pop {r4, pc}
_02068F80:
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02068F68
thumb_func_start sub_02068F84
sub_02068F84: ; 0x02068F84
push {r4, lr}
add r4, r2, #0
bl ReadMsgDataIntoString
mov r0, #0
add r1, r4, #0
add r2, r0, #0
bl sub_02002F30
pop {r4, pc}
thumb_func_end sub_02068F84
thumb_func_start sub_02068F98
sub_02068F98: ; 0x02068F98
push {r4, r5, r6, lr}
add r3, r1, #0
mov r1, #0x1b
add r6, r2, #0
add r2, r1, #0
add r5, r0, #0
mov r0, #1
add r2, #0xfc
bl NewMsgDataFromNarc
add r4, r0, #0
add r0, r5, #0
bl sub_0203B36C
add r1, r0, #0
add r0, r4, #0
add r2, r6, #0
bl sub_02068F84
add r0, r4, #0
bl DestroyMsgData
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02068F98
thumb_func_start sub_02068FC8
sub_02068FC8: ; 0x02068FC8
push {r4, r5, r6, r7, lr}
sub sp, #0xa4
str r0, [sp, #0x10]
ldr r6, [sp, #0xb8]
str r1, [sp, #0x14]
str r2, [sp, #0x18]
add r0, r6, #0
str r3, [sp, #0x1c]
ldr r5, [sp, #0xbc]
bl sub_0203E344
str r0, [sp, #0x20]
bl Sav2_PlayerData_GetProfileAddr
add r7, r0, #0
ldr r0, [sp, #0x20]
bl sub_0202CF54
add r4, r0, #0
ldr r2, _020691A0 ; =0x0000066C
add r0, r5, #0
mov r1, #0
bl memset
ldr r0, [sp, #0x1c]
strb r0, [r5, #5]
add r0, r6, #0
bl sub_020691E8
str r0, [sp, #0x24]
add r0, r7, #0
bl sub_02029088
str r0, [sp]
str r5, [sp, #4]
ldr r0, [sp, #0x10]
ldr r2, [sp, #0x24]
ldr r3, [sp, #0x18]
mov r1, #GAME_VERSION
bl sub_020692A0
add r0, r7, #0
bl sub_02028F88
str r0, [sp, #0x28]
add r0, r7, #0
bl PlayerProfile_GetTrainerGender
str r0, [sp, #0x2c]
add r0, r7, #0
bl PlayerProfile_GetNamePtr
str r0, [sp, #0x30]
add r0, r7, #0
bl sub_02029024
str r0, [sp, #0x34]
ldr r0, [r6, #0xc]
bl sub_0202A634
bl sub_02029E84
str r0, [sp, #0x38]
ldr r0, [r6, #0xc]
bl sub_0202A634
bl sub_0202A5F4
str r0, [sp, #0x3c]
add r0, r4, #0
bl sub_0202D208
ldr r1, [sp, #0x38]
ldr r2, [sp, #0x30]
str r1, [sp]
ldr r1, [sp, #0x3c]
ldr r3, [sp, #0x34]
str r1, [sp, #4]
str r0, [sp, #8]
ldr r1, [sp, #0x2c]
ldr r0, [sp, #0x28]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
str r5, [sp, #0xc]
bl sub_020692C4
ldr r0, [sp, #0x20]
bl sub_02028EC0
str r0, [sp, #0x40]
add r0, r6, #0
add r1, sp, #0x94
add r2, sp, #0x78
bl sub_02055624
add r0, r6, #0
add r1, sp, #0x84
add r2, sp, #0x78
bl sub_02055640
ldr r0, [r6, #0xc]
bl sub_020503D0
bl sub_02066614
add r1, sp, #0x78
str r1, [sp]
ldr r1, [sp, #0x14]
lsl r0, r0, #0x18
str r1, [sp, #4]
ldr r1, [sp, #0x40]
str r5, [sp, #8]
lsr r0, r0, #0x18
add r2, sp, #0x94
add r3, sp, #0x84
bl sub_02069308
ldr r0, [r6, #0xc]
bl sub_0202C9D8
str r0, [sp, #0x44]
add r0, r4, #0
mov r1, #0x21
bl sub_0202D18C
str r0, [sp, #0x48]
add r0, r4, #0
mov r1, #0x1a
bl sub_0202D18C
str r0, [sp, #0x4c]
add r0, r4, #0
mov r1, #0x15
bl sub_0202D18C
str r0, [sp, #0x50]
add r0, r4, #0
mov r1, #0x19
bl sub_0202D18C
str r0, [sp, #0x54]
add r0, r4, #0
mov r1, #0x5c
bl sub_0202D18C
str r0, [sp, #0x58]
add r0, r4, #0
mov r1, #0x14
bl sub_0202D18C
ldr r1, [sp, #0x58]
add r1, r1, r0
ldr r0, [sp, #0x54]
add r1, r0, r1
ldr r0, [sp, #0x50]
add r1, r0, r1
ldr r0, [sp, #0x4c]
add r0, r0, r1
str r0, [sp, #0x5c]
add r0, r4, #0
mov r1, #0x16
bl sub_0202D18C
str r0, [sp, #0x60]
add r0, r4, #0
mov r1, #0x1b
bl sub_0202D18C
str r0, [sp, #0x64]
add r0, r4, #0
mov r1, #0x17
bl sub_0202D18C
str r0, [sp, #0x68]
add r0, r4, #0
mov r1, #0x1c
bl sub_0202D18C
str r0, [sp, #0x6c]
add r0, r4, #0
mov r1, #0x14
bl sub_0202D18C
str r0, [sp, #0x70]
add r0, r4, #0
mov r1, #0x19
bl sub_0202D18C
add r4, r0, #0
ldr r0, [sp, #0x44]
bl sub_0202C9E8
str r0, [sp, #0x74]
ldr r0, [sp, #0x44]
bl sub_0202C9E4
ldr r1, [sp, #0x74]
ldr r2, [sp, #0x60]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
str r1, [sp]
str r0, [sp, #4]
ldr r1, [sp, #0x48]
ldr r0, [sp, #0x5c]
ldr r3, [sp, #0x68]
add r0, r1, r0
ldr r1, [sp, #0x64]
str r5, [sp, #8]
add r1, r2, r1
ldr r2, [sp, #0x6c]
add r2, r3, r2
ldr r3, [sp, #0x70]
add r3, r3, r4
bl sub_020693AC
add r0, r7, #0
add r1, r6, #0
add r2, r5, #0
bl sub_0206940C
mov r3, #0
ldr r0, _020691A0 ; =0x0000066C
add r2, r3, #0
_02069186:
ldrb r1, [r5, r2]
add r2, r2, #1
eor r3, r1
cmp r2, r0
blo _02069186
ldr r0, _020691A4 ; =0x00000668
mov r1, #0
strh r3, [r5, r0]
add r0, r0, #2
strh r1, [r5, r0]
add sp, #0xa4
pop {r4, r5, r6, r7, pc}
nop
_020691A0: .word 0x0000066C
_020691A4: .word 0x00000668
thumb_func_end sub_02068FC8
thumb_func_start sub_020691A8
sub_020691A8: ; 0x020691A8
push {r4, lr}
ldr r1, _020691C0 ; =0x0000066C
bl AllocFromHeap
ldr r2, _020691C0 ; =0x0000066C
mov r1, #0
add r4, r0, #0
bl memset
add r0, r4, #0
pop {r4, pc}
nop
_020691C0: .word 0x0000066C
thumb_func_end sub_020691A8
thumb_func_start sub_020691C4
sub_020691C4: ; 0x020691C4
push {r4, lr}
ldr r1, _020691DC ; =0x0000067C
bl AllocFromHeap
ldr r2, _020691DC ; =0x0000067C
mov r1, #0
add r4, r0, #0
bl memset
add r0, r4, #0
pop {r4, pc}
nop
_020691DC: .word 0x0000067C
thumb_func_end sub_020691C4
thumb_func_start sub_020691E0
sub_020691E0: ; 0x020691E0
ldr r3, _020691E4 ; =FreeToHeap
bx r3
.balign 4, 0
_020691E4: .word FreeToHeap
thumb_func_end sub_020691E0
thumb_func_start sub_020691E8
sub_020691E8: ; 0x020691E8
push {r3, r4, r5, r6, r7, lr}
bl sub_0203E344
add r7, r0, #0
bl sub_0202CF54
add r0, r7, #0
bl sub_020503D0
add r6, r0, #0
add r0, r7, #0
bl sub_0203107C
add r5, r0, #0
add r0, r6, #0
mov r4, #0
bl sub_02066614
cmp r0, #0
beq _02069216
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
_02069216:
add r0, r7, #0
bl sub_0202A634
bl sub_02029F48
cmp r0, #0
beq _0206922A
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
_0206922A:
add r0, r5, #0
mov r1, #0
mov r2, #0xff
bl sub_020310BC
cmp r0, #0x64
bhs _02069270
add r0, r5, #0
mov r1, #2
mov r2, #0xff
bl sub_020310BC
cmp r0, #0x64
bhs _02069270
add r0, r5, #0
mov r1, #4
mov r2, #0xff
bl sub_020310BC
cmp r0, #0x64
bhs _02069270
add r0, r5, #0
mov r1, #6
mov r2, #0xff
bl sub_020310BC
cmp r0, #0x64
bhs _02069270
add r0, r5, #0
mov r1, #8
mov r2, #0xff
bl sub_020310BC
cmp r0, #0x64
blo _02069276
_02069270:
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
_02069276:
add r0, r6, #0
mov r1, #0xf1
bl sub_020503DC
cmp r0, #0
beq _02069288
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
_02069288:
mov r1, #0x61
add r0, r6, #0
lsl r1, r1, #2
bl sub_020503DC
cmp r0, #0
beq _0206929C
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
_0206929C:
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020691E8
thumb_func_start sub_020692A0
sub_020692A0: ; 0x020692A0
push {r3, r4, r5, r6}
ldr r5, [sp, #0x14]
mov r6, #1
ldrb r4, [r5, #4]
bic r4, r6
mov r6, #1
and r0, r6
orr r0, r4
strb r0, [r5, #4]
strb r1, [r5]
strb r2, [r5, #3]
add r0, sp, #0
ldrb r0, [r0, #0x10]
strb r0, [r5, #1]
strb r3, [r5, #2]
pop {r3, r4, r5, r6}
bx lr
.balign 4, 0
thumb_func_end sub_020692A0
thumb_func_start sub_020692C4
sub_020692C4: ; 0x020692C4
push {r4, r5, r6, lr}
ldr r4, [sp, #0x1c]
add r6, r1, #0
strh r0, [r4, #0x28]
ldrb r0, [r4, #4]
add r1, r2, #0
mov r2, #4
bic r0, r2
lsl r2, r6, #0x1f
lsr r2, r2, #0x1d
orr r0, r2
strb r0, [r4, #4]
add r0, r4, #0
add r0, #8
mov r2, #8
add r5, r3, #0
bl CopyU16StringArrayN
ldr r0, [sp, #0x10]
str r5, [r4, #0x1c]
str r0, [r4, #0x20]
ldrb r0, [r4, #4]
mov r1, #8
bic r0, r1
ldr r1, [sp, #0x14]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
lsl r1, r1, #0x1f
lsr r1, r1, #0x1c
orr r0, r1
strb r0, [r4, #4]
ldr r0, [sp, #0x18]
str r0, [r4, #0x24]
pop {r4, r5, r6, pc}
thumb_func_end sub_020692C4
thumb_func_start sub_02069308
sub_02069308: ; 0x02069308
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
ldr r4, [sp, #0x28]
str r0, [sp]
str r1, [sp, #4]
add r0, r1, #0
add r5, r2, #0
add r6, r3, #0
ldr r7, [sp, #0x20]
bl sub_0202CE24
strh r0, [r4, #0x2a]
ldr r0, [sp, #4]
bl sub_0202CE28
add r1, r4, #0
add r1, #0x2e
strb r0, [r1]
add r0, r4, #0
ldr r1, [r5]
add r0, #0x2f
strb r1, [r0]
add r0, r4, #0
ldr r1, [r5, #4]
add r0, #0x30
strb r1, [r0]
add r0, r4, #0
ldr r1, [r5, #8]
add r0, #0x31
strb r1, [r0]
ldr r0, [sp]
cmp r0, #0
beq _0206936A
add r0, r4, #0
ldr r1, [r6]
add r0, #0x32
strb r1, [r0]
add r0, r4, #0
ldr r1, [r6, #4]
add r0, #0x33
strb r1, [r0]
add r0, r4, #0
ldr r1, [r6, #8]
add r0, #0x34
strb r1, [r0]
ldr r0, [r7]
strh r0, [r4, #0x2c]
ldr r1, [r7, #4]
b _02069380
_0206936A:
add r0, r4, #0
mov r1, #0
add r0, #0x32
strb r1, [r0]
add r0, r4, #0
add r0, #0x33
strb r1, [r0]
add r0, r4, #0
add r0, #0x34
strb r1, [r0]
strh r1, [r4, #0x2c]
_02069380:
add r0, r4, #0
add r0, #0x35
strb r1, [r0]
ldrb r2, [r4, #4]
mov r0, #2
bic r2, r0
add r0, sp, #0x10
ldrb r0, [r0, #0x14]
lsl r1, r0, #0x1f
lsr r1, r1, #0x1e
orr r1, r2
strb r1, [r4, #4]
cmp r0, #0
beq _020693A4
ldr r0, [sp, #4]
add sp, #8
str r0, [r4, #0x18]
pop {r3, r4, r5, r6, r7, pc}
_020693A4:
mov r0, #0
str r0, [r4, #0x18]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02069308
thumb_func_start sub_020693AC
sub_020693AC: ; 0x020693AC
push {r3, r4, r5, lr}
ldr r4, [sp, #0x18]
ldr r5, _02069400 ; =0x000F423F
str r0, [r4, #0x38]
cmp r0, r5
bls _020693BA
str r5, [r4, #0x38]
_020693BA:
str r1, [r4, #0x3c]
str r2, [r4, #0x40]
ldr r1, [r4, #0x3c]
ldr r0, _02069404 ; =0x0000270F
cmp r1, r0
bls _020693C8
str r0, [r4, #0x3c]
_020693C8:
ldr r1, [r4, #0x40]
ldr r0, _02069404 ; =0x0000270F
cmp r1, r0
bls _020693D2
str r0, [r4, #0x40]
_020693D2:
ldr r0, _02069408 ; =0x0001869F
str r3, [r4, #0x44]
cmp r3, r0
bls _020693DC
str r0, [r4, #0x44]
_020693DC:
ldrb r1, [r4, #4]
mov r0, #0x10
mov r2, #6
bic r1, r0
add r0, sp, #0
ldrb r0, [r0, #0x10]
lsl r2, r2, #8
lsl r0, r0, #0x1f
lsr r0, r0, #0x1b
orr r0, r1
strb r0, [r4, #4]
add r4, #0x68
ldr r0, [sp, #0x14]
add r1, r4, #0
bl MIi_CpuCopy8
pop {r3, r4, r5, pc}
nop
_02069400: .word 0x000F423F
_02069404: .word 0x0000270F
_02069408: .word 0x0001869F
thumb_func_end sub_020693AC
thumb_func_start sub_0206940C
sub_0206940C: ; 0x0206940C
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
ldr r0, [r1, #0xc]
add r6, r2, #0
bl sub_0202C9D8
bl sub_0202CA10
add r1, r6, #0
mov r2, #0
add r1, #0x48
mov r3, #1
mov r5, #1
_02069426:
lsl r0, r2, #2
ldr r4, [r1, r0]
bic r4, r3
str r4, [r1, r0]
ldr r4, [r1, r0]
and r4, r5
str r4, [r1, r0]
add r0, r2, #1
lsl r0, r0, #0x18
lsr r2, r0, #0x18
cmp r2, #8
blo _02069426
mov r4, #1
mov r5, #0
_02069442:
add r0, r7, #0
add r1, r5, #0
bl sub_02028F98
cmp r0, #0
beq _02069454
ldrh r0, [r6, #6]
orr r0, r4
strh r0, [r6, #6]
_02069454:
lsl r0, r4, #0x11
lsr r4, r0, #0x10
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #0x10
blo _02069442
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0206940C
thumb_func_start sub_02069464
sub_02069464: ; 0x02069464
push {r3, r4, r5, lr}
ldr r1, _02069490 ; =0x00000684
add r5, r0, #0
mov r0, #0xb
bl AllocFromHeapAtEnd
add r4, r0, #0
mov r0, #0
str r0, [r4]
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_0205ABD8
str r0, [r4, #4]
ldr r0, [r5, #0x10]
ldr r1, _02069494 ; =sub_02069498
add r2, r4, #0
bl sub_02050530
pop {r3, r4, r5, pc}
nop
_02069490: .word 0x00000684
_02069494: .word sub_02069498
thumb_func_end sub_02069464
thumb_func_start sub_02069498
sub_02069498: ; 0x02069498
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0205064C
add r4, r0, #0
add r0, r5, #0
bl sub_02050650
add r5, r0, #0
ldr r0, [r5]
cmp r0, #0xa
bgt _020694C2
bge _020694E4
cmp r0, #1
bgt _0206951C
cmp r0, #0
blt _0206951C
beq _020694C8
cmp r0, #1
beq _020694D4
b _0206951C
_020694C2:
cmp r0, #0xb
beq _02069500
b _0206951C
_020694C8:
add r4, #0x80
ldr r0, [r4]
bl sub_0205AC70
mov r0, #1
str r0, [r5]
_020694D4:
ldr r1, [r5, #4]
ldr r0, _02069520 ; =0x0000066A
ldrh r0, [r1, r0]
cmp r0, #0
beq _0206951C
mov r0, #0xa
str r0, [r5]
b _0206951C
_020694E4:
add r1, r5, #0
ldr r0, [r5, #4]
ldr r2, _02069524 ; =0x0000066C
add r1, #8
bl MIi_CpuCopy8
add r1, r5, #0
add r0, r4, #0
add r1, #8
bl sub_0203F7B0
mov r0, #0xb
str r0, [r5]
b _0206951C
_02069500:
add r0, r4, #0
bl sub_020505A0
cmp r0, #0
bne _0206951C
add r4, #0x80
ldr r0, [r4]
bl sub_0205AC4C
add r0, r5, #0
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, pc}
_0206951C:
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
_02069520: .word 0x0000066A
_02069524: .word 0x0000066C
thumb_func_end sub_02069498
thumb_func_start sub_02069528
sub_02069528: ; 0x02069528
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r6, r0, #0
str r1, [sp]
add r7, r2, #0
bl Sav2_PlayerData_GetProfileAddr
add r4, r0, #0
add r0, r6, #0
bl sub_0202CA44
add r5, r0, #0
add r0, r6, #0
bl sub_0202D918
str r0, [sp, #4]
add r0, r7, #0
mov r1, #0
mov r2, #0xe4
bl MIi_CpuFill8
add r0, r4, #0
bl PlayerProfile_GetNamePtr
add r1, r7, #0
add r1, #0xa8
mov r2, #0x10
bl MIi_CpuCopy8
add r0, r4, #0
bl PlayerProfile_GetTrainerID
add r1, r7, #0
add r1, #0xbc
str r0, [r1]
ldr r0, _02069658 ; =gGameVersion
ldrb r1, [r0]
add r0, r7, #0
add r0, #0xb8
strb r1, [r0]
ldr r0, _0206965C ; =gGameLanguage
ldrb r1, [r0]
add r0, r7, #0
add r0, #0xb9
strb r1, [r0]
add r0, r5, #0
bl sub_0202CA8C
add r1, r7, #0
add r1, #0xba
strb r0, [r1]
add r0, r5, #0
bl sub_0202CA90
add r1, r7, #0
add r1, #0xbb
strb r0, [r1]
add r0, r4, #0
bl PlayerProfile_GetTrainerGender
add r1, r7, #0
add r1, #0xc8
lsl r0, r0, #0x18
lsr r0, r0, #0x18
lsl r0, r0, #0x1f
ldrb r1, [r1]
mov r2, #2
lsr r0, r0, #0x1e
bic r1, r2
orr r1, r0
add r0, r7, #0
add r0, #0xc8
strb r1, [r0]
add r0, r4, #0
bl sub_0202903C
add r1, r0, #0
add r0, r7, #0
add r0, #0xc8
ldrb r0, [r0]
mov r2, #1
lsl r0, r0, #0x1e
lsr r0, r0, #0x1f
bl sub_0205B46C
add r1, r7, #0
add r1, #0xc9
strb r0, [r1]
add r0, r7, #0
mov r4, #0
str r0, [sp, #8]
add r0, #0xca
add r5, r4, #0
str r0, [sp, #8]
_020695E4:
add r0, r6, #0
add r1, r4, #0
bl sub_0202D660
ldr r1, [sp, #8]
mov r2, #8
add r1, r1, r5
bl MIi_CpuCopy8
add r4, r4, #1
add r5, #8
cmp r4, #3
blt _020695E4
add r0, r6, #0
mov r1, #3
bl sub_0202D660
add r1, r7, #0
add r1, #0xc0
mov r2, #8
bl MIi_CpuCopy8
ldr r0, [sp]
cmp r0, #0
bne _0206963E
ldr r0, [sp, #4]
mov r1, #7
mov r2, #0
bl sub_0202D5DC
add r1, r7, #0
add r1, #0xe2
strh r0, [r1]
add r0, r7, #0
add r0, #0xe2
ldrh r0, [r0]
cmp r0, #0
beq _02069654
ldr r0, [sp, #4]
ldr r1, [sp]
add r2, r7, #0
bl sub_0202D4DC
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0206963E:
ldr r0, [sp, #4]
bl sub_0202D564
add r1, r7, #0
add r1, #0xe2
strh r0, [r1]
ldr r0, [sp, #4]
ldr r1, [sp]
add r2, r7, #0
bl sub_0202D4DC
_02069654:
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02069658: .word gGameVersion
_0206965C: .word gGameLanguage
thumb_func_end sub_02069528
thumb_func_start sub_02069660
sub_02069660: ; 0x02069660
mov r2, #0x14
mov r1, #0
_02069664:
strb r1, [r0]
add r0, r0, #1
sub r2, r2, #1
bne _02069664
bx lr
.balign 4, 0
thumb_func_end sub_02069660
thumb_func_start sub_02069670
sub_02069670: ; 0x02069670
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
bl sub_02069660
str r4, [r5, #4]
mov r0, #0
str r0, [r5]
add r0, r4, #0
bl NNS_G3dGetMdlSet
str r0, [r5, #8]
cmp r0, #0
beq _020696B6
add r2, r0, #0
add r2, #8
beq _020696AA
ldrb r1, [r0, #9]
cmp r6, r1
bhs _020696AA
ldrh r3, [r0, #0xe]
add r1, r2, r3
ldrh r2, [r2, r3]
add r1, r1, #4
add r3, r2, #0
mul r3, r6
add r1, r1, r3
b _020696AC
_020696AA:
mov r1, #0
_020696AC:
cmp r1, #0
beq _020696B6
ldr r1, [r1]
add r0, r0, r1
b _020696B8
_020696B6:
mov r0, #0
_020696B8:
str r0, [r5, #0xc]
add r0, r4, #0
bl NNS_G3dGetTex
str r0, [r5, #0x10]
pop {r4, r5, r6, pc}
thumb_func_end sub_02069670
thumb_func_start sub_020696C4
sub_020696C4: ; 0x020696C4
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [sp, #0x14]
add r4, r1, #0
add r1, r3, #0
str r0, [sp]
add r0, r2, #0
ldr r3, [sp, #0x10]
mov r2, #0
bl sub_02007C98
add r1, r0, #0
add r0, r5, #0
add r2, r4, #0
bl sub_02069670
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020696C4
thumb_func_start sub_020696E8
sub_020696E8: ; 0x020696E8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x10]
bl sub_0201F668
ldr r0, [r4, #8]
ldr r1, [r4, #0x10]
bl NNS_G3dBindMdlSet
mov r0, #1
str r0, [r4]
pop {r4, pc}
thumb_func_end sub_020696E8
thumb_func_start sub_02069700
sub_02069700: ; 0x02069700
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
bl sub_020696E8
add r0, r4, #0
bl sub_0200E390
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02069700
thumb_func_start sub_02069714
sub_02069714: ; 0x02069714
push {r3, lr}
add r1, r0, #0
ldr r0, _0206972C ; =sub_02069700
ldr r2, _02069730 ; =0x0000FFFF
bl sub_0200E33C
cmp r0, #0
bne _02069728
bl GF_AssertFail
_02069728:
pop {r3, pc}
nop
_0206972C: .word sub_02069700
_02069730: .word 0x0000FFFF
thumb_func_end sub_02069714
thumb_func_start sub_02069734
sub_02069734: ; 0x02069734
push {r3, lr}
ldr r0, [r0, #4]
cmp r0, #0
beq _02069740
bl FreeToHeap
_02069740:
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02069734
thumb_func_start sub_02069744
sub_02069744: ; 0x02069744
push {r4, lr}
sub sp, #8
add r4, r0, #0
ldr r0, [r4, #0x10]
cmp r0, #0
beq _02069778
add r1, sp, #4
add r2, sp, #0
bl sub_020BE4D0
ldr r1, _0206977C ; =0x02110928
ldr r0, [sp, #4]
ldr r1, [r1]
blx r1
ldr r1, _0206977C ; =0x02110928
ldr r0, [sp]
ldr r1, [r1]
blx r1
ldr r0, [r4, #0x10]
bl sub_020BE588
ldr r1, _02069780 ; =0x02110930
ldr r1, [r1]
blx r1
mov r0, #0
str r0, [r4, #0x10]
_02069778:
add sp, #8
pop {r4, pc}
.balign 4, 0
_0206977C: .word 0x02110928
_02069780: .word 0x02110930
thumb_func_end sub_02069744
thumb_func_start sub_02069784
sub_02069784: ; 0x02069784
push {r4, lr}
add r4, r0, #0
bl sub_02069744
add r0, r4, #0
bl sub_02069734
add r0, r4, #0
bl sub_02069660
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02069784
thumb_func_start sub_0206979C
sub_0206979C: ; 0x0206979C
ldr r3, _020697A4 ; =memset
mov r1, #0
mov r2, #0x24
bx r3
.balign 4, 0
_020697A4: .word memset
thumb_func_end sub_0206979C
thumb_func_start sub_020697A8
sub_020697A8: ; 0x020697A8
push {r4, lr}
add r4, r0, #0
bl sub_02069800
ldr r1, [r4]
mov r0, #1
orr r0, r1
str r0, [r4]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020697A8
thumb_func_start sub_020697BC
sub_020697BC: ; 0x020697BC
push {r4, lr}
add r4, r0, #0
bl sub_02069800
ldr r1, [r4]
mov r0, #1
bic r1, r0
str r1, [r4]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020697BC
thumb_func_start sub_020697D0
sub_020697D0: ; 0x020697D0
ldr r3, _020697D8 ; =sub_020697BC
ldr r1, [r1, #8]
bx r3
nop
_020697D8: .word sub_020697BC
thumb_func_end sub_020697D0
thumb_func_start sub_020697DC
sub_020697DC: ; 0x020697DC
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [sp, #0x14]
add r4, r1, #0
add r1, r3, #0
str r0, [sp]
add r0, r2, #0
ldr r3, [sp, #0x10]
mov r2, #0
bl sub_02007C98
add r1, r0, #0
add r0, r5, #0
add r2, r4, #0
bl sub_020697A8
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_020697DC
thumb_func_start sub_02069800
sub_02069800: ; 0x02069800
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
bl sub_0206979C
add r0, r4, #0
mov r1, #0
str r4, [r5, #8]
bl sub_020C3B90
str r0, [r5, #0xc]
pop {r3, r4, r5, pc}
thumb_func_end sub_02069800
thumb_func_start sub_02069818
sub_02069818: ; 0x02069818
push {r4, lr}
add r4, r0, #0
ldr r1, [r4]
mov r0, #1
tst r0, r1
beq _02069832
ldr r0, [r4, #8]
bl FreeToHeap
ldr r1, [r4]
mov r0, #1
bic r1, r0
str r1, [r4]
_02069832:
mov r0, #0
str r0, [r4, #8]
str r0, [r4, #0xc]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_02069818
thumb_func_start sub_0206983C
sub_0206983C: ; 0x0206983C
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
add r1, r2, #0
add r0, #0x14
mov r2, #4
bl sub_0201AC14
add r0, r5, #0
ldr r1, [r5, #0xc]
add r0, #0x14
add r2, r4, #0
bl sub_020C2B7C
str r0, [r5, #0x10]
cmp r0, #0
bne _02069862
bl GF_AssertFail
_02069862:
pop {r3, r4, r5, pc}
thumb_func_end sub_0206983C
thumb_func_start sub_02069864
sub_02069864: ; 0x02069864
ldr r3, _0206986C ; =sub_0206983C
ldr r1, [r1, #0xc]
bx r3
nop
_0206986C: .word sub_0206983C
thumb_func_end sub_02069864
thumb_func_start sub_02069870
sub_02069870: ; 0x02069870
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
add r3, r2, #0
ldr r0, [r5, #0x10]
ldr r1, [r5, #0xc]
add r2, r4, #0
bl sub_020BE008
pop {r3, r4, r5, pc}
thumb_func_end sub_02069870
thumb_func_start sub_02069884
sub_02069884: ; 0x02069884
ldr r3, _02069890 ; =sub_02069870
add r2, r1, #0
ldr r1, [r2, #0xc]
ldr r2, [r2, #0x10]
bx r3
nop
_02069890: .word sub_02069870
thumb_func_end sub_02069884
thumb_func_start sub_02069894
sub_02069894: ; 0x02069894
push {r3, r4, r5, lr}
add r4, r1, #0
add r1, r2, #0
add r2, r3, #0
add r5, r0, #0
bl sub_020697D0
ldr r2, [sp, #0x10]
add r0, r5, #0
add r1, r4, #0
bl sub_02069864
add r0, r5, #0
add r1, r4, #0
bl sub_02069884
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02069894
thumb_func_start sub_020698B8
sub_020698B8: ; 0x020698B8
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #0x10]
cmp r1, #0
beq _020698CC
add r0, #0x14
bl sub_020C2BA0
mov r0, #0
str r0, [r4, #0x10]
_020698CC:
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020698B8
thumb_func_start sub_020698D0
sub_020698D0: ; 0x020698D0
push {r4, lr}
add r4, r0, #0
bl sub_020698B8
add r0, r4, #0
bl sub_02069818
add r0, r4, #0
bl sub_0206979C
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020698D0
thumb_func_start sub_020698E8
sub_020698E8: ; 0x020698E8
push {r3, r4, r5, r6}
ldr r3, [r0, #0x10]
ldr r6, [r0, #4]
ldr r3, [r3, #8]
mov r4, #0
ldrh r3, [r3, #4]
add r6, r6, r1
add r5, r4, #0
str r6, [r0, #4]
lsl r3, r3, #0xc
cmp r1, #0
ldr r1, [r0, #4]
ble _02069916
cmp r1, r3
blt _02069928
mov r5, #1
cmp r2, #1
bne _02069912
sub r1, r1, r3
str r1, [r0, #4]
b _02069928
_02069912:
str r3, [r0, #4]
b _02069928
_02069916:
cmp r1, #0
bgt _02069928
mov r5, #1
cmp r2, #1
bne _02069926
add r1, r1, r3
str r1, [r0, #4]
b _02069928
_02069926:
str r4, [r0, #4]
_02069928:
ldr r2, [r0, #4]
ldr r1, [r0, #0x10]
cmp r5, #1
str r2, [r1]
ldr r2, [r0]
bne _0206993C
mov r1, #2
orr r1, r2
str r1, [r0]
b _02069942
_0206993C:
mov r1, #2
bic r2, r1
str r2, [r0]
_02069942:
add r0, r5, #0
pop {r3, r4, r5, r6}
bx lr
thumb_func_end sub_020698E8
thumb_func_start sub_02069948
sub_02069948: ; 0x02069948
ldr r1, [r0]
mov r0, #2
tst r0, r1
beq _02069954
mov r0, #1
bx lr
_02069954:
mov r0, #0
bx lr
thumb_func_end sub_02069948
thumb_func_start sub_02069958
sub_02069958: ; 0x02069958
ldr r3, _02069960 ; =memset
mov r1, #0
mov r2, #0x54
bx r3
.balign 4, 0
_02069960: .word memset
thumb_func_end sub_02069958
thumb_func_start sub_02069964
sub_02069964: ; 0x02069964
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_02069958
add r0, r5, #0
add r1, r4, #0
bl NNS_G3dRenderObjInit
pop {r3, r4, r5, pc}
thumb_func_end sub_02069964
thumb_func_start sub_02069978
sub_02069978: ; 0x02069978
ldr r3, _02069980 ; =sub_02069964
ldr r1, [r1, #0xc]
bx r3
nop
_02069980: .word sub_02069964
thumb_func_end sub_02069978
thumb_func_start sub_02069984
sub_02069984: ; 0x02069984
ldr r3, _02069988 ; =sub_020BE294
bx r3
.balign 4, 0
_02069988: .word sub_020BE294
thumb_func_end sub_02069984
thumb_func_start sub_0206998C
sub_0206998C: ; 0x0206998C
ldr r3, _02069994 ; =sub_02069984
ldr r1, [r1, #0x10]
bx r3
nop
_02069994: .word sub_02069984
thumb_func_end sub_0206998C
thumb_func_start sub_02069998
sub_02069998: ; 0x02069998
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r2, #0
bl sub_02069978
add r0, r5, #0
add r1, r4, #0
bl sub_0206998C
pop {r3, r4, r5, pc}
thumb_func_end sub_02069998
thumb_func_start sub_020699AC
sub_020699AC: ; 0x020699AC
push {r4, lr}
add r4, r2, #0
add r2, r3, #0
add r3, r4, #0
bl sub_0201F554
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_020699AC
thumb_func_start sub_020699BC
sub_020699BC: ; 0x020699BC
push {r3, lr}
ldr r2, _020699C8 ; =0x020FE8A4
ldr r3, _020699CC ; =0x020FE8B0
bl sub_020699AC
pop {r3, pc}
.balign 4, 0
_020699C8: .word 0x020FE8A4
_020699CC: .word 0x020FE8B0
thumb_func_end sub_020699BC
thumb_func_start sub_020699D0
sub_020699D0: ; 0x020699D0
push {r3, r4, r5, r6, lr}
sub sp, #0x24
add r4, r1, #0
add r6, r2, #0
add r5, r0, #0
ldrh r1, [r3]
ldrh r2, [r3, #2]
ldrh r3, [r3, #4]
add r0, sp, #0
bl sub_02020DA4
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
add r3, sp, #0
bl sub_020699AC
add sp, #0x24
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_020699D0
thumb_func_start sub_020699F8
sub_020699F8: ; 0x020699F8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
str r0, [sp, #0x10]
str r1, [sp, #0x14]
str r2, [sp, #0x18]
str r3, [sp, #0x1c]
bl sub_0205F1E4
add r4, r0, #0
ldr r0, [r4, #0xc]
bl SavArray_PlayerParty_get
add r5, r0, #0
bl GetPartyCount
add r6, r0, #0
add r0, r4, #0
add r0, #0xe4
bl sub_0206A06C
ldr r0, [r4, #0xc]
bl sub_0202ED34
add r1, r0, #0
mov r0, #0
bl sub_0202ED48
cmp r6, #0
bne _02069A34
b _02069B6C
_02069A34:
add r0, r5, #0
bl sub_02054358
cmp r0, #0
bne _02069A46
add r0, r5, #0
bl sub_020543F0
b _02069A4C
_02069A46:
add r0, r5, #0
bl sub_02054388
_02069A4C:
add r5, r0, #0
add r0, r5, #0
mov r1, #5
mov r2, #0
bl GetMonData
add r1, r4, #0
mov r2, #0
add r1, #0xe4
str r2, [r1]
ldr r1, [sp, #0x40]
add r6, r0, #0
bl sub_02069FF4
cmp r0, #0
beq _02069B6C
add r0, r5, #0
mov r1, #0x70
mov r2, #0
bl GetMonData
add r7, r0, #0
add r0, r5, #0
mov r1, #0x6f
mov r2, #0
bl GetMonData
str r0, [sp, #0x20]
add r0, r5, #0
bl sub_0207003C
str r0, [sp, #0x24]
ldr r0, [sp, #0x1c]
lsl r2, r7, #0x10
str r0, [sp]
ldr r0, [sp, #0x14]
ldr r3, [sp, #0x20]
str r0, [sp, #4]
ldr r0, [sp, #0x18]
add r1, r6, #0
str r0, [sp, #8]
ldr r0, [sp, #0x24]
lsr r2, r2, #0x10
str r0, [sp, #0xc]
ldr r0, [sp, #0x10]
bl sub_0206A128
add r1, r4, #0
add r1, #0xe4
str r0, [r1]
add r0, r4, #0
lsl r2, r7, #0x18
mov r1, #1
add r0, #0xfa
strb r1, [r0]
ldr r0, [sp, #0x20]
ldr r3, [sp, #0x24]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
add r0, r4, #0
add r1, r6, #0
lsr r2, r2, #0x18
bl sub_02069F3C
mov r1, #0
add r0, r5, #0
add r2, r1, #0
bl GetMonData
add r3, r0, #0
mov r0, #0x42
lsl r0, r0, #2
lsl r2, r6, #0x10
ldr r0, [r4, r0]
add r1, r5, #0
lsr r2, r2, #0x10
bl sub_0206A288
ldr r0, [r4, #0x40]
bl sub_0205C700
cmp r0, #0
beq _02069AF8
cmp r0, #3
bne _02069B08
_02069AF8:
ldr r0, [r4, #0xc]
bl sub_0202ED34
add r1, r0, #0
mov r0, #1
bl sub_0202ED48
b _02069B58
_02069B08:
cmp r0, #1
bne _02069B2E
ldr r0, [r4, #0xc]
bl sub_0202ED34
add r1, r0, #0
mov r0, #2
bl sub_0202ED48
add r0, r4, #0
bl sub_0206A054
add r0, r4, #0
bl sub_02069D68
mov r1, #0x38
bl sub_0205FC94
b _02069B58
_02069B2E:
cmp r0, #2
bne _02069B54
ldr r0, [r4, #0xc]
bl sub_0202ED34
add r1, r0, #0
mov r0, #2
bl sub_0202ED48
add r0, r4, #0
bl sub_0206A054
add r0, r4, #0
bl sub_02069D68
mov r1, #0x38
bl sub_0205FC94
b _02069B58
_02069B54:
bl GF_AssertFail
_02069B58:
ldr r0, [r4, #0xc]
bl sub_0202ED34
bl sub_0202ED68
cmp r0, #0
beq _02069B6C
add r0, r4, #0
bl sub_0206A054
_02069B6C:
add r4, #0xe4
ldr r0, [r4]
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_020699F8
thumb_func_start sub_02069B74
sub_02069B74: ; 0x02069B74
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r7, r1, #0
bl sub_0205F1E4
add r5, r0, #0
ldr r0, [r5, #0xc]
bl SavArray_PlayerParty_get
add r6, r0, #0
bl GetPartyCount
add r4, r0, #0
add r0, r5, #0
add r0, #0xe4
bl sub_0206A06C
cmp r4, #0
bne _02069B9C
b _02069D62
_02069B9C:
add r0, r6, #0
bl sub_02054388
mov r1, #5
mov r2, #0
add r6, r0, #0
bl GetMonData
mov r1, #0
add r4, r0, #0
add r0, r6, #0
add r2, r1, #0
bl GetMonData
add r3, r0, #0
mov r0, #0x42
lsl r0, r0, #2
lsl r2, r4, #0x10
ldr r0, [r5, r0]
add r1, r6, #0
lsr r2, r2, #0x10
bl sub_0206A288
add r0, r4, #0
add r1, r7, #0
bl sub_02069FF4
cmp r0, #0
ldr r0, [r5, #0x3c]
bne _02069BDA
b _02069CF2
_02069BDA:
mov r1, #0xfd
bl sub_0205EE60
str r0, [sp, #4]
cmp r0, #0
bne _02069BF0
mov r0, #1
add r5, #0xf9
add sp, #0x14
strb r0, [r5]
pop {r4, r5, r6, r7, pc}
_02069BF0:
add r0, r6, #0
mov r1, #0x70
mov r2, #0
bl GetMonData
add r7, r0, #0
add r0, r6, #0
bl sub_0206FF88
str r0, [sp, #8]
add r0, r6, #0
bl sub_0207003C
add r6, r0, #0
add r1, r5, #0
lsl r2, r7, #0x18
ldr r0, [sp, #4]
add r1, #0xe4
str r0, [r1]
add r0, r5, #0
mov r1, #1
add r0, #0xfa
strb r1, [r0]
ldr r0, [sp, #8]
add r1, r4, #0
str r0, [sp]
add r0, r5, #0
lsr r2, r2, #0x18
add r3, r6, #0
bl sub_02069F3C
lsl r2, r7, #0x18
ldr r0, [sp, #4]
add r1, r4, #0
lsr r2, r2, #0x18
add r3, r6, #0
bl sub_02069EE8
lsl r1, r7, #0x10
ldr r2, [sp, #8]
add r0, r4, #0
lsr r1, r1, #0x10
bl sub_02069D70
add r1, r0, #0
add r0, r5, #0
add r0, #0xe4
ldr r0, [r0]
bl sub_0205F258
ldr r0, [r5, #0x40]
bl sub_0205C700
cmp r0, #0
beq _02069C62
cmp r0, #3
bne _02069C72
_02069C62:
ldr r0, [r5, #0xc]
bl sub_0202ED34
add r1, r0, #0
mov r0, #1
bl sub_0202ED48
b _02069CB6
_02069C72:
cmp r0, #1
bne _02069C92
ldr r0, [r5, #0xc]
bl sub_0202ED34
add r1, r0, #0
mov r0, #2
bl sub_0202ED48
add r0, r5, #0
add r0, #0xe4
ldr r0, [r0]
mov r1, #1
bl sub_0206A040
b _02069CB6
_02069C92:
cmp r0, #2
bne _02069CB2
ldr r0, [r5, #0xc]
bl sub_0202ED34
add r1, r0, #0
mov r0, #2
bl sub_0202ED48
add r0, r5, #0
add r0, #0xe4
ldr r0, [r0]
mov r1, #1
bl sub_0206A040
b _02069CB6
_02069CB2:
bl GF_AssertFail
_02069CB6:
add r0, r5, #0
add r0, #0xe4
ldr r0, [r0]
bl sub_02069E14
cmp r0, #0
beq _02069CD0
add r0, r5, #0
add r0, #0xe4
ldr r0, [r0]
mov r1, #1
bl sub_0206A040
_02069CD0:
ldr r0, [r5, #0xc]
bl sub_0202ED34
bl sub_0202ED68
cmp r0, #0
beq _02069CE4
add r0, r5, #0
bl sub_0206A054
_02069CE4:
add r5, #0xe4
ldr r0, [r5]
mov r1, #0
bl sub_0205F6AC
add sp, #0x14
pop {r4, r5, r6, r7, pc}
_02069CF2:
mov r1, #0xfd
bl sub_0205EE60
str r0, [sp, #0xc]
cmp r0, #0
beq _02069D62
add r0, r6, #0
mov r1, #0x70
mov r2, #0
bl GetMonData
add r7, r0, #0
add r0, r6, #0
bl sub_0206FF88
str r0, [sp, #0x10]
add r0, r6, #0
bl sub_0207003C
add r6, r0, #0
ldr r0, [sp, #0x10]
lsl r2, r7, #0x18
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
lsr r2, r2, #0x18
add r3, r6, #0
bl sub_02069F3C
lsl r2, r7, #0x18
ldr r0, [sp, #0xc]
add r1, r4, #0
lsr r2, r2, #0x18
add r3, r6, #0
bl sub_02069EE8
lsl r1, r7, #0x10
ldr r2, [sp, #0x10]
add r0, r4, #0
lsr r1, r1, #0x10
bl sub_02069D70
add r1, r0, #0
ldr r0, [sp, #0xc]
bl sub_0205F258
add r1, r5, #0
ldr r0, [sp, #0xc]
add r1, #0xe4
str r0, [r1]
add r0, r5, #0
mov r1, #1
add r0, #0xfa
strb r1, [r0]
add r5, #0xf9
strb r1, [r5]
_02069D62:
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_02069B74
thumb_func_start sub_02069D68
sub_02069D68: ; 0x02069D68
add r0, #0xe4
ldr r0, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_02069D68
thumb_func_start sub_02069D70
sub_02069D70: ; 0x02069D70
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
add r7, r2, #0
cmp r5, #0
ble _02069D82
ldr r1, _02069DC0 ; =0x000001ED
cmp r5, r1
ble _02069D88
_02069D82:
mov r4, #0x6b
lsl r4, r4, #2
b _02069DBC
_02069D88:
bl sub_0206A304
mov r1, #0x6b
lsl r1, r1, #2
add r4, r0, r1
add r0, r5, #0
bl sub_0206A338
cmp r0, #0
beq _02069DA4
cmp r7, #1
bne _02069DB2
add r4, r4, #1
b _02069DB2
_02069DA4:
add r0, r5, #0
bl sub_0206A310
cmp r6, r0
ble _02069DB0
mov r6, #0
_02069DB0:
add r4, r4, r6
_02069DB2:
ldr r0, _02069DC4 ; =0x000003E1
cmp r4, r0
ble _02069DBC
mov r4, #0x6b
lsl r4, r4, #2
_02069DBC:
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02069DC0: .word 0x000001ED
_02069DC4: .word 0x000003E1
thumb_func_end sub_02069D70
thumb_func_start sub_02069DC8
sub_02069DC8: ; 0x02069DC8
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0206A040
cmp r4, #0
beq _02069DE0
add r0, r5, #0
mov r1, #1
bl sub_02069DEC
pop {r3, r4, r5, pc}
_02069DE0:
add r0, r5, #0
mov r1, #0
bl sub_02069DEC
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_02069DC8
thumb_func_start sub_02069DEC
sub_02069DEC: ; 0x02069DEC
push {r3, r4, r5, lr}
add r4, r1, #0
mov r1, #2
add r5, r0, #0
bl sub_0205F2F4
mov r1, #1
and r1, r0
asr r0, r0, #2
lsl r1, r1, #0x18
lsl r2, r0, #2
lsl r0, r4, #1
orr r0, r2
lsr r1, r1, #0x18
orr r1, r0
add r0, r5, #0
mov r2, #2
bl sub_0205F2D0
pop {r3, r4, r5, pc}
thumb_func_end sub_02069DEC
thumb_func_start sub_02069E14
sub_02069E14: ; 0x02069E14
push {r3, lr}
mov r1, #2
bl sub_0205F2F4
asr r1, r0, #1
mov r0, #1
and r0, r1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
pop {r3, pc}
thumb_func_end sub_02069E14
thumb_func_start sub_02069E28
sub_02069E28: ; 0x02069E28
push {r3, r4, r5, lr}
add r4, r1, #0
mov r1, #2
add r5, r0, #0
bl sub_0205F2F4
lsl r1, r0, #6
lsr r1, r1, #0x10
lsl r1, r1, #0x1a
lsl r0, r0, #0x18
lsr r2, r1, #0x10
lsr r1, r0, #0x18
lsl r0, r4, #8
orr r0, r2
orr r1, r0
add r0, r5, #0
mov r2, #2
bl sub_0205F2D0
pop {r3, r4, r5, pc}
thumb_func_end sub_02069E28
thumb_func_start sub_02069E50
sub_02069E50: ; 0x02069E50
push {r3, r4, r5, lr}
add r5, r1, #0
add r4, r0, #0
cmp r5, #0x17
bls _02069E5E
bl GF_AssertFail
_02069E5E:
add r0, r4, #0
mov r1, #2
bl sub_0205F2F4
ldr r1, _02069E80 ; =0x000003FF
lsl r2, r5, #0xa
and r0, r1
lsl r0, r0, #0x18
add r1, r2, #0
lsr r0, r0, #0x18
orr r1, r0
add r0, r4, #0
mov r2, #2
bl sub_0205F2D0
pop {r3, r4, r5, pc}
nop
_02069E80: .word 0x000003FF
thumb_func_end sub_02069E50
thumb_func_start sub_02069E84
sub_02069E84: ; 0x02069E84
push {r3, r4, r5, lr}
add r4, r1, #0
mov r1, #2
add r5, r0, #0
bl sub_0205F2F4
mov r1, #3
and r1, r0
asr r0, r0, #3
lsl r1, r1, #0x18
lsl r2, r0, #3
lsl r0, r4, #2
orr r0, r2
lsr r1, r1, #0x18
orr r1, r0
add r0, r5, #0
mov r2, #2
bl sub_0205F2D0
pop {r3, r4, r5, pc}
thumb_func_end sub_02069E84
thumb_func_start sub_02069EAC
sub_02069EAC: ; 0x02069EAC
push {r3, lr}
mov r1, #2
bl sub_0205F2F4
asr r1, r0, #2
mov r0, #1
and r0, r1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
pop {r3, pc}
thumb_func_end sub_02069EAC
thumb_func_start sub_02069EC0
sub_02069EC0: ; 0x02069EC0
push {r3, lr}
mov r1, #2
bl sub_0205F2F4
asr r1, r0, #8
mov r0, #3
and r0, r1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
pop {r3, pc}
thumb_func_end sub_02069EC0
thumb_func_start sub_02069ED4
sub_02069ED4: ; 0x02069ED4
push {r3, lr}
mov r1, #2
bl sub_0205F2F4
asr r1, r0, #0xa
mov r0, #0x3f
and r0, r1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
pop {r3, pc}
thumb_func_end sub_02069ED4
thumb_func_start sub_02069EE8
sub_02069EE8: ; 0x02069EE8
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
add r6, r2, #0
add r1, r3, #0
bl sub_0206A080
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl sub_0206A0E0
add r0, r5, #0
add r1, r4, #0
mov r2, #0
bl sub_0205F2D0
pop {r4, r5, r6, pc}
thumb_func_end sub_02069EE8
thumb_func_start sub_02069F0C
sub_02069F0C: ; 0x02069F0C
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r6, r2, #0
ldr r1, [sp, #0x18]
add r5, r0, #0
add r7, r3, #0
mov r2, #2
bl sub_0205F2D0
add r0, r5, #0
add r1, r7, #0
bl sub_0206A080
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl sub_0206A0E0
add r0, r5, #0
add r1, r4, #0
mov r2, #0
bl sub_0205F2D0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_02069F0C
thumb_func_start sub_02069F3C
sub_02069F3C: ; 0x02069F3C
push {r3, r4}
add r4, r0, #0
add r4, #0xf4
str r1, [r4]
add r1, r0, #0
add r1, #0xfb
strb r3, [r1]
add r1, r0, #0
add r1, #0xfc
strh r2, [r1]
ldr r1, _02069F60 ; =0xFFFFFFF8
add r0, #0xf8
add r1, sp
ldrb r1, [r1, #0x10]
strb r1, [r0]
pop {r3, r4}
bx lr
nop
_02069F60: .word 0xFFFFFFF8
thumb_func_end sub_02069F3C
thumb_func_start sub_02069F64
sub_02069F64: ; 0x02069F64
push {r3, lr}
bl sub_0206A304
add r2, r0, #0
add r0, sp, #0
mov r1, #0x8d
bl ReadWholeNarcMemberByIdPair
add r0, sp, #0
ldrb r0, [r0, #1]
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02069F64
thumb_func_start sub_02069F7C
sub_02069F7C: ; 0x02069F7C
ldr r3, _02069F84 ; =sub_0205F2F4
mov r1, #0
bx r3
nop
_02069F84: .word sub_0205F2F4
thumb_func_end sub_02069F7C
thumb_func_start sub_02069F88
sub_02069F88: ; 0x02069F88
push {r3, lr}
add r1, r0, #0
add r1, #0xfa
ldrb r1, [r1]
cmp r1, #0
bne _02069F98
mov r0, #0
pop {r3, pc}
_02069F98:
ldr r0, [r0, #0xc]
bl SavArray_PlayerParty_get
bl sub_02054358
cmp r0, #0
beq _02069FAA
mov r0, #1
pop {r3, pc}
_02069FAA:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_02069F88
thumb_func_start sub_02069FB0
sub_02069FB0: ; 0x02069FB0
push {r4, lr}
add r4, r0, #0
bl sub_02069F88
cmp r0, #0
beq _02069FD0
add r4, #0xe4
ldr r0, [r4]
bl sub_0205F684
cmp r0, #0
bne _02069FCC
mov r0, #1
pop {r4, pc}
_02069FCC:
mov r0, #0
pop {r4, pc}
_02069FD0:
mov r0, #0
pop {r4, pc}
thumb_func_end sub_02069FB0
thumb_func_start sub_02069FD4
sub_02069FD4: ; 0x02069FD4
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0xc]
bl sub_0202ED34
bl sub_0202ED44
add r5, #0xe4
add r4, r0, #0
ldr r0, [r5]
bl sub_02069F7C
add r1, r4, #0
bl sub_02069FF4
pop {r3, r4, r5, pc}
thumb_func_end sub_02069FD4
thumb_func_start sub_02069FF4
sub_02069FF4: ; 0x02069FF4
push {r4, r5, r6, lr}
add r5, r0, #0
sub r0, #0x32
add r6, r1, #0
cmp r0, #1
bhi _0206A00E
add r0, r6, #0
bl sub_0206A0A4
cmp r0, #0
bne _0206A00E
mov r0, #0
pop {r4, r5, r6, pc}
_0206A00E:
add r0, r6, #0
bl sub_0203B4F8
cmp r0, #0
beq _0206A022
cmp r0, #1
beq _0206A026
cmp r0, #2
beq _0206A038
b _0206A03A
_0206A022:
mov r4, #0
b _0206A03A
_0206A026:
add r0, r5, #0
bl sub_02069F64
cmp r0, #0
beq _0206A034
mov r4, #0
b _0206A03A
_0206A034:
mov r4, #1
b _0206A03A
_0206A038:
mov r4, #1
_0206A03A:
add r0, r4, #0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_02069FF4
thumb_func_start sub_0206A040
sub_0206A040: ; 0x0206A040
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
bl sub_0205F690
add r0, r5, #0
add r1, r4, #0
bl sub_0205F6E0
pop {r3, r4, r5, pc}
thumb_func_end sub_0206A040
thumb_func_start sub_0206A054
sub_0206A054: ; 0x0206A054
push {r4, lr}
add r0, #0xe4
ldr r4, [r0]
mov r1, #1
add r0, r4, #0
bl sub_02069DC8
add r0, r4, #0
mov r1, #0
bl sub_02069DEC
pop {r4, pc}
thumb_func_end sub_0206A054
thumb_func_start sub_0206A06C
sub_0206A06C: ; 0x0206A06C
mov r1, #0
strb r1, [r0, #0x16]
str r1, [r0]
str r1, [r0, #4]
str r1, [r0, #0x1c]
str r1, [r0, #8]
str r1, [r0, #0xc]
strb r1, [r0, #0x15]
bx lr
.balign 4, 0
thumb_func_end sub_0206A06C
thumb_func_start sub_0206A080
sub_0206A080: ; 0x0206A080
push {r3, r4, r5, lr}
add r4, r1, #0
mov r1, #2
add r5, r0, #0
bl sub_0205F2F4
asr r0, r0, #1
lsl r1, r0, #1
cmp r4, #0
beq _0206A098
mov r0, #1
orr r1, r0
_0206A098:
add r0, r5, #0
mov r2, #2
bl sub_0205F2D0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0206A080
thumb_func_start sub_0206A0A4
sub_0206A0A4: ; 0x0206A0A4
cmp r0, #0x6f
bgt _0206A0AC
beq _0206A0D6
b _0206A0DA
_0206A0AC:
mov r1, #0x53
lsl r1, r1, #2
sub r0, r0, r1
cmp r0, #9
bhi _0206A0DA
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0206A0C2: ; jump table
.short _0206A0D6 - _0206A0C2 - 2 ; case 0
.short _0206A0D6 - _0206A0C2 - 2 ; case 1
.short _0206A0D6 - _0206A0C2 - 2 ; case 2
.short _0206A0D6 - _0206A0C2 - 2 ; case 3
.short _0206A0D6 - _0206A0C2 - 2 ; case 4
.short _0206A0D6 - _0206A0C2 - 2 ; case 5
.short _0206A0D6 - _0206A0C2 - 2 ; case 6
.short _0206A0D6 - _0206A0C2 - 2 ; case 7
.short _0206A0D6 - _0206A0C2 - 2 ; case 8
.short _0206A0D6 - _0206A0C2 - 2 ; case 9
_0206A0D6:
mov r0, #0
bx lr
_0206A0DA:
mov r0, #1
bx lr
.balign 4, 0
thumb_func_end sub_0206A0A4
thumb_func_start sub_0206A0E0
sub_0206A0E0: ; 0x0206A0E0
push {r3, r4, r5, r6, r7, lr}
add r6, r1, #0
add r7, r0, #0
add r0, r6, #0
add r5, r2, #0
bl sub_0206A304
add r4, r0, #0
add r0, r6, #0
bl sub_0206A310
cmp r0, #0
ble _0206A106
cmp r5, r0
bgt _0206A102
add r4, r4, r5
b _0206A106
_0206A102:
bl GF_AssertFail
_0206A106:
add r0, sp, #0
mov r1, #0x8d
add r2, r4, #0
bl ReadWholeNarcMemberByIdPair
add r1, sp, #0
ldrb r2, [r1, #1]
ldrb r1, [r1, #2]
add r0, r7, #0
lsl r2, r2, #8
orr r1, r2
lsl r1, r1, #0x10
lsr r1, r1, #0x10
mov r2, #1
bl sub_0205F2D0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0206A0E0
thumb_func_start sub_0206A128
sub_0206A128: ; 0x0206A128
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r6, r2, #0
add r5, r1, #0
add r4, r0, #0
add r0, r5, #0
add r1, r6, #0
add r2, r3, #0
bl sub_02069D70
str r0, [sp]
mov r0, #0x30
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r1, [sp, #0x24]
ldr r2, [sp, #0x28]
ldr r3, [sp, #0x20]
add r0, r4, #0
bl sub_0205E294
add r4, r0, #0
bne _0206A15A
bl GF_AssertFail
_0206A15A:
add r0, r4, #0
mov r1, #0xfd
bl sub_0205F248
add r0, r4, #0
mov r1, #0
bl sub_0205F268
add r0, r4, #0
mov r1, #0
bl sub_0205F270
ldr r1, _0206A1D0 ; =0x000025E4
add r0, r4, #0
bl sub_0205F278
add r0, r4, #0
mov r1, #0
mov r2, #2
bl sub_0205F2D0
lsl r2, r6, #0x18
ldr r3, [sp, #0x2c]
add r0, r4, #0
add r1, r5, #0
lsr r2, r2, #0x18
bl sub_02069EE8
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl sub_0205F318
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl sub_0205F320
mov r1, #9
add r0, r4, #0
lsl r1, r1, #0xa
bl sub_0205F20C
mov r1, #6
add r0, r4, #0
lsl r1, r1, #6
bl sub_0205F214
add r0, r4, #0
mov r1, #1
bl sub_0205F89C
add r0, r4, #0
mov r1, #1
bl sub_02069DC8
add r0, r4, #0
add sp, #0xc
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_0206A1D0: .word 0x000025E4
thumb_func_end sub_0206A128
thumb_func_start sub_0206A1D4
sub_0206A1D4: ; 0x0206A1D4
push {r4, lr}
mov r1, #0xc
bl AllocFromHeap
mov r1, #0
mov r2, #0xc
add r4, r0, #0
bl MIi_CpuFill8
mov r0, #0
strh r0, [r4, #4]
str r0, [r4]
strh r0, [r4, #6]
str r0, [r4, #8]
add r0, r4, #0
pop {r4, pc}
thumb_func_end sub_0206A1D4
thumb_func_start sub_0206A1F4
sub_0206A1F4: ; 0x0206A1F4
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #8]
add r4, r1, #0
cmp r0, #0
bne _0206A206
bl GF_AssertFail
pop {r3, r4, r5, pc}
_0206A206:
mov r1, #0xbb
mov r2, #0
bl GetMonData
add r1, sp, #0
mov r2, #0
strb r0, [r1]
ldrsb r0, [r1, r2]
add r3, r0, r4
cmp r3, #0x7f
ble _0206A222
mov r0, #0x7f
strb r0, [r1]
b _0206A232
_0206A222:
add r0, r2, #0
sub r0, #0x7f
cmp r3, r0
bge _0206A230
sub r2, #0x7f
strb r2, [r1]
b _0206A232
_0206A230:
strb r3, [r1]
_0206A232:
ldr r0, [r5, #8]
mov r1, #0xbb
add r2, sp, #0
bl sub_0206EC40
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0206A1F4
thumb_func_start sub_0206A240
sub_0206A240: ; 0x0206A240
push {r0, r1, r2, r3}
push {r3, lr}
ldr r0, [r0, #8]
cmp r0, #0
bne _0206A256
bl GF_AssertFail
pop {r3}
pop {r3}
add sp, #0x10
bx r3
_0206A256:
mov r1, #0xbb
add r2, sp, #0xc
bl sub_0206EC40
pop {r3}
pop {r3}
add sp, #0x10
bx r3
.balign 4, 0
thumb_func_end sub_0206A240
thumb_func_start sub_0206A268
sub_0206A268: ; 0x0206A268
push {r3, lr}
ldr r0, [r0, #8]
cmp r0, #0
bne _0206A278
bl GF_AssertFail
mov r0, #0
pop {r3, pc}
_0206A278:
mov r1, #0xbb
mov r2, #0
bl GetMonData
lsl r0, r0, #0x18
asr r0, r0, #0x18
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0206A268
thumb_func_start sub_0206A288
sub_0206A288: ; 0x0206A288
push {r3, r4, lr}
sub sp, #4
cmp r2, #0
beq _0206A2BC
ldrh r4, [r0, #6]
cmp r4, #0
beq _0206A2A2
ldrh r4, [r0, #4]
cmp r4, r2
bne _0206A2A2
ldr r4, [r0]
cmp r4, r3
beq _0206A2BC
_0206A2A2:
strh r2, [r0, #4]
str r3, [r0]
mov r3, #0
add r2, sp, #0
strb r3, [r2]
mov r2, #1
strh r2, [r0, #6]
str r1, [r0, #8]
add r0, r1, #0
mov r1, #0xbb
add r2, sp, #0
bl sub_0206EC40
_0206A2BC:
add sp, #4
pop {r3, r4, pc}
thumb_func_end sub_0206A288
thumb_func_start sub_0206A2C0
sub_0206A2C0: ; 0x0206A2C0
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldr r0, [r4, #8]
cmp r0, #0
bne _0206A2D4
bl GF_AssertFail
add sp, #4
pop {r3, r4, pc}
_0206A2D4:
mov r1, #0xbb
mov r2, #0
bl GetMonData
add r1, sp, #0
strb r0, [r1]
mov r0, #0
ldrsb r0, [r1, r0]
cmp r0, #0
bge _0206A2EE
add r0, r0, #1
strb r0, [r1]
b _0206A2F4
_0206A2EE:
ble _0206A2F4
sub r0, r0, #1
strb r0, [r1]
_0206A2F4:
ldr r0, [r4, #8]
mov r1, #0xbb
add r2, sp, #0
bl sub_0206EC40
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end sub_0206A2C0
thumb_func_start sub_0206A304
sub_0206A304: ; 0x0206A304
lsl r1, r0, #1
ldr r0, _0206A30C ; =0x020FF088
ldrh r0, [r0, r1]
bx lr
.balign 4, 0
_0206A30C: .word 0x020FF088
thumb_func_end sub_0206A304
thumb_func_start sub_0206A310
sub_0206A310: ; 0x0206A310
push {r3, lr}
cmp r0, #0
ble _0206A31C
ldr r1, _0206A330 ; =0x000001ED
cmp r0, r1
ble _0206A324
_0206A31C:
bl GF_AssertFail
mov r0, #0
b _0206A326
_0206A324:
sub r0, r0, #1
_0206A326:
lsl r1, r0, #1
ldr r0, _0206A334 ; =0x020FE8D4
ldrh r0, [r0, r1]
pop {r3, pc}
nop
_0206A330: .word 0x000001ED
_0206A334: .word 0x020FE8D4
thumb_func_end sub_0206A310
thumb_func_start sub_0206A338
sub_0206A338: ; 0x0206A338
push {r3, lr}
cmp r0, #0
ble _0206A344
ldr r1, _0206A358 ; =0x000001ED
cmp r0, r1
ble _0206A34C
_0206A344:
bl GF_AssertFail
mov r0, #0
b _0206A34E
_0206A34C:
sub r0, r0, #1
_0206A34E:
lsl r1, r0, #1
ldr r0, _0206A35C ; =0x020FECAE
ldrh r0, [r0, r1]
pop {r3, pc}
nop
_0206A358: .word 0x000001ED
_0206A35C: .word 0x020FECAE
thumb_func_end sub_0206A338
thumb_func_start sub_0206A360
sub_0206A360: ; 0x0206A360
push {r3, r4}
ldr r4, _0206A384 ; =0x0210FAE8
mov r2, #0xff
mov r3, #0
_0206A368:
ldr r1, [r4]
cmp r0, r1
bne _0206A374
lsl r0, r3, #0x18
lsr r2, r0, #0x18
b _0206A37C
_0206A374:
add r3, r3, #1
add r4, #0x3c
cmp r3, #0x19
blt _0206A368
_0206A37C:
add r0, r2, #0
pop {r3, r4}
bx lr
nop
_0206A384: .word 0x0210FAE8
thumb_func_end sub_0206A360
thumb_func_start sub_0206A388
sub_0206A388: ; 0x0206A388
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
str r0, [sp]
add r6, r1, #0
add r5, r2, #0
add r7, r3, #0
bl sub_0205064C
str r0, [sp, #4]
mov r0, #4
mov r1, #0x38
bl AllocFromHeapAtEnd
add r4, r0, #0
mov r0, #0
str r0, [r4]
str r0, [r4, #4]
ldr r0, [sp, #4]
bl sub_0203E340
str r0, [r4, #0xc]
mov r0, #0
strh r0, [r4, #0x18]
strh r0, [r4, #0x1a]
strh r6, [r4, #0x16]
cmp r5, #4
bhi _0206A3EA
add r1, r5, r5
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0206A3CA: ; jump table
.short _0206A3D4 - _0206A3CA - 2 ; case 0
.short _0206A3D8 - _0206A3CA - 2 ; case 1
.short _0206A3DE - _0206A3CA - 2 ; case 2
.short _0206A3E4 - _0206A3CA - 2 ; case 3
.short _0206A3E4 - _0206A3CA - 2 ; case 4
_0206A3D4:
str r0, [r4, #0x2c]
b _0206A3F2
_0206A3D8:
mov r0, #1
str r0, [r4, #0x2c]
b _0206A3F2
_0206A3DE:
mov r0, #2
str r0, [r4, #0x2c]
b _0206A3F2
_0206A3E4:
mov r0, #3
str r0, [r4, #0x2c]
b _0206A3F2
_0206A3EA:
bl GF_AssertFail
mov r0, #0
str r0, [r4, #0x2c]
_0206A3F2:
mov r0, #4
str r0, [r4, #8]
str r7, [r4, #0x30]
mov r0, #0
strh r0, [r4, #0x34]
strh r0, [r4, #0x36]
ldr r0, [sp]
ldr r1, _0206A40C ; =sub_0206A410
add r2, r4, #0
bl sub_02050530
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0206A40C: .word sub_0206A410
thumb_func_end sub_0206A388
thumb_func_start sub_0206A410
sub_0206A410: ; 0x0206A410
push {r4, r5, lr}
sub sp, #0xc
add r4, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r4, #0
bl sub_02050650
add r4, r0, #0
ldr r0, [r4]
cmp r0, #3
bls _0206A42C
b _0206A5BC
_0206A42C:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0206A438: ; jump table
.short _0206A440 - _0206A438 - 2 ; case 0
.short _0206A4D0 - _0206A438 - 2 ; case 1
.short _0206A4E0 - _0206A438 - 2 ; case 2
.short _0206A50C - _0206A438 - 2 ; case 3
_0206A440:
ldr r0, [r4, #0xc]
mov r1, #2
bl sub_0201CC20
strh r0, [r4, #0x14]
ldr r0, [r4, #0xc]
mov r1, #2
bl sub_0201CC2C
str r0, [r4, #0x1c]
ldr r0, [r4, #0xc]
mov r1, #0
bl sub_0201CC2C
str r0, [r4, #0x20]
ldr r0, [r4, #0xc]
mov r1, #1
bl sub_0201CC2C
str r0, [r4, #0x24]
ldr r0, [r4, #0xc]
mov r1, #3
bl sub_0201CC2C
str r0, [r4, #0x28]
ldr r0, [r4, #0xc]
mov r1, #2
mov r2, #0
mov r3, #1
bl sub_0201B1F4
mov r0, #3
mov r1, #0
bl sub_0201BB68
mov r0, #2
mov r1, #1
bl sub_0201BB68
mov r0, #0
mov r1, #2
bl sub_0201BB68
add r0, r4, #0
bl sub_0206A5D0
add r0, r4, #0
bl sub_0206A660
mov r0, #0
str r0, [sp]
ldr r0, _0206A5C4 ; =0x04000050
mov r1, #4
mov r2, #0x21
mov r3, #0x10
bl sub_020CF15C
mov r0, #0x10
mov r1, #1
str r0, [sp]
str r1, [sp, #4]
ldr r0, [r4, #8]
add r2, r1, #0
str r0, [sp, #8]
mov r0, #0
add r3, r0, #0
bl sub_0200FA24
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0206A5BC
_0206A4D0:
bl sub_0200FB5C
cmp r0, #0
beq _0206A5BC
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0206A5BC
_0206A4E0:
ldr r0, _0206A5C8 ; =gMain
ldr r1, [r0, #0x48]
mov r0, #1
tst r0, r1
beq _0206A4F6
mov r0, #0
strh r0, [r4, #0x18]
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0206A5BC
_0206A4F6:
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
cmp r0, #0x3c
ble _0206A5BC
mov r0, #0
strh r0, [r4, #0x18]
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0206A5BC
_0206A50C:
ldrh r0, [r4, #0x18]
cmp r0, #0x10
bhs _0206A536
ldrh r0, [r4, #0x1a]
add r0, r0, #1
strh r0, [r4, #0x1a]
ldrh r0, [r4, #0x1a]
cmp r0, #2
blo _0206A528
mov r0, #0
strh r0, [r4, #0x1a]
ldrh r0, [r4, #0x18]
add r0, r0, #1
strh r0, [r4, #0x18]
_0206A528:
ldrh r2, [r4, #0x18]
mov r0, #0x10
sub r1, r0, r2
lsl r0, r2, #8
orr r1, r0
ldr r0, _0206A5CC ; =0x04000052
strh r1, [r0]
_0206A536:
add r0, r4, #0
add r1, r5, #0
bl sub_0206A694
cmp r0, #0
beq _0206A5BC
ldrh r0, [r4, #0x18]
cmp r0, #0x10
blo _0206A5BC
mov r0, #2
mov r1, #0
bl sub_0201BC28
ldrh r3, [r4, #0x14]
ldr r0, [r4, #0xc]
mov r1, #2
lsl r3, r3, #0x18
mov r2, #0
lsr r3, r3, #0x18
bl sub_0201B1F4
ldr r1, [r4, #0x1c]
mov r0, #2
lsl r1, r1, #0x18
lsr r1, r1, #0x18
bl sub_0201BB68
ldr r1, [r4, #0x20]
mov r0, #0
lsl r1, r1, #0x18
lsr r1, r1, #0x18
bl sub_0201BB68
ldr r1, [r4, #0x24]
mov r0, #1
lsl r1, r1, #0x18
lsr r1, r1, #0x18
bl sub_0201BB68
ldr r1, [r4, #0x28]
mov r0, #3
lsl r1, r1, #0x18
lsr r1, r1, #0x18
bl sub_0201BB68
ldr r0, _0206A5C4 ; =0x04000050
mov r2, #0
strh r2, [r0]
ldr r3, [r4, #8]
mov r0, #2
mov r1, #0x20
bl sub_0201C1C4
ldr r0, [r4, #0xc]
mov r1, #2
bl sub_0201CAE0
ldr r0, [r4, #0x10]
mov r1, #1
bl sub_0201D54C
add r0, r4, #0
bl FreeToHeap
add sp, #0xc
mov r0, #1
pop {r4, r5, pc}
_0206A5BC:
mov r0, #0
add sp, #0xc
pop {r4, r5, pc}
nop
_0206A5C4: .word 0x04000050
_0206A5C8: .word gMain
_0206A5CC: .word 0x04000052
thumb_func_end sub_0206A410
thumb_func_start sub_0206A5D0
sub_0206A5D0: ; 0x0206A5D0
push {r3, r4, r5, lr}
sub sp, #0x10
add r4, r0, #0
mov r0, #0x16
lsl r0, r0, #4
str r0, [sp]
ldr r0, [r4, #8]
mov r1, #0x3c
str r0, [sp, #4]
ldrh r2, [r4, #0x16]
ldr r5, _0206A654 ; =0x0210FAF0
ldr r3, [r4, #0x2c]
mul r1, r2
mov r2, #0xc
mul r2, r3
add r1, r5, r1
ldr r1, [r2, r1]
mov r2, #0
mov r0, #0x96
add r3, r2, #0
bl GfGfxLoader_GXLoadPal
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, [r4, #8]
mov r1, #0x3c
str r0, [sp, #0xc]
ldrh r2, [r4, #0x16]
ldr r5, _0206A658 ; =0x0210FAF4
ldr r3, [r4, #0x2c]
mul r1, r2
mov r2, #0xc
mul r2, r3
add r1, r5, r1
ldr r1, [r2, r1]
ldr r2, [r4, #0xc]
mov r0, #0x96
mov r3, #2
bl GfGfxLoader_LoadCharData
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, [r4, #8]
mov r1, #0x3c
str r0, [sp, #0xc]
ldrh r2, [r4, #0x16]
ldr r5, _0206A65C ; =0x0210FAF8
ldr r3, [r4, #0x2c]
mul r1, r2
mov r2, #0xc
mul r2, r3
add r1, r5, r1
ldr r1, [r2, r1]
ldr r2, [r4, #0xc]
mov r0, #0x96
mov r3, #2
bl GfGfxLoader_LoadScrnData
add sp, #0x10
pop {r3, r4, r5, pc}
.balign 4, 0
_0206A654: .word 0x0210FAF0
_0206A658: .word 0x0210FAF4
_0206A65C: .word 0x0210FAF8
thumb_func_end sub_0206A5D0
thumb_func_start sub_0206A660
sub_0206A660: ; 0x0206A660
push {r3, r4, lr}
sub sp, #0x14
add r4, r0, #0
ldr r0, [r4, #8]
mov r1, #1
bl AllocWindows
str r0, [r4, #0x10]
mov r3, #0
str r3, [sp]
mov r0, #0x1c
str r0, [sp, #4]
mov r2, #2
str r2, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
mov r0, #0xb
lsl r0, r0, #6
str r0, [sp, #0x10]
ldr r0, [r4, #0xc]
ldr r1, [r4, #0x10]
bl sub_0201D40C
add sp, #0x14
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end sub_0206A660
thumb_func_start sub_0206A694
sub_0206A694: ; 0x0206A694
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r1, #0
ldr r1, [r0, #0x30]
cmp r1, #0
bne _0206A6A6
add sp, #0xc
mov r0, #1
pop {r3, r4, r5, r6, pc}
_0206A6A6:
add r4, r0, #0
ldrh r0, [r0, #0x34]
add r4, #0x34
cmp r0, #5
bhi _0206A790
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0206A6BC: ; jump table
.short _0206A6C8 - _0206A6BC - 2 ; case 0
.short _0206A6D8 - _0206A6BC - 2 ; case 1
.short _0206A714 - _0206A6BC - 2 ; case 2
.short _0206A72A - _0206A6BC - 2 ; case 3
.short _0206A74A - _0206A6BC - 2 ; case 4
.short _0206A78A - _0206A6BC - 2 ; case 5
_0206A6C8:
ldr r0, [r5, #0x40]
mov r1, #0
bl sub_0205C874
ldrh r0, [r4]
add r0, r0, #1
strh r0, [r4]
b _0206A790
_0206A6D8:
ldr r0, [r5, #0x40]
bl sub_0205C6DC
ldrh r1, [r4, #2]
add r6, r0, #0
add r1, r1, #1
strh r1, [r4, #2]
add r1, sp, #0
bl sub_0205F944
mov r0, #2
ldr r1, [sp, #4]
lsl r0, r0, #0xc
sub r0, r1, r0
str r0, [sp, #4]
add r0, r6, #0
add r1, sp, #0
bl sub_0205F954
ldrh r0, [r4, #2]
cmp r0, #0x10
blo _0206A790
ldr r0, [r5, #0x40]
mov r1, #1
bl sub_0205C874
ldrh r0, [r4]
add r0, r0, #1
strh r0, [r4]
b _0206A790
_0206A714:
ldr r0, [r5, #0x40]
mov r1, #1
bl ov01_021F1AFC
ldr r0, [r5, #0x40]
bl ov01_021F1B04
ldrh r0, [r4]
add r0, r0, #1
strh r0, [r4]
b _0206A790
_0206A72A:
ldr r0, [r5, #0x40]
bl sub_0205C6DC
add r5, r0, #0
bl sub_02062108
cmp r0, #0
beq _0206A790
add r0, r5, #0
mov r1, #1
bl sub_0206214C
ldrh r0, [r4]
add r0, r0, #1
strh r0, [r4]
b _0206A790
_0206A74A:
ldr r0, [r5, #0x40]
bl sub_0205C6DC
bl sub_02062108
cmp r0, #0
beq _0206A790
add r0, r5, #0
bl sub_02069F88
cmp r0, #0
beq _0206A782
add r0, r5, #0
mov r1, #1
bl ov01_02205790
add r0, r5, #0
bl sub_02069D68
mov r1, #0x30
bl sub_0205FC94
add r0, r5, #0
bl sub_02069D68
mov r1, #1
bl sub_02069DC8
_0206A782:
ldrh r0, [r4]
add r0, r0, #1
strh r0, [r4]
b _0206A790
_0206A78A:
add sp, #0xc
mov r0, #1
pop {r3, r4, r5, r6, pc}
_0206A790:
mov r0, #0
add sp, #0xc
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0206A694
thumb_func_start sub_0206A798
sub_0206A798: ; 0x0206A798
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
add r5, r0, #0
add r6, r1, #0
mov r0, #0xb
mov r1, #0xdc
bl AllocFromHeapAtEnd
mov r1, #0
mov r2, #0xdc
add r4, r0, #0
bl MIi_CpuFill8
mov r0, #0
strb r0, [r4, #0x14]
strb r0, [r4, #0x15]
strb r0, [r4, #0x17]
ldr r0, [r5, #0x40]
bl sub_0205C67C
strh r0, [r4, #0x30]
ldr r0, [r5, #0x40]
bl sub_0205C688
strh r0, [r4, #0x32]
ldr r0, [r5, #0x40]
bl sub_0205C654
strh r0, [r4, #0x34]
ldr r0, [r5, #0x20]
ldr r0, [r0]
strh r0, [r4, #0x36]
add r0, r5, #0
bl sub_02069F88
cmp r0, #0
beq _0206A7FE
add r0, r5, #0
bl sub_02069D68
add r1, r4, #0
add r7, r0, #0
add r1, #0xcc
bl sub_0205F944
add r0, r7, #0
bl sub_0205F2A8
add r1, r4, #0
add r1, #0xd8
strb r0, [r1]
_0206A7FE:
add r0, r5, #0
bl sub_0203E344
bl sub_0202FA64
bl sub_0202FA88
cmp r0, #0xff
beq _0206A858
mov r1, #1
add r0, sp, #0x18
lsl r1, r1, #8
add r2, r6, #0
bl ReadWholeNarcMemberByIdPair
add r3, sp, #0x18
ldrh r0, [r3, #4]
add r1, r5, #0
str r0, [sp]
ldrh r0, [r3, #6]
str r0, [sp, #4]
ldrh r0, [r3, #0xc]
str r0, [sp, #8]
ldrh r0, [r3, #0xe]
str r0, [sp, #0xc]
ldrb r0, [r3, #9]
str r0, [sp, #0x10]
ldrh r0, [r3, #0xa]
str r0, [sp, #0x14]
ldrh r2, [r3, #2]
add r0, r4, #0
ldrh r3, [r3]
lsl r2, r2, #0x18
add r0, #0x44
lsr r2, r2, #0x18
bl sub_0206B014
add r0, r4, #0
add r0, #0x44
str r0, [r4, #0x40]
ldr r0, [r5, #0x10]
ldr r1, _0206A85C ; =sub_0206B270
add r2, r4, #0
bl sub_02050530
_0206A858:
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0206A85C: .word sub_0206B270
thumb_func_end sub_0206A798
thumb_func_start sub_0206A860
sub_0206A860: ; 0x0206A860
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0xb
mov r1, #0xbc
bl AllocFromHeapAtEnd
mov r1, #0
mov r2, #0xbc
add r4, r0, #0
bl MIi_CpuFill8
ldr r0, [r5, #0x40]
bl sub_0205C67C
add r1, r4, #0
add r1, #0x94
strh r0, [r1]
ldr r0, [r5, #0x40]
bl sub_0205C688
add r1, r4, #0
add r1, #0x96
strh r0, [r1]
ldr r0, [r5, #0x40]
bl sub_0205C654
add r1, r4, #0
add r1, #0x98
strh r0, [r1]
ldr r0, [r5, #0x20]
ldr r1, [r0]
add r0, r4, #0
add r0, #0x9a
strh r1, [r0]
ldr r0, [r5, #0xc]
bl sub_0202FA64
add r1, r4, #0
add r1, #0xb8
str r0, [r1]
ldr r0, [r5, #0x10]
ldr r1, _0206A8BC ; =sub_0206A8E4
add r2, r4, #0
bl sub_02050530
pop {r3, r4, r5, pc}
.balign 4, 0
_0206A8BC: .word sub_0206A8E4
thumb_func_end sub_0206A860
thumb_func_start sub_0206A8C0
sub_0206A8C0: ; 0x0206A8C0
push {r4, lr}
add r4, r1, #0
add r1, r0, #0
add r1, #0xc
str r1, [r4]
ldrb r1, [r0, #0xa]
add r0, #0xb8
strb r1, [r4, #4]
ldr r0, [r0]
bl sub_0202FAB0
strb r0, [r4, #5]
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0206A8C0
thumb_func_start sub_0206A8DC
sub_0206A8DC: ; 0x0206A8DC
add r0, #0x90
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end sub_0206A8DC
thumb_func_start sub_0206A8E4
sub_0206A8E4: ; 0x0206A8E4
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r5, #0
bl sub_02050650
add r4, r0, #0
ldr r0, [r4]
cmp r0, #8
bhi _0206A99C
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0206A908: ; jump table
.short _0206A91A - _0206A908 - 2 ; case 0
.short _0206A928 - _0206A908 - 2 ; case 1
.short _0206A936 - _0206A908 - 2 ; case 2
.short _0206A944 - _0206A908 - 2 ; case 3
.short _0206A952 - _0206A908 - 2 ; case 4
.short _0206A960 - _0206A908 - 2 ; case 5
.short _0206A96E - _0206A908 - 2 ; case 6
.short _0206A97C - _0206A908 - 2 ; case 7
.short _0206A98A - _0206A908 - 2 ; case 8
_0206A91A:
add r0, r6, #0
add r1, r5, #0
add r2, r4, #0
bl sub_0206A9A0
str r0, [r4]
b _0206A99C
_0206A928:
add r0, r6, #0
add r1, r5, #0
add r2, r4, #0
bl sub_0206A9B4
str r0, [r4]
b _0206A99C
_0206A936:
add r0, r6, #0
add r1, r5, #0
add r2, r4, #0
bl sub_0206A9E8
str r0, [r4]
b _0206A99C
_0206A944:
add r0, r6, #0
add r1, r5, #0
add r2, r4, #0
bl sub_0206AAE4
str r0, [r4]
b _0206A99C
_0206A952:
add r0, r6, #0
add r1, r5, #0
add r2, r4, #0
bl sub_0206AAD4
str r0, [r4]
b _0206A99C
_0206A960:
add r0, r6, #0
add r1, r5, #0
add r2, r4, #0
bl sub_0206AB2C
str r0, [r4]
b _0206A99C
_0206A96E:
add r0, r6, #0
add r1, r5, #0
add r2, r4, #0
bl sub_0206AA4C
str r0, [r4]
b _0206A99C
_0206A97C:
add r0, r6, #0
add r1, r5, #0
add r2, r4, #0
bl sub_0206AB78
str r0, [r4]
b _0206A99C
_0206A98A:
add r0, r6, #0
mov r1, #0
bl sub_02067A80
add r0, r4, #0
bl FreeToHeap
mov r0, #1
pop {r4, r5, r6, pc}
_0206A99C:
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_0206A8E4
thumb_func_start sub_0206A9A0
sub_0206A9A0: ; 0x0206A9A0
push {r4, lr}
add r4, r2, #0
ldrb r2, [r4, #0xa]
mov r1, #0
bl sub_0203EBA4
add r4, #0xb4
str r0, [r4]
mov r0, #1
pop {r4, pc}
thumb_func_end sub_0206A9A0
thumb_func_start sub_0206A9B4
sub_0206A9B4: ; 0x0206A9B4
push {r3, r4, r5, lr}
add r5, r2, #0
bl sub_020505A0
cmp r0, #0
beq _0206A9C4
mov r0, #1
pop {r3, r4, r5, pc}
_0206A9C4:
add r0, r5, #0
add r0, #0xb4
ldr r0, [r0]
ldrb r4, [r0, #1]
strb r4, [r5, #8]
ldrb r0, [r0, #2]
strb r0, [r5, #0xa]
add r5, #0xb4
ldr r0, [r5]
bl FreeToHeap
cmp r4, #1
bne _0206A9E2
mov r0, #2
pop {r3, r4, r5, pc}
_0206A9E2:
mov r0, #7
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0206A9B4
thumb_func_start sub_0206A9E8
sub_0206A9E8: ; 0x0206A9E8
push {r4, r5, r6, lr}
add r5, r0, #0
mov r0, #0xb
mov r1, #0x10
add r4, r2, #0
bl AllocFromHeapAtEnd
mov r1, #0
mov r2, #0x10
add r6, r0, #0
bl MIi_CpuFill8
add r0, r4, #0
add r0, #0xb8
add r1, r4, #0
ldrb r2, [r4, #0xa]
ldr r0, [r0]
add r1, #0xc
bl sub_0202FB14
add r0, r4, #0
add r0, #0x50
ldrh r0, [r0]
cmp r0, #0
beq _0206AA1E
mov r0, #2
b _0206AA20
_0206AA1E:
ldrb r0, [r4, #0x13]
_0206AA20:
strb r0, [r4, #0xb]
add r0, r4, #0
mov r1, #0
add r0, #0x90
str r1, [r0]
str r4, [r6, #8]
ldr r0, [r5, #0x70]
ldr r1, _0206AA48 ; =sub_0206ABB0
strb r0, [r4, #9]
mov r0, #5
str r0, [r5, #0x70]
add r0, r5, #0
add r0, #0xdc
str r4, [r0]
ldr r0, [r5, #0x10]
add r2, r6, #0
bl sub_02050530
mov r0, #3
pop {r4, r5, r6, pc}
.balign 4, 0
_0206AA48: .word sub_0206ABB0
thumb_func_end sub_0206A9E8
thumb_func_start sub_0206AA4C
sub_0206AA4C: ; 0x0206AA4C
push {r3, r4, r5, r6, r7, lr}
add r5, r2, #0
str r1, [sp]
ldr r1, [r5, #4]
cmp r1, #0
beq _0206AA5E
cmp r1, #1
beq _0206AA9A
b _0206AACE
_0206AA5E:
bl sub_020148F4
ldrb r0, [r5, #0xb]
mov r6, #0
cmp r0, #0
ble _0206AA8C
add r4, r5, #0
add r7, r6, #0
_0206AA6E:
add r0, r4, #0
add r0, #0x9c
ldr r0, [r0]
cmp r0, #0
beq _0206AA82
bl sub_0205E3CC
add r0, r4, #0
add r0, #0x9c
str r7, [r0]
_0206AA82:
ldrb r0, [r5, #0xb]
add r6, r6, #1
add r4, r4, #4
cmp r6, r0
blt _0206AA6E
_0206AA8C:
ldr r0, [sp]
bl sub_0205525C
ldr r0, [r5, #4]
add r0, r0, #1
str r0, [r5, #4]
b _0206AACE
_0206AA9A:
ldrb r1, [r5, #9]
str r1, [r0, #0x70]
mov r1, #0
add r0, #0xdc
str r1, [r0]
add r0, r5, #0
str r1, [r5, #4]
add r0, #0x90
ldr r0, [r0]
cmp r0, #2
beq _0206AAB6
cmp r0, #3
beq _0206AAC0
b _0206AACA
_0206AAB6:
ldrb r0, [r5, #0xa]
sub r0, r0, #1
strb r0, [r5, #0xa]
mov r0, #2
pop {r3, r4, r5, r6, r7, pc}
_0206AAC0:
ldrb r0, [r5, #0xa]
add r0, r0, #1
strb r0, [r5, #0xa]
mov r0, #2
pop {r3, r4, r5, r6, r7, pc}
_0206AACA:
add r0, r1, #0
pop {r3, r4, r5, r6, r7, pc}
_0206AACE:
mov r0, #6
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0206AA4C
thumb_func_start sub_0206AAD4
sub_0206AAD4: ; 0x0206AAD4
add r2, #0x90
ldr r0, [r2]
cmp r0, #0
bne _0206AAE0
mov r0, #4
bx lr
_0206AAE0:
mov r0, #5
bx lr
thumb_func_end sub_0206AAD4
thumb_func_start sub_0206AAE4
sub_0206AAE4: ; 0x0206AAE4
push {r3, r4, lr}
sub sp, #0xc
add r4, r2, #0
ldr r0, [r4, #4]
cmp r0, #0
beq _0206AAF6
cmp r0, #1
beq _0206AB14
b _0206AB26
_0206AAF6:
mov r0, #6
str r0, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0xb
str r0, [sp, #8]
mov r0, #0
add r2, r1, #0
add r3, r0, #0
bl sub_0200FA24
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
b _0206AB26
_0206AB14:
bl sub_0200FB5C
cmp r0, #0
beq _0206AB26
mov r0, #0
str r0, [r4, #4]
add sp, #0xc
mov r0, #4
pop {r3, r4, pc}
_0206AB26:
mov r0, #3
add sp, #0xc
pop {r3, r4, pc}
thumb_func_end sub_0206AAE4
thumb_func_start sub_0206AB2C
sub_0206AB2C: ; 0x0206AB2C
push {r3, r4, lr}
sub sp, #0xc
add r4, r2, #0
ldr r0, [r4, #4]
cmp r0, #0
beq _0206AB3E
cmp r0, #1
beq _0206AB5E
b _0206AB70
_0206AB3E:
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0xb
str r0, [sp, #8]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl sub_0200FA24
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
b _0206AB70
_0206AB5E:
bl sub_0200FB5C
cmp r0, #0
beq _0206AB70
mov r0, #0
str r0, [r4, #4]
add sp, #0xc
mov r0, #6
pop {r3, r4, pc}
_0206AB70:
mov r0, #5
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end sub_0206AB2C
thumb_func_start sub_0206AB78
sub_0206AB78: ; 0x0206AB78
push {r3, r4, lr}
sub sp, #0x14
add r0, r2, #0
add r0, #0x98
ldrh r3, [r0]
add r0, r2, #0
add r4, r2, #0
add r0, #0x96
add r4, #0x94
add r2, #0x9a
ldrh r0, [r0]
ldrh r4, [r4]
ldrh r2, [r2]
str r2, [sp]
mov r2, #0
mvn r2, r2
str r0, [sp, #0xc]
add r0, r1, #0
add r1, sp, #0
str r2, [sp, #4]
str r4, [sp, #8]
str r3, [sp, #0x10]
bl sub_020537A8
mov r0, #8
add sp, #0x14
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end sub_0206AB78
thumb_func_start sub_0206ABB0
sub_0206ABB0: ; 0x0206ABB0
push {r4, r5, r6, r7, lr}
sub sp, #0x54
add r7, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r7, #0
bl sub_02050650
add r4, r0, #0
ldr r0, [r4, #8]
ldr r1, [r4]
add r5, r0, #0
add r5, #0xc
cmp r1, #9
bls _0206ABD2
b _0206AEA2
_0206ABD2:
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0206ABDE: ; jump table
.short _0206ABF2 - _0206ABDE - 2 ; case 0
.short _0206AC28 - _0206ABDE - 2 ; case 1
.short _0206AC36 - _0206ABDE - 2 ; case 2
.short _0206AC98 - _0206ABDE - 2 ; case 3
.short _0206ACD6 - _0206ABDE - 2 ; case 4
.short _0206AD44 - _0206ABDE - 2 ; case 5
.short _0206ADA4 - _0206ABDE - 2 ; case 6
.short _0206ADCA - _0206ABDE - 2 ; case 7
.short _0206ADFA - _0206ABDE - 2 ; case 8
.short _0206AE50 - _0206ABDE - 2 ; case 9
_0206ABF2:
add r0, r6, #0
mov r1, #1
bl sub_02067A80
ldrh r0, [r5, #0x3c]
ldrh r1, [r5, #0x3e]
bl sub_02014904
ldrh r2, [r5, #0x36]
ldrh r1, [r5, #0x34]
ldrh r0, [r5, #0x32]
str r0, [sp, #0x40]
mov r0, #0
mvn r0, r0
str r0, [sp, #0x44]
mov r0, #1
str r1, [sp, #0x48]
str r0, [sp, #0x50]
str r2, [sp, #0x4c]
add r0, r7, #0
add r1, sp, #0x40
bl sub_020537A8
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0206AEA2
_0206AC28:
add r0, r7, #0
bl sub_020552A4
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0206AEA2
_0206AC36:
ldr r0, [r6, #0x24]
bl sub_0206AFD0
add r0, r6, #0
add r1, r5, #0
bl sub_0206AF78
add r0, r6, #0
add r1, r5, #0
bl sub_0206B880
ldr r1, _0206AEA8 ; =0xBCFC0304
ldr r0, _0206AEAC ; =0x021DA51C
str r1, [r0, #0x20]
add r0, r6, #0
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
bl PlayerProfile_GetTrainerGender
add r5, #0x30
lsl r0, r0, #0x18
lsr r2, r0, #0x18
ldrb r1, [r5]
ldr r0, [r6, #0x40]
bl sub_0206B82C
ldr r0, [r6, #0x40]
bl sub_0205C6DC
add r1, sp, #0x34
bl sub_0205F96C
mov r0, #2
ldr r1, [sp, #0x38]
lsl r0, r0, #0xc
sub r0, r1, r0
str r0, [sp, #0x38]
ldr r0, [r6, #0x40]
bl sub_0205C6DC
add r1, sp, #0x34
bl sub_0205F97C
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0206AEA2
_0206AC98:
ldr r0, [r6, #0x3c]
bl sub_0205F1A0
add r1, r0, #0
ldr r0, [r6, #0x3c]
bl ov01_021F9FB0
add r0, r6, #0
add r0, #0xc8
ldr r0, [r0]
bl ov01_022043D8
add r0, r6, #0
add r0, #0xc8
ldr r0, [r0]
bl ov01_02204424
ldr r0, [r6, #4]
ldr r0, [r0, #0x10]
bl ov01_021EB1E8
add r5, #0x44
ldrh r0, [r5]
cmp r0, #0
beq _0206ACD0
mov r0, #6
str r0, [r4]
b _0206AEA2
_0206ACD0:
mov r0, #4
str r0, [r4]
b _0206AEA2
_0206ACD6:
ldrb r1, [r4, #0xc]
add r2, r5, #0
add r2, #0x6c
lsl r1, r1, #2
ldrh r7, [r2, r1]
add r3, r2, r1
cmp r7, #0
beq _0206AD36
ldr r2, _0206AEB0 ; =0x020FF468
mov r0, #1
str r0, [sp]
ldrh r0, [r5, #0x34]
ldrh r2, [r2, r1]
add r0, r0, r2
ldr r2, _0206AEB4 ; =0x020FF46A
str r0, [sp, #4]
ldrh r0, [r5, #0x36]
ldrh r1, [r2, r1]
add r0, r0, r1
str r0, [sp, #8]
ldrb r0, [r3, #3]
add r1, r7, #0
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
str r0, [sp, #0xc]
ldrb r2, [r3, #2]
ldrb r3, [r3, #3]
ldr r0, [r6, #0x3c]
lsl r3, r3, #0x1e
lsr r3, r3, #0x1f
bl sub_0206AEC0
ldrb r1, [r4, #0xc]
ldr r2, [r4, #8]
lsl r1, r1, #2
add r1, r2, r1
add r1, #0x9c
str r0, [r1]
ldrb r0, [r4, #0xc]
ldr r1, [r4, #8]
lsl r0, r0, #2
add r0, r1, r0
add r0, #0x9c
ldr r0, [r0]
ldr r1, _0206AEB8 ; =0x021F7919
bl sub_0205F47C
b _0206AD3E
_0206AD36:
add r0, r0, r1
mov r2, #0
add r0, #0x9c
str r2, [r0]
_0206AD3E:
mov r0, #5
str r0, [r4]
b _0206AEA2
_0206AD44:
ldrb r1, [r4, #0xc]
lsl r1, r1, #2
add r0, r0, r1
add r0, #0x9c
ldr r6, [r0]
cmp r6, #0
beq _0206AD84
add r0, r6, #0
bl ov01_0220553C
cmp r0, #0
beq _0206AD64
mov r0, #1
add r1, r6, #0
bl ov01_021F902C
_0206AD64:
add r0, r6, #0
add r1, sp, #0x28
bl sub_0205F96C
mov r0, #2
ldr r1, [sp, #0x2c]
lsl r0, r0, #0xc
sub r0, r1, r0
str r0, [sp, #0x2c]
add r0, r6, #0
add r1, sp, #0x28
bl sub_0205F97C
add r0, r6, #0
bl sub_0205F484
_0206AD84:
ldrb r0, [r4, #0xc]
add r0, r0, #1
strb r0, [r4, #0xc]
ldrb r1, [r4, #0xc]
ldrb r0, [r5, #7]
cmp r1, r0
blo _0206AD9E
add r0, r4, #0
bl FreeToHeap
add sp, #0x54
mov r0, #1
pop {r4, r5, r6, r7, pc}
_0206AD9E:
mov r0, #4
str r0, [r4]
b _0206AEA2
_0206ADA4:
ldrh r0, [r5, #0x36]
add r1, r5, #0
add r1, #0x44
str r0, [sp]
mov r0, #0xf9
str r0, [sp, #4]
ldrh r3, [r5, #0x34]
ldrh r1, [r1]
ldr r0, [r6, #0x3c]
mov r2, #1
add r3, r3, #2
bl sub_0206AF08
ldr r1, [r4, #8]
add r1, #0x9c
str r0, [r1]
mov r0, #7
str r0, [r4]
b _0206AEA2
_0206ADCA:
add r0, #0x9c
ldr r0, [r0]
add r1, sp, #0x1c
bl sub_0205F96C
mov r0, #2
ldr r1, [sp, #0x20]
lsl r0, r0, #0xc
sub r0, r1, r0
str r0, [sp, #0x20]
ldr r0, [r4, #8]
add r1, sp, #0x1c
add r0, #0x9c
ldr r0, [r0]
bl sub_0205F97C
ldr r0, [r4, #8]
add r0, #0x9c
ldr r0, [r0]
bl sub_0205F484
mov r0, #8
str r0, [r4]
b _0206AEA2
_0206ADFA:
add r1, r5, #0
add r1, #0x6c
ldrh r1, [r1]
add r3, r5, #0
add r3, #0x6c
cmp r1, #0
beq _0206AE44
mov r0, #1
str r0, [sp]
ldrh r0, [r5, #0x34]
add r0, r0, #1
str r0, [sp, #4]
ldrh r2, [r5, #0x36]
ldr r0, _0206AEBC ; =0x0000FFFF
add r0, r2, r0
str r0, [sp, #8]
ldrb r0, [r3, #3]
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
str r0, [sp, #0xc]
ldrb r2, [r3, #2]
ldrb r3, [r3, #3]
ldr r0, [r6, #0x3c]
lsl r3, r3, #0x1e
lsr r3, r3, #0x1f
bl sub_0206AEC0
ldr r1, [r4, #8]
add r1, #0xa0
str r0, [r1]
ldr r0, [r4, #8]
ldr r1, _0206AEB8 ; =0x021F7919
add r0, #0xa0
ldr r0, [r0]
bl sub_0205F47C
b _0206AE4A
_0206AE44:
mov r1, #0
add r0, #0xa0
str r1, [r0]
_0206AE4A:
mov r0, #9
str r0, [r4]
b _0206AEA2
_0206AE50:
add r0, #0xa0
ldr r0, [r0]
cmp r0, #0
beq _0206AE96
add r1, sp, #0x10
bl sub_0205F96C
mov r0, #2
ldr r1, [sp, #0x14]
lsl r0, r0, #0xc
sub r0, r1, r0
str r0, [sp, #0x14]
ldr r0, [r4, #8]
add r1, sp, #0x10
add r0, #0xa0
ldr r0, [r0]
bl sub_0205F97C
ldr r0, [r4, #8]
add r0, #0xa0
ldr r0, [r0]
bl sub_0205F484
ldr r0, [r4, #8]
add r0, #0xa0
ldr r5, [r0]
add r0, r5, #0
bl ov01_0220553C
cmp r0, #0
beq _0206AE96
mov r0, #1
add r1, r5, #0
bl ov01_021F902C
_0206AE96:
add r0, r4, #0
bl FreeToHeap
add sp, #0x54
mov r0, #1
pop {r4, r5, r6, r7, pc}
_0206AEA2:
mov r0, #0
add sp, #0x54
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0206AEA8: .word 0xBCFC0304
_0206AEAC: .word 0x021DA51C
_0206AEB0: .word 0x020FF468
_0206AEB4: .word 0x020FF46A
_0206AEB8: .word 0x021F7919
_0206AEBC: .word 0x0000FFFF
thumb_func_end sub_0206ABB0
thumb_func_start sub_0206AEC0
sub_0206AEC0: ; 0x0206AEC0
push {r4, r5, r6, lr}
sub sp, #8
add r6, r2, #0
add r5, r1, #0
add r4, r0, #0
add r0, r5, #0
add r1, r6, #0
add r2, r3, #0
bl sub_02069D70
add r1, r0, #0
ldr r0, [sp, #0x20]
ldr r2, [sp, #0x18]
str r0, [sp]
mov r0, #0xfd
str r0, [sp, #4]
ldr r3, [sp, #0x1c]
add r0, r4, #0
bl sub_0206AF08
mov r1, #0
mov r2, #2
add r4, r0, #0
bl sub_0205F2D0
lsl r2, r6, #0x18
ldr r3, [sp, #0x24]
add r0, r4, #0
add r1, r5, #0
lsr r2, r2, #0x18
bl sub_02069EE8
add r0, r4, #0
add sp, #8
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0206AEC0
thumb_func_start sub_0206AF08
sub_0206AF08: ; 0x0206AF08
push {r3, r4, lr}
sub sp, #0xc
str r1, [sp]
mov r1, #0
add r4, r2, #0
str r1, [sp, #4]
mov r1, #1
str r1, [sp, #8]
add r1, r3, #0
ldr r2, [sp, #0x18]
add r3, r4, #0
bl sub_0205E294
add r4, r0, #0
bne _0206AF2A
bl GF_AssertFail
_0206AF2A:
ldr r1, [sp, #0x1c]
add r0, r4, #0
bl sub_0205F248
add r0, r4, #0
mov r1, #0
bl sub_0205F268
add r0, r4, #0
mov r1, #0
bl sub_0205F270
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl sub_0205F318
mov r1, #0
add r0, r4, #0
mvn r1, r1
bl sub_0205F320
mov r1, #9
add r0, r4, #0
lsl r1, r1, #0xa
bl sub_0205F20C
mov r1, #6
add r0, r4, #0
lsl r1, r1, #6
bl sub_0205F214
add r0, r4, #0
mov r1, #1
bl sub_0205F89C
add r0, r4, #0
add sp, #0xc
pop {r3, r4, pc}
thumb_func_end sub_0206AF08
thumb_func_start sub_0206AF78
sub_0206AF78: ; 0x0206AF78
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
mov r0, #0
str r0, [sp, #4]
ldr r0, [r5, #0x40]
bl sub_0205C6DC
add r4, sp, #0
add r6, sp, #4
mov r7, #1
_0206AF8E:
ldr r0, [r5, #0x3c]
add r1, r4, #0
add r2, r6, #0
add r3, r7, #0
bl sub_0205EEF4
cmp r0, #0
bne _0206AF8E
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0206AF78
thumb_func_start sub_0206AFA4
sub_0206AFA4: ; 0x0206AFA4
push {r4, r5, r6, lr}
add r6, r0, #0
add r0, #0xcb
ldrb r0, [r0]
mov r4, #0
cmp r0, #0
ble _0206AFCC
add r5, r6, #0
_0206AFB4:
ldr r0, [r5, #0x18]
cmp r0, #0
beq _0206AFBE
bl sub_0205E3CC
_0206AFBE:
add r0, r6, #0
add r0, #0xcb
ldrb r0, [r0]
add r4, r4, #1
add r5, r5, #4
cmp r4, r0
blt _0206AFB4
_0206AFCC:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0206AFA4
thumb_func_start sub_0206AFD0
sub_0206AFD0: ; 0x0206AFD0
push {r4, lr}
add r4, r0, #0
ldr r0, _0206B008 ; =0x021100C4
add r1, r4, #0
ldr r0, [r0]
bl sub_020235D4
ldr r0, _0206B00C ; =0x021100C8
add r1, r4, #0
bl sub_02023558
ldr r0, _0206B008 ; =0x021100C4
add r1, r4, #0
ldrh r0, [r0, #0xe]
bl sub_02023494
ldr r0, _0206B008 ; =0x021100C4
add r1, r4, #0
ldrh r0, [r0, #0xc]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_020233D8
ldr r0, _0206B010 ; =0x021100DC
add r1, r4, #0
bl sub_02023514
pop {r4, pc}
.balign 4, 0
_0206B008: .word 0x021100C4
_0206B00C: .word 0x021100C8
_0206B010: .word 0x021100DC
thumb_func_end sub_0206AFD0
thumb_func_start sub_0206B014
sub_0206B014: ; 0x0206B014
push {r4, r5, r6, r7, lr}
sub sp, #0x3c
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
str r2, [sp]
str r3, [sp, #4]
bl sub_0203E344
add r7, r0, #0
bl Sav2_PlayerData_GetProfileAddr
add r6, r0, #0
add r0, r7, #0
bl SavArray_PlayerParty_get
str r0, [sp, #8]
add r0, r5, #0
bl sub_0202FB98
add r0, sp, #0x2c
bl GF_RTC_CopyDate
ldr r0, [sp, #0x34]
ldr r3, [sp, #0x30]
lsl r0, r0, #0x18
lsr r1, r0, #0x10
ldr r0, [sp, #0x2c]
lsl r3, r3, #0x18
lsl r0, r0, #0x18
lsr r3, r3, #8
orr r0, r3
ldr r2, [sp, #0x38]
orr r0, r1
orr r0, r2
str r0, [r5, #0x38]
ldr r0, [sp, #8]
bl GetPartyCount
str r0, [sp, #0xc]
add r0, r6, #0
bl PlayerProfile_GetNamePtr
add r1, r0, #0
add r0, r5, #0
add r0, #8
bl CopyU16StringArray
add r0, r6, #0
bl PlayerProfile_GetTrainerGender
ldrb r1, [r5, #4]
mov r2, #1
lsl r0, r0, #0x18
bic r1, r2
lsr r2, r0, #0x18
mov r0, #1
and r0, r2
orr r0, r1
strb r0, [r5, #4]
ldr r0, [r4, #0x40]
bl sub_0205C700
add r1, r5, #0
add r1, #0x30
strb r0, [r1]
ldr r0, [sp, #0x50]
strh r0, [r5, #0x34]
ldr r0, [sp, #0x54]
strh r0, [r5, #0x36]
ldr r0, [sp, #4]
strh r0, [r5, #0x32]
ldrb r1, [r5, #4]
mov r0, #0xfe
bic r1, r0
ldr r0, [sp]
lsl r0, r0, #0x19
lsr r0, r0, #0x18
orr r0, r1
strb r0, [r5, #4]
add r0, sp, #0x20
bl GF_RTC_CopyTime
ldr r0, [sp, #0x20]
add r1, r5, #0
strh r0, [r5, #0x3c]
ldr r0, [sp, #0x24]
add r1, #0x48
strh r0, [r5, #0x3e]
ldr r0, _0206B26C ; =0x021100C4
mov r2, #0x24
bl MIi_CpuCopy8
add r0, r5, #0
ldr r1, [sp, #0x58]
add r0, #0x40
strh r1, [r0]
add r0, r5, #0
ldr r1, [sp, #0x5c]
add r0, #0x42
strh r1, [r0]
add r1, sp, #0x40
add r0, r5, #0
ldrh r2, [r1, #0x20]
add r0, #0x46
strh r2, [r0]
add r0, r5, #0
ldrh r1, [r1, #0x24]
add r0, #0x44
strh r1, [r0]
add r0, r5, #0
add r0, #0x44
ldrh r0, [r0]
cmp r0, #0
beq _0206B0FE
mov r0, #1
b _0206B100
_0206B0FE:
ldr r0, [sp, #0xc]
_0206B100:
strb r0, [r5, #7]
ldr r0, [sp, #8]
bl sub_02054388
add r2, r5, #0
mov r1, #0x75
add r2, #0x18
add r4, r0, #0
bl GetMonData
add r0, r5, #0
add r0, #0x44
ldrh r0, [r0]
cmp r0, #0
bne _0206B1D2
ldr r0, [sp, #0xc]
mov r7, #0
cmp r0, #0
bgt _0206B128
b _0206B266
_0206B128:
mov r0, #1
str r0, [sp, #0x1c]
mov r0, #2
str r0, [sp, #0x18]
mov r0, #1
add r4, r5, #0
str r0, [sp, #0x14]
mov r0, #2
add r4, #0x6f
str r0, [sp, #0x10]
_0206B13C:
ldr r0, [sp, #8]
add r1, r7, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r6, r0, #0
bl GetMonData
cmp r0, #0
beq _0206B172
add r1, r5, #0
add r1, #0x6c
mov r0, #0
strh r0, [r1]
add r1, r5, #0
add r1, #0x6e
strb r0, [r1]
ldrb r1, [r4]
ldr r0, [sp, #0x14]
bic r1, r0
strb r1, [r4]
ldrb r1, [r4]
ldr r0, [sp, #0x10]
bic r1, r0
strb r1, [r4]
b _0206B1C2
_0206B172:
add r0, r6, #0
mov r1, #5
mov r2, #0
bl GetMonData
add r1, r5, #0
add r1, #0x6c
strh r0, [r1]
add r0, r6, #0
mov r1, #0x70
mov r2, #0
bl GetMonData
add r1, r5, #0
add r1, #0x6e
strb r0, [r1]
add r0, r6, #0
bl sub_0207003C
ldrb r1, [r4]
ldr r2, [sp, #0x1c]
bic r1, r2
mov r2, #1
and r0, r2
orr r0, r1
strb r0, [r4]
add r0, r6, #0
mov r1, #0x6f
mov r2, #0
bl GetMonData
lsl r0, r0, #0x18
lsr r0, r0, #0x18
lsl r0, r0, #0x1f
ldrb r1, [r4]
ldr r2, [sp, #0x18]
lsr r0, r0, #0x1e
bic r1, r2
orr r0, r1
strb r0, [r4]
_0206B1C2:
ldr r0, [sp, #0xc]
add r7, r7, #1
add r5, r5, #4
add r4, r4, #4
cmp r7, r0
blt _0206B13C
add sp, #0x3c
pop {r4, r5, r6, r7, pc}
_0206B1D2:
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetMonData
add r1, r5, #0
add r1, #0x6c
strh r0, [r1]
add r0, r4, #0
mov r1, #0x70
mov r2, #0
bl GetMonData
add r1, r5, #0
add r1, #0x6e
strb r0, [r1]
add r0, r4, #0
bl sub_0207003C
add r1, r5, #0
add r1, #0x6f
ldrb r2, [r1]
mov r1, #1
bic r2, r1
mov r1, #1
and r0, r1
add r1, r2, #0
orr r1, r0
add r0, r5, #0
add r0, #0x6f
strb r1, [r0]
add r0, r4, #0
mov r1, #0x6f
mov r2, #0
bl GetMonData
add r1, r5, #0
add r1, #0x6f
lsl r0, r0, #0x18
lsr r0, r0, #0x18
lsl r0, r0, #0x1f
add r2, r5, #0
add r2, #0x6f
ldrb r1, [r1]
mov r3, #2
lsr r0, r0, #0x1e
bic r1, r3
orr r1, r0
add r0, r5, #0
add r0, #0x6f
strb r1, [r0]
add r1, r5, #4
mov r3, #1
add r2, r2, #4
mov r0, #0
mov r5, #1
mov r6, #2
_0206B244:
add r4, r1, #0
add r4, #0x6c
strh r0, [r4]
add r4, r1, #0
add r4, #0x6e
strb r0, [r4]
ldrb r4, [r2]
add r3, r3, #1
add r1, r1, #4
bic r4, r5
strb r4, [r2]
ldrb r4, [r2]
bic r4, r6
strb r4, [r2]
add r2, r2, #4
cmp r3, #6
blt _0206B244
_0206B266:
add sp, #0x3c
pop {r4, r5, r6, r7, pc}
nop
_0206B26C: .word 0x021100C4
thumb_func_end sub_0206B014
thumb_func_start sub_0206B270
sub_0206B270: ; 0x0206B270
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x60
add r6, r0, #0
bl sub_0205064C
add r5, r0, #0
add r0, r6, #0
bl sub_02050650
add r4, r0, #0
ldrb r1, [r4, #0x14]
cmp r1, #0x14
bls _0206B28C
b _0206B824
_0206B28C:
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0206B298: ; jump table
.short _0206B2C2 - _0206B298 - 2 ; case 0
.short _0206B2C8 - _0206B298 - 2 ; case 1
.short _0206B2DC - _0206B298 - 2 ; case 2
.short _0206B30A - _0206B298 - 2 ; case 3
.short _0206B316 - _0206B298 - 2 ; case 4
.short _0206B332 - _0206B298 - 2 ; case 5
.short _0206B346 - _0206B298 - 2 ; case 6
.short _0206B3AA - _0206B298 - 2 ; case 7
.short _0206B416 - _0206B298 - 2 ; case 8
.short _0206B480 - _0206B298 - 2 ; case 9
.short _0206B4A4 - _0206B298 - 2 ; case 10
.short _0206B4DA - _0206B298 - 2 ; case 11
.short _0206B52C - _0206B298 - 2 ; case 12
.short _0206B57E - _0206B298 - 2 ; case 13
.short _0206B5A0 - _0206B298 - 2 ; case 14
.short _0206B5BC - _0206B298 - 2 ; case 15
.short _0206B74A - _0206B298 - 2 ; case 16
.short _0206B768 - _0206B298 - 2 ; case 17
.short _0206B794 - _0206B298 - 2 ; case 18
.short _0206B7A0 - _0206B298 - 2 ; case 19
.short _0206B81A - _0206B298 - 2 ; case 20
_0206B2C2:
mov r0, #1
strb r0, [r4, #0x14]
b _0206B824
_0206B2C8:
add r0, r5, #0
mov r1, #3
bl sub_0203E33C
add r0, r6, #0
bl sub_0205525C
mov r0, #2
strb r0, [r4, #0x14]
b _0206B824
_0206B2DC:
add r0, r5, #0
mov r1, #1
bl sub_02067A80
ldr r0, [r4, #0x40]
ldrh r2, [r0, #0x34]
ldrh r1, [r0, #0x36]
ldrh r0, [r0, #0x32]
str r0, [r4]
mov r0, #0
mvn r0, r0
str r0, [r4, #4]
str r2, [r4, #8]
str r1, [r4, #0xc]
mov r0, #1
str r0, [r4, #0x10]
add r0, r6, #0
add r1, r4, #0
bl sub_020537A8
mov r0, #3
strb r0, [r4, #0x14]
b _0206B824
_0206B30A:
add r0, r6, #0
bl sub_020552A4
mov r0, #4
strb r0, [r4, #0x14]
b _0206B824
_0206B316:
ldr r0, [r5, #0x24]
bl sub_0206AFD0
ldr r1, [r4, #0x40]
add r0, r5, #0
bl sub_0206AF78
ldr r1, [r4, #0x40]
add r0, r5, #0
bl sub_0206B880
mov r0, #5
strb r0, [r4, #0x14]
b _0206B824
_0206B332:
ldr r0, [r5, #0x3c]
bl sub_0205F1A0
add r1, r0, #0
ldr r0, [r5, #0x3c]
bl ov01_021F9FB0
mov r0, #6
strb r0, [r4, #0x14]
b _0206B824
_0206B346:
add r0, r5, #0
bl sub_0203E344
bl Sav2_PlayerData_GetProfileAddr
bl PlayerProfile_GetTrainerGender
ldr r1, [r4, #0x40]
lsl r0, r0, #0x18
add r1, #0x30
lsr r2, r0, #0x18
ldrb r1, [r1]
ldr r0, [r5, #0x40]
bl sub_0206B82C
ldr r0, [r5, #0x40]
bl sub_0205C6DC
add r1, sp, #0x54
bl sub_0205F96C
mov r0, #2
ldr r1, [sp, #0x58]
lsl r0, r0, #0xc
sub r0, r1, r0
str r0, [sp, #0x58]
ldr r0, [r5, #0x40]
bl sub_0205C6DC
add r1, sp, #0x54
bl sub_0205F97C
ldr r0, [r4, #0x40]
add r0, #0x44
ldrh r0, [r0]
cmp r0, #0
beq _0206B39C
mov r0, #9
strb r0, [r4, #0x14]
mov r0, #2
add r4, #0xcb
strb r0, [r4]
b _0206B824
_0206B39C:
mov r0, #7
strb r0, [r4, #0x14]
ldr r0, [r4, #0x40]
add r4, #0xcb
ldrb r0, [r0, #7]
strb r0, [r4]
b _0206B824
_0206B3AA:
ldrb r0, [r4, #0x17]
ldr r1, [r4, #0x40]
lsl r2, r0, #2
add r0, r1, #0
add r0, #0x6c
ldrh r7, [r0, r2]
add r3, r0, r2
cmp r7, #0
beq _0206B404
ldr r6, _0206B6FC ; =0x020FF468
mov r0, #1
str r0, [sp]
ldrh r0, [r1, #0x34]
ldrh r6, [r6, r2]
add r0, r0, r6
str r0, [sp, #4]
ldrh r0, [r1, #0x36]
ldr r1, _0206B700 ; =0x020FF46A
ldrh r1, [r1, r2]
add r0, r0, r1
str r0, [sp, #8]
ldrb r0, [r3, #3]
add r1, r7, #0
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
str r0, [sp, #0xc]
ldrb r2, [r3, #2]
ldrb r3, [r3, #3]
ldr r0, [r5, #0x3c]
lsl r3, r3, #0x1e
lsr r3, r3, #0x1f
bl sub_0206AEC0
ldrb r1, [r4, #0x17]
lsl r1, r1, #2
add r1, r4, r1
str r0, [r1, #0x18]
ldrb r0, [r4, #0x17]
ldr r1, _0206B704 ; =0x021F7919
lsl r0, r0, #2
add r0, r4, r0
ldr r0, [r0, #0x18]
bl sub_0205F47C
b _0206B40A
_0206B404:
mov r1, #0
add r0, r4, r2
str r1, [r0, #0x18]
_0206B40A:
ldrb r0, [r4, #0x17]
add r0, r0, #1
strb r0, [r4, #0x17]
mov r0, #8
strb r0, [r4, #0x14]
b _0206B824
_0206B416:
ldrb r1, [r4, #0x15]
add r0, r1, #1
strb r0, [r4, #0x15]
cmp r1, #4
bls _0206B4AE
ldrb r0, [r4, #0x17]
sub r0, r0, #1
lsl r0, r0, #2
add r0, r4, r0
ldr r5, [r0, #0x18]
cmp r5, #0
beq _0206B460
add r0, r5, #0
bl ov01_0220553C
cmp r0, #0
beq _0206B440
mov r0, #1
add r1, r5, #0
bl ov01_021F902C
_0206B440:
add r0, r5, #0
add r1, sp, #0x48
bl sub_0205F96C
mov r0, #2
ldr r1, [sp, #0x4c]
lsl r0, r0, #0xc
sub r0, r1, r0
str r0, [sp, #0x4c]
add r0, r5, #0
add r1, sp, #0x48
bl sub_0205F97C
add r0, r5, #0
bl sub_0205F484
_0206B460:
mov r2, #0
strb r2, [r4, #0x15]
ldr r0, [r4, #0x40]
ldrb r1, [r4, #0x17]
ldrb r0, [r0, #7]
cmp r1, r0
blo _0206B47A
add r0, r4, #0
add r0, #0xc8
strh r2, [r0]
mov r0, #0xd
strb r0, [r4, #0x14]
b _0206B824
_0206B47A:
mov r0, #7
strb r0, [r4, #0x14]
b _0206B824
_0206B480:
ldr r3, [r4, #0x40]
mov r2, #1
ldrh r0, [r3, #0x36]
add r1, r3, #0
add r1, #0x44
str r0, [sp]
mov r0, #0xf9
str r0, [sp, #4]
ldrh r3, [r3, #0x34]
ldrh r1, [r1]
ldr r0, [r5, #0x3c]
add r3, r3, #2
bl sub_0206AF08
str r0, [r4, #0x18]
mov r0, #0xa
strb r0, [r4, #0x14]
b _0206B824
_0206B4A4:
ldrb r1, [r4, #0x15]
add r0, r1, #1
strb r0, [r4, #0x15]
cmp r1, #4
bhi _0206B4B0
_0206B4AE:
b _0206B824
_0206B4B0:
ldr r0, [r4, #0x18]
add r1, sp, #0x3c
bl sub_0205F96C
mov r0, #2
ldr r1, [sp, #0x40]
lsl r0, r0, #0xc
sub r0, r1, r0
str r0, [sp, #0x40]
ldr r0, [r4, #0x18]
add r1, sp, #0x3c
bl sub_0205F97C
ldr r0, [r4, #0x18]
bl sub_0205F484
mov r0, #0
strb r0, [r4, #0x15]
mov r0, #0xb
strb r0, [r4, #0x14]
b _0206B824
_0206B4DA:
ldr r0, [r4, #0x40]
ldrb r1, [r4, #0x17]
add r2, r0, #0
add r2, #0x6c
lsl r1, r1, #2
add r3, r2, r1
ldrh r1, [r2, r1]
cmp r1, #0
beq _0206B51E
mov r2, #1
str r2, [sp]
ldrh r2, [r0, #0x34]
add r2, r2, #1
str r2, [sp, #4]
ldrh r2, [r0, #0x36]
ldr r0, _0206B708 ; =0x0000FFFF
add r0, r2, r0
str r0, [sp, #8]
ldrb r0, [r3, #3]
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
str r0, [sp, #0xc]
ldrb r2, [r3, #2]
ldrb r3, [r3, #3]
ldr r0, [r5, #0x3c]
lsl r3, r3, #0x1e
lsr r3, r3, #0x1f
bl sub_0206AEC0
ldr r1, _0206B704 ; =0x021F7919
str r0, [r4, #0x1c]
bl sub_0205F47C
b _0206B526
_0206B51E:
bl GF_AssertFail
mov r0, #0
str r0, [r4, #0x1c]
_0206B526:
mov r0, #0xc
strb r0, [r4, #0x14]
b _0206B824
_0206B52C:
ldrb r1, [r4, #0x15]
add r0, r1, #1
strb r0, [r4, #0x15]
cmp r1, #4
bls _0206B5C4
ldr r5, [r4, #0x1c]
cmp r5, #0
beq _0206B56E
add r0, r5, #0
bl ov01_0220553C
cmp r0, #0
beq _0206B54E
mov r0, #1
add r1, r5, #0
bl ov01_021F902C
_0206B54E:
add r0, r5, #0
add r1, sp, #0x30
bl sub_0205F96C
mov r0, #2
ldr r1, [sp, #0x34]
lsl r0, r0, #0xc
sub r0, r1, r0
str r0, [sp, #0x34]
add r0, r5, #0
add r1, sp, #0x30
bl sub_0205F97C
add r0, r5, #0
bl sub_0205F484
_0206B56E:
mov r1, #0
add r0, r4, #0
strb r1, [r4, #0x15]
add r0, #0xc8
strh r1, [r0]
mov r0, #0xd
strb r0, [r4, #0x14]
b _0206B824
_0206B57E:
add r0, r5, #0
add r0, #0xc8
ldr r0, [r0]
bl ov01_022043D8
add r0, r5, #0
add r0, #0xc8
ldr r0, [r0]
bl ov01_02204424
ldr r0, [r5, #4]
ldr r0, [r0, #0x10]
bl ov01_021EB1E8
mov r0, #0xe
strb r0, [r4, #0x14]
b _0206B824
_0206B5A0:
ldr r0, [r5, #8]
mov r1, #4
bl sub_0206B8AC
add r0, r6, #0
bl sub_0205532C
add r0, r4, #0
mov r1, #0
add r0, #0xca
strb r1, [r0]
mov r0, #0xf
strb r0, [r4, #0x14]
b _0206B824
_0206B5BC:
add r0, #0xca
ldrb r0, [r0]
cmp r0, #7
bls _0206B5C6
_0206B5C4:
b _0206B824
_0206B5C6:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0206B5D2: ; jump table
.short _0206B5E2 - _0206B5D2 - 2 ; case 0
.short _0206B5F8 - _0206B5D2 - 2 ; case 1
.short _0206B626 - _0206B5D2 - 2 ; case 2
.short _0206B652 - _0206B5D2 - 2 ; case 3
.short _0206B6BC - _0206B5D2 - 2 ; case 4
.short _0206B6E2 - _0206B5D2 - 2 ; case 5
.short _0206B710 - _0206B5D2 - 2 ; case 6
.short _0206B726 - _0206B5D2 - 2 ; case 7
_0206B5E2:
ldr r0, [r5, #4]
ldr r0, [r0, #0x1c]
bl ov01_021FB514
add r0, r4, #0
add r0, #0xca
ldrb r0, [r0]
add r1, r0, #1
add r0, r4, #0
add r0, #0xca
strb r1, [r0]
_0206B5F8:
add r0, r4, #0
add r0, #0xc8
ldrh r2, [r0]
add r0, r4, #0
add r0, #0xc8
ldrh r0, [r0]
add r1, r0, #1
add r0, r4, #0
add r0, #0xc8
strh r1, [r0]
cmp r2, #0x1e
blo _0206B6EA
add r0, r4, #0
add r0, #0xca
ldrb r0, [r0]
add r1, r0, #1
add r0, r4, #0
add r0, #0xca
strb r1, [r0]
mov r0, #0
add r4, #0xc8
strh r0, [r4]
b _0206B824
_0206B626:
ldr r0, _0206B70C ; =0x0000091F
bl PlaySE
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #4
mov r2, #0
str r0, [sp, #8]
mov r0, #3
mov r1, #8
add r3, r2, #0
bl sub_0200FA24
add r0, r4, #0
add r0, #0xca
ldrb r0, [r0]
add r4, #0xca
add r0, r0, #1
strb r0, [r4]
b _0206B824
_0206B652:
bl sub_0200FB5C
cmp r0, #0
beq _0206B6EA
add r0, r5, #0
bl sub_0203E344
bl sub_0202FA64
add r5, r0, #0
bl sub_0202FA88
add r6, r0, #0
add r0, sp, #0x20
bl GF_RTC_CopyDate
ldr r0, [sp, #0x28]
ldr r3, [sp, #0x24]
lsl r0, r0, #0x18
lsr r1, r0, #0x10
ldr r0, [sp, #0x20]
lsl r3, r3, #0x18
ldr r2, [sp, #0x2c]
lsl r0, r0, #0x18
lsr r3, r3, #8
orr r0, r3
orr r0, r1
add r1, r2, #0
orr r1, r0
ldr r0, [r4, #0x40]
str r1, [r0, #0x38]
add r0, sp, #0x14
bl GF_RTC_CopyTime
ldr r1, [sp, #0x14]
ldr r0, [r4, #0x40]
add r2, r6, #0
strh r1, [r0, #0x3c]
ldr r1, [sp, #0x18]
ldr r0, [r4, #0x40]
strh r1, [r0, #0x3e]
add r1, r4, #0
add r0, r5, #0
add r1, #0x44
bl sub_0202FAF0
add r0, r4, #0
add r0, #0xca
ldrb r0, [r0]
add r4, #0xca
add r0, r0, #1
strb r0, [r4]
b _0206B824
_0206B6BC:
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #4
mov r2, #0
str r0, [sp, #8]
mov r0, #3
mov r1, #9
add r3, r2, #0
bl sub_0200FA24
add r0, r4, #0
add r0, #0xca
ldrb r0, [r0]
add r4, #0xca
add r0, r0, #1
strb r0, [r4]
b _0206B824
_0206B6E2:
bl sub_0200FB5C
cmp r0, #0
bne _0206B6EC
_0206B6EA:
b _0206B824
_0206B6EC:
add r0, r4, #0
add r0, #0xca
ldrb r0, [r0]
add r4, #0xca
add r0, r0, #1
strb r0, [r4]
b _0206B824
nop
_0206B6FC: .word 0x020FF468
_0206B700: .word 0x020FF46A
_0206B704: .word 0x021F7919
_0206B708: .word 0x0000FFFF
_0206B70C: .word 0x0000091F
_0206B710:
ldr r0, [r5, #4]
ldr r0, [r0, #0x1c]
bl ov01_021FB4F4
add r0, r4, #0
add r0, #0xca
ldrb r0, [r0]
add r4, #0xca
add r0, r0, #1
strb r0, [r4]
b _0206B824
_0206B726:
add r0, r4, #0
add r0, #0xc8
ldrh r2, [r0]
add r0, r4, #0
add r0, #0xc8
ldrh r0, [r0]
add r1, r0, #1
add r0, r4, #0
add r0, #0xc8
strh r1, [r0]
cmp r2, #0x1e
blo _0206B824
add r0, r6, #0
bl sub_020552E8
mov r0, #0x10
strb r0, [r4, #0x14]
b _0206B824
_0206B74A:
bl sub_020148F4
add r0, r4, #0
bl sub_0206AFA4
add r0, r5, #0
mov r1, #0
bl sub_0203E33C
add r0, r6, #0
bl sub_0205525C
mov r0, #0x11
strb r0, [r4, #0x14]
b _0206B824
_0206B768:
add r0, r5, #0
mov r1, #0
bl sub_02067A80
ldrh r3, [r4, #0x30]
ldrh r2, [r4, #0x32]
ldrh r1, [r4, #0x34]
ldrh r0, [r4, #0x36]
str r0, [r4]
mov r0, #0
mvn r0, r0
str r0, [r4, #4]
str r3, [r4, #8]
str r2, [r4, #0xc]
str r1, [r4, #0x10]
add r0, r6, #0
add r1, r4, #0
bl sub_020537A8
mov r0, #0x12
strb r0, [r4, #0x14]
b _0206B824
_0206B794:
add r0, r6, #0
bl sub_020552A4
mov r0, #0x13
strb r0, [r4, #0x14]
b _0206B824
_0206B7A0:
add r0, r5, #0
bl sub_02069F88
cmp r0, #0
beq _0206B814
ldr r0, [r5, #0x40]
bl sub_0205C700
cmp r0, #1
beq _0206B814
add r0, r5, #0
bl sub_02069D68
add r6, r0, #0
ldr r0, [r5, #0x40]
bl sub_0205C6DC
add r2, r4, #0
add r2, #0xd8
add r1, r4, #0
add r5, r0, #0
ldrb r2, [r2]
add r0, r6, #0
add r1, #0xcc
bl sub_0205FBC0
add r0, r5, #0
bl sub_0205F914
str r0, [sp, #0x10]
add r0, r5, #0
bl sub_0205F934
add r7, r0, #0
add r0, r6, #0
bl sub_0205F914
add r5, r0, #0
add r0, r6, #0
bl sub_0205F934
ldr r1, [sp, #0x10]
cmp r1, r5
bne _0206B806
cmp r7, r0
bne _0206B806
add r0, r6, #0
mov r1, #1
bl sub_02069DC8
b _0206B80E
_0206B806:
add r0, r6, #0
mov r1, #0
bl sub_02069DC8
_0206B80E:
add r0, r6, #0
bl sub_0205F484
_0206B814:
mov r0, #0x14
strb r0, [r4, #0x14]
b _0206B824
_0206B81A:
bl FreeToHeap
add sp, #0x60
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0206B824:
mov r0, #0
add sp, #0x60
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0206B270
thumb_func_start sub_0206B82C
sub_0206B82C: ; 0x0206B82C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, r1, #0
add r1, r2, #0
bl sub_0205C898
add r6, r0, #0
add r0, r5, #0
bl sub_0205C6DC
add r4, r0, #0
bl sub_0205F35C
add r7, r0, #0
add r0, r4, #0
bl sub_0205F25C
str r0, [sp]
add r0, r4, #0
bl sub_0205E420
ldr r1, [sp]
add r0, r7, #0
add r2, r4, #0
bl ov01_021FA108
add r0, r4, #0
add r1, r6, #0
bl sub_0205E38C
add r0, r5, #0
bl sub_0205C790
cmp r0, #0
beq _0206B876
bl ov01_021F1640
_0206B876:
add r0, r5, #0
mov r1, #0
bl sub_0205C78C
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0206B82C
thumb_func_start sub_0206B880
sub_0206B880: ; 0x0206B880
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
add r5, r1, #0
mov r4, #0
mov r7, #1
_0206B88A:
lsl r0, r4, #1
add r0, r5, r0
add r0, #0x40
ldrh r1, [r0]
cmp r1, #0
beq _0206B89E
add r0, r6, #0
add r2, r7, #0
bl sub_02054EB0
_0206B89E:
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, #2
blo _0206B88A
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0206B880
thumb_func_start sub_0206B8AC
sub_0206B8AC: ; 0x0206B8AC
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
add r4, r1, #0
mov r1, #0
str r1, [sp]
ldr r0, _0206B90C ; =0x00000107
add r2, r1, #0
add r3, r1, #0
str r4, [sp, #4]
bl GfGfxLoader_GXLoadPal
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r1, #1
str r1, [sp, #8]
ldr r0, _0206B90C ; =0x00000107
add r2, r5, #0
mov r3, #2
str r4, [sp, #0xc]
bl GfGfxLoader_LoadCharData
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 r1, #2
ldr r0, _0206B90C ; =0x00000107
add r2, r5, #0
add r3, r1, #0
str r4, [sp, #0xc]
bl GfGfxLoader_LoadScrnData
add r0, r5, #0
mov r1, #2
bl BgCommitTilemapBufferToVram
mov r0, #2
mov r1, #0
bl sub_0201BB68
add sp, #0x10
pop {r3, r4, r5, pc}
nop
_0206B90C: .word 0x00000107
thumb_func_end sub_0206B8AC
thumb_func_start sub_0206B910
sub_0206B910: ; 0x0206B910
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r1, #0
bl sub_0205064C
add r6, r0, #0
mov r0, #0xb
mov r1, #0x14
bl AllocFromHeapAtEnd
add r4, r0, #0
add r2, r4, #0
mov r1, #0x14
mov r0, #0
_0206B92C:
strb r0, [r2]
add r2, r2, #1
sub r1, r1, #1
bne _0206B92C
mov r0, #0xb
mov r1, #0x34
str r5, [r4, #0xc]
bl AllocFromHeap
mov r1, #0
mov r2, #0x34
str r0, [r4, #4]
bl memset
add r0, r5, #0
bl Sav2_PlayerData_GetOptionsAddr
ldr r1, [r4, #4]
str r0, [r1, #0x24]
ldr r0, [r4, #4]
str r5, [r0, #0x28]
mov r0, #0x43
lsl r0, r0, #2
add r1, r6, r0
ldr r0, [r4, #4]
str r1, [r0, #0x2c]
mov r0, #0xb
mov r1, #0x44
bl AllocFromHeap
mov r1, #0
mov r2, #0x44
str r0, [r4, #8]
bl memset
ldr r1, _0206B980 ; =sub_0206B984
add r0, r7, #0
add r2, r4, #0
bl sub_02050530
pop {r3, r4, r5, r6, r7, pc}
nop
_0206B980: .word sub_0206B984
thumb_func_end sub_0206B910
thumb_func_start sub_0206B984
sub_0206B984: ; 0x0206B984
push {r4, r5, r6, r7, lr}
sub sp, #0xc
str r0, [sp]
bl sub_02050650
add r7, r0, #0
ldr r0, [sp]
ldr r6, [r7, #4]
bl sub_0205064C
add r5, r0, #0
ldr r0, [r7, #0x10]
cmp r0, #6
bls _0206B9A2
b _0206BB1C
_0206B9A2:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0206B9AE: ; jump table
.short _0206B9BC - _0206B9AE - 2 ; case 0
.short _0206BA20 - _0206B9AE - 2 ; case 1
.short _0206BA30 - _0206B9AE - 2 ; case 2
.short _0206BA4E - _0206B9AE - 2 ; case 3
.short _0206BA96 - _0206B9AE - 2 ; case 4
.short _0206BAF8 - _0206B9AE - 2 ; case 5
.short _0206BB04 - _0206B9AE - 2 ; case 6
_0206B9BC:
ldr r0, [sp]
bl sub_0205525C
ldr r0, [r7, #0xc]
bl sub_0202CBE8
str r0, [r6, #0x20]
add r0, r6, #0
mov r1, #0
add r0, #0x31
strb r1, [r0]
mov r0, #0x43
lsl r0, r0, #2
add r0, r5, r0
str r0, [r6, #0x2c]
ldr r0, [r7, #0xc]
bl SavArray_PlayerParty_get
str r0, [r6, #0x1c]
bl GetPartyCount
mov r4, #0
str r0, [sp, #4]
str r0, [r6]
cmp r0, #0
ble _0206BA06
add r5, r6, #0
_0206B9F2:
ldr r0, [r6, #0x1c]
add r1, r4, #0
bl GetPartyMonByIndex
str r0, [r5, #4]
ldr r0, [sp, #4]
add r4, r4, #1
add r5, r5, #4
cmp r4, r0
blt _0206B9F2
_0206BA06:
cmp r4, #6
bge _0206BA1A
lsl r0, r4, #2
add r1, r6, r0
mov r0, #0
_0206BA10:
add r4, r4, #1
str r0, [r1, #4]
add r1, r1, #4
cmp r4, #6
blt _0206BA10
_0206BA1A:
mov r0, #1
str r0, [r7, #0x10]
b _0206BB1C
_0206BA20:
ldr r0, [sp]
ldr r1, _0206BB24 ; =0x020FF480
add r2, r6, #0
bl sub_02050624
mov r0, #2
str r0, [r7, #0x10]
b _0206BB1C
_0206BA30:
ldr r0, [r7, #4]
add r0, #0x31
ldrb r0, [r0]
cmp r0, #0
beq _0206BA42
cmp r0, #1
beq _0206BA48
bl GF_AssertFail
_0206BA42:
mov r0, #5
str r0, [r7, #0x10]
b _0206BB1C
_0206BA48:
mov r0, #3
str r0, [r7, #0x10]
b _0206BB1C
_0206BA4E:
ldr r4, [r7, #8]
ldr r0, [r6, #0x1c]
str r0, [r4]
ldr r0, [r7, #0xc]
bl sub_0207879C
str r0, [r4, #4]
ldr r0, [r7, #0xc]
bl Sav2_Mailbox_get
str r0, [r4, #8]
add r0, r4, #0
mov r1, #0
add r0, #0x26
strb r1, [r0]
add r0, r4, #0
add r0, #0x25
strb r1, [r0]
add r0, r4, #0
mov r1, #0xf
add r0, #0x24
strb r1, [r0]
ldr r0, [r6, #0x24]
add r1, #0xfd
str r0, [r4, #0xc]
add r0, r5, r1
str r5, [r4, #0x1c]
str r0, [r4, #0x20]
ldr r0, [sp]
ldr r1, _0206BB28 ; =0x0210159C
add r2, r4, #0
bl sub_02050624
mov r0, #4
str r0, [r7, #0x10]
b _0206BB1C
_0206BA96:
ldr r0, [r7, #4]
ldr r1, [r7, #8]
add r0, #0x30
ldrb r0, [r0]
add r1, #0x26
add r0, r0, #1
str r0, [sp, #8]
ldrb r0, [r1]
cmp r0, #7
beq _0206BAF2
ldr r1, [r7, #4]
lsl r0, r0, #2
add r0, r1, r0
ldr r4, [r0, #4]
mov r1, #0xa2
add r0, r4, #0
add r2, sp, #8
bl sub_0206EC40
ldr r1, [sp, #8]
ldr r0, [r6, #0x20]
sub r1, r1, #1
bl sub_0202CBF4
add r2, r0, #0
add r0, r4, #0
mov r1, #0xab
bl sub_0206EC40
ldr r1, [sp, #8]
ldr r0, [r6, #0x20]
sub r1, r1, #1
bl sub_0202CBF4
mov r1, #0
bl sub_0202CC30
bl sub_0202CC48
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_0209106C
ldr r0, [r5, #0xc]
bl sub_020270C4
_0206BAF2:
mov r0, #1
str r0, [r7, #0x10]
b _0206BB1C
_0206BAF8:
ldr r0, [sp]
bl sub_020552A4
mov r0, #6
str r0, [r7, #0x10]
b _0206BB1C
_0206BB04:
ldr r0, [r7, #8]
bl FreeToHeap
ldr r0, [r7, #4]
bl FreeToHeap
add r0, r7, #0
bl FreeToHeap
add sp, #0xc
mov r0, #1
pop {r4, r5, r6, r7, pc}
_0206BB1C:
mov r0, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
_0206BB24: .word 0x020FF480
_0206BB28: .word 0x0210159C
thumb_func_end sub_0206B984
thumb_func_start sub_0206BB2C
sub_0206BB2C: ; 0x0206BB2C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r5, #0x80
add r1, r0, #0
ldr r0, [r5]
bl sub_020403AC
add r1, r0, #0
lsl r1, r1, #0x18
ldr r0, [r4]
lsr r1, r1, #0x18
bl sub_0206BCA4
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0206BB2C
thumb_func_start sub_0206BB5C
sub_0206BB5C: ; 0x0206BB5C
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [r4, #0x64]
ldr r1, _0206BB8C ; =sub_0206BB90
add r0, r4, #0
bl sub_0203FD58
mov r0, #1
pop {r4, pc}
nop
_0206BB8C: .word sub_0206BB90
thumb_func_end sub_0206BB5C
thumb_func_start sub_0206BB90
sub_0206BB90: ; 0x0206BB90
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
ldr r1, [r4, #0x64]
ldr r0, [r0]
lsl r1, r1, #0x18
lsr r1, r1, #0x18
bl sub_0206BCB4
pop {r4, pc}
thumb_func_end sub_0206BB90
thumb_func_start sub_0206BBAC
sub_0206BBAC: ; 0x0206BBAC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r6, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r7, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
str r0, [sp]
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r1, sp, #4
strb r7, [r1]
ldr r0, [sp]
strb r6, [r1, #1]
add r5, #0x80
strb r0, [r1, #2]
ldr r0, [r5]
ldr r0, [r0, #0xc]
str r0, [sp, #0x1c]
add r0, sp, #4
bl sub_0206BCEC
str r0, [r4]
mov r0, #0
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0206BBAC
thumb_func_start sub_0206BC2C
sub_0206BC2C: ; 0x0206BC2C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
add r4, r0, #0
add r0, r5, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, #0x80
ldr r0, [r5]
ldr r0, [r0, #0x20]
ldr r0, [r0]
bl sub_0203B36C
ldr r0, [r4]
bl sub_0206BD00
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0206BC2C
thumb_func_start sub_0206BC64
sub_0206BC64: ; 0x0206BC64
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
add r0, r4, #0
bl sub_0203FE2C
add r4, #0x80
add r1, r0, #0
ldr r0, [r4]
bl sub_02040374
mov r1, #0
strh r1, [r0]
add r0, r1, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0206BC64
thumb_func_start sub_0206BC8C
sub_0206BC8C: ; 0x0206BC8C
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
mov r1, #0x15
bl sub_020402F0
mov r0, #1
bl sub_02002C60
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0206BC8C
thumb_func_start sub_0206BCA4
sub_0206BCA4: ; 0x0206BCA4
push {r3, lr}
ldrb r0, [r0, #4]
cmp r0, #0
beq _0206BCB2
add r0, r1, #0
bl sub_02037AC0
_0206BCB2:
pop {r3, pc}
thumb_func_end sub_0206BCA4
thumb_func_start sub_0206BCB4
sub_0206BCB4: ; 0x0206BCB4
push {r3, lr}
ldrb r0, [r0, #4]
cmp r0, #0
bne _0206BCC0
mov r0, #1
pop {r3, pc}
_0206BCC0:
add r0, r1, #0
bl sub_02037B38
cmp r0, #1
bne _0206BCCE
mov r0, #1
pop {r3, pc}
_0206BCCE:
mov r0, #0
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0206BCB4
thumb_func_start sub_0206BCD4
sub_0206BCD4: ; 0x0206BCD4
push {r4, lr}
mov r0, #0x14
add r1, r0, #0
bl AllocFromHeap
mov r1, #0
mov r2, #0x14
add r4, r0, #0
bl MIi_CpuFill8
add r0, r4, #0
pop {r4, pc}
thumb_func_end sub_0206BCD4
thumb_func_start sub_0206BCEC
sub_0206BCEC: ; 0x0206BCEC
push {r3, lr}
mov r2, #1
mov r0, #0xb
mov r1, #0x14
lsl r2, r2, #0xe
bl sub_0201A910
bl sub_0206BCD4
pop {r3, pc}
thumb_func_end sub_0206BCEC
thumb_func_start sub_0206BD00
sub_0206BD00: ; 0x0206BD00
push {r3, lr}
bl FreeToHeap
mov r0, #0x14
bl sub_0201A9C4
pop {r3, pc}
.balign 4, 0
thumb_func_end sub_0206BD00
thumb_func_start sub_0206BD10
sub_0206BD10: ; 0x0206BD10
push {r3, lr}
ldr r0, [r0, #0xc]
bl sub_0203B9C4
bl sub_0203B958
mov r1, #0x4e
ldr r2, [r0]
lsl r1, r1, #2
cmp r2, r1
beq _0206BD2A
mov r0, #0
pop {r3, pc}
_0206BD2A:
ldr r1, [r0, #8]
cmp r1, #6
bne _0206BD3C
ldr r1, [r0, #0xc]
cmp r1, #3
bne _0206BD3C
ldr r0, [r0, #0x10]
cmp r0, #0
beq _0206BD40
_0206BD3C:
mov r0, #0
pop {r3, pc}
_0206BD40:
mov r0, #1
pop {r3, pc}
thumb_func_end sub_0206BD10
thumb_func_start sub_0206BD44
sub_0206BD44: ; 0x0206BD44
push {r3, lr}
ldr r0, [r0, #0xc]
bl sub_0203B9C4
bl sub_0203B958
ldr r2, [r0]
ldr r1, _0206BD78 ; =0x0000013A
cmp r2, r1
beq _0206BD5C
mov r0, #0
pop {r3, pc}
_0206BD5C:
ldr r1, [r0, #8]
cmp r1, #6
bne _0206BD6E
ldr r1, [r0, #0xc]
cmp r1, #3
bne _0206BD6E
ldr r0, [r0, #0x10]
cmp r0, #0
beq _0206BD72
_0206BD6E:
mov r0, #0
pop {r3, pc}
_0206BD72:
mov r0, #1
pop {r3, pc}
nop
_0206BD78: .word 0x0000013A
thumb_func_end sub_0206BD44
thumb_func_start sub_0206BD7C
sub_0206BD7C: ; 0x0206BD7C
push {r3, lr}
ldr r0, [r0, #0xc]
bl sub_0203B9C4
bl sub_0203B958
mov r1, #0x4f
ldr r2, [r0]
lsl r1, r1, #2
cmp r2, r1
beq _0206BD96
mov r0, #0
pop {r3, pc}
_0206BD96:
ldr r1, [r0, #8]
cmp r1, #6
bne _0206BDA8
ldr r1, [r0, #0xc]
cmp r1, #3
bne _0206BDA8
ldr r0, [r0, #0x10]
cmp r0, #0
beq _0206BDAC
_0206BDA8:
mov r0, #0
pop {r3, pc}
_0206BDAC:
mov r0, #1
pop {r3, pc}
thumb_func_end sub_0206BD7C
thumb_func_start sub_0206BDB0
sub_0206BDB0: ; 0x0206BDB0
push {r3, lr}
bl sub_020292DC
bl sub_020292E4
pop {r3, pc}
thumb_func_end sub_0206BDB0
thumb_func_start sub_0206BDBC
sub_0206BDBC: ; 0x0206BDBC
push {r3, r4, r5, r6, r7, lr}
mov r4, #0
add r6, r0, #0
add r5, r4, #0
mov r7, #5
_0206BDC6:
add r0, r6, #0
add r1, r5, #0
bl sub_020292DC
bl sub_020292E4
add r1, r7, #0
mov r2, #0
bl GetBoxMonData
cmp r0, #0
beq _0206BDE4
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
_0206BDE4:
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #2
blo _0206BDC6
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0206BDBC
thumb_func_start sub_0206BDF4
sub_0206BDF4: ; 0x0206BDF4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, _0206BE30 ; =0x021D4218
mov r4, #0
str r5, [r0]
mov r6, #5
add r7, r4, #0
_0206BE02:
add r0, r5, #0
add r1, r4, #0
bl sub_020292DC
bl sub_020292E4
add r1, r6, #0
add r2, r7, #0
bl GetBoxMonData
cmp r0, #0
bne _0206BE1E
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_0206BE1E:
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, #2
blo _0206BE02
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, r6, r7, pc}
nop
_0206BE30: .word 0x021D4218
thumb_func_end sub_0206BDF4
thumb_func_start sub_0206BE34
sub_0206BE34: ; 0x0206BE34
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r5, r2, #0
add r6, r0, #0
str r1, [sp]
add r7, r3, #0
bl GetPartyMonByIndex
add r4, r0, #0
add r0, r5, #0
bl sub_020292E8
str r0, [sp, #8]
add r0, r5, #0
bl sub_020292E4
str r0, [sp, #4]
add r0, r7, #0
bl Sav2_PlayerData_GetProfileAddr
bl PlayerProfile_GetNamePtr
add r2, sp, #0xc
add r0, r4, #0
mov r1, #0x75
add r2, #2
bl GetMonData
add r0, r4, #0
bl sub_02070DB0
bl sub_02070028
cmp r0, #0
beq _0206BE8A
ldr r0, [sp, #8]
bl sub_020292F4
add r2, r0, #0
add r0, r4, #0
mov r1, #0xaa
bl GetMonData
_0206BE8A:
mov r1, #0
add r0, sp, #0xc
strb r1, [r0]
add r0, r4, #0
mov r1, #0xbb
add r2, sp, #0xc
bl sub_0206EC40
ldr r1, [sp, #4]
add r0, r4, #0
bl sub_020718B8
ldr r0, [sp, #4]
mov r1, #0
bl sub_02071D7C
add r0, r5, #0
mov r1, #0
bl sub_0202931C
ldr r1, [sp]
add r0, r6, #0
bl sub_0207456C
ldr r1, _0206BED4 ; =0x000001B9
add r0, r6, #0
bl sub_020748CC
cmp r0, #0
bne _0206BED0
add r0, r7, #0
bl Sav2_Chatot_get
bl sub_0202CE74
_0206BED0:
add sp, #0x24
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0206BED4: .word 0x000001B9
thumb_func_end sub_0206BE34
thumb_func_start sub_0206BED8
sub_0206BED8: ; 0x0206BED8
push {r3, r4, r5, r6, r7, lr}
add r7, r3, #0
add r5, r0, #0
add r0, r7, #0
add r6, r1, #0
add r4, r2, #0
bl sub_0202CF54
mov r1, #0x29
bl sub_0202D0FC
add r0, r4, #0
bl sub_0206BDF4
add r1, r0, #0
add r0, r4, #0
bl sub_020292DC
add r2, r0, #0
add r0, r5, #0
add r1, r6, #0
add r3, r7, #0
bl sub_0206BE34
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0206BED8
thumb_func_start sub_0206BF0C
sub_0206BF0C: ; 0x0206BF0C
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
mov r1, #0
bl sub_020292DC
add r5, r0, #0
add r0, r4, #0
mov r1, #1
bl sub_020292DC
add r4, r0, #0
add r0, r5, #0
bl sub_020292E4
add r6, r0, #0
add r0, r4, #0
bl sub_020292E4
add r7, r0, #0
add r0, r6, #0
mov r1, #5
mov r2, #0
bl GetBoxMonData
cmp r0, #0
bne _0206BF5C
add r0, r7, #0
mov r1, #5
mov r2, #0
bl GetBoxMonData
cmp r0, #0
beq _0206BF5C
add r0, r5, #0
add r1, r4, #0
bl sub_0202936C
add r0, r4, #0
bl sub_020293B8
_0206BF5C:
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0206BF0C
thumb_func_start sub_0206BF60
sub_0206BF60: ; 0x0206BF60
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #8]
add r4, sp, #8
add r6, sp, #4
add r7, sp, #4
_0206BF72:
add r0, r5, #0
bl sub_02070DB4
cmp r0, #0
beq _0206BFB4
mov r0, #0
str r0, [sp, #8]
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl sub_02071534
cmp r0, #0
beq _0206BFAA
_0206BF8E:
ldr r1, _0206BFC0 ; =0x0000FFFF
cmp r0, r1
bne _0206BF9C
ldrh r1, [r7]
add r0, r5, #0
bl sub_020713EC
_0206BF9C:
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl sub_02071534
cmp r0, #0
bne _0206BF8E
_0206BFAA:
ldr r0, [sp]
add r0, r0, #1
str r0, [sp]
cmp r0, #0x64
blt _0206BF72
_0206BFB4:
add r0, r5, #0
bl sub_0206E250
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
_0206BFC0: .word 0x0000FFFF
thumb_func_end sub_0206BF60
thumb_func_start sub_0206BFC4
sub_0206BFC4: ; 0x0206BFC4
push {r4, r5, r6, r7, lr}
sub sp, #0xc
str r0, [sp]
add r6, r1, #0
mov r0, #4
add r7, r2, #0
bl AllocMonZeroed
add r4, r0, #0
add r0, r6, #0
bl sub_020292E4
add r5, r0, #0
add r0, r6, #0
bl sub_020292E8
str r0, [sp, #4]
add r0, r7, #0
mov r1, #0
add r2, r5, #0
bl BufferBoxMonNickname
add r0, r5, #0
mov r1, #5
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x10
lsr r7, r0, #0x10
add r0, r5, #0
add r1, r4, #0
bl sub_02071780
add r0, r4, #0
mov r1, #0xa1
mov r2, #0
bl GetMonData
cmp r0, #0x64
beq _0206C03C
add r0, r4, #0
mov r1, #8
mov r2, #0
bl GetMonData
str r0, [sp, #8]
add r0, r6, #0
bl sub_020292EC
ldr r1, [sp, #8]
add r2, sp, #8
add r0, r1, r0
str r0, [sp, #8]
add r0, r4, #0
mov r1, #8
bl sub_0206EC40
add r0, r4, #0
bl sub_0206BF60
_0206C03C:
add r0, r5, #0
bl sub_02070028
cmp r0, #0
beq _0206C056
ldr r0, [sp, #4]
bl sub_020292F4
add r2, r0, #0
add r0, r4, #0
mov r1, #0xaa
bl sub_0206EC40
_0206C056:
ldr r0, [sp]
add r1, r4, #0
bl sub_02074524
add r0, r5, #0
bl ZeroBoxMonData
add r0, r6, #0
mov r1, #0
bl sub_0202931C
add r0, r4, #0
bl FreeToHeap
add r0, r7, #0
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_0206BFC4
thumb_func_start sub_0206C078
sub_0206C078: ; 0x0206C078
push {r4, r5, r6, lr}
add r6, r2, #0
add r5, r0, #0
add r4, r1, #0
add r0, r6, #0
add r1, r3, #0
bl sub_020292DC
add r1, r0, #0
add r0, r5, #0
add r2, r4, #0
bl sub_0206BFC4
lsl r0, r0, #0x10
lsr r4, r0, #0x10
add r0, r6, #0
bl sub_0206BF0C
add r0, r4, #0
pop {r4, r5, r6, pc}
thumb_func_end sub_0206C078
thumb_func_start sub_0206C0A0
sub_0206C0A0: ; 0x0206C0A0
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
mov r0, #0xb
add r5, r1, #0
bl AllocMonZeroed
add r7, r0, #0
bl sub_02070DB0
add r4, r0, #0
add r0, r6, #0
add r1, r4, #0
bl sub_020718A4
add r0, r4, #0
mov r1, #8
mov r2, #0
bl GetBoxMonData
str r0, [sp]
add r0, r0, r5
str r0, [sp]
add r0, r4, #0
mov r1, #8
add r2, sp, #0
bl sub_0206ED70
add r0, r4, #0
bl sub_0206FD70
add r4, r0, #0
add r0, r7, #0
bl FreeToHeap
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0206C0A0
thumb_func_start sub_0206C0E8
sub_0206C0E8: ; 0x0206C0E8
push {r4, r5, r6, lr}
add r5, r0, #0
bl sub_020292E4
add r6, r0, #0
bl sub_0206FD70
lsl r0, r0, #0x18
lsr r4, r0, #0x18
add r0, r5, #0
bl sub_020292EC
add r1, r0, #0
add r0, r6, #0
bl sub_0206C0A0
lsl r0, r0, #0x18
lsr r0, r0, #0x18
sub r0, r0, r4
pop {r4, r5, r6, pc}
thumb_func_end sub_0206C0E8
thumb_func_start sub_0206C110
sub_0206C110: ; 0x0206C110
push {r4, r5, r6, lr}
sub sp, #8
add r4, r0, #0
add r5, r1, #0
bl sub_020292E4
add r6, r0, #0
add r0, r4, #0
bl sub_0206C0E8
add r4, r0, #0
mov r0, #0
str r0, [sp]
mov r1, #1
add r0, r5, #0
add r2, r4, #0
mov r3, #3
str r1, [sp, #4]
bl BufferIntegerAsString
add r0, r5, #0
mov r1, #0
add r2, r6, #0
bl BufferBoxMonNickname
lsl r0, r4, #0x18
lsr r0, r0, #0x18
add sp, #8
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0206C110
thumb_func_start sub_0206C14C
sub_0206C14C: ; 0x0206C14C
push {r4, r5, r6, lr}
sub sp, #8
add r4, r0, #0
add r5, r1, #0
bl sub_020292E4
add r6, r0, #0
add r0, r4, #0
bl sub_0206C0E8
lsl r0, r0, #0x10
lsr r4, r0, #0x10
add r0, r5, #0
mov r1, #0
add r2, r6, #0
bl BufferBoxMonNickname
add r1, r4, #1
mov r0, #0x64
mul r0, r1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
mov r0, #0
str r0, [sp]
mov r1, #1
add r0, r5, #0
add r2, r4, #0
mov r3, #5
str r1, [sp, #4]
bl BufferIntegerAsString
add r0, r4, #0
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end sub_0206C14C
thumb_func_start sub_0206C190
sub_0206C190: ; 0x0206C190
push {r4, lr}
add r4, r2, #0
bl sub_020292DC
add r1, r4, #0
bl sub_0206C14C
pop {r4, pc}
thumb_func_end sub_0206C190
thumb_func_start sub_0206C1A0
sub_0206C1A0: ; 0x0206C1A0
push {r3, r4, r5, lr}
add r5, r2, #0
bl sub_020292DC
add r4, r0, #0
bl sub_020292E4
mov r1, #5
mov r2, #0
bl GetBoxMonData
cmp r0, #0
beq _0206C1C4
add r0, r4, #0
add r1, r5, #0
bl sub_0206C110
pop {r3, r4, r5, pc}
_0206C1C4:
mov r0, #0
pop {r3, r4, r5, pc}
thumb_func_end sub_0206C1A0
thumb_func_start sub_0206C1C8
sub_0206C1C8: ; 0x0206C1C8
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
mov r1, #0
bl sub_0206BDB0
str r0, [r4]
add r0, r5, #0
mov r1, #1
bl sub_0206BDB0
str r0, [r4, #4]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0206C1C8
thumb_func_start sub_0206C1E4
sub_0206C1E4: ; 0x0206C1E4
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r1, sp, #0
bl sub_0206C1C8
mov r6, #0
add r7, r6, #0
add r4, r6, #0
add r5, sp, #0
_0206C1F6:
ldr r0, [r5]
mov r1, #6
mov r2, #0
bl GetBoxMonData
cmp r0, #0xe5
bne _0206C20E
lsl r0, r4, #0x18
lsr r7, r0, #0x18
add r0, r6, #1
lsl r0, r0, #0x18
lsr r6, r0, #0x18
_0206C20E:
add r4, r4, #1
add r5, r5, #4
cmp r4, #2
blt _0206C1F6
cmp r6, #2
bne _0206C24E
bl LCRandom
lsr r2, r0, #0x1f
lsl r1, r0, #0x1f
sub r1, r1, r2
mov r0, #0x1f
ror r1, r0
add r0, r2, r1
bne _0206C230
mov r0, #1
b _0206C232
_0206C230:
mov r0, #0
_0206C232:
lsl r0, r0, #0x18
lsr r4, r0, #0x18
bl LCRandom
ldr r1, _0206C270 ; =0x00007FFF
cmp r0, r1
blo _0206C248
mov r0, #0
add sp, #8
mvn r0, r0
pop {r3, r4, r5, r6, r7, pc}
_0206C248:
add sp, #8
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_0206C24E:
cmp r6, #1
bne _0206C266
bl LCRandom
ldr r1, _0206C270 ; =0x00007FFF
cmp r0, r1
blo _0206C260
mov r7, #0
mvn r7, r7
_0206C260:
add sp, #8
add r0, r7, #0
pop {r3, r4, r5, r6, r7, pc}
_0206C266:
mov r0, #0
mvn r0, r0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_0206C270: .word 0x00007FFF
thumb_func_end sub_0206C1E4
thumb_func_start sub_0206C274
sub_0206C274: ; 0x0206C274
push {r3, r4, r5, r6, r7, lr}
str r0, [sp]
mov r5, #0
bl sub_0206C1E4
add r1, r0, #0
bpl _0206C290
bl MTRandom
add r1, r0, #0
ldr r0, [sp]
bl sub_02029334
pop {r3, r4, r5, r6, r7, pc}
_0206C290:
ldr r0, [sp]
bl sub_0206BDB0
add r1, r5, #0
add r2, r1, #0
bl GetBoxMonData
bl sub_0206FE2C
mov r7, #0x96
add r6, r0, #0
lsl r7, r7, #4
_0206C2A8:
bl MTRandom
add r4, r0, #0
bl sub_0206FE2C
cmp r6, r0
bne _0206C2BA
cmp r4, #0
bne _0206C2C0
_0206C2BA:
add r5, r5, #1
cmp r5, r7
ble _0206C2A8
_0206C2C0:
ldr r0, [sp]
add r1, r4, #0
bl sub_02029334
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0206C274
thumb_func_start sub_0206C2CC
sub_0206C2CC: ; 0x0206C2CC
push {r3, r4}
sub sp, #8
mov r2, #0xff
strb r2, [r0, r1]
mov r2, #0
add r3, sp, #0
_0206C2D8:
ldrb r1, [r0, r2]
add r2, r2, #1
strb r1, [r3]
add r3, r3, #1
cmp r2, #6
blt _0206C2D8
mov r2, #0
add r4, r2, #0
add r3, sp, #0
_0206C2EA:
ldrb r1, [r3]
cmp r1, #0xff
beq _0206C2F4
strb r1, [r0, r2]
add r2, r2, #1
_0206C2F4:
add r4, r4, #1
add r3, r3, #1
cmp r4, #6
blt _0206C2EA
add sp, #8
pop {r3, r4}
bx lr
.balign 4, 0
thumb_func_end sub_0206C2CC
thumb_func_start sub_0206C304
sub_0206C304: ; 0x0206C304
push {r4, r5, r6, r7, lr}
sub sp, #0x14
str r1, [sp]
add r1, sp, #8
add r4, r0, #0
mov r0, #0
add r1, #2
_0206C312:
strb r0, [r1, r0]
add r0, r0, #1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r0, #6
blo _0206C312
add r1, sp, #4
ldr r0, [sp]
add r1, #1
add r2, sp, #4
bl sub_0206D39C
cmp r0, #0
beq _0206C346
add r0, sp, #4
ldrb r1, [r0, #1]
mov r6, #1
strb r1, [r0, #0xc]
add r0, sp, #8
add r0, #2
bl sub_0206C2CC
add r0, sp, #4
ldrb r1, [r0]
strb r1, [r0, #3]
b _0206C348
_0206C346:
mov r6, #0
_0206C348:
add r5, r6, #0
cmp r6, #3
bhs _0206C378
add r7, sp, #8
add r7, #2
_0206C352:
bl LCRandom
mov r1, #6
sub r1, r1, r5
bl _s32_div_f
lsl r0, r1, #0x18
lsr r1, r0, #0x18
ldrb r2, [r7, r1]
add r0, sp, #0x10
strb r2, [r0, r5]
add r0, r7, #0
bl sub_0206C2CC
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #3
blo _0206C352
_0206C378:
add r0, sp, #4
ldrb r5, [r0, #0xd]
ldrb r0, [r0, #0xc]
cmp r0, r5
bne _0206C386
bl GF_AssertFail
_0206C386:
add r0, sp, #4
ldrb r7, [r0, #0xe]
cmp r5, r7
bne _0206C392
bl GF_AssertFail
_0206C392:
add r0, sp, #4
ldrb r0, [r0, #0xc]
cmp r7, r0
bne _0206C39E
bl GF_AssertFail
_0206C39E:
cmp r6, #3
bhs _0206C3C2
add r5, sp, #4
add r5, #3
mov r7, #0x1f
_0206C3A8:
bl LCRandom
lsr r1, r0, #0x1f
lsl r0, r0, #0x1f
sub r0, r0, r1
ror r0, r7
add r0, r1, r0
strb r0, [r5, r6]
add r0, r6, #1
lsl r0, r0, #0x18
lsr r6, r0, #0x18
cmp r6, #3
blo _0206C3A8
_0206C3C2:
add r7, sp, #4
mov r5, #0
add r7, #2
add r6, sp, #4
_0206C3CA:
add r1, sp, #4
add r1, #3
ldrb r1, [r1, r5]
ldr r0, [sp]
bl sub_0206BDB0
add r1, sp, #0x10
ldrb r1, [r1, r5]
cmp r1, #5
bhi _0206C478
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0206C3EA: ; jump table
.short _0206C3F6 - _0206C3EA - 2 ; case 0
.short _0206C40C - _0206C3EA - 2 ; case 1
.short _0206C422 - _0206C3EA - 2 ; case 2
.short _0206C438 - _0206C3EA - 2 ; case 3
.short _0206C44E - _0206C3EA - 2 ; case 4
.short _0206C464 - _0206C3EA - 2 ; case 5
_0206C3F6:
mov r1, #0x46
mov r2, #0
bl GetBoxMonData
strb r0, [r6, #2]
add r0, r4, #0
mov r1, #0x46
add r2, r7, #0
bl sub_0206EC40
b _0206C478
_0206C40C:
mov r1, #0x47
mov r2, #0
bl GetBoxMonData
strb r0, [r6, #2]
add r0, r4, #0
mov r1, #0x47
add r2, r7, #0
bl sub_0206EC40
b _0206C478
_0206C422:
mov r1, #0x48
mov r2, #0
bl GetBoxMonData
strb r0, [r6, #2]
add r0, r4, #0
mov r1, #0x48
add r2, r7, #0
bl sub_0206EC40
b _0206C478
_0206C438:
mov r1, #0x49
mov r2, #0
bl GetBoxMonData
strb r0, [r6, #2]
add r0, r4, #0
mov r1, #0x49
add r2, r7, #0
bl sub_0206EC40
b _0206C478
_0206C44E:
mov r1, #0x4a
mov r2, #0
bl GetBoxMonData
strb r0, [r6, #2]
add r0, r4, #0
mov r1, #0x4a
add r2, r7, #0
bl sub_0206EC40
b _0206C478
_0206C464:
mov r1, #0x4b
mov r2, #0
bl GetBoxMonData
strb r0, [r6, #2]
add r0, r4, #0
mov r1, #0x4b
add r2, r7, #0
bl sub_0206EC40
_0206C478:
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #3
blo _0206C3CA
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0206C304
thumb_func_start sub_0206C488
sub_0206C488: ; 0x0206C488
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
str r0, [sp, #4]
add r6, r1, #0
mov r0, #1
mov r1, #0
str r0, [sp]
mov r0, #0xe7
add r2, r1, #0
mov r3, #4
bl GfGfxLoader_LoadFromNarc
mov r4, #0
add r5, r0, #0
ldr r0, [sp, #4]
mov r1, #5
add r2, r4, #0
add r7, r4, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r2, r0, #0x10
ldr r1, _0206C508 ; =0x00004E20
add r0, r4, #0
add r1, r2, r1
ldr r2, _0206C50C ; =0x000007FD
_0206C4BC:
lsl r3, r0, #1
ldrh r3, [r5, r3]
cmp r1, r3
bne _0206C4CC
add r0, r0, #1
lsl r0, r0, #0x10
lsr r7, r0, #0x10
b _0206C4D6
_0206C4CC:
add r0, r0, #1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
cmp r0, r2
blo _0206C4BC
_0206C4D6:
lsl r0, r7, #1
ldr r7, _0206C508 ; =0x00004E20
mov r3, #0
add r2, r5, r0
_0206C4DE:
lsl r1, r3, #1
ldrh r0, [r2, r1]
cmp r0, r7
bhi _0206C4F8
strh r0, [r6, r1]
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
add r0, r3, #1
lsl r0, r0, #0x10
lsr r3, r0, #0x10
cmp r3, #0x10
blo _0206C4DE
_0206C4F8:
add r0, r5, #0
bl FreeToHeap
lsl r0, r4, #0x18
lsr r0, r0, #0x18
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_0206C508: .word 0x00004E20
_0206C50C: .word 0x000007FD
thumb_func_end sub_0206C488
thumb_func_start sub_0206C510
sub_0206C510: ; 0x0206C510
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
add r7, r0, #0
str r1, [sp]
mov r0, #4
mov r1, #0xb4
str r2, [sp, #4]
bl AllocFromHeap
add r4, r0, #0
mov r0, #0
add r1, r4, #0
mov r2, #0xb4
str r0, [sp, #0x1c]
bl MIi_CpuClearFast
add r0, r7, #0
mov r1, #5
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x18]
add r0, r7, #0
mov r1, #0x70
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0xc]
add r2, r4, #0
ldr r0, [sp, #0x18]
ldr r1, [sp, #0xc]
add r2, #0x30
bl sub_02071900
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x14]
mov r6, #0
_0206C564:
lsl r0, r6, #2
add r5, r6, #0
str r0, [sp, #0x20]
add r0, r4, r0
add r5, #0x36
str r0, [sp, #0x10]
ldr r0, [sp]
add r1, r5, #0
mov r2, #0
bl GetBoxMonData
ldr r1, [sp, #0x20]
mov r2, #0
str r0, [r4, r1]
ldr r0, [sp, #4]
add r1, r5, #0
bl GetBoxMonData
ldr r1, [sp, #0x10]
str r0, [r1, #0x20]
add r0, r6, #1
lsl r0, r0, #0x10
lsr r6, r0, #0x10
cmp r6, #4
blo _0206C564
add r1, r4, #0
add r0, r7, #0
add r1, #0x94
bl sub_0206C488
add r5, r0, #0
mov r6, #0
_0206C5A4:
lsl r0, r6, #2
ldr r1, [r4, r0]
str r0, [sp, #0x24]
cmp r1, #0
beq _0206C5F4
mov r0, #0
cmp r5, #0
bls _0206C5EA
_0206C5B4:
lsl r2, r0, #1
add r2, r4, r2
add r2, #0x94
ldrh r2, [r2]
cmp r1, r2
bne _0206C5E0
lsl r1, r1, #0x10
add r0, r7, #0
lsr r1, r1, #0x10
bl sub_0207137C
ldr r1, _0206C704 ; =0x0000FFFF
cmp r0, r1
bne _0206C5EA
ldr r1, [sp, #0x24]
add r0, r7, #0
ldr r1, [r4, r1]
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl sub_020713EC
b _0206C5EA
_0206C5E0:
add r0, r0, #1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
cmp r0, r5
blo _0206C5B4
_0206C5EA:
add r0, r6, #1
lsl r0, r0, #0x10
lsr r6, r0, #0x10
cmp r6, #4
blo _0206C5A4
_0206C5F4:
mov r0, #0
str r0, [sp, #8]
_0206C5F8:
ldr r0, [sp, #8]
lsl r6, r0, #2
ldr r0, [r4, r6]
cmp r0, #0
beq _0206C650
mov r5, #0
_0206C604:
mov r0, #0x52
lsl r0, r0, #2
add r0, r5, r0
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_02078000
ldr r1, [r4, r6]
cmp r1, r0
bne _0206C646
lsl r2, r5, #0x18
ldr r0, [sp, #0x18]
ldr r1, [sp, #0xc]
lsr r2, r2, #0x18
bl sub_0207227C
cmp r0, #0
beq _0206C646
ldr r1, [r4, r6]
add r0, r7, #0
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl sub_0207137C
ldr r1, _0206C704 ; =0x0000FFFF
cmp r0, r1
bne _0206C646
ldr r1, [r4, r6]
add r0, r7, #0
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl sub_020713EC
_0206C646:
add r0, r5, #1
lsl r0, r0, #0x10
lsr r5, r0, #0x10
cmp r5, #0x64
blo _0206C604
_0206C650:
ldr r0, [sp, #8]
add r0, r0, #1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #8]
cmp r0, #4
blo _0206C5F8
mov r6, #0
_0206C660:
lsl r1, r6, #2
ldr r0, [r4, r1]
cmp r0, #0
beq _0206C6A0
mov r3, #0
_0206C66A:
lsl r2, r3, #2
add r2, r4, r2
ldr r0, [r4, r1]
ldr r2, [r2, #0x20]
cmp r0, r2
bne _0206C68C
cmp r0, #0
beq _0206C68C
ldr r2, [sp, #0x1c]
add r5, r2, #0
add r5, r5, #1
lsl r5, r5, #0x10
lsr r5, r5, #0x10
lsl r2, r2, #2
str r5, [sp, #0x1c]
add r2, r4, r2
str r0, [r2, #0x10]
_0206C68C:
add r0, r3, #1
lsl r0, r0, #0x10
lsr r3, r0, #0x10
cmp r3, #4
blo _0206C66A
add r0, r6, #1
lsl r0, r0, #0x10
lsr r6, r0, #0x10
cmp r6, #4
blo _0206C660
_0206C6A0:
mov r6, #0
_0206C6A2:
lsl r0, r6, #2
add r5, r4, r0
ldr r3, [r5, #0x10]
cmp r3, #0
beq _0206C6F8
ldr r0, [sp, #0x14]
mov r2, #0
cmp r0, #0
bls _0206C6EE
_0206C6B4:
lsl r0, r2, #1
add r0, r4, r0
ldrh r1, [r0, #0x30]
cmp r1, #0
beq _0206C6E2
ldr r0, [r5, #0x10]
cmp r0, r1
bne _0206C6E2
lsl r1, r3, #0x10
add r0, r7, #0
lsr r1, r1, #0x10
bl sub_0207137C
ldr r1, _0206C704 ; =0x0000FFFF
cmp r0, r1
bne _0206C6EE
ldr r1, [r5, #0x10]
add r0, r7, #0
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl sub_020713EC
b _0206C6EE
_0206C6E2:
add r0, r2, #1
lsl r0, r0, #0x10
lsr r2, r0, #0x10
ldr r0, [sp, #0x14]
cmp r2, r0
blo _0206C6B4
_0206C6EE:
add r0, r6, #1
lsl r0, r0, #0x10
lsr r6, r0, #0x10
cmp r6, #4
blo _0206C6A2
_0206C6F8:
add r0, r4, #0
bl FreeToHeap
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
nop
_0206C704: .word 0x0000FFFF
thumb_func_end sub_0206C510
thumb_func_start sub_0206C708
sub_0206C708: ; 0x0206C708
push {r4, lr}
add r4, r0, #0
mov r1, #0
bl sub_02029334
add r0, r4, #0
mov r1, #0
bl sub_0202933C
pop {r4, pc}
thumb_func_end sub_0206C708
thumb_func_start sub_0206C71C
sub_0206C71C: ; 0x0206C71C
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
add r0, r1, #0
add r1, sp, #0
bl sub_0206C1C8
ldr r2, _0206C78C ; =0x020FF4AE
mov r3, #0
mov r1, #6
_0206C730:
add r0, r3, #0
mul r0, r1
ldrh r0, [r2, r0]
cmp r5, r0
bne _0206C73E
add r6, r3, #0
b _0206C748
_0206C73E:
add r0, r3, #1
lsl r0, r0, #0x10
lsr r3, r0, #0x10
cmp r3, #9
blo _0206C730
_0206C748:
cmp r3, #9
bne _0206C752
add sp, #8
add r0, r5, #0
pop {r4, r5, r6, pc}
_0206C752:
ldr r0, [sp]
mov r1, #6
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x10
lsr r4, r0, #0x10
ldr r0, [sp, #4]
mov r1, #6
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x10
lsr r2, r0, #0x10
mov r0, #6
add r1, r6, #0
mul r1, r0
ldr r0, _0206C790 ; =0x020FF4B0
ldrh r0, [r0, r1]
cmp r4, r0
beq _0206C784
cmp r2, r0
beq _0206C784
ldr r0, _0206C794 ; =0x020FF4B2
ldrh r5, [r0, r1]
_0206C784:
add r0, r5, #0
add sp, #8
pop {r4, r5, r6, pc}
nop
_0206C78C: .word 0x020FF4AE
_0206C790: .word 0x020FF4B0
_0206C794: .word 0x020FF4B2
thumb_func_end sub_0206C71C
thumb_func_start sub_0206C798
sub_0206C798: ; 0x0206C798
push {r3, r4, r5, lr}
sub sp, #8
add r4, r0, #0
add r0, r1, #0
add r1, sp, #0
bl sub_0206C1C8
ldr r0, [sp]
mov r1, #6
mov r2, #0
bl GetBoxMonData
add r5, r0, #0
ldr r0, [sp, #4]
mov r1, #6
mov r2, #0
bl GetBoxMonData
cmp r5, #0xec
beq _0206C7C4
cmp r0, #0xec
bne _0206C7DE
_0206C7C4:
mov r1, #0x56
add r0, r4, #0
lsl r1, r1, #2
bl sub_0207137C
ldr r1, _0206C7E4 ; =0x0000FFFF
cmp r0, r1
bne _0206C7DE
mov r1, #0x56
add r0, r4, #0
lsl r1, r1, #2
bl sub_020713EC
_0206C7DE:
add sp, #8
pop {r3, r4, r5, pc}
nop
_0206C7E4: .word 0x0000FFFF
thumb_func_end sub_0206C798
thumb_func_start sub_0206C7E8
sub_0206C7E8: ; 0x0206C7E8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r1, #0
add r1, sp, #4
str r0, [sp]
bl sub_0206C1C8
mov r4, #0
add r7, sp, #4
_0206C7FA:
lsl r6, r4, #2
ldr r0, [r7, r6]
mov r1, #5
mov r2, #0
bl GetBoxMonData
lsl r1, r4, #1
add r2, sp, #0xc
strh r0, [r2, r1]
add r0, r2, #0
ldrh r0, [r0, r1]
cmp r0, #0x84
bne _0206C81E
mov r0, #1
eor r0, r4
strb r0, [r5]
strb r4, [r5, #1]
b _0206C830
_0206C81E:
ldr r0, [r7, r6]
bl sub_0206FF90
cmp r0, #1
bne _0206C830
mov r0, #1
strb r4, [r5]
eor r0, r4
strb r0, [r5, #1]
_0206C830:
add r0, r4, #1
lsl r0, r0, #0x10
lsr r4, r0, #0x10
cmp r4, #2
blo _0206C7FA
ldrb r0, [r5]
lsl r1, r0, #1
add r0, sp, #0xc
ldrh r0, [r0, r1]
bl sub_0207123C
add r4, r0, #0
cmp r4, #0x1d
bne _0206C860
ldr r0, [sp]
bl sub_0202930C
mov r1, #2
lsl r1, r1, #0xe
tst r0, r1
beq _0206C85E
mov r4, #0x20
b _0206C860
_0206C85E:
mov r4, #0x1d
_0206C860:
ldr r0, _0206C8AC ; =0x0000013A
cmp r4, r0
bne _0206C87A
ldr r0, [sp]
bl sub_0202930C
mov r1, #2
lsl r1, r1, #0xe
tst r0, r1
beq _0206C878
ldr r4, _0206C8B0 ; =0x00000139
b _0206C87A
_0206C878:
ldr r4, _0206C8AC ; =0x0000013A
_0206C87A:
ldr r0, _0206C8B4 ; =0x000001EA
cmp r4, r0
bne _0206C882
sub r4, r0, #1
_0206C882:
ldrb r0, [r5, #1]
lsl r1, r0, #1
add r0, sp, #0xc
ldrh r0, [r0, r1]
cmp r0, #0x84
bne _0206C8A6
ldrb r0, [r5]
lsl r1, r0, #2
add r0, sp, #4
ldr r0, [r0, r1]
bl sub_0206FF90
cmp r0, #1
beq _0206C8A6
ldrb r1, [r5, #1]
ldrb r0, [r5]
strb r0, [r5, #1]
strb r1, [r5]
_0206C8A6:
add r0, r4, #0
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0206C8AC: .word 0x0000013A
_0206C8B0: .word 0x00000139
_0206C8B4: .word 0x000001EA
thumb_func_end sub_0206C7E8
thumb_func_start sub_0206C8B8
sub_0206C8B8: ; 0x0206C8B8
push {r0, r1, r2, r3}
push {r4, r5, r6, lr}
sub sp, #0x20
add r6, r1, #0
add r5, r0, #0
add r0, r6, #0
mov r1, #0x13
add r4, r3, #0
bl sub_0206FBE8
add r1, sp, #0x10
strb r0, [r1]
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
str r0, [sp, #0xc]
add r0, r5, #0
add r1, r6, #0
mov r2, #1
mov r3, #0x20
bl sub_0206DE38
mov r1, #0
add r0, sp, #0x10
strb r1, [r0, #2]
mov r1, #4
strh r1, [r0, #4]
add r0, r5, #0
mov r1, #0x9b
add r2, sp, #0x14
bl sub_0206EC40
add r0, r5, #0
mov r1, #9
add r2, sp, #0x10
bl sub_0206EC40
add r2, sp, #0x10
add r0, r5, #0
mov r1, #0x9c
add r2, #2
bl sub_0206EC40
add r0, sp, #0x30
ldrb r0, [r0, #8]
cmp r0, #0
beq _0206C922
add r0, r5, #0
mov r1, #0x98
add r2, sp, #0x38
bl sub_0206EC40
_0206C922:
add r2, sp, #0x10
mov r1, #1
add r0, sp, #0x10
strb r1, [r0, #1]
add r0, r5, #0
mov r1, #0x4c
add r2, #1
bl sub_0206EC40
ldr r0, _0206C9AC ; =0x000001EE
mov r1, #4
bl GetSpeciesName
add r6, r0, #0
add r0, r5, #0
mov r1, #0x77
add r2, r6, #0
bl sub_0206EC40
add r0, r6, #0
bl String_dtor
ldr r0, [sp, #0x40]
cmp r0, #4
bne _0206C992
add r0, r4, #0
bl PlayerProfile_GetTrainerID
str r0, [sp, #0x1c]
add r0, r4, #0
bl PlayerProfile_GetTrainerGender
str r0, [sp, #0x18]
add r0, r4, #0
mov r1, #0x20
bl sub_02028F68
add r6, r0, #0
add r0, r5, #0
mov r1, #0x91
add r2, r6, #0
bl sub_0206EC40
add r0, r5, #0
mov r1, #7
add r2, sp, #0x1c
bl sub_0206EC40
add r0, r5, #0
mov r1, #0x9d
add r2, sp, #0x18
bl sub_0206EC40
add r0, r6, #0
bl String_dtor
_0206C992:
mov r0, #0
str r0, [sp]
ldr r2, [sp, #0x40]
ldr r3, [sp, #0x44]
add r0, r5, #0
add r1, r4, #0
bl sub_0208F260
add sp, #0x20
pop {r4, r5, r6}
pop {r3}
add sp, #0x10
bx r3
.balign 4, 0
_0206C9AC: .word 0x000001EE
thumb_func_end sub_0206C8B8
thumb_func_start sub_0206C9B0
sub_0206C9B0: ; 0x0206C9B0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
str r1, [sp, #0x10]
add r7, r0, #0
ldr r0, [sp, #0x10]
mov r1, #0x13
add r5, r2, #0
add r6, r3, #0
bl sub_0206FBE8
add r1, sp, #0x14
strb r0, [r1]
add r0, r5, #0
bl sub_0202930C
add r4, r0, #0
add r0, r5, #0
bl sub_02029344
cmp r0, #0
beq _0206CA02
add r0, r6, #0
add r1, r4, #0
bl sub_02070068
cmp r0, #0
bne _0206CA02
mov r5, #0
_0206C9E8:
add r0, r4, #0
bl PRandom
add r4, r0, #0
add r0, r6, #0
add r1, r4, #0
bl sub_02070068
cmp r0, #0
bne _0206CA02
add r5, r5, #1
cmp r5, #4
blt _0206C9E8
_0206CA02:
mov r2, #1
str r2, [sp]
str r4, [sp, #4]
mov r0, #0
str r0, [sp, #8]
str r0, [sp, #0xc]
ldr r1, [sp, #0x10]
add r0, r7, #0
mov r3, #0x20
bl sub_0206DE38
add r2, sp, #0x14
mov r1, #0
add r0, sp, #0x14
strb r1, [r0, #1]
mov r1, #4
strh r1, [r0, #2]
add r0, r7, #0
mov r1, #0x9b
add r2, #2
bl sub_0206EC40
add r0, r7, #0
mov r1, #9
add r2, sp, #0x14
bl sub_0206EC40
add r2, sp, #0x14
add r0, r7, #0
mov r1, #0x9c
add r2, #1
bl sub_0206EC40
add r0, r7, #0
mov r1, #0x70
add r2, sp, #0x30
bl sub_0206EC40
ldr r0, _0206CA6C ; =0x000001EE
mov r1, #4
bl GetSpeciesName
add r4, r0, #0
add r0, r7, #0
mov r1, #0x77
add r2, r4, #0
bl sub_0206EC40
add r0, r4, #0
bl String_dtor
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0206CA6C: .word 0x000001EE
thumb_func_end sub_0206C9B0
thumb_func_start sub_0206CA70
sub_0206CA70: ; 0x0206CA70
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
mov r0, #4
str r1, [sp, #4]
add r7, r2, #0
bl AllocMonZeroed
add r1, sp, #0x10
add r4, r0, #0
add r0, r5, #0
add r1, #1
bl sub_0206C7E8
add r1, r5, #0
bl sub_0206C71C
add r6, r0, #0
add r0, r7, #0
bl PlayerProfile_GetTrainerID
add r1, sp, #0x10
str r0, [sp, #8]
ldrb r1, [r1, #1]
add r0, r5, #0
bl sub_0206BDB0
mov r1, #0x70
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldr r3, [sp, #8]
add r0, r4, #0
add r1, r6, #0
add r2, r5, #0
bl sub_0206C9B0
add r0, r4, #0
add r1, r5, #0
bl sub_0206C304
add r1, sp, #0x10
ldrb r1, [r1, #2]
add r0, r5, #0
bl sub_0206BDB0
add r1, sp, #0x10
str r0, [sp, #0xc]
ldrb r1, [r1, #1]
add r0, r5, #0
bl sub_0206BDB0
add r2, r0, #0
ldr r1, [sp, #0xc]
add r0, r4, #0
bl sub_0206C510
mov r0, #1
mov r1, #0
bl sub_02017FE4
add r3, r0, #0
mov r0, #4
str r0, [sp]
add r0, r4, #0
add r1, r7, #0
mov r2, #3
bl sub_0208F260
cmp r6, #0xac
bne _0206CB0C
add r0, r4, #0
add r1, r5, #0
bl sub_0206C798
_0206CB0C:
mov r1, #1
add r0, sp, #0x10
strb r1, [r0]
add r0, r4, #0
mov r1, #0x4c
add r2, sp, #0x10
bl sub_0206EC40
ldr r0, [sp, #4]
add r1, r4, #0
bl sub_02074524
add r0, r5, #0
bl sub_0206C708
add r0, r4, #0
bl FreeToHeap
add sp, #0x14
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_0206CA70
thumb_func_start sub_0206CB34
sub_0206CB34: ; 0x0206CB34
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
bl GetPartyCount
add r6, r0, #0
mov r4, #0
cmp r6, #0
ble _0206CB84
mov r7, #0xad
_0206CB46:
add r0, r5, #0
add r1, r4, #0
bl GetPartyMonByIndex
add r1, r7, #0
mov r2, #0
bl GetMonData
cmp r0, #0
bne _0206CB7A
add r0, r5, #0
add r1, r4, #0
bl GetPartyMonByIndex
mov r1, #0xa
mov r2, #0
bl GetMonData
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r0, #0x28
beq _0206CB76
cmp r0, #0x31
bne _0206CB7A
_0206CB76:
mov r0, #2
pop {r3, r4, r5, r6, r7, pc}
_0206CB7A:
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, r6
blt _0206CB46
_0206CB84:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0206CB34
thumb_func_start sub_0206CB88
sub_0206CB88: ; 0x0206CB88
push {r4, r5, r6, r7}
mov r4, #0
add r3, r4, #0
_0206CB8E:
ldrh r7, [r0]
add r5, r3, #0
add r6, r1, #0
_0206CB94:
ldrh r2, [r6]
cmp r7, r2
bne _0206CBA0
mov r0, #1
pop {r4, r5, r6, r7}
bx lr
_0206CBA0:
add r5, r5, #1
add r6, r6, #2
cmp r5, #2
blt _0206CB94
add r4, r4, #1
add r0, r0, #2
cmp r4, #2
blt _0206CB8E
mov r0, #0
pop {r4, r5, r6, r7}
bx lr
.balign 4, 0
thumb_func_end sub_0206CB88
thumb_func_start sub_0206CBB8
sub_0206CBB8: ; 0x0206CBB8
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r5, r0, #0
mov r0, #0
str r0, [sp, #4]
add r0, sp, #0x10
add r4, sp, #0x18
str r0, [sp]
add r7, sp, #8
add r6, sp, #0x1c
_0206CBCC:
ldr r0, [r5]
mov r1, #5
mov r2, #0
bl GetBoxMonData
strh r0, [r4]
ldr r0, [r5]
mov r1, #7
mov r2, #0
bl GetBoxMonData
ldr r1, [sp]
str r0, [r1]
mov r1, #0
ldr r0, [r5]
add r2, r1, #0
bl GetBoxMonData
add r1, r0, #0
ldrh r0, [r4]
bl sub_0206FFC8
stmia r7!, {r0}
ldrh r0, [r4]
mov r1, #0x16
bl sub_0206FBE8
strh r0, [r6]
ldrh r0, [r4]
mov r1, #0x17
bl sub_0206FBE8
strh r0, [r6, #2]
ldr r0, [sp]
add r5, r5, #4
add r0, r0, #4
str r0, [sp]
ldr r0, [sp, #4]
add r4, r4, #2
add r0, r0, #1
add r6, r6, #4
str r0, [sp, #4]
cmp r0, #2
blo _0206CBCC
add r0, sp, #8
ldrh r1, [r0, #0x14]
cmp r1, #0xf
beq _0206CC32
ldrh r0, [r0, #0x18]
cmp r0, #0xf
bne _0206CC38
_0206CC32:
add sp, #0x24
mov r0, #0
pop {r4, r5, r6, r7, pc}
_0206CC38:
cmp r1, #0xd
bne _0206CC46
cmp r0, #0xd
bne _0206CC46
add sp, #0x24
mov r0, #0
pop {r4, r5, r6, r7, pc}
_0206CC46:
cmp r1, #0xd
beq _0206CC4E
cmp r0, #0xd
bne _0206CC62
_0206CC4E:
ldr r1, [sp, #0x10]
ldr r0, [sp, #0x14]
cmp r1, r0
bne _0206CC5C
add sp, #0x24
mov r0, #0x14
pop {r4, r5, r6, r7, pc}
_0206CC5C:
add sp, #0x24
mov r0, #0x32
pop {r4, r5, r6, r7, pc}
_0206CC62:
ldr r1, [sp, #0xc]
ldr r0, [sp, #8]
cmp r0, r1
bne _0206CC70
add sp, #0x24
mov r0, #0
pop {r4, r5, r6, r7, pc}
_0206CC70:
cmp r0, #2
beq _0206CC78
cmp r1, #2
bne _0206CC7E
_0206CC78:
add sp, #0x24
mov r0, #0
pop {r4, r5, r6, r7, pc}
_0206CC7E:
add r0, sp, #0x1c
add r1, sp, #0x20
bl sub_0206CB88
cmp r0, #0
bne _0206CC90
add sp, #0x24
mov r0, #0
pop {r4, r5, r6, r7, pc}
_0206CC90:
add r0, sp, #8
ldrh r1, [r0, #0x10]
ldrh r0, [r0, #0x12]
cmp r1, r0
bne _0206CCAE
ldr r1, [sp, #0x10]
ldr r0, [sp, #0x14]
cmp r1, r0
beq _0206CCA8
add sp, #0x24
mov r0, #0x46
pop {r4, r5, r6, r7, pc}
_0206CCA8:
add sp, #0x24
mov r0, #0x32
pop {r4, r5, r6, r7, pc}
_0206CCAE:
ldr r1, [sp, #0x10]
ldr r0, [sp, #0x14]
cmp r1, r0
beq _0206CCBC
add sp, #0x24
mov r0, #0x32
pop {r4, r5, r6, r7, pc}
_0206CCBC:
mov r0, #0x14
add sp, #0x24
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0206CBB8
thumb_func_start sub_0206CCC4
sub_0206CCC4: ; 0x0206CCC4
push {r3, lr}
sub sp, #8
add r1, sp, #0
bl sub_0206C1C8
add r0, sp, #0
bl sub_0206CBB8
add sp, #8
pop {r3, pc}
thumb_func_end sub_0206CCC4
thumb_func_start sub_0206CCD8
sub_0206CCD8: ; 0x0206CCD8
push {r3, r4, r5, lr}
add r4, r0, #0
bl sub_0205560C
add r5, r0, #0
add r0, r4, #0
bl sub_02055600
mov r1, #0x64
mul r1, r0
add r0, r4, #0
add r5, r5, r1
bl sub_02055670
cmp r0, #0
beq _0206CCFC
mov r0, #0xff
pop {r3, r4, r5, pc}
_0206CCFC:
ldr r2, _0206CD18 ; =0x020FF490
mov r1, #0
_0206CD00:
ldrh r0, [r2]
cmp r5, r0
bne _0206CD0A
mov r0, #0xe6
pop {r3, r4, r5, pc}
_0206CD0A:
add r1, r1, #1
add r2, r2, #2
cmp r1, #0xf
blo _0206CD00
mov r0, #0xff
pop {r3, r4, r5, pc}
nop
_0206CD18: .word 0x020FF490
thumb_func_end sub_0206CCD8
thumb_func_start sub_0206CD1C
sub_0206CD1C: ; 0x0206CD1C
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r7, r1, #0
add r1, sp, #8
str r0, [sp]
str r2, [sp, #4]
bl sub_0206C1C8
mov r6, #0
add r4, r6, #0
add r5, sp, #8
_0206CD32:
ldr r0, [r5]
mov r1, #0xac
mov r2, #0
bl GetBoxMonData
cmp r0, #0
beq _0206CD50
ldr r0, [sp]
add r1, r4, #0
bl sub_020292DC
mov r1, #1
bl sub_02029324
add r6, r6, #1
_0206CD50:
add r4, r4, #1
add r5, r5, #4
cmp r4, #2
blo _0206CD32
ldr r0, [sp]
bl sub_020292F8
cmp r0, #0
bne _0206CDA2
cmp r6, #2
bne _0206CDA2
ldr r0, [sp]
mov r1, #1
bl sub_020292DC
bl sub_020292EC
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r0, #0xff
bne _0206CDA2
ldr r0, [sp]
bl sub_0206CCC4
add r4, r0, #0
bl LCRandom
mov r1, #0x64
mul r1, r0
add r0, r1, #0
ldr r1, _0206CE40 ; =0x0000FFFF
bl _u32_div_f
cmp r4, r0
bls _0206CDA2
ldr r0, [sp]
bl sub_0206C274
ldr r0, [sp, #4]
bl sub_0209316C
_0206CDA2:
ldr r0, [sp]
bl sub_02029314
add r4, r0, #0
ldr r0, [sp]
add r1, r4, #1
bl sub_0202933C
ldr r0, [sp, #4]
bl sub_0206CCD8
add r1, r4, #1
cmp r1, r0
bne _0206CE3A
ldr r0, [sp]
mov r1, #0
bl sub_0202933C
add r0, r7, #0
bl sub_0206CB34
add r6, r0, #0
add r0, r7, #0
mov r5, #0
bl GetPartyCount
cmp r0, #0
bls _0206CE3A
_0206CDDA:
add r0, r7, #0
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #0x4c
mov r2, #0
add r4, r0, #0
bl GetMonData
cmp r0, #0
beq _0206CE2E
add r0, r4, #0
mov r1, #3
mov r2, #0
bl GetMonData
cmp r0, #0
bne _0206CE2E
add r0, r4, #0
mov r1, #9
mov r2, #0
bl GetMonData
str r0, [sp, #0x10]
cmp r0, #0
beq _0206CE28
cmp r0, r6
blo _0206CE18
sub r0, r0, r6
str r0, [sp, #0x10]
b _0206CE1C
_0206CE18:
sub r0, r0, #1
str r0, [sp, #0x10]
_0206CE1C:
add r0, r4, #0
mov r1, #9
add r2, sp, #0x10
bl sub_0206EC40
b _0206CE2E
_0206CE28:
add sp, #0x14
mov r0, #1
pop {r4, r5, r6, r7, pc}
_0206CE2E:
add r0, r7, #0
add r5, r5, #1
bl GetPartyCount
cmp r5, r0
blo _0206CDDA
_0206CE3A:
mov r0, #0
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0206CE40: .word 0x0000FFFF
thumb_func_end sub_0206CD1C
thumb_func_start sub_0206CE44
sub_0206CE44: ; 0x0206CE44
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
bl GetPartyCount
add r6, r0, #0
mov r5, #0
cmp r6, #0
ble _0206CE90
_0206CE54:
add r0, r7, #0
add r1, r5, #0
bl GetPartyMonByIndex
mov r1, #3
mov r2, #0
add r4, r0, #0
bl GetMonData
cmp r0, #0
bne _0206CE8A
add r0, r4, #0
mov r1, #0x4c
mov r2, #0
bl GetMonData
cmp r0, #0
beq _0206CE8A
add r0, r4, #0
mov r1, #9
mov r2, #0
bl GetMonData
cmp r0, #0
bne _0206CE8A
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_0206CE8A:
add r5, r5, #1
cmp r5, r6
blt _0206CE54
_0206CE90:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0206CE44
thumb_func_start sub_0206CE94
sub_0206CE94: ; 0x0206CE94
push {r4, lr}
sub sp, #8
add r4, r1, #0
add r1, sp, #0
bl sub_0206C1C8
ldr r0, [sp]
mov r1, #5
mov r2, #0
bl GetBoxMonData
cmp r0, #0
beq _0206CEC2
ldr r2, [sp]
add r0, r4, #0
mov r1, #0
bl BufferBoxMonNickname
ldr r2, [sp]
add r0, r4, #0
mov r1, #2
bl BufferBoxMonOTName
_0206CEC2:
ldr r0, [sp, #4]
mov r1, #5
mov r2, #0
bl GetBoxMonData
cmp r0, #0
beq _0206CEDA
ldr r2, [sp, #4]
add r0, r4, #0
mov r1, #1
bl BufferBoxMonNickname
_0206CEDA:
add sp, #8
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0206CE94
thumb_func_start sub_0206CEE0
sub_0206CEE0: ; 0x0206CEE0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r4, r1, #0
add r1, sp, #0x18
ldrb r6, [r1, #0x10]
add r5, r0, #0
add r7, r2, #0
add r1, r6, #0
str r3, [sp, #8]
bl sub_020292DC
str r0, [sp, #0xc]
add r0, r5, #0
add r1, r6, #0
bl sub_0206BDB0
add r5, r0, #0
ldr r0, [sp, #0x2c]
add r1, r4, #0
add r2, r5, #0
bl BufferBoxMonNickname
ldr r0, [sp, #0xc]
bl sub_020292EC
add r1, r0, #0
add r0, r5, #0
bl sub_0206C0A0
lsl r0, r0, #0x18
lsr r2, r0, #0x18
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [sp, #0x2c]
add r1, r7, #0
mov r3, #3
bl BufferIntegerAsString
add r0, r5, #0
mov r1, #0x6f
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, #2
beq _0206CF68
add r0, r5, #0
mov r1, #5
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
cmp r0, #0x1d
beq _0206CF58
cmp r0, #0x20
bne _0206CF68
_0206CF58:
add r0, r5, #0
mov r1, #0x4d
mov r2, #0
bl GetBoxMonData
cmp r0, #0
bne _0206CF68
mov r4, #2
_0206CF68:
ldr r0, [sp, #0x2c]
ldr r1, [sp, #8]
add r2, r4, #0
bl sub_0200C440
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0206CEE0
thumb_func_start sub_0206CF78
sub_0206CF78: ; 0x0206CF78
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r4, r0, #0
mov r1, #0
bl sub_020292DC
bl sub_020292E4
add r7, r0, #0
add r0, r4, #0
mov r1, #1
bl sub_020292DC
bl sub_020292E4
str r0, [sp]
add r0, r7, #0
mov r1, #5
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x10
lsr r6, r0, #0x10
ldr r0, [sp]
mov r1, #5
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x10
lsr r4, r0, #0x10
bne _0206CFC4
add r0, r5, #0
mov r1, #0
add r2, r7, #0
bl BufferBoxMonNickname
add r0, r6, #0
pop {r3, r4, r5, r6, r7, pc}
_0206CFC4:
ldr r2, [sp]
add r0, r5, #0
mov r1, #0
bl BufferBoxMonNickname
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0206CF78
thumb_func_start sub_0206CFD4
sub_0206CFD4: ; 0x0206CFD4
push {r4, lr}
add r4, r0, #0
bl sub_020292F8
cmp r0, #0
beq _0206CFE4
mov r0, #1
pop {r4, pc}
_0206CFE4:
add r0, r4, #0
bl sub_0206BDBC
cmp r0, #0
beq _0206CFF6
add r0, r0, #1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
pop {r4, pc}
_0206CFF6:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end sub_0206CFD4
thumb_func_start sub_0206CFFC
sub_0206CFFC: ; 0x0206CFFC
cmp r0, #0x14
bhi _0206D008
bhs _0206D01A
cmp r0, #0
beq _0206D016
b _0206D026
_0206D008:
cmp r0, #0x32
bhi _0206D010
beq _0206D01E
b _0206D026
_0206D010:
cmp r0, #0x46
beq _0206D022
b _0206D026
_0206D016:
mov r0, #3
bx lr
_0206D01A:
mov r0, #2
bx lr
_0206D01E:
mov r0, #1
bx lr
_0206D022:
mov r0, #0
bx lr
_0206D026:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end sub_0206CFFC
thumb_func_start sub_0206D02C
sub_0206D02C: ; 0x0206D02C
push {r3, lr}
bl sub_0206CCC4
bl sub_0206CFFC
pop {r3, pc}
thumb_func_end sub_0206D02C
thumb_func_start sub_0206D038
sub_0206D038: ; 0x0206D038
push {r4, r5, r6, r7, lr}
sub sp, #0x3c
add r4, r0, #0
add r5, r1, #0
mov r0, #8
bl String_ctor
str r0, [sp, #0x10]
add r0, r5, #0
bl AllocMonZeroed
add r6, r0, #0
add r0, r4, #0
mov r1, #5
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x14]
mov r5, #0
add r7, sp, #0x34
_0206D064:
add r1, r5, #0
add r0, r4, #0
add r1, #0x36
mov r2, #0
bl GetMonData
lsl r1, r5, #1
strh r0, [r7, r1]
add r1, r5, #0
add r0, r4, #0
add r1, #0x3a
mov r2, #0
bl GetMonData
add r1, sp, #0x30
strb r0, [r1, r5]
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #4
blo _0206D064
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl GetMonData
add r7, r0, #0
mov r5, #0
_0206D09C:
add r1, r5, #0
add r0, r4, #0
add r1, #0x46
mov r2, #0
bl GetMonData
add r1, sp, #0x24
add r1, #2
strb r0, [r1, r5]
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #6
blo _0206D09C
add r0, r4, #0
mov r1, #0xc
mov r2, #0
bl GetMonData
add r1, sp, #0x18
strb r0, [r1, #9]
add r0, r4, #0
mov r1, #0x7a
mov r2, #0
bl GetMonData
add r1, sp, #0x18
strb r0, [r1, #8]
add r0, r4, #0
mov r1, #0xb
mov r2, #0
bl GetMonData
add r1, sp, #0x18
strb r0, [r1, #7]
add r0, r4, #0
mov r1, #0x9a
mov r2, #0
bl GetMonData
add r1, sp, #0x18
strb r0, [r1, #0xa]
add r0, r4, #0
mov r1, #0x6e
mov r2, #0
bl GetMonData
add r1, sp, #0x18
strb r0, [r1, #5]
ldr r2, [sp, #0x10]
add r0, r4, #0
mov r1, #0x91
bl GetMonData
add r0, r4, #0
mov r1, #0x9d
mov r2, #0
bl GetMonData
add r1, sp, #0x18
strb r0, [r1, #3]
add r0, r4, #0
mov r1, #7
mov r2, #0
bl GetMonData
str r0, [sp, #0x2c]
add r0, r4, #0
mov r1, #0x70
mov r2, #0
bl GetMonData
add r1, sp, #0x18
strb r0, [r1, #4]
ldr r1, _0206D324 ; =0x000001EA
ldr r0, [sp, #0x14]
cmp r0, r1
bne _0206D170
add r0, r4, #0
mov r1, #0x98
mov r2, #0
bl GetMonData
add r5, r0, #0
mov r0, #2
mov r1, #1
bl sub_02017FE4
cmp r5, r0
bne _0206D170
ldr r0, [sp, #0x2c]
add r1, r7, #0
bl sub_02070068
cmp r0, #0
beq _0206D170
_0206D15C:
add r0, r7, #0
bl PRandom
add r7, r0, #0
ldr r0, [sp, #0x2c]
add r1, r7, #0
bl sub_02070068
cmp r0, #0
bne _0206D15C
_0206D170:
mov r2, #1
str r2, [sp]
str r7, [sp, #4]
mov r0, #0
str r0, [sp, #8]
str r0, [sp, #0xc]
ldr r1, [sp, #0x14]
add r0, r6, #0
mov r3, #0x20
bl sub_0206DE38
mov r5, #0
add r7, sp, #0x34
_0206D18A:
add r1, r5, #0
lsl r2, r5, #1
add r0, r6, #0
add r1, #0x36
add r2, r7, r2
bl sub_0206EC40
add r1, r5, #0
add r2, sp, #0x30
add r0, r6, #0
add r1, #0x3a
add r2, r2, r5
bl sub_0206EC40
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #4
blo _0206D18A
add r7, sp, #0x24
mov r5, #0
add r7, #2
_0206D1B6:
add r1, r5, #0
add r0, r6, #0
add r1, #0x46
add r2, r7, r5
bl sub_0206EC40
add r0, r5, #1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #6
blo _0206D1B6
add r2, sp, #0x20
add r0, r6, #0
mov r1, #0xc
add r2, #1
bl sub_0206EC40
add r0, r6, #0
mov r1, #0x7a
add r2, sp, #0x20
bl sub_0206EC40
add r2, sp, #0x1c
add r0, r6, #0
mov r1, #0xb
add r2, #3
bl sub_0206EC40
add r2, sp, #0x1c
mov r1, #0x78
add r0, sp, #0x18
strb r1, [r0, #6]
add r0, r6, #0
mov r1, #9
add r2, #2
bl sub_0206EC40
add r2, sp, #0x20
add r0, r6, #0
mov r1, #0x9a
add r2, #2
bl sub_0206EC40
add r2, sp, #0x1c
add r0, r6, #0
mov r1, #0x6e
add r2, #1
bl sub_0206EC40
ldr r2, [sp, #0x10]
add r0, r6, #0
mov r1, #0x91
bl sub_0206EC40
add r2, sp, #0x18
add r0, r6, #0
mov r1, #0x9d
add r2, #3
bl sub_0206EC40
add r0, r6, #0
mov r1, #7
add r2, sp, #0x2c
bl sub_0206EC40
add r0, r6, #0
mov r1, #0x70
add r2, sp, #0x1c
bl sub_0206EC40
add r0, r4, #0
mov r1, #0x98
mov r2, #0
bl GetMonData
add r1, sp, #0x18
strh r0, [r1, #0xc]
add r0, r4, #0
mov r1, #0x92
mov r2, #0
bl GetMonData
add r1, sp, #0x18
strb r0, [r1, #2]
add r0, r4, #0
mov r1, #0x93
mov r2, #0
bl GetMonData
add r1, sp, #0x18
strb r0, [r1, #1]
add r0, r4, #0
mov r1, #0x94
mov r2, #0
bl GetMonData
add r1, sp, #0x18
strb r0, [r1]
add r0, r6, #0
mov r1, #0x98
add r2, sp, #0x24
bl sub_0206EC40
add r2, sp, #0x18
add r0, r6, #0
mov r1, #0x92
add r2, #2
bl sub_0206EC40
add r2, sp, #0x18
add r0, r6, #0
mov r1, #0x93
add r2, #1
bl sub_0206EC40
add r0, r6, #0
mov r1, #0x94
add r2, sp, #0x18
bl sub_0206EC40
add r0, r4, #0
mov r1, #0x99
mov r2, #0
bl GetMonData
add r1, sp, #0x18
strh r0, [r1, #0xc]
add r0, r4, #0
mov r1, #0x95
mov r2, #0
bl GetMonData
add r1, sp, #0x18
strb r0, [r1, #2]
add r0, r4, #0
mov r1, #0x96
mov r2, #0
bl GetMonData
add r1, sp, #0x18
strb r0, [r1, #1]
add r0, r4, #0
mov r1, #0x97
mov r2, #0
bl GetMonData
add r1, sp, #0x18
strb r0, [r1]
add r0, r6, #0
mov r1, #0x99
add r2, sp, #0x24
bl sub_0206EC40
add r2, sp, #0x18
add r0, r6, #0
mov r1, #0x95
add r2, #2
bl sub_0206EC40
add r2, sp, #0x18
add r0, r6, #0
mov r1, #0x96
add r2, #1
bl sub_0206EC40
add r0, r6, #0
mov r1, #0x97
add r2, sp, #0x18
bl sub_0206EC40
add r0, r6, #0
add r1, r4, #0
bl sub_0207188C
ldr r0, [sp, #0x10]
bl String_dtor
add r0, r6, #0
bl FreeToHeap
add sp, #0x3c
pop {r4, r5, r6, r7, pc}
nop
_0206D324: .word 0x000001EA
thumb_func_end sub_0206D038
thumb_func_start sub_0206D328
sub_0206D328: ; 0x0206D328
push {r4, r5, lr}
sub sp, #0x1c
mov r3, #0x46
add r2, sp, #0
strb r3, [r2, #3]
mov r5, #0
strb r5, [r2, #2]
mov r3, #4
strb r3, [r2, #1]
add r4, r0, #0
strb r5, [r2]
bl sub_0206D038
add r2, sp, #0
add r0, r4, #0
mov r1, #0x4c
add r2, #3
bl sub_0206EC40
add r0, r4, #0
mov r1, #5
add r2, r5, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r0, r0, #0x10
add r1, r5, #0
add r2, sp, #4
bl GetSpeciesNameIntoArray
add r0, r4, #0
mov r1, #0x75
add r2, sp, #4
bl sub_0206EC40
add r2, sp, #0
add r0, r4, #0
mov r1, #0x4d
add r2, #2
bl sub_0206EC40
add r2, sp, #0
add r0, r4, #0
mov r1, #0x9b
add r2, #1
bl sub_0206EC40
add r0, r4, #0
mov r1, #0x9c
add r2, sp, #0
bl sub_0206EC40
add r0, r4, #0
bl sub_0206E250
add sp, #0x1c
pop {r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0206D328
thumb_func_start sub_0206D39C
sub_0206D39C: ; 0x0206D39C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
mov r5, #0
add r6, r0, #0
str r1, [sp]
str r2, [sp, #4]
add r7, r5, #0
add r4, r5, #0
_0206D3AC:
add r0, r6, #0
add r1, r4, #0
bl sub_0206BDB0
mov r1, #6
mov r2, #0
bl GetBoxMonData
lsl r0, r0, #0x10
add r1, sp, #8
lsr r0, r0, #0x10
add r1, r1, r4
bl sub_0206D43C
cmp r0, #0
beq _0206D3D4
add r0, r5, #1
lsl r0, r0, #0x18
add r7, r4, #0
lsr r5, r0, #0x18
_0206D3D4:
add r0, r4, #1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, #2
blo _0206D3AC
cmp r5, #2
bne _0206D418
bl LCRandom
lsr r2, r0, #0x1f
lsl r1, r0, #0x1f
sub r1, r1, r2
mov r0, #0x1f
ror r1, r0
add r0, r2, r1
add r0, sp, #8
beq _0206D408
ldrb r1, [r0]
ldr r0, [sp]
strb r1, [r0]
ldr r0, [sp, #4]
mov r1, #0
strb r1, [r0]
add sp, #0xc
mov r0, #1
pop {r4, r5, r6, r7, pc}
_0206D408:
ldrb r1, [r0, #1]
ldr r0, [sp]
strb r1, [r0]
ldr r1, [sp, #4]
mov r0, #1
strb r0, [r1]
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0206D418:
cmp r5, #1
bne _0206D42E
add r0, sp, #8
ldrb r1, [r0, r7]
ldr r0, [sp]
strb r1, [r0]
ldr r0, [sp, #4]
add sp, #0xc
strb r7, [r0]
mov r0, #1
pop {r4, r5, r6, r7, pc}
_0206D42E:
ldr r1, [sp]
mov r0, #0
strb r0, [r1]
ldr r1, [sp, #4]
strb r0, [r1]
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end sub_0206D39C
thumb_func_start sub_0206D43C
sub_0206D43C: ; 0x0206D43C
ldr r2, _0206D490 ; =0x00000121
sub r0, r0, r2
cmp r0, #5
bhi _0206D48A
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0206D450: ; jump table
.short _0206D464 - _0206D450 - 2 ; case 0
.short _0206D46A - _0206D450 - 2 ; case 1
.short _0206D47A - _0206D450 - 2 ; case 2
.short _0206D482 - _0206D450 - 2 ; case 3
.short _0206D472 - _0206D450 - 2 ; case 4
.short _0206D45C - _0206D450 - 2 ; case 5
_0206D45C:
mov r0, #0
strb r0, [r1]
mov r0, #1
bx lr
_0206D464:
mov r0, #1
strb r0, [r1]
bx lr
_0206D46A:
mov r0, #2
strb r0, [r1]
mov r0, #1
bx lr
_0206D472:
mov r0, #3
strb r0, [r1]
mov r0, #1
bx lr
_0206D47A:
mov r0, #4
strb r0, [r1]
mov r0, #1
bx lr
_0206D482:
mov r0, #5
strb r0, [r1]
mov r0, #1
bx lr
_0206D48A:
mov r0, #0
bx lr
nop
_0206D490: .word 0x00000121
thumb_func_end sub_0206D43C
thumb_func_start sub_0206D494
sub_0206D494: ; 0x0206D494
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
ldr r0, [r6, #0x3c]
bl sub_0205C600
add r7, r0, #0
bl sub_0206D590
add r5, r0, #0
beq _0206D4D8
mov r0, #0xb
mov r1, #0xc
bl AllocFromHeapAtEnd
add r4, r0, #0
str r5, [r4]
mov r0, #0
str r0, [r4, #4]
add r0, r7, #0
bl sub_0205F2A8
strb r0, [r4, #8]
mov r0, #0
strb r0, [r4, #9]
ldr r1, _0206D4DC ; =sub_0206D4E4
add r0, r6, #0
add r2, r4, #0
bl sub_020504F0
ldr r0, _0206D4E0 ; =0x00000905
bl PlaySE
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0206D4D8:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0206D4DC: .word sub_0206D4E4
_0206D4E0: .word 0x00000905
thumb_func_end sub_0206D494
thumb_func_start sub_0206D4E4
sub_0206D4E4: ; 0x0206D4E4
push {r4, r5, r6, lr}
add r4, r0, #0
bl sub_0205064C
add r6, r0, #0
add r0, r4, #0
bl sub_02050650
add r5, r0, #0
add r0, r4, #0
bl sub_02050654
add r4, r0, #0
ldr r0, [r4]
cmp r0, #3
bhi _0206D586
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0206D510: ; jump table
.short _0206D518 - _0206D510 - 2 ; case 0
.short _0206D534 - _0206D510 - 2 ; case 1
.short _0206D54E - _0206D510 - 2 ; case 2
.short _0206D576 - _0206D510 - 2 ; case 3
_0206D518:
ldr r0, [r6, #0x3c]
bl sub_0205C600
bl sub_02062198
cmp r0, #0
beq _0206D586
ldr r0, _0206D58C ; =0x00000906
bl PlaySE
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0206D586
_0206D534:
add r0, r5, #0
bl sub_0206D688
cmp r0, #0
beq _0206D586
ldr r0, _0206D58C ; =0x00000906
mov r1, #0
bl sub_02006154
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0206D586
_0206D54E:
ldr r0, [r5]
bl sub_02062198
cmp r0, #0
beq _0206D586
ldr r0, [r5, #4]
cmp r0, #0
bne _0206D566
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0206D586
_0206D566:
bl sub_02062198
cmp r0, #0
beq _0206D586
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0206D586
_0206D576:
ldr r0, [r6, #0x40]
bl sub_0206D850
add r0, r5, #0
bl FreeToHeap
mov r0, #1
pop {r4, r5, r6, pc}
_0206D586:
mov r0, #0
pop {r4, r5, r6, pc}
nop
_0206D58C: .word 0x00000906
thumb_func_end sub_0206D4E4
thumb_func_start sub_0206D590
sub_0206D590: ; 0x0206D590
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
bl sub_0205F35C
str r0, [sp]
add r0, r4, #0
bl sub_0205F2A8
add r5, r0, #0
add r0, r4, #0
bl sub_0205F914
add r6, r0, #0
add r0, r5, #0
bl sub_02060F0C
add r7, r0, #0
add r0, r4, #0
bl sub_0205F924
str r0, [sp, #4]
add r0, r4, #0
bl sub_0205F934
add r4, r0, #0
add r0, r5, #0
bl sub_02060F18
add r3, r0, #0
ldr r0, [sp]
ldr r2, [sp, #4]
add r1, r6, r7
add r3, r4, r3
bl sub_0206D614
add r4, r0, #0
beq _0206D60A
bl sub_0205F25C
ldr r1, _0206D610 ; =0x00000196
cmp r0, r1
beq _0206D5EC
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0206D5EC:
add r0, r4, #0
bl sub_0205F2A8
cmp r0, #1
beq _0206D604
cmp r0, #0
beq _0206D5FE
bl GF_AssertFail
_0206D5FE:
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0206D604:
add sp, #8
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
_0206D60A:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0206D610: .word 0x00000196
thumb_func_end sub_0206D590
thumb_func_start sub_0206D614
sub_0206D614: ; 0x0206D614
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
add r6, r1, #0
add r7, r2, #0
str r3, [sp]
bl sub_0205F1BC
str r0, [sp, #4]
add r0, r4, #0
bl sub_0205F168
add r5, r0, #0
_0206D62E:
ldr r0, [sp, #4]
mov r1, #1
bl sub_0205F220
cmp r0, #0
beq _0206D676
mov r1, #1
ldr r0, [sp, #4]
lsl r1, r1, #0x12
bl sub_0205F220
cmp r0, #0
bne _0206D676
ldr r0, [sp, #4]
bl sub_0205F914
add r4, r0, #0
ldr r0, [sp, #4]
bl sub_0205F934
cmp r4, r6
bne _0206D676
ldr r1, [sp]
cmp r0, r1
bne _0206D676
ldr r0, [sp, #4]
bl sub_0205F924
sub r0, r0, r7
bpl _0206D66C
neg r0, r0
_0206D66C:
cmp r0, #2
bge _0206D676
ldr r0, [sp, #4]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_0206D676:
add r0, sp, #4
bl sub_0205F1D0
sub r5, r5, #1
bne _0206D62E
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end sub_0206D614
thumb_func_start sub_0206D688
sub_0206D688: ; 0x0206D688
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
ldrb r0, [r5, #9]
cmp r0, #0
beq _0206D69E
cmp r0, #1
beq _0206D750
cmp r0, #2
beq _0206D77E
b _0206D7A8
_0206D69E:
ldr r0, [r5]
bl sub_02062198
cmp r0, #0
beq _0206D7A8
ldr r0, [r5]
bl sub_0205F914
add r4, r0, #0
ldrb r0, [r5, #8]
bl sub_02060F0C
add r6, r0, #0
ldr r0, [r5]
bl sub_0205F924
str r0, [sp]
ldr r0, [r5]
bl sub_0205F934
add r7, r0, #0
ldrb r0, [r5, #8]
bl sub_02060F18
str r0, [sp, #4]
ldr r3, [sp, #4]
ldr r0, [r5]
ldr r2, [sp]
add r1, r4, r6
add r3, r7, r3
bl sub_0206D7B8
mov r1, #2
tst r1, r0
beq _0206D730
ldr r0, [r5]
bl sub_0205F35C
ldr r3, [sp, #4]
ldr r2, [sp]
add r1, r4, r6
add r3, r7, r3
bl sub_0206D614
add r4, r0, #0
bne _0206D704
bl GF_AssertFail
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0206D704:
bl sub_0205F25C
ldr r1, _0206D7B0 ; =0x00000196
cmp r0, r1
bne _0206D71E
str r4, [r5, #4]
ldr r0, [r5]
mov r1, #0x48
bl sub_0206214C
mov r0, #2
strb r0, [r5, #9]
b _0206D7A8
_0206D71E:
mov r0, #0
str r0, [r5, #4]
ldr r0, [r5]
mov r1, #0x48
bl sub_0206214C
mov r0, #2
strb r0, [r5, #9]
b _0206D7A8
_0206D730:
mov r1, #1
tst r1, r0
bne _0206D73C
mov r1, #4
tst r0, r1
beq _0206D742
_0206D73C:
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0206D742:
ldr r0, [r5]
mov r1, #0x47
bl sub_0206214C
mov r0, #1
strb r0, [r5, #9]
b _0206D7A8
_0206D750:
ldr r0, [r5]
bl sub_02062198
cmp r0, #0
beq _0206D7A8
ldrb r0, [r5, #8]
bl sub_0206D81C
add r1, r0, #0
cmp r1, #0xff
beq _0206D76E
ldr r0, [r5]
bl sub_0206214C
b _0206D778
_0206D76E:
bl GF_AssertFail
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0206D778:
mov r0, #0
strb r0, [r5, #9]
b _0206D7A8
_0206D77E:
ldr r0, [r5]
bl sub_02062198
cmp r0, #0
beq _0206D7A8
ldr r0, _0206D7B4 ; =0x00000907
bl PlaySE
ldr r0, [r5, #4]
cmp r0, #0
beq _0206D79A
mov r1, #0
bl sub_0206214C
_0206D79A:
ldr r0, [r5]
mov r1, #0
bl sub_0206214C
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0206D7A8:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_0206D7B0: .word 0x00000196
_0206D7B4: .word 0x00000907
thumb_func_end sub_0206D688
thumb_func_start sub_0206D7B8
sub_0206D7B8: ; 0x0206D7B8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r6, r1, #0
add r5, r0, #0
add r1, sp, #0xc
str r2, [sp, #4]
add r7, r3, #0
bl sub_0205F944
add r0, r5, #0
mov r4, #0
bl sub_0205F52C
add r1, sp, #8
str r1, [sp]
add r1, sp, #0xc
add r2, r6, #0
add r3, r7, #0
bl sub_020549F4
cmp r0, #1
bne _0206D7E8
mov r0, #1
orr r4, r0
_0206D7E8:
add r0, r5, #0
bl sub_0205F52C
add r1, r6, #0
add r2, r7, #0
bl sub_02054918
bl sub_0205B828
cmp r0, #0
bne _0206D802
mov r0, #4
orr r4, r0
_0206D802:
ldr r2, [sp, #4]
add r0, r5, #0
add r1, r6, #0
add r3, r7, #0
bl sub_02060BFC
cmp r0, #1
bne _0206D816
mov r0, #2
orr r4, r0
_0206D816:
add r0, r4, #0
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0206D7B8
thumb_func_start sub_0206D81C
sub_0206D81C: ; 0x0206D81C
push {r4, lr}
mov r4, #0xff
cmp r0, #3
bhi _0206D848
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0206D830: ; jump table
.short _0206D838 - _0206D830 - 2 ; case 0
.short _0206D83C - _0206D830 - 2 ; case 1
.short _0206D840 - _0206D830 - 2 ; case 2
.short _0206D844 - _0206D830 - 2 ; case 3
_0206D838:
mov r4, #0xc
b _0206D84C
_0206D83C:
mov r4, #0xd
b _0206D84C
_0206D840:
mov r4, #0xe
b _0206D84C
_0206D844:
mov r4, #0xf
b _0206D84C
_0206D848:
bl GF_AssertFail
_0206D84C:
add r0, r4, #0
pop {r4, pc}
thumb_func_end sub_0206D81C
thumb_func_start sub_0206D850
sub_0206D850: ; 0x0206D850
push {r4, lr}
add r4, r0, #0
bl sub_0205CA38
cmp r0, #1
bne _0206D892
add r0, r4, #0
bl sub_0205C6DC
mov r1, #6
lsl r1, r1, #6
bl sub_0205F214
add r0, r4, #0
bl sub_0205CB2C
cmp r0, #0
bne _0206D87A
add r0, r4, #0
bl sub_0205C74C
_0206D87A:
add r0, r4, #0
mov r1, #0
bl sub_0205CA20
add r0, r4, #0
mov r1, #0
bl sub_0205CB14
add r0, r4, #0
mov r1, #0
bl sub_0205CAD0
_0206D892:
pop {r4, pc}
thumb_func_end sub_0206D850
thumb_func_start sub_0206D894
sub_0206D894: ; 0x0206D894
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r0, #0
mov r0, #1
str r0, [sp]
mov r0, #0x70
mov r2, #0
mov r3, #0xb
add r6, r1, #0
bl GfGfxLoader_LoadFromNarc
add r4, r0, #0
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl sub_0206D9D0
add r5, r0, #0
add r0, r4, #0
bl FreeToHeap
cmp r5, #0
beq _0206D8C8
add sp, #4
mov r0, #1
pop {r3, r4, r5, r6, pc}
_0206D8C8:
mov r0, #0
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end sub_0206D894
thumb_func_start sub_0206D8D0
sub_0206D8D0: ; 0x0206D8D0
push {r4, r5, r6, lr}
sub sp, #8
add r6, r1, #0
add r5, r0, #0
add r0, r6, #0
bl Sav2_PlayerData_GetProfileAddr
add r4, r0, #0
add r0, r6, #0
bl sub_0202A954
add r6, r0, #0
add r0, r5, #0
mov r1, #5
mov r2, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r1, r0, #0x10
cmp r1, #0xaf
beq _0206D90C
cmp r1, #0xb0
beq _0206D90C
mov r0, #0x75
lsl r0, r0, #2
cmp r1, r0
beq _0206D90C
add sp, #8
mov r0, #0
pop {r4, r5, r6, pc}
_0206D90C:
add r0, r5, #0
mov r1, #7
mov r2, #0
bl GetMonData
str r0, [sp, #4]
add r0, r4, #0
bl PlayerProfile_GetTrainerID
ldr r1, [sp, #4]
cmp r1, r0
beq _0206D92A
add sp, #8
mov r0, #0
pop {r4, r5, r6, pc}
_0206D92A:
add r0, r5, #0
mov r1, #0x9d
mov r2, #0
bl GetMonData
add r1, sp, #0
strb r0, [r1]
add r0, r4, #0
bl PlayerProfile_GetTrainerGender
add r1, sp, #0
ldrb r1, [r1]
cmp r1, r0
beq _0206D94C
add sp, #8
mov r0, #0
pop {r4, r5, r6, pc}
_0206D94C:
add r0, r5, #0
mov r1, #0xc
mov r2, #0
bl GetMonData
add r1, sp, #0
strb r0, [r1]
ldr r0, _0206D9C8 ; =gGameLanguage
ldrb r1, [r1]
ldrb r0, [r0]
cmp r1, r0
beq _0206D96A
add sp, #8
mov r0, #0
pop {r4, r5, r6, pc}
_0206D96A:
add r0, r5, #0
mov r1, #0x7a
mov r2, #0
bl GetMonData
add r1, sp, #0
strb r0, [r1]
ldr r0, _0206D9CC ; =gGameVersion
ldrb r1, [r1]
ldrb r0, [r0]
cmp r1, r0
beq _0206D988
add sp, #8
mov r0, #0
pop {r4, r5, r6, pc}
_0206D988:
add r0, r6, #0
add r1, sp, #4
add r2, sp, #0
bl sub_0202ABBC
mov r1, #0
add r0, r5, #0
add r2, r1, #0
bl GetMonData
ldr r1, [sp, #4]
cmp r1, r0
beq _0206D9A8
add sp, #8
mov r0, #0
pop {r4, r5, r6, pc}
_0206D9A8:
add r0, r5, #0
mov r1, #0x6f
mov r2, #0
bl GetMonData
add r1, sp, #0
ldrb r1, [r1]
cmp r1, r0
bne _0206D9C0
add sp, #8
mov r0, #1
pop {r4, r5, r6, pc}
_0206D9C0:
mov r0, #0
add sp, #8
pop {r4, r5, r6, pc}
nop
_0206D9C8: .word gGameLanguage
_0206D9CC: .word gGameVersion
thumb_func_end sub_0206D8D0
thumb_func_start sub_0206D9D0
sub_0206D9D0: ; 0x0206D9D0
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r1, #0
add r6, r2, #0
mov r1, #5
mov r2, #0
add r4, r0, #0
bl GetMonData
lsl r0, r0, #0x10
lsr r1, r0, #0x10
cmp r6, #7
bne _0206D9F8
cmp r1, #0x15
beq _0206DA04
cmp r1, #0x16
beq _0206DA04
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0206D9F8:
ldr r0, [r5]
cmp r1, r0
beq _0206DA04
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0206DA04:
add r0, r4, #0
mov r1, #7
mov r2, #0
bl GetMonData
ldr r1, [r5, #0x20]
cmp r0, r1
beq _0206DA1A
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0206DA1A:
mov r1, #0
add r0, r4, #0
add r2, r1, #0
bl GetMonData
ldr r1, [r5, #0x38]
cmp r0, r1
beq _0206DA30
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0206DA30:
add r0, r4, #0
mov r1, #0x9d
mov r2, #0
bl GetMonData
lsl r0, r0, #0x18
lsr r1, r0, #0x18
ldr r0, [r5, #0x40]
cmp r1, r0
beq _0206DA4A
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0206DA4A:
add r0, r4, #0
mov r1, #0xc
mov r2, #0
bl GetMonData
lsl r0, r0, #0x18
lsr r1, r0, #0x18
ldr r0, [r5, #0x48]
cmp r1, r0
beq _0206DA64
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0206DA64:
add r0, r4, #0
mov r1, #0x7a
mov r2, #0
bl GetMonData
lsl r0, r0, #0x18
lsr r1, r0, #0x18
ldr r0, _0206DB24 ; =gGameVersion
ldrb r0, [r0]
cmp r1, r0
beq _0206DA80
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0206DA80:
mov r0, #0
mov r1, #0x1b
mov r2, #0xc8
mov r3, #0xb
bl NewMsgDataFromNarc
add r5, r0, #0
mov r0, #0xc
mov r1, #0xb
bl String_ctor
str r0, [sp]
ldr r2, [sp]
add r0, r4, #0
mov r1, #0x77
bl GetMonData
add r0, r5, #0
add r1, r6, #0
bl NewString_ReadMsgData
str r0, [sp, #4]
ldr r0, [sp]
ldr r1, [sp, #4]
bl StringCompare
add r7, r0, #0
ldr r0, [sp, #4]
bl String_dtor
ldr r0, [sp]
bl String_dtor
cmp r7, #0
beq _0206DAD2
add r0, r5, #0
bl DestroyMsgData
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0206DAD2:
mov r0, #8
mov r1, #0xb
bl String_ctor
add r7, r0, #0
add r0, r4, #0
mov r1, #0x91
add r2, r7, #0
bl GetMonData
add r6, #0xd
add r0, r5, #0
add r1, r6, #0
bl NewString_ReadMsgData
add r6, r0, #0
add r0, r7, #0
add r1, r6, #0
bl StringCompare
add r4, r0, #0
add r0, r6, #0
bl String_dtor
add r0, r7, #0
bl String_dtor
cmp r4, #0
beq _0206DB18
add r0, r5, #0
bl DestroyMsgData
add sp, #8
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0206DB18:
add r0, r5, #0
bl DestroyMsgData
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0206DB24: .word gGameVersion
thumb_func_end sub_0206D9D0
thumb_func_start sub_0206DB28
sub_0206DB28: ; 0x0206DB28
mov r1, #0x46
lsl r1, r1, #2
ldr r0, [r0, r1]
bx lr
thumb_func_end sub_0206DB28
thumb_func_start sub_0206DB30
sub_0206DB30: ; 0x0206DB30
add r0, #0x18
bx lr
thumb_func_end sub_0206DB30
thumb_func_start sub_0206DB34
sub_0206DB34: ; 0x0206DB34
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r1, #0
bl sub_0206DB28
add r4, r0, #0
beq _0206DB56
ldr r0, [r5, #0xc]
bl sub_020503D0
bl sub_02066870
cmp r0, #0
beq _0206DB56
ldr r0, [r4, #0x1c]
add r0, r0, r6
str r0, [r4, #0x1c]
_0206DB56:
pop {r4, r5, r6, pc}
thumb_func_end sub_0206DB34
thumb_func_start sub_0206DB58
sub_0206DB58: ; 0x0206DB58
push {r4, r5, lr}
sub sp, #0x14
add r5, r0, #0
ldr r0, [r1, #0xc]
bl sub_0203B9C4
mov r1, #0x60
str r1, [sp]
sub r1, #0x61
str r1, [sp, #4]
mov r1, #0x2e
str r1, [sp, #8]
mov r1, #0x32
str r1, [sp, #0xc]
mov r1, #0
str r1, [sp, #0x10]
add r4, r0, #0
add r1, sp, #0
bl sub_0203B96C
add r0, r4, #0
bl sub_0203B968
add r1, r0, #0
add r0, r5, #0
bl sub_020537A8
add sp, #0x14
pop {r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0206DB58
thumb_func_start sub_0206DB94
sub_0206DB94: ; 0x0206DB94
push {r4, r5, r6, lr}
add r6, r0, #0
add r5, r1, #0
mov r0, #3
mov r1, #0xc
bl AllocFromHeapAtEnd
mov r1, #0
mov r2, #0xc
add r4, r0, #0
bl MIi_CpuFill8
ldr r1, _0206DBBC ; =sub_0206DBC0
add r0, r6, #0
add r2, r4, #0
str r5, [r4, #4]
bl sub_02050530
pop {r4, r5, r6, pc}
nop
_0206DBBC: .word sub_0206DBC0
thumb_func_end sub_0206DB94
thumb_func_start sub_0206DBC0
sub_0206DBC0: ; 0x0206DBC0
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
bl sub_0205064C
add r7, r0, #0
add r0, r6, #0
bl sub_02050650
add r4, r0, #0
add r0, r7, #0
bl sub_0206DB28
add r5, r0, #0
add r0, r6, #0
bl sub_02050654
add r6, r0, #0
ldr r0, [r6]
cmp r0, #0
beq _0206DBEE
cmp r0, #1
beq _0206DC10
b _0206DC4C
_0206DBEE:
ldrb r0, [r5, #0x17]
lsl r0, r0, #0x1f
lsr r0, r0, #0x1f
bne _0206DBFA
mov r3, #1
b _0206DBFC
_0206DBFA:
mov r3, #0
_0206DBFC:
ldr r1, [r4, #4]
ldr r2, [r5, #0x10]
add r0, r7, #0
bl sub_0203EDDC
str r0, [r4, #8]
ldr r0, [r6]
add r0, r0, #1
str r0, [r6]
b _0206DC4C
_0206DC10:
add r0, r7, #0
bl sub_020505A0
cmp r0, #0
bne _0206DC4C
ldr r0, [r4, #8]
ldr r1, [r5, #0x10]
ldr r0, [r0, #0x10]
cmp r0, r1
beq _0206DC2A
ldr r0, [r4, #4]
bl sub_0207188C
_0206DC2A:
ldrb r1, [r5, #0x17]
lsl r0, r1, #0x1f
lsr r0, r0, #0x1f
bne _0206DC3C
mov r0, #1
bic r1, r0
mov r0, #1
orr r0, r1
strb r0, [r5, #0x17]
_0206DC3C:
ldr r0, [r4, #8]
bl FreeToHeap
add r0, r4, #0
bl FreeToHeap
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0206DC4C:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end sub_0206DBC0
thumb_func_start sub_0206DC50
sub_0206DC50: ; 0x0206DC50
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_020403AC
add r5, r0, #0
add r0, r4, #0
bl sub_0203FE2C
add r1, r0, #0
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
bl sub_02040374
ldr r1, _0206DCC0 ; =0x00004021
add r6, r0, #0
add r0, r4, #0
add r0, #0x80
add r1, r5, r1
lsl r1, r1, #0x10
ldr r0, [r0]
lsr r1, r1, #0x10
bl sub_02040374
add r4, #0x80
add r7, r0, #0
ldr r0, [r4]
ldr r0, [r0, #0xc]
bl sub_0203277C
add r4, r0, #0
mov r0, #6
lsl r0, r0, #6
mul r0, r5
str r0, [sp]
add r0, r4, r0
bl sub_020327F8
strh r0, [r6]
ldrh r0, [r6]
cmp r0, #0
beq _0206DCB8
ldr r0, [sp]
add r0, r4, r0
ldrb r0, [r0, #4]
b _0206DCBA
_0206DCB8:
mov r0, #0
_0206DCBA:
strh r0, [r7]
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0206DCC0: .word 0x00004021
thumb_func_end sub_0206DC50
thumb_func_start sub_0206DCC4
sub_0206DCC4: ; 0x0206DCC4
push {r4, lr}
bl sub_0203E344
bl sub_0202A998
add r4, r0, #0
mov r1, #9
bl sub_0202AE98
add r0, r4, #0
mov r1, #9
bl sub_0202AEA8
mov r1, #0
str r1, [r0]
pop {r4, pc}
thumb_func_end sub_0206DCC4
.rodata
_020FBA54:
.byte 0x92, 0x00, 0x0E, 0x00, 0xFF, 0xFF, 0x92, 0x00, 0x0F, 0x00, 0xFF, 0xFF
.byte 0x92, 0x00, 0x0E, 0x00, 0x06, 0x00, 0xFF, 0xFF, 0x92, 0x00, 0x8D, 0x00, 0x8C, 0x00, 0xFF, 0xFF
.byte 0x92, 0x00, 0x0D, 0x00, 0x0F, 0x00, 0xFF, 0xFF, 0x8D, 0x00, 0x0E, 0x00, 0x06, 0x00, 0xFF, 0xFF
.byte 0x92, 0x00, 0x06, 0x00, 0x0D, 0x00, 0xFF, 0xFF, 0x8F, 0x00, 0x0E, 0x00, 0x06, 0x00, 0xFF, 0xFF
.byte 0x8E, 0x00, 0x0D, 0x00, 0x0F, 0x00, 0xFF, 0xFF, 0x90, 0x00, 0x0D, 0x00, 0x0F, 0x00, 0xFF, 0xFF
.byte 0x8E, 0x00, 0x08, 0x00, 0x0F, 0x00, 0xFF, 0xFF, 0x8E, 0x00, 0x06, 0x00, 0x0E, 0x00, 0xFF, 0xFF
.byte 0x8C, 0x00, 0x0E, 0x00, 0x06, 0x00, 0xFF, 0xFF, 0x56, 0x00, 0x04, 0x00, 0x11, 0x00, 0xFF, 0xFF
.byte 0x92, 0x00, 0x08, 0x00, 0x0D, 0x00, 0x0F, 0x00, 0xFF, 0xFF, 0x24, 0x00, 0x22, 0x00, 0x23, 0x00
.byte 0x25, 0x00, 0xFF, 0xFF, 0x11, 0x00, 0x1A, 0x00, 0x19, 0x00, 0x1B, 0x00, 0x1C, 0x00, 0xFF, 0xFF
.byte 0x07, 0x00, 0x16, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x1B, 0x00, 0xFF, 0xFF, 0x73, 0x00, 0x74, 0x00
.byte 0x75, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0xFF, 0xFF, 0x2E, 0x00, 0x2F, 0x00, 0x31, 0x00
.byte 0x34, 0x00, 0x30, 0x00, 0x2D, 0x00, 0xFF, 0xFF, 0x2E, 0x00, 0x2F, 0x00, 0x31, 0x00, 0x34, 0x00
.byte 0x30, 0x00, 0x2D, 0x00, 0xFF, 0xFF, 0x3F, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x20, 0x00, 0x4F, 0x00
.byte 0x8F, 0x00, 0xFF, 0xFF, 0x02, 0x00, 0x09, 0x00, 0x1E, 0x00, 0x25, 0x00, 0x2C, 0x00, 0x10, 0x00
.byte 0x17, 0x00, 0xFF, 0xFF, 0x03, 0x00, 0x0A, 0x00, 0x1F, 0x00, 0x26, 0x00, 0x2D, 0x00, 0x11, 0x00
.byte 0x18, 0x00, 0xFF, 0xFF, 0x04, 0x00, 0x19, 0x00, 0x20, 0x00, 0x27, 0x00, 0x2E, 0x00, 0x0B, 0x00
.byte 0x12, 0x00, 0xFF, 0xFF, 0x1A, 0x00, 0x21, 0x00, 0x28, 0x00, 0x2F, 0x00, 0x05, 0x00, 0x0C, 0x00
.byte 0x13, 0x00, 0xFF, 0xFF, 0x1B, 0x00, 0x22, 0x00, 0x29, 0x00, 0x30, 0x00, 0x06, 0x00, 0x0D, 0x00
.byte 0x14, 0x00, 0xFF, 0xFF, 0x07, 0x00, 0x31, 0x00, 0x1C, 0x00, 0x2A, 0x00, 0x0E, 0x00, 0x15, 0x00
.byte 0x23, 0x00, 0xFF, 0xFF, 0x02, 0x00, 0x4D, 0x00, 0x19, 0x00, 0x18, 0x00, 0x17, 0x00, 0x1C, 0x00
.byte 0x1B, 0x00, 0xFF, 0xFF, 0x01, 0x00, 0x08, 0x00, 0x1D, 0x00, 0x2B, 0x00, 0x0F, 0x00, 0x16, 0x00
.byte 0x24, 0x00, 0xFF, 0xFF, 0x11, 0x02, 0xD0, 0x07, 0x12, 0x02, 0xB8, 0x0B, 0x13, 0x02, 0x0F, 0x27
.byte 0xFF, 0xFF, 0x00, 0x00, 0x3B, 0x00, 0x39, 0x00, 0x3A, 0x00, 0x37, 0x00, 0x38, 0x00, 0x3C, 0x00
.byte 0x3D, 0x00, 0x3E, 0x00, 0xFF, 0xFF, 0x3B, 0x00, 0x39, 0x00, 0x3A, 0x00, 0x37, 0x00, 0x38, 0x00
.byte 0x3C, 0x00, 0x3D, 0x00, 0x3E, 0x00, 0xFF, 0xFF, 0x03, 0x00, 0x1A, 0x00, 0x19, 0x00, 0x12, 0x00
.byte 0x16, 0x00, 0x4C, 0x00, 0x1C, 0x00, 0x92, 0x00, 0xFF, 0xFF, 0x11, 0x00, 0x1A, 0x00, 0x19, 0x00
.byte 0x18, 0x00, 0x1C, 0x00, 0x12, 0x00, 0x16, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x1B, 0x00
.byte 0xFF, 0xFF, 0x11, 0x00, 0x1A, 0x00, 0x19, 0x00, 0x18, 0x00, 0x1C, 0x00, 0x12, 0x00, 0x16, 0x00
.byte 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x1B, 0x00, 0xFF, 0xFF, 0x04, 0x00, 0x03, 0x00, 0x02, 0x00
.byte 0x4E, 0x00, 0x3F, 0x00, 0x4F, 0x00, 0x4C, 0x00, 0x4D, 0x00, 0x89, 0x00, 0x8A, 0x00, 0x8B, 0x00
.byte 0x91, 0x00, 0xFF, 0xFF, 0x8D, 0x01, 0x58, 0x01, 0x7D, 0x01, 0x9A, 0x01, 0x57, 0x01, 0x68, 0x01
.byte 0x5D, 0x01, 0x7B, 0x01, 0x6D, 0x01, 0x60, 0x01, 0x55, 0x01, 0x56, 0x01, 0xFF, 0xFF, 0x04, 0x00
.byte 0x03, 0x00, 0x02, 0x00, 0x4E, 0x00, 0x3F, 0x00, 0x4F, 0x00, 0x4C, 0x00, 0x4D, 0x00, 0x89, 0x00
.byte 0x8A, 0x00, 0x8B, 0x00, 0x91, 0x00, 0xFF, 0xFF, 0x5C, 0x01, 0x62, 0x01, 0x9E, 0x01, 0x95, 0x01
.byte 0x53, 0x01, 0x70, 0x01, 0x5B, 0x01, 0x63, 0x01, 0x93, 0x01, 0x7E, 0x01, 0x8F, 0x01, 0x96, 0x01
.byte 0xFF, 0xFF, 0xE5, 0x01, 0xC8, 0x00, 0xE7, 0x01, 0xC8, 0x00, 0xEB, 0x01, 0xC8, 0x00, 0x21, 0x00
.byte 0x64, 0x00, 0xDD, 0x00, 0xB8, 0x0B, 0x5D, 0x00, 0xE8, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x0B, 0x02
.byte 0xF4, 0x01, 0x0C, 0x02, 0xF4, 0x01, 0x0D, 0x02, 0xD0, 0x07, 0x0E, 0x02, 0xD0, 0x07, 0x0F, 0x02
.byte 0xE8, 0x03, 0x10, 0x02, 0xE8, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0xF9, 0x01, 0xF4, 0x01, 0xFA, 0x01
.byte 0xF4, 0x01, 0xFB, 0x01, 0xE8, 0x03, 0xFC, 0x01, 0xE8, 0x03, 0xFD, 0x01, 0xF4, 0x01, 0xFE, 0x01
.byte 0xF4, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xE5, 0x01, 0xC8, 0x00, 0xE7, 0x01, 0xC8, 0x00, 0xE8, 0x01
.byte 0xC8, 0x00, 0x21, 0x00, 0x64, 0x00, 0x51, 0x00, 0xB8, 0x0B, 0x32, 0x00, 0xD0, 0x07, 0xFF, 0xFF
.byte 0x00, 0x00, 0xE6, 0x01, 0xC8, 0x00, 0xE9, 0x01, 0xC8, 0x00, 0xEA, 0x01, 0xC8, 0x00, 0x21, 0x00
.byte 0x64, 0x00, 0x52, 0x00, 0xC4, 0x09, 0x33, 0x00, 0xE8, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x01
.byte 0xE8, 0x03, 0x00, 0x02, 0xE8, 0x03, 0x01, 0x02, 0xE8, 0x03, 0x02, 0x02, 0xE8, 0x03, 0x03, 0x02
.byte 0xE8, 0x03, 0x04, 0x02, 0xE8, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0xE7, 0x01, 0xC8, 0x00, 0xE9, 0x01
.byte 0xC8, 0x00, 0xEB, 0x01, 0xC8, 0x00, 0x21, 0x00, 0x64, 0x00, 0x54, 0x00, 0xC4, 0x09, 0x5D, 0x00
.byte 0xE8, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0xE6, 0x01, 0xC8, 0x00, 0xE9, 0x01, 0xC8, 0x00, 0xEA, 0x01
.byte 0xC8, 0x00, 0x21, 0x00, 0x64, 0x00, 0x53, 0x00, 0xC4, 0x09, 0x33, 0x00, 0xE8, 0x03, 0xFF, 0xFF
.byte 0x00, 0x00, 0xE5, 0x01, 0xC8, 0x00, 0xE6, 0x01, 0xC8, 0x00, 0xE8, 0x01, 0xC8, 0x00, 0x21, 0x00
.byte 0x64, 0x00, 0xE9, 0x00, 0xC4, 0x09, 0x5C, 0x00, 0xF4, 0x01, 0xFF, 0xFF, 0x00, 0x00, 0xE8, 0x01
.byte 0xC8, 0x00, 0xEA, 0x01, 0xC8, 0x00, 0xEB, 0x01, 0xC8, 0x00, 0x21, 0x00, 0x64, 0x00, 0x55, 0x00
.byte 0xC4, 0x09, 0x32, 0x00, 0xD0, 0x07, 0xFF, 0xFF, 0x00, 0x00, 0x05, 0x02, 0xDC, 0x05, 0x06, 0x02
.byte 0xDC, 0x05, 0x07, 0x02, 0xDC, 0x05, 0x08, 0x02, 0xE8, 0x03, 0x09, 0x02, 0xE8, 0x03, 0x0A, 0x02
.byte 0xE8, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0xE5, 0x01, 0xC8, 0x00, 0xE7, 0x01, 0xC8, 0x00, 0xEB, 0x01
.byte 0xC8, 0x00, 0x21, 0x00, 0x64, 0x00, 0xDD, 0x00, 0xB8, 0x0B, 0x5D, 0x00, 0xE8, 0x03, 0x17, 0x00
.byte 0xF4, 0x01, 0x5C, 0x00, 0xF4, 0x01, 0x50, 0x00, 0xB8, 0x0B, 0x52, 0x00, 0xC4, 0x09, 0x6B, 0x00
.byte 0xB8, 0x0B, 0x6D, 0x00, 0xB8, 0x0B, 0xFF, 0xFF, 0x00, 0x00, 0xE5, 0x01, 0xC8, 0x00, 0xE7, 0x01
.byte 0xC8, 0x00, 0xE8, 0x01, 0xC8, 0x00, 0x21, 0x00, 0x64, 0x00, 0x51, 0x00, 0xB8, 0x0B, 0x32, 0x00
.byte 0xD0, 0x07, 0x17, 0x00, 0xF4, 0x01, 0xDD, 0x00, 0xB8, 0x0B, 0x50, 0x00, 0xB8, 0x0B, 0x54, 0x00
.byte 0xC4, 0x09, 0x6B, 0x00, 0xB8, 0x0B, 0x6C, 0x00, 0xB8, 0x0B, 0xFF, 0xFF, 0x00, 0x00, 0xE6, 0x01
.byte 0xC8, 0x00, 0xE9, 0x01, 0xC8, 0x00, 0xEA, 0x01, 0xC8, 0x00, 0x21, 0x00, 0x64, 0x00, 0x52, 0x00
.byte 0xC4, 0x09, 0x33, 0x00, 0xE8, 0x03, 0x17, 0x00, 0xF4, 0x01, 0xE9, 0x00, 0xC4, 0x09, 0x54, 0x00
.byte 0xC4, 0x09, 0x55, 0x00, 0xC4, 0x09, 0x6C, 0x00, 0xB8, 0x0B, 0x6D, 0x00, 0xB8, 0x0B, 0xFF, 0xFF
.byte 0x00, 0x00, 0xE7, 0x01, 0xC8, 0x00, 0xE9, 0x01, 0xC8, 0x00, 0xEB, 0x01, 0xC8, 0x00, 0x21, 0x00
.byte 0x64, 0x00, 0x54, 0x00, 0xC4, 0x09, 0x5D, 0x00, 0xE8, 0x03, 0x17, 0x00, 0xF4, 0x01, 0xEB, 0x00
.byte 0xC4, 0x09, 0x53, 0x00, 0xC4, 0x09, 0x51, 0x00, 0xB8, 0x0B, 0x6B, 0x00, 0xB8, 0x0B, 0x6D, 0x00
.byte 0xB8, 0x0B, 0xFF, 0xFF, 0x00, 0x00, 0xE6, 0x01, 0xC8, 0x00, 0xE9, 0x01, 0xC8, 0x00, 0xEA, 0x01
.byte 0xC8, 0x00, 0x21, 0x00, 0x64, 0x00, 0x53, 0x00, 0xC4, 0x09, 0x33, 0x00, 0xE8, 0x03, 0x17, 0x00
.byte 0xF4, 0x01, 0xDD, 0x00, 0xB8, 0x0B, 0x52, 0x00, 0xC4, 0x09, 0x55, 0x00, 0xC4, 0x09, 0x6B, 0x00
.byte 0xB8, 0x0B, 0x6C, 0x00, 0xB8, 0x0B, 0xFF, 0xFF, 0x00, 0x00, 0xE5, 0x01, 0xC8, 0x00, 0xE6, 0x01
.byte 0xC8, 0x00, 0xE8, 0x01, 0xC8, 0x00, 0x21, 0x00, 0x64, 0x00, 0xE9, 0x00, 0xC4, 0x09, 0x5C, 0x00
.byte 0xF4, 0x01, 0x17, 0x00, 0xF4, 0x01, 0xEB, 0x00, 0xC4, 0x09, 0x54, 0x00, 0xC4, 0x09, 0x50, 0x00
.byte 0xB8, 0x0B, 0x6C, 0x00, 0xB8, 0x0B, 0x6D, 0x00, 0xB8, 0x0B, 0xFF, 0xFF, 0x00, 0x00, 0xE8, 0x01
.byte 0xC8, 0x00, 0xEA, 0x01, 0xC8, 0x00, 0xEB, 0x01, 0xC8, 0x00, 0x21, 0x00, 0x64, 0x00, 0x55, 0x00
.byte 0xC4, 0x09, 0x32, 0x00, 0xD0, 0x07, 0x17, 0x00, 0xF4, 0x01, 0xE9, 0x00, 0xC4, 0x09, 0x53, 0x00
.byte 0xC4, 0x09, 0x6B, 0x00, 0xB8, 0x0B, 0x6C, 0x00, 0xB8, 0x0B, 0x6D, 0x00, 0xB8, 0x0B, 0xFF, 0xFF
.byte 0x00, 0x00
_020FBF22:
.byte 0x04, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03, 0x00, 0x02, 0x00, 0x04, 0x00, 0x11, 0x00
.byte 0x01, 0x00, 0x1A, 0x00, 0x02, 0x00, 0x19, 0x00, 0x04, 0x00, 0x18, 0x00, 0x05, 0x00, 0x17, 0x00
.byte 0x06, 0x00, 0x1C, 0x00, 0x03, 0x00, 0x12, 0x00, 0x01, 0x00, 0x16, 0x00, 0x01, 0x00, 0x15, 0x00
.byte 0x02, 0x00, 0x13, 0x00, 0x02, 0x00, 0x14, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x04, 0x00, 0x4E, 0x00
.byte 0x02, 0x00, 0x4F, 0x00, 0x02, 0x00, 0x4C, 0x00, 0x03, 0x00, 0x4D, 0x00, 0x04, 0x00, 0x00, 0x00
_020FBF70:
.byte 0x8D, 0x00, 0x91, 0x00, 0x8E, 0x00, 0x8F, 0x00, 0x90, 0x00, 0x00, 0x00
_020FBF7C:
.byte 0x00, 0x08, 0x09, 0x0B
.byte 0x0C, 0x0E, 0x0F, 0x12
_020FBF84:
.byte 0x00, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x07
_020FBF8C:
.byte 0x00, 0x05, 0x04, 0x04
.byte 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00
_020FBF98:
.byte 0x00, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09
.byte 0x0A, 0x0A, 0x0A, 0x00
_020FBFA4:
.byte 0xD5, 0x00, 0x9D, 0x00, 0xEA, 0x00, 0xD9, 0x00
_020FBFAC:
.byte 0x00, 0x00
_020FBFAE:
.byte 0x63, 0x00
.byte 0x50, 0x00, 0x77, 0x00, 0x64, 0x00, 0x8B, 0x00, 0x78, 0x00, 0x9F, 0x00, 0x8C, 0x00, 0xB3, 0x00
.byte 0xA0, 0x00, 0xC7, 0x00, 0xB4, 0x00, 0xDB, 0x00, 0xC8, 0x00, 0x2B, 0x01
_020FBFCC:
.byte 0x64, 0x00
_020FBFCE:
.byte 0x77, 0x00
.byte 0x78, 0x00, 0x8B, 0x00, 0x8C, 0x00, 0x9F, 0x00, 0xA0, 0x00, 0xB3, 0x00, 0xB4, 0x00, 0xC7, 0x00
.byte 0xC8, 0x00, 0xDB, 0x00, 0xDC, 0x00, 0xEF, 0x00, 0xC8, 0x00, 0x2B, 0x01
_020FBFEC:
.byte 0x5A, 0x00
_020FBFEE:
.byte 0x8D, 0x00
.byte 0x5B, 0x00, 0x8E, 0x00, 0x5C, 0x00, 0x8F, 0x00, 0x5D, 0x00, 0x90, 0x00, 0x5E, 0x00, 0x91, 0x00
.byte 0x02, 0x00, 0x04, 0x00, 0x03, 0x00, 0x06, 0x00, 0x3C, 0x00, 0x03, 0x00, 0x3D, 0x00, 0x08, 0x00
.byte 0x20, 0x00, 0x3E, 0x00, 0x21, 0x00, 0x3F, 0x00, 0x04, 0x00, 0x34, 0x00, 0x05, 0x00, 0x35, 0x00
.byte 0x2C, 0x00, 0x01, 0x00, 0x2D, 0x00, 0x02, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x15, 0x00, 0x10, 0x00
.byte 0x51, 0x00, 0x3B, 0x00, 0x1A, 0x00, 0x3C, 0x00, 0x10, 0x00, 0x09, 0x00, 0x11, 0x00, 0x0C, 0x00
.byte 0x53, 0x00, 0x17, 0x00, 0x54, 0x00, 0x16, 0x00, 0x47, 0x00, 0x29, 0x00, 0x12, 0x00, 0x2A, 0x00
.byte 0x0C, 0x00, 0x26, 0x00, 0x0D, 0x00, 0x27, 0x00, 0x0E, 0x00, 0x33, 0x00, 0x0A, 0x00, 0x07, 0x00
.byte 0x1B, 0x00, 0x11, 0x00, 0x23, 0x00, 0x25, 0x00, 0x31, 0x00, 0x46, 0x00, 0x32, 0x00, 0x46, 0x00
.byte 0x27, 0x00, 0x0B, 0x00, 0x28, 0x00, 0x0E, 0x00, 0x18, 0x00, 0x0B, 0x00, 0x19, 0x00, 0x0E, 0x00
.byte 0x35, 0x00, 0x44, 0x00, 0x36, 0x00, 0x45, 0x00, 0x1D, 0x00, 0x0B, 0x00, 0x06, 0x00, 0x05, 0x00
.byte 0x1C, 0x00, 0x01, 0x00, 0x13, 0x00, 0x2D, 0x00, 0x0B, 0x00, 0x36, 0x00, 0x2E, 0x00, 0x38, 0x00
.byte 0x09, 0x00, 0x14, 0x00, 0x30, 0x00, 0x32, 0x00, 0x34, 0x00, 0x0A, 0x00, 0x25, 0x00, 0x13, 0x00
.byte 0x39, 0x00, 0x1F, 0x00, 0x4E, 0x00, 0x1D, 0x00, 0x22, 0x00, 0x24, 0x00, 0x3B, 0x00, 0x28, 0x00
.byte 0x3A, 0x00, 0x2B, 0x00, 0x26, 0x00, 0x22, 0x00, 0x33, 0x00, 0x3E, 0x00, 0x45, 0x00, 0x0E, 0x00
.byte 0x50, 0x00, 0x37, 0x00, 0x24, 0x00, 0x0D, 0x00, 0x07, 0x00, 0x0C, 0x00, 0x55, 0x00, 0x23, 0x00
.byte 0x0F, 0x00, 0x2C, 0x00, 0x16, 0x00, 0x47, 0x00
_020FC0E8:
.byte 0x99, 0xBF, 0x04, 0x02, 0xF1, 0xBF, 0x04, 0x02
.byte 0x31, 0xC3, 0x04, 0x02, 0x6D, 0xC3, 0x04, 0x02, 0x99, 0xBF, 0x04, 0x02, 0x79, 0xC3, 0x04, 0x02
.byte 0x81, 0xC3, 0x04, 0x02, 0x6D, 0xC3, 0x04, 0x02, 0xBD, 0xC3, 0x04, 0x02, 0xE5, 0xC3, 0x04, 0x02
.byte 0x21, 0xC4, 0x04, 0x02, 0x5D, 0xC4, 0x04, 0x02, 0x8D, 0xC4, 0x04, 0x02, 0x91, 0xC4, 0x04, 0x02
.byte 0xA5, 0xC4, 0x04, 0x02, 0xF9, 0xC4, 0x04, 0x02, 0x05, 0xC5, 0x04, 0x02, 0x09, 0xC5, 0x04, 0x02
.byte 0x0D, 0xC5, 0x04, 0x02, 0x45, 0xC5, 0x04, 0x02, 0x51, 0xC5, 0x04, 0x02, 0x89, 0xC5, 0x04, 0x02
.byte 0xD9, 0xC5, 0x04, 0x02, 0x31, 0xC6, 0x04, 0x02, 0x99, 0xBF, 0x04, 0x02, 0xB1, 0xBF, 0x04, 0x02
.byte 0xD1, 0xBF, 0x04, 0x02, 0x6D, 0xC3, 0x04, 0x02, 0x3D, 0xC6, 0x04, 0x02, 0x41, 0xC6, 0x04, 0x02
.byte 0x45, 0xC6, 0x04, 0x02, 0x49, 0xC6, 0x04, 0x02, 0x55, 0xC6, 0x04, 0x02, 0x59, 0xC6, 0x04, 0x02
.byte 0x5D, 0xC6, 0x04, 0x02, 0x61, 0xC6, 0x04, 0x02, 0x85, 0xC6, 0x04, 0x02, 0x89, 0xC6, 0x04, 0x02
.byte 0x8D, 0xC6, 0x04, 0x02, 0x91, 0xC6, 0x04, 0x02, 0x9D, 0xC6, 0x04, 0x02, 0xA1, 0xC6, 0x04, 0x02
.byte 0xA5, 0xC6, 0x04, 0x02, 0xA9, 0xC6, 0x04, 0x02, 0x6D, 0xC6, 0x04, 0x02, 0x71, 0xC6, 0x04, 0x02
.byte 0x75, 0xC6, 0x04, 0x02, 0x79, 0xC6, 0x04, 0x02, 0x99, 0xBF, 0x04, 0x02, 0xF1, 0xBF, 0x04, 0x02
.byte 0x31, 0xC3, 0x04, 0x02, 0x6D, 0xC3, 0x04, 0x02, 0xB5, 0xC6, 0x04, 0x02, 0xE1, 0xC6, 0x04, 0x02
.byte 0x01, 0xC7, 0x04, 0x02, 0x39, 0xC7, 0x04, 0x02, 0x79, 0xC7, 0x04, 0x02, 0x99, 0xC7, 0x04, 0x02
.byte 0xC9, 0xC7, 0x04, 0x02, 0xF5, 0xC7, 0x04, 0x02
_020FC1D8:
.byte 0xFB, 0x00
_020FC1DA:
.byte 0xE8, 0x03, 0x09, 0x01, 0xE8, 0x03
.byte 0x14, 0x01, 0xE8, 0x03, 0x15, 0x01, 0xE8, 0x03, 0xA1, 0x01, 0xD0, 0x07, 0x81, 0x01, 0xD0, 0x07
.byte 0x92, 0x01, 0xA0, 0x0F, 0x67, 0x01, 0xA0, 0x0F, 0x73, 0x01, 0x70, 0x17, 0xA0, 0x01, 0x70, 0x17
.byte 0x51, 0x01, 0x70, 0x17, 0x62, 0x01, 0x40, 0x1F, 0x5C, 0x01, 0x40, 0x1F, 0x6A, 0x01, 0x10, 0x27
.byte 0x5F, 0x01, 0x10, 0x27, 0x54, 0x01, 0x10, 0x27, 0x64, 0x01, 0x10, 0x27, 0x91, 0x01, 0x98, 0x3A
.byte 0x8B, 0x01, 0x20, 0x4E
_020FC224:
.byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00
_020FC22C:
.byte 0x0A, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x5E, 0x01, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0xC2, 0x01, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x58, 0x02, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0xBC, 0x02, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x20, 0x03, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x84, 0x03, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0xE8, 0x03, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0xB0, 0x04, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x78, 0x05, 0x00, 0x00
.byte 0x1E, 0x00, 0x00, 0x00, 0x40, 0x06, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x08, 0x07, 0x00, 0x00
.byte 0x1E, 0x00, 0x00, 0x00, 0xD0, 0x07, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xC4, 0x09, 0x00, 0x00
.byte 0x32, 0x00, 0x00, 0x00, 0xB8, 0x0B, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0xAC, 0x0D, 0x00, 0x00
.byte 0x32, 0x00, 0x00, 0x00, 0xA0, 0x0F, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x94, 0x11, 0x00, 0x00
.byte 0x32, 0x00, 0x00, 0x00, 0x88, 0x13, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x7C, 0x15, 0x00, 0x00
.byte 0x32, 0x00, 0x00, 0x00, 0x70, 0x17, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x64, 0x19, 0x00, 0x00
.byte 0x32, 0x00, 0x00, 0x00, 0x58, 0x1B, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x4C, 0x1D, 0x00, 0x00
.byte 0x32, 0x00, 0x00, 0x00, 0x40, 0x1F, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x34, 0x21, 0x00, 0x00
.byte 0x32, 0x00, 0x00, 0x00, 0x28, 0x23, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x1C, 0x25, 0x00, 0x00
.byte 0x32, 0x00, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x20, 0x4E, 0x00, 0x00
.byte 0xC8, 0x00, 0x00, 0x00, 0x30, 0x75, 0x00, 0x00, 0x2C, 0x01, 0x00, 0x00, 0x40, 0x9C, 0x00, 0x00
.byte 0x90, 0x01, 0x00, 0x00, 0x50, 0xC3, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, 0x60, 0xEA, 0x00, 0x00
.byte 0x58, 0x02, 0x00, 0x00, 0x70, 0x11, 0x01, 0x00, 0xBC, 0x02, 0x00, 0x00, 0x80, 0x38, 0x01, 0x00
.byte 0x20, 0x03, 0x00, 0x00, 0x90, 0x5F, 0x01, 0x00, 0x84, 0x03, 0x00, 0x00, 0xA0, 0x86, 0x01, 0x00
.byte 0xE8, 0x03, 0x00, 0x00
_020FC3A4:
.byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00
_020FC3AC:
.byte 0x00, 0x01, 0x02, 0x03
.byte 0x04, 0x00, 0x00, 0x00
_020FC3B4:
.byte 0xF3, 0x58, 0xF4, 0x5C, 0xF5, 0x60, 0xF9, 0x68, 0xFA, 0x64, 0x7F, 0x6D
.byte 0x7E, 0x6D, 0x80, 0x6D, 0x96, 0x70, 0x7D, 0x71, 0x7C, 0x71
_020FC3CA:
.byte 0x42, 0x00, 0x43, 0x04, 0x46, 0x08
.byte 0x48, 0x0C, 0x4A, 0x10, 0x4B, 0x14, 0x49, 0x18, 0x4C, 0x1C, 0x62, 0x20, 0x67, 0x24, 0x68, 0x28
.byte 0x69, 0x2C, 0x6A, 0x30, 0x6B, 0x34, 0x6C, 0x38, 0x6E, 0x3C, 0x57, 0x40, 0x59, 0x44, 0x70, 0x48
.byte 0x58, 0x4C, 0x56, 0x50, 0x17, 0x54, 0x77, 0x54, 0x74, 0x80, 0x72, 0x84, 0x75, 0x7C, 0x76, 0x78
.byte 0x7C, 0x88, 0x37, 0x74, 0x3E, 0x74, 0x2F, 0xAC, 0x6D, 0xB0
_020FC40A:
.byte 0x0C, 0x00
_020FC40C:
.byte 0x5E, 0x04, 0x0D, 0x00
.byte 0x5E, 0x04, 0x0E, 0x00, 0x5E, 0x04, 0x0F, 0x00, 0x5E, 0x04, 0x10, 0x00, 0x5E, 0x04, 0x11, 0x00
.byte 0x5E, 0x04, 0x12, 0x00, 0x5E, 0x04, 0x13, 0x00, 0x5E, 0x04, 0x14, 0x00, 0x67, 0x04, 0x15, 0x00
.byte 0x67, 0x04, 0x16, 0x00, 0x67, 0x04, 0x17, 0x00, 0x67, 0x04, 0x18, 0x00, 0x67, 0x04, 0x19, 0x00
.byte 0x67, 0x04, 0x1A, 0x00, 0x67, 0x04, 0x1B, 0x00, 0x67, 0x04, 0x1D, 0x00, 0x5E, 0x04, 0x1E, 0x00
.byte 0x5E, 0x04, 0x1F, 0x00, 0x5E, 0x04, 0x20, 0x00, 0x5E, 0x04, 0x21, 0x00, 0x64, 0x04, 0x1C, 0x00
.byte 0x5F, 0x04, 0xFF, 0xFF, 0x63, 0x04, 0xFF, 0xFF, 0x62, 0x04, 0xFF, 0xFF, 0x61, 0x04, 0x23, 0x00
.byte 0x6C, 0x04, 0x24, 0x00, 0x6D, 0x04, 0x22, 0x00, 0x96, 0x04, 0x22, 0x00, 0x65, 0x04, 0x27, 0x00
.byte 0x60, 0x04, 0x28, 0x00, 0x60, 0x04, 0x29, 0x00, 0x60, 0x04, 0x2A, 0x00, 0x60, 0x04, 0x2B, 0x00
.byte 0x60, 0x04, 0x2C, 0x00, 0x60, 0x04, 0x25, 0x00, 0x5D, 0x04, 0x25, 0x00, 0x5D, 0x04, 0x26, 0x00
.byte 0x5D, 0x04, 0x26, 0x00, 0x5C, 0x04, 0x25, 0x00, 0x7B, 0x04, 0x26, 0x00, 0x5E, 0x04, 0xFF, 0xFF
.byte 0x5D, 0x04, 0xFF, 0xFF, 0x5C, 0x04, 0x2D, 0x00, 0x5D, 0x04, 0x2E, 0x00, 0x64, 0x04, 0x00, 0x00
_020FC4C0:
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
.byte 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
.byte 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
.byte 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
_020FC51C:
.byte 0x03, 0x04, 0x05, 0x19
.byte 0x0F, 0x0D, 0x01, 0x00
_020FC524:
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
_020FC534:
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
_020FC550:
.byte 0x02, 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 0x01, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
_020FC578:
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
_020FC588:
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
_020FC5A4:
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 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, 0x01, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
_020FC5CC:
.byte 0x01, 0x00, 0x10, 0x00
.byte 0x00, 0x40, 0x0C, 0x00, 0x21, 0x00, 0x10, 0x00, 0x00, 0x40, 0x0C, 0x00, 0x03, 0x00, 0x10, 0x00
.byte 0x00, 0x40, 0x0C, 0x00, 0x11, 0x01, 0x11, 0x01, 0x00, 0x40, 0x0C, 0x00, 0x11, 0x01, 0x11, 0x01
.byte 0x00, 0x00, 0x0A, 0x00, 0x06, 0x00, 0x10, 0x00, 0x00, 0x40, 0x0C, 0x00
_020FC5FC:
.byte 0xD0, 0x00, 0xD2, 0x00
.byte 0xD3, 0x00, 0x00, 0x00
_020FC604:
.byte 0x75, 0x47, 0x05, 0x02, 0xD9, 0x47, 0x05, 0x02
_020FC60C:
.byte 0xD0, 0x00, 0xD1, 0x00
.byte 0xD2, 0x00, 0xD3, 0x00
_020FC614:
.byte 0xA5, 0x47, 0x05, 0x02, 0x25, 0x48, 0x05, 0x02
_020FC61C:
.byte 0x02, 0x00, 0x54, 0x04
.byte 0x54, 0x04, 0x03, 0x00, 0x59, 0x04, 0x59, 0x04, 0x04, 0x00, 0x54, 0x04, 0x54, 0x04, 0x05, 0x00
.byte 0x59, 0x04, 0x59, 0x04, 0x06, 0x00, 0x54, 0x04, 0x54, 0x04, 0x08, 0x00, 0x59, 0x04, 0x59, 0x04
.byte 0x09, 0x00, 0x5B, 0x04, 0x5B, 0x04, 0x0B, 0x00, 0x5B, 0x04, 0x5B, 0x04, 0x0E, 0x00, 0x5B, 0x04
.byte 0x5B, 0x04, 0x14, 0x00, 0x5B, 0x04, 0x5B, 0x04, 0x15, 0x00, 0x53, 0x04, 0x53, 0x04, 0x18, 0x00
.byte 0x5B, 0x04, 0x5B, 0x04, 0x19, 0x00, 0x53, 0x04, 0x53, 0x04, 0x45, 0x00, 0x54, 0x04, 0x54, 0x04
.byte 0x1F, 0x00, 0x55, 0x04, 0x55, 0x04, 0x22, 0x00, 0x5B, 0x04, 0x5B, 0x04, 0x24, 0x00, 0x53, 0x04
.byte 0x53, 0x04, 0x26, 0x00, 0x5A, 0x04, 0x5A, 0x04, 0x2A, 0x00, 0x5B, 0x04, 0x5B, 0x04, 0x2B, 0x00
.byte 0x53, 0x04, 0x53, 0x04, 0x2E, 0x00, 0x5B, 0x04, 0x5B, 0x04, 0x2F, 0x00, 0x57, 0x04, 0x57, 0x04
.byte 0x31, 0x00, 0x54, 0x04, 0x54, 0x04, 0x34, 0x00, 0x5B, 0x04, 0x5B, 0x04, 0x37, 0x00, 0x58, 0x04
.byte 0x58, 0x04, 0x38, 0x00, 0x53, 0x04, 0x53, 0x04, 0x3C, 0x00, 0x54, 0x04, 0x54, 0x04, 0x3E, 0x00
.byte 0x58, 0x04, 0x58, 0x04, 0x3F, 0x00, 0x55, 0x04, 0x55, 0x04, 0x40, 0x00, 0x5B, 0x04, 0x5B, 0x04
.byte 0x41, 0x00, 0x5B, 0x04, 0x5B, 0x04, 0x44, 0x00, 0x55, 0x04, 0x55, 0x04, 0x4D, 0x00, 0x53, 0x04
.byte 0x53, 0x04, 0x4E, 0x00, 0x55, 0x04, 0x55, 0x04, 0x4F, 0x00, 0x56, 0x04, 0x56, 0x04, 0x52, 0x00
.byte 0x56, 0x04, 0x56, 0x04, 0x71, 0x00, 0x58, 0x04, 0x55, 0x04, 0x73, 0x00, 0x5B, 0x04, 0x5B, 0x04
.byte 0x79, 0x00, 0x5A, 0x04, 0x5A, 0x04, 0x7A, 0x00, 0x53, 0x04, 0x53, 0x04, 0x74, 0x00, 0x58, 0x04
.byte 0x58, 0x04, 0x72, 0x00, 0x58, 0x04, 0x58, 0x04, 0x75, 0x00, 0x58, 0x04, 0x58, 0x04, 0x76, 0x00
.byte 0x58, 0x04, 0x58, 0x04
_020FC724:
.byte 0x31, 0x65, 0x05, 0x02, 0xFD, 0x65, 0x05, 0x02, 0x81, 0x66, 0x05, 0x02
.byte 0xF9, 0x66, 0x05, 0x02, 0xFD, 0x65, 0x05, 0x02, 0xB5, 0x67, 0x05, 0x02, 0xFD, 0x65, 0x05, 0x02
.byte 0x1D, 0x68, 0x05, 0x02, 0x39, 0x69, 0x05, 0x02
_020FC748:
.byte 0x05, 0x60, 0x05, 0x02, 0x41, 0x60, 0x05, 0x02
.byte 0xC5, 0x60, 0x05, 0x02, 0x3D, 0x61, 0x05, 0x02, 0x21, 0x62, 0x05, 0x02, 0x69, 0x62, 0x05, 0x02
.byte 0x05, 0x60, 0x05, 0x02, 0xB1, 0x62, 0x05, 0x02, 0x25, 0x64, 0x05, 0x02
_020FC76C:
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x55, 0x6A, 0x05, 0x02, 0xED, 0x6A, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC9, 0x6B, 0x05, 0x02, 0x65, 0x6C, 0x05, 0x02
_020FC790:
.byte 0xE1, 0x9E, 0x22, 0x02, 0x71, 0x9F, 0x22, 0x02, 0x95, 0x9F, 0x22, 0x02, 0x2D, 0x00, 0x00, 0x00
_020FC7A0:
.byte 0x04, 0x00, 0x07, 0x00, 0x0B, 0x00, 0x07, 0x00
_020FC7A8:
.byte 0x04, 0x00, 0x06, 0x00, 0x0B, 0x00, 0x06, 0x00
.byte 0x04, 0x00, 0x08, 0x00, 0x0B, 0x00, 0x08, 0x00
_020FC7B8:
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x08, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
_020FC7CC:
.byte 0x00, 0x01, 0x02, 0x03
.byte 0x04, 0x00, 0x00, 0x00
_020FC7D4:
.byte 0x25, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00
_020FC7DC:
.byte 0x47, 0x00, 0x00, 0x00
.byte 0x83, 0x00, 0x00, 0x00
_020FC7E4:
.byte 0x27, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00
_020FC7EC:
.byte 0x26, 0x00, 0x00, 0x00
.byte 0x62, 0x00, 0x00, 0x00
_020FC7F4:
.byte 0x5C, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00
_020FC7FC:
.byte 0x28, 0x00, 0x00, 0x00
.byte 0x64, 0x00, 0x00, 0x00
_020FC804:
.byte 0x44, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00
.byte 0x81, 0x00, 0x00, 0x00
_020FC814:
.byte 0x2C, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00
.byte 0x69, 0x00, 0x00, 0x00
_020FC824:
.byte 0x0A, 0x00, 0x0E, 0x00, 0x12, 0x00, 0x16, 0x00, 0x1A, 0x00, 0x1E, 0x00
.byte 0x22, 0x00, 0x26, 0x00, 0x2A, 0x00, 0x2E, 0x00
_020FC838:
.byte 0x31, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00
.byte 0x4B, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00
_020FC850:
.byte 0x33, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00
.byte 0x59, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00
_020FC868:
.byte 0x32, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00
.byte 0x4C, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00
_020FC880:
.byte 0x3C, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00
.byte 0x56, 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00
_020FC898:
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x05, 0x00, 0x00, 0x00
_020FC8B4:
.byte 0x35, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00
.byte 0x72, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00
.byte 0x74, 0x00, 0x00, 0x00
_020FC8D4:
.byte 0x3D, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00
.byte 0x7A, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00
.byte 0x7C, 0x00, 0x00, 0x00
_020FC8F4:
.byte 0x4F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
.byte 0x8C, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00
.byte 0x8E, 0x00, 0x00, 0x00
_020FC914:
.byte 0x5D, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00
.byte 0x9A, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x9B, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
.byte 0x9C, 0x00, 0x00, 0x00
_020FC934:
.byte 0x2B, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00
.byte 0x6C, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00
.byte 0x7F, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00
_020FC95C:
.byte 0x4A, 0x00, 0x00, 0x00
.byte 0x86, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00
.byte 0x75, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00
.byte 0x6A, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00
.byte 0x8F, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x8F, 0x00, 0x00, 0x00
_020FC99C:
.byte 0x2C, 0x00, 0x00, 0x00
.byte 0x68, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00
.byte 0x7E, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00
.byte 0x85, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00
.byte 0x90, 0x00, 0x00, 0x00
_020FC9D4:
.byte 0xA9, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00, 0xAB, 0x00, 0x00, 0x00
.byte 0xAC, 0x00, 0x00, 0x00, 0xAD, 0x00, 0x00, 0x00, 0xAE, 0x00, 0x00, 0x00, 0xAF, 0x00, 0x00, 0x00
.byte 0xB0, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x00, 0x00
.byte 0xB4, 0x00, 0x00, 0x00, 0xB5, 0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00, 0xB7, 0x00, 0x00, 0x00
.byte 0xB8, 0x00, 0x00, 0x00, 0xB9, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x00, 0x00, 0xBB, 0x00, 0x00, 0x00
.byte 0xBC, 0x00, 0x00, 0x00
_020FCA24:
.byte 0x00, 0x01, 0x02, 0x03, 0x01, 0x06, 0x07, 0x00, 0x02, 0x03, 0x04, 0x05
.byte 0x03, 0x00, 0x05, 0x06, 0x04, 0x01, 0x02, 0x07, 0x05, 0x02, 0x07, 0x00, 0x06, 0x03, 0x04, 0x01
.byte 0x07, 0x04, 0x05, 0x06
_020FCA44:
.byte 0x03
_020FCA45:
.byte 0x3C
_020FCA46:
.byte 0x3C, 0x05, 0x06, 0x06, 0x0B, 0x18, 0x18, 0x1F, 0x39, 0x39
.byte 0x32, 0x30, 0x30, 0x33, 0x0E, 0x0E, 0x3E, 0x20, 0x20, 0x46, 0x31, 0x31, 0x06, 0x03, 0x03, 0x07
.byte 0x0A, 0x0A, 0x0D, 0x24, 0x24, 0x0E, 0x19, 0x19, 0x23, 0x55, 0x55, 0x25, 0x23, 0x23, 0x2A, 0x12
.byte 0x12, 0x3F, 0x21, 0x21
_020FCA74:
.byte 0x00, 0x00, 0x02, 0x02, 0x00, 0x02, 0x00, 0x00, 0x02, 0x00, 0x00, 0x02
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 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, 0x02, 0x01, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x02
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 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, 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, 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
_020FCB74:
.byte 0x79, 0x01, 0x7A, 0x01, 0x7B, 0x01, 0x00, 0x00
_020FCB7C:
.byte 0x9D, 0xD0, 0x05, 0x02
.byte 0xA9, 0xD0, 0x05, 0x02, 0x91, 0xD1, 0x05, 0x02
_020FCB88:
.byte 0x29, 0xB8, 0x05, 0x02
_020FCB8C:
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
_020FCB98:
.byte 0x6C, 0x08
_020FCB9A:
.byte 0x00, 0x00
_020FCB9C:
.byte 0x6D, 0x08, 0x00, 0x00
.byte 0x6A, 0x08, 0x00, 0x00, 0x76, 0x08, 0x00, 0x00, 0x77, 0x08, 0x00, 0x00, 0x6E, 0x08, 0x01, 0x00
.byte 0x70, 0x08, 0x01, 0x00, 0x71, 0x08, 0x00, 0x00, 0x72, 0x08, 0x00, 0x00, 0x6E, 0x08, 0x01, 0x00
.byte 0x73, 0x08, 0x01, 0x00, 0x70, 0x08, 0x00, 0x00, 0x75, 0x08, 0x00, 0x00, 0x74, 0x08, 0x00, 0x00
.byte 0xEB, 0x05, 0x00, 0x00, 0xEA, 0x05, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00
.byte 0x26, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00
.byte 0x36, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00
.byte 0x5E, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
.byte 0x2A, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00
.byte 0x5C, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
.byte 0x22, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00
.byte 0x4E, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00
.byte 0x56, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00
.byte 0x32, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00
.byte 0x5A, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00
.byte 0x1E, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00
.byte 0x3A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
.byte 0x1A, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
.byte 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00
.byte 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00
.byte 0x62, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00
.byte 0x52, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
.byte 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
.byte 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00
.byte 0x2E, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x19, 0x63, 0x06, 0x02
.byte 0x3D, 0x63, 0x06, 0x02, 0x61, 0x63, 0x06, 0x02, 0x71, 0x63, 0x06, 0x02, 0x03, 0x00, 0x00, 0x00
.byte 0x2D, 0x1B, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02
.byte 0x36, 0x00, 0x00, 0x00, 0x31, 0x63, 0x06, 0x02, 0x3D, 0x63, 0x06, 0x02, 0x61, 0x63, 0x06, 0x02
.byte 0x71, 0x63, 0x06, 0x02, 0x03, 0x00, 0x00, 0x00, 0xD5, 0x58, 0x06, 0x02, 0x39, 0x59, 0x06, 0x02
.byte 0x99, 0x59, 0x06, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0x1D, 0x1B, 0x06, 0x02
.byte 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x35, 0x00, 0x00, 0x00
.byte 0x25, 0x63, 0x06, 0x02, 0x3D, 0x63, 0x06, 0x02, 0x61, 0x63, 0x06, 0x02, 0x71, 0x63, 0x06, 0x02
.byte 0x03, 0x00, 0x00, 0x00, 0xF1, 0x16, 0x06, 0x02, 0xFD, 0x16, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02
.byte 0xC1, 0xFC, 0x05, 0x02, 0x33, 0x00, 0x00, 0x00, 0x0D, 0x63, 0x06, 0x02, 0x3D, 0x63, 0x06, 0x02
.byte 0x61, 0x63, 0x06, 0x02, 0x71, 0x63, 0x06, 0x02, 0x03, 0x00, 0x00, 0x00, 0x6D, 0x1B, 0x06, 0x02
.byte 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00
.byte 0xD5, 0x58, 0x06, 0x02, 0x69, 0x59, 0x06, 0x02, 0x99, 0x59, 0x06, 0x02, 0xC1, 0xFC, 0x05, 0x02
.byte 0x03, 0x00, 0x00, 0x00, 0x7D, 0x1B, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02
.byte 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0x8D, 0x1B, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02
.byte 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0x9D, 0x1B, 0x06, 0x02
.byte 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00
.byte 0xAD, 0x1B, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02
.byte 0x03, 0x00, 0x00, 0x00, 0xCD, 0x1B, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02
.byte 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0xDD, 0x1B, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02
.byte 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0xED, 0x1B, 0x06, 0x02
.byte 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00
.byte 0xFD, 0x1B, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02
.byte 0x03, 0x00, 0x00, 0x00, 0x0D, 0x1C, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02
.byte 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0x81, 0x1D, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02
.byte 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0xB5, 0xFC, 0x05, 0x02
.byte 0xB9, 0xFC, 0x05, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x01, 0x00, 0x00, 0x00
.byte 0xB5, 0xFC, 0x05, 0x02, 0xB9, 0xFC, 0x05, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02
.byte 0x03, 0x00, 0x00, 0x00, 0x91, 0x1D, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02
.byte 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0xBD, 0x1B, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02
.byte 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0xA1, 0x1D, 0x06, 0x02
.byte 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00
.byte 0xC1, 0x13, 0x06, 0x02, 0xF9, 0x13, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02
.byte 0x03, 0x00, 0x00, 0x00, 0xB1, 0x1D, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02
.byte 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0xC1, 0x1D, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02
.byte 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0xD9, 0x12, 0x06, 0x02
.byte 0x39, 0x13, 0x06, 0x02, 0x9D, 0x13, 0x06, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00
.byte 0x5D, 0x1B, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02
.byte 0x03, 0x00, 0x00, 0x00, 0x4D, 0x1B, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02
.byte 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0x3D, 0x1B, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02
.byte 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0xE5, 0x12, 0x06, 0x02
.byte 0x39, 0x13, 0x06, 0x02, 0x9D, 0x13, 0x06, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00
.byte 0xD1, 0x1D, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02
.byte 0x03, 0x00, 0x00, 0x00, 0x7D, 0x19, 0x06, 0x02, 0x9D, 0x19, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02
.byte 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0x45, 0x18, 0x06, 0x02, 0x51, 0x18, 0x06, 0x02
.byte 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0xE1, 0x1D, 0x06, 0x02
.byte 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00
.byte 0xE5, 0x16, 0x06, 0x02, 0xFD, 0x16, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02
.byte 0x03, 0x00, 0x00, 0x00, 0xB5, 0x16, 0x06, 0x02, 0x6D, 0x16, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02
.byte 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0xA9, 0x16, 0x06, 0x02, 0x6D, 0x16, 0x06, 0x02
.byte 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0x15, 0x13, 0x06, 0x02
.byte 0x39, 0x13, 0x06, 0x02, 0x9D, 0x13, 0x06, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00
.byte 0xF1, 0x1D, 0x06, 0x02, 0x1D, 0x1C, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02
.byte 0x03, 0x00, 0x00, 0x00, 0x21, 0x13, 0x06, 0x02, 0x39, 0x13, 0x06, 0x02, 0x9D, 0x13, 0x06, 0x02
.byte 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0x2D, 0x13, 0x06, 0x02, 0x39, 0x13, 0x06, 0x02
.byte 0x9D, 0x13, 0x06, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0xD5, 0x58, 0x06, 0x02
.byte 0x01, 0x59, 0x06, 0x02, 0x99, 0x59, 0x06, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00
.byte 0x09, 0x13, 0x06, 0x02, 0x39, 0x13, 0x06, 0x02, 0x9D, 0x13, 0x06, 0x02, 0xC1, 0xFC, 0x05, 0x02
.byte 0x03, 0x00, 0x00, 0x00, 0xFD, 0x12, 0x06, 0x02, 0x39, 0x13, 0x06, 0x02, 0x9D, 0x13, 0x06, 0x02
.byte 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0xF1, 0x12, 0x06, 0x02, 0x39, 0x13, 0x06, 0x02
.byte 0x9D, 0x13, 0x06, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0x91, 0x16, 0x06, 0x02
.byte 0x6D, 0x16, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00
.byte 0x9D, 0x16, 0x06, 0x02, 0x6D, 0x16, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02
.byte 0x03, 0x00, 0x00, 0x00, 0xCD, 0x12, 0x06, 0x02, 0x39, 0x13, 0x06, 0x02, 0x9D, 0x13, 0x06, 0x02
.byte 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0xC1, 0x12, 0x06, 0x02, 0x39, 0x13, 0x06, 0x02
.byte 0x9D, 0x13, 0x06, 0x02, 0xC1, 0xFC, 0x05, 0x02, 0x03, 0x00, 0x00, 0x00, 0xFD, 0x5F, 0x06, 0x02
.byte 0x25, 0x60, 0x06, 0x02, 0x55, 0x60, 0x06, 0x02, 0x59, 0x60, 0x06, 0x02, 0x03, 0x00, 0x00, 0x00
.byte 0xB1, 0x13, 0x06, 0x02, 0xF9, 0x13, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02, 0xC1, 0xFC, 0x05, 0x02
.byte 0x03, 0x00, 0x00, 0x00, 0xA1, 0x13, 0x06, 0x02, 0xF9, 0x13, 0x06, 0x02, 0xBD, 0xFC, 0x05, 0x02
.byte 0xC1, 0xFC, 0x05, 0x02, 0x02, 0x00, 0x00, 0x00, 0xB5, 0x12, 0x06, 0x02, 0x39, 0x13, 0x06, 0x02
.byte 0x9D, 0x13, 0x06, 0x02, 0xC1, 0xFC, 0x05, 0x02
_020FD198:
.byte 0xF8, 0xCC, 0x0F, 0x02, 0x08, 0xCD, 0x0F, 0x02
.byte 0x18, 0xCD, 0x0F, 0x02, 0xE8, 0xCC, 0x0F, 0x02, 0xA8, 0xCC, 0x0F, 0x02, 0xB8, 0xCC, 0x0F, 0x02
.byte 0x98, 0xCC, 0x0F, 0x02, 0x78, 0xCC, 0x0F, 0x02, 0x28, 0xCC, 0x0F, 0x02, 0xD8, 0xCB, 0x0F, 0x02
.byte 0x08, 0xCC, 0x0F, 0x02, 0x28, 0xCD, 0x0F, 0x02, 0x58, 0xCC, 0x0F, 0x02, 0xE8, 0xCB, 0x0F, 0x02
.byte 0x88, 0xCC, 0x0F, 0x02, 0x38, 0xCC, 0x0F, 0x02, 0xD8, 0xCC, 0x0F, 0x02, 0x48, 0xCC, 0x0F, 0x02
.byte 0x68, 0xCC, 0x0F, 0x02, 0x18, 0xCC, 0x0F, 0x02, 0xF8, 0xCB, 0x0F, 0x02, 0xC8, 0xCC, 0x0F, 0x02
.byte 0x00, 0x00, 0x00, 0x00
_020FD1F4:
.byte 0xC8, 0xCE, 0x0F, 0x02, 0xDC, 0xCE, 0x0F, 0x02, 0x84, 0xD1, 0x0F, 0x02
.byte 0x70, 0xD1, 0x0F, 0x02, 0x5C, 0xD1, 0x0F, 0x02, 0x2C, 0xCF, 0x0F, 0x02, 0x34, 0xD1, 0x0F, 0x02
.byte 0x20, 0xD1, 0x0F, 0x02, 0x68, 0xCF, 0x0F, 0x02, 0xB8, 0xCF, 0x0F, 0x02, 0xE4, 0xD0, 0x0F, 0x02
.byte 0xD0, 0xD0, 0x0F, 0x02, 0xBC, 0xD0, 0x0F, 0x02, 0x58, 0xD0, 0x0F, 0x02, 0xF8, 0xD0, 0x0F, 0x02
.byte 0x0C, 0xD1, 0x0F, 0x02, 0x44, 0xD0, 0x0F, 0x02, 0x30, 0xD0, 0x0F, 0x02, 0x1C, 0xD0, 0x0F, 0x02
.byte 0xB0, 0xCD, 0x0F, 0x02, 0xE0, 0xCF, 0x0F, 0x02, 0x88, 0xCD, 0x0F, 0x02, 0x4C, 0xCD, 0x0F, 0x02
.byte 0xA4, 0xCF, 0x0F, 0x02, 0x90, 0xCF, 0x0F, 0x02, 0x7C, 0xCF, 0x0F, 0x02, 0xD8, 0xCD, 0x0F, 0x02
.byte 0x00, 0xCE, 0x0F, 0x02, 0x14, 0xCE, 0x0F, 0x02, 0x28, 0xCE, 0x0F, 0x02, 0x3C, 0xCE, 0x0F, 0x02
.byte 0x04, 0xCF, 0x0F, 0x02, 0x50, 0xCE, 0x0F, 0x02, 0x64, 0xCE, 0x0F, 0x02, 0x78, 0xCE, 0x0F, 0x02
.byte 0x8C, 0xCE, 0x0F, 0x02, 0xA0, 0xCE, 0x0F, 0x02, 0xB4, 0xCE, 0x0F, 0x02, 0xF0, 0xCE, 0x0F, 0x02
.byte 0x18, 0xCF, 0x0F, 0x02, 0x40, 0xCF, 0x0F, 0x02, 0x54, 0xCF, 0x0F, 0x02, 0xCC, 0xCF, 0x0F, 0x02
.byte 0x08, 0xD0, 0x0F, 0x02, 0x6C, 0xD0, 0x0F, 0x02, 0x80, 0xD0, 0x0F, 0x02, 0x94, 0xD0, 0x0F, 0x02
.byte 0x00, 0x00, 0x00, 0x00, 0xA8, 0xD0, 0x0F, 0x02, 0xF4, 0xCF, 0x0F, 0x02, 0x48, 0xD1, 0x0F, 0x02
.byte 0xC4, 0xCD, 0x0F, 0x02, 0x38, 0xCD, 0x0F, 0x02, 0x9C, 0xCD, 0x0F, 0x02, 0x60, 0xCD, 0x0F, 0x02
.byte 0x74, 0xCD, 0x0F, 0x02, 0xEC, 0xCD, 0x0F, 0x02
_020FD2D8:
.byte 0xB0, 0xD9, 0x0F, 0x02, 0x78, 0xD9, 0x0F, 0x02
.byte 0xB8, 0xD9, 0x0F, 0x02, 0x80, 0xD9, 0x0F, 0x02, 0x04, 0xDA, 0x0F, 0x02, 0xC8, 0xDE, 0x0F, 0x02
.byte 0xEC, 0xD9, 0x0F, 0x02, 0xE0, 0xDB, 0x0F, 0x02, 0xF4, 0xDC, 0x0F, 0x02, 0x28, 0xDF, 0x0F, 0x02
.byte 0xC8, 0xD9, 0x0F, 0x02, 0x10, 0xDA, 0x0F, 0x02, 0x58, 0xDF, 0x0F, 0x02, 0x4C, 0xDF, 0x0F, 0x02
.byte 0x40, 0xDF, 0x0F, 0x02, 0x34, 0xDF, 0x0F, 0x02, 0xC4, 0xDC, 0x0F, 0x02, 0x1C, 0xDF, 0x0F, 0x02
.byte 0x10, 0xDF, 0x0F, 0x02, 0x04, 0xDF, 0x0F, 0x02, 0xF8, 0xDE, 0x0F, 0x02, 0xEC, 0xDE, 0x0F, 0x02
.byte 0xE0, 0xDE, 0x0F, 0x02, 0xD4, 0xDE, 0x0F, 0x02, 0x98, 0xDE, 0x0F, 0x02, 0x8C, 0xDE, 0x0F, 0x02
.byte 0x80, 0xDE, 0x0F, 0x02, 0x74, 0xDE, 0x0F, 0x02, 0x68, 0xDE, 0x0F, 0x02, 0x5C, 0xDE, 0x0F, 0x02
.byte 0x58, 0xDC, 0x0F, 0x02, 0x44, 0xDE, 0x0F, 0x02, 0x4C, 0xDC, 0x0F, 0x02, 0x2C, 0xDE, 0x0F, 0x02
.byte 0x40, 0xDC, 0x0F, 0x02, 0x14, 0xDE, 0x0F, 0x02, 0x34, 0xDC, 0x0F, 0x02, 0xFC, 0xDD, 0x0F, 0x02
.byte 0x28, 0xDC, 0x0F, 0x02, 0xE4, 0xDD, 0x0F, 0x02, 0x1C, 0xDC, 0x0F, 0x02, 0xCC, 0xDD, 0x0F, 0x02
.byte 0xC0, 0xDD, 0x0F, 0x02, 0xB4, 0xDD, 0x0F, 0x02, 0xA8, 0xDD, 0x0F, 0x02, 0x9C, 0xDD, 0x0F, 0x02
.byte 0x90, 0xDD, 0x0F, 0x02, 0x54, 0xDD, 0x0F, 0x02, 0x60, 0xDD, 0x0F, 0x02, 0x84, 0xDD, 0x0F, 0x02
.byte 0xD8, 0xDD, 0x0F, 0x02, 0x08, 0xDE, 0x0F, 0x02, 0x20, 0xDE, 0x0F, 0x02, 0x3C, 0xDD, 0x0F, 0x02
.byte 0x30, 0xDD, 0x0F, 0x02, 0xD4, 0xDB, 0x0F, 0x02, 0xBC, 0xDB, 0x0F, 0x02, 0x18, 0xDD, 0x0F, 0x02
.byte 0x0C, 0xDD, 0x0F, 0x02, 0x00, 0xDD, 0x0F, 0x02, 0x8C, 0xDB, 0x0F, 0x02, 0xB8, 0xDC, 0x0F, 0x02
.byte 0xAC, 0xDC, 0x0F, 0x02, 0xA0, 0xDC, 0x0F, 0x02, 0x74, 0xDB, 0x0F, 0x02, 0x88, 0xDC, 0x0F, 0x02
.byte 0x7C, 0xDC, 0x0F, 0x02, 0x70, 0xDC, 0x0F, 0x02, 0x64, 0xDC, 0x0F, 0x02, 0xA8, 0xD9, 0x0F, 0x02
.byte 0xA0, 0xD9, 0x0F, 0x02, 0xC0, 0xD9, 0x0F, 0x02, 0x98, 0xD9, 0x0F, 0x02, 0x88, 0xD9, 0x0F, 0x02
.byte 0x90, 0xD9, 0x0F, 0x02, 0xF8, 0xDB, 0x0F, 0x02, 0x48, 0xDD, 0x0F, 0x02, 0x6C, 0xDD, 0x0F, 0x02
.byte 0xF0, 0xDD, 0x0F, 0x02, 0x38, 0xDE, 0x0F, 0x02, 0xC8, 0xDB, 0x0F, 0x02, 0x24, 0xDD, 0x0F, 0x02
.byte 0xB0, 0xDB, 0x0F, 0x02, 0xE0, 0xD9, 0x0F, 0x02, 0x94, 0xDC, 0x0F, 0x02, 0xBC, 0xDE, 0x0F, 0x02
.byte 0xB0, 0xDE, 0x0F, 0x02, 0xA4, 0xDE, 0x0F, 0x02, 0x98, 0xDB, 0x0F, 0x02, 0xD4, 0xD9, 0x0F, 0x02
.byte 0x80, 0xDB, 0x0F, 0x02, 0xF8, 0xD9, 0x0F, 0x02, 0xA4, 0xDB, 0x0F, 0x02, 0xE8, 0xDC, 0x0F, 0x02
.byte 0xDC, 0xDC, 0x0F, 0x02, 0xD0, 0xDC, 0x0F, 0x02, 0x68, 0xDB, 0x0F, 0x02, 0x5C, 0xDB, 0x0F, 0x02
.byte 0x44, 0xDB, 0x0F, 0x02, 0x50, 0xDB, 0x0F, 0x02, 0xEC, 0xDB, 0x0F, 0x02, 0x10, 0xDC, 0x0F, 0x02
.byte 0x78, 0xDD, 0x0F, 0x02, 0x04, 0xDC, 0x0F, 0x02, 0x50, 0xDE, 0x0F, 0x02, 0xCC, 0xDF, 0x0F, 0x02
.byte 0xA8, 0xDF, 0x0F, 0x02, 0xF8, 0xDF, 0x0F, 0x02, 0x64, 0xDF, 0x0F, 0x02, 0x34, 0xE0, 0x0F, 0x02
.byte 0x78, 0xDF, 0x0F, 0x02, 0x70, 0xE0, 0x0F, 0x02, 0x8C, 0xDF, 0x0F, 0x02
_020FD49C:
.byte 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
_020FD4AC:
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00
_020FD4BC:
.byte 0x19, 0xB9, 0x05, 0x02
.byte 0xF5, 0xB8, 0x05, 0x02, 0x61, 0xB9, 0x05, 0x02, 0x3D, 0xB9, 0x05, 0x02
_020FD4CC:
.byte 0xF5, 0xB8, 0x05, 0x02
.byte 0x19, 0xB9, 0x05, 0x02, 0x3D, 0xB9, 0x05, 0x02, 0x61, 0xB9, 0x05, 0x02
_020FD4DC:
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
_020FD4EC:
.byte 0x41, 0x1C, 0x06, 0x02
.byte 0x51, 0x1D, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
_020FD548:
.byte 0xC1, 0x19, 0x06, 0x02, 0xFD, 0x19, 0x06, 0x02
.byte 0xBD, 0x1A, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
_020FD5A0:
.byte 0x75, 0x18, 0x06, 0x02, 0x95, 0x18, 0x06, 0x02, 0xB1, 0x18, 0x06, 0x02, 0xC9, 0x18, 0x06, 0x02
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
_020FD5D0:
.byte 0x21, 0x17, 0x06, 0x02, 0x55, 0x17, 0x06, 0x02, 0x71, 0x17, 0x06, 0x02, 0xAD, 0x17, 0x06, 0x02
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF
_020FD754:
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
_020FD768:
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
_020FD77C:
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF
_020FD7A4:
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
_020FD7B8:
.byte 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
.byte 0x30, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
_020FD7E0:
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
_020FD800:
.byte 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
.byte 0x09, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
.byte 0x0D, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
.byte 0x13, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00
_020FD838:
.byte 0x00, 0x00, 0x00, 0x00, 0xCC, 0xD7, 0x0F, 0x02
.byte 0x01, 0x00, 0x00, 0x00, 0xF4, 0xD4, 0x0F, 0x02, 0x02, 0x00, 0x00, 0x00, 0x18, 0xD5, 0x0F, 0x02
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0xD5, 0x0F, 0x02, 0x04, 0x00, 0x00, 0x00, 0x24, 0xD5, 0x0F, 0x02
.byte 0x05, 0x00, 0x00, 0x00, 0xE0, 0xD6, 0x0F, 0x02, 0x06, 0x00, 0x00, 0x00, 0xA0, 0xD6, 0x0F, 0x02
.byte 0x07, 0x00, 0x00, 0x00, 0xB0, 0xD6, 0x0F, 0x02, 0x08, 0x00, 0x00, 0x00, 0xD0, 0xD6, 0x0F, 0x02
.byte 0x09, 0x00, 0x00, 0x00, 0x54, 0xD5, 0x0F, 0x02, 0x0A, 0x00, 0x00, 0x00, 0x3C, 0xD5, 0x0F, 0x02
.byte 0x0B, 0x00, 0x00, 0x00, 0x40, 0xD7, 0x0F, 0x02, 0x0C, 0x00, 0x00, 0x00, 0x30, 0xD5, 0x0F, 0x02
.byte 0x0D, 0x00, 0x00, 0x00, 0x0C, 0xD5, 0x0F, 0x02, 0x0E, 0x00, 0x00, 0x00, 0x50, 0xD6, 0x0F, 0x02
.byte 0x0F, 0x00, 0x00, 0x00, 0x40, 0xD6, 0x0F, 0x02, 0x10, 0x00, 0x00, 0x00, 0x20, 0xD6, 0x0F, 0x02
.byte 0x11, 0x00, 0x00, 0x00, 0x30, 0xD6, 0x0F, 0x02, 0x12, 0x00, 0x00, 0x00, 0x20, 0xD7, 0x0F, 0x02
.byte 0x13, 0x00, 0x00, 0x00, 0x00, 0xD6, 0x0F, 0x02, 0x14, 0x00, 0x00, 0x00, 0x60, 0xD5, 0x0F, 0x02
.byte 0x15, 0x00, 0x00, 0x00, 0x30, 0xD7, 0x0F, 0x02, 0x16, 0x00, 0x00, 0x00, 0x60, 0xD6, 0x0F, 0x02
.byte 0x17, 0x00, 0x00, 0x00, 0x70, 0xD6, 0x0F, 0x02, 0x18, 0x00, 0x00, 0x00, 0xC0, 0xD6, 0x0F, 0x02
.byte 0x19, 0x00, 0x00, 0x00, 0xF0, 0xD6, 0x0F, 0x02, 0x1A, 0x00, 0x00, 0x00, 0x80, 0xD6, 0x0F, 0x02
.byte 0x1B, 0x00, 0x00, 0x00, 0x80, 0xD5, 0x0F, 0x02, 0x1C, 0x00, 0x00, 0x00, 0x70, 0xD5, 0x0F, 0x02
.byte 0x1D, 0x00, 0x00, 0x00, 0xB0, 0xD5, 0x0F, 0x02, 0x1E, 0x00, 0x00, 0x00, 0x10, 0xD6, 0x0F, 0x02
.byte 0x1F, 0x00, 0x00, 0x00, 0xC0, 0xD5, 0x0F, 0x02, 0x20, 0x00, 0x00, 0x00, 0x90, 0xD6, 0x0F, 0x02
.byte 0x21, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x0F, 0x02, 0x22, 0x00, 0x00, 0x00, 0x90, 0xD5, 0x0F, 0x02
.byte 0x23, 0x00, 0x00, 0x00, 0xE0, 0xD5, 0x0F, 0x02, 0x24, 0x00, 0x00, 0x00, 0xF0, 0xD5, 0x0F, 0x02
.byte 0x25, 0x00, 0x00, 0x00, 0x10, 0xD7, 0x0F, 0x02, 0x26, 0x00, 0x00, 0x00, 0x90, 0xD7, 0x0F, 0x02
.byte 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA9, 0x24, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0xC1, 0x24, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x19, 0x2F, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0x31, 0x2F, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x05, 0x2F, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0xD9, 0x2E, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xC1, 0x2E, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0x9D, 0x24, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xB5, 0x24, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0xF1, 0x2E, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xE1, 0x25, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0x71, 0x27, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0xD5, 0x30, 0x06, 0x02, 0xE5, 0x30, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x91, 0x25, 0x06, 0x02
.byte 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x99, 0x27, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0x69, 0x25, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0xF5, 0x25, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
_020FDA1C:
.byte 0x00, 0x50, 0x00, 0x00
.byte 0x00, 0x60, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00
_020FDA28:
.byte 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
_020FDA38:
.byte 0xB9, 0x22, 0x06, 0x02, 0xC5, 0x22, 0x06, 0x02
.byte 0xE1, 0x22, 0x06, 0x02, 0xF9, 0x22, 0x06, 0x02, 0x15, 0x23, 0x06, 0x02, 0x49, 0x23, 0x06, 0x02
_020FDA50:
.byte 0x00, 0x20, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00
.byte 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00
_020FDA68:
.byte 0x00, 0x25, 0x00, 0x00, 0x80, 0x24, 0x00, 0x00
.byte 0x80, 0x24, 0x00, 0x00, 0x80, 0x24, 0x00, 0x00, 0x80, 0x24, 0x00, 0x00, 0x80, 0x24, 0x00, 0x00
.byte 0x80, 0x24, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00
.byte 0x00, 0xA0, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00
.byte 0x00, 0xC0, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00
.byte 0x00, 0x80, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00
.byte 0x00, 0x40, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00
.byte 0x00, 0x60, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x00, 0x30, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00
.byte 0x00, 0x80, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00
.byte 0x00, 0xA0, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00
.byte 0x00, 0x50, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x1D, 0x31, 0x06, 0x02, 0x3D, 0x31, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0x2D, 0x31, 0x06, 0x02, 0x3D, 0x31, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x0D, 0x31, 0x06, 0x02
.byte 0x3D, 0x31, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xFD, 0x30, 0x06, 0x02, 0x3D, 0x31, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0xBD, 0x2D, 0x06, 0x02, 0x6D, 0x2D, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0x85, 0x27, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x8D, 0x2D, 0x06, 0x02
.byte 0x6D, 0x2D, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x59, 0x27, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0xC9, 0x2C, 0x06, 0x02, 0xCD, 0x29, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0xC5, 0x30, 0x06, 0x02, 0xE5, 0x30, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x45, 0x2C, 0x06, 0x02
.byte 0xCD, 0x29, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xA5, 0x30, 0x06, 0x02, 0xE5, 0x30, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0x25, 0x2C, 0x06, 0x02, 0xCD, 0x29, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0xA5, 0x25, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x55, 0x31, 0x06, 0x02
.byte 0x71, 0x31, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x95, 0x2F, 0x06, 0x02, 0x6D, 0x2F, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0xA1, 0x2F, 0x06, 0x02, 0x6D, 0x2F, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0x9D, 0x31, 0x06, 0x02, 0xF1, 0x31, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x19, 0x29, 0x06, 0x02
.byte 0xE5, 0x27, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xF9, 0x28, 0x06, 0x02, 0xE5, 0x27, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0xD9, 0x28, 0x06, 0x02, 0xE5, 0x27, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0xB9, 0x28, 0x06, 0x02, 0xE5, 0x27, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x99, 0x28, 0x06, 0x02
.byte 0xE5, 0x27, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x79, 0x28, 0x06, 0x02, 0xE5, 0x27, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0x4D, 0x2E, 0x06, 0x02, 0x79, 0x2E, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0xE1, 0x2D, 0x06, 0x02, 0x05, 0x2E, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xD5, 0x2D, 0x06, 0x02
.byte 0x6D, 0x2D, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xC9, 0x2D, 0x06, 0x02, 0x6D, 0x2D, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0x05, 0x27, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0xB1, 0x2D, 0x06, 0x02, 0x6D, 0x2D, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xA5, 0x2D, 0x06, 0x02
.byte 0x6D, 0x2D, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x99, 0x2D, 0x06, 0x02, 0x6D, 0x2D, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0x5D, 0x26, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0x31, 0x2D, 0x06, 0x02, 0xCD, 0x29, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x0D, 0x2D, 0x06, 0x02
.byte 0xCD, 0x29, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xE9, 0x2C, 0x06, 0x02, 0xCD, 0x29, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0xB9, 0x25, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0xA5, 0x2C, 0x06, 0x02, 0xCD, 0x29, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x85, 0x2C, 0x06, 0x02
.byte 0xCD, 0x29, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x65, 0x2C, 0x06, 0x02, 0xCD, 0x29, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0xB5, 0x30, 0x06, 0x02, 0xE5, 0x30, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0x01, 0x2C, 0x06, 0x02, 0xCD, 0x29, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xDD, 0x2B, 0x06, 0x02
.byte 0xCD, 0x29, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x4D, 0x30, 0x06, 0x02, 0x8D, 0x30, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0x1D, 0x2B, 0x06, 0x02, 0xCD, 0x29, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0x3D, 0x2B, 0x06, 0x02, 0xCD, 0x29, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x5D, 0x30, 0x06, 0x02
.byte 0x8D, 0x30, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x59, 0x32, 0x06, 0x02, 0x91, 0x32, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0x5D, 0x2B, 0x06, 0x02, 0xCD, 0x29, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0xFD, 0x2A, 0x06, 0x02, 0xCD, 0x29, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xDD, 0x2A, 0x06, 0x02
.byte 0xCD, 0x29, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xBD, 0x2A, 0x06, 0x02, 0xCD, 0x29, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0x49, 0x29, 0x06, 0x02, 0xE5, 0x27, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0x39, 0x29, 0x06, 0x02, 0xE5, 0x27, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x29, 0x29, 0x06, 0x02
.byte 0xE5, 0x27, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x7D, 0x2B, 0x06, 0x02, 0xCD, 0x29, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0x09, 0x29, 0x06, 0x02, 0xE5, 0x27, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0x6D, 0x30, 0x06, 0x02, 0x8D, 0x30, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xE9, 0x28, 0x06, 0x02
.byte 0xE5, 0x27, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x9D, 0x2B, 0x06, 0x02, 0xCD, 0x29, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0xC9, 0x28, 0x06, 0x02, 0xE5, 0x27, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0xBD, 0x2B, 0x06, 0x02, 0xCD, 0x29, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xA9, 0x28, 0x06, 0x02
.byte 0xE5, 0x27, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x7D, 0x30, 0x06, 0x02, 0x8D, 0x30, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0x89, 0x28, 0x06, 0x02, 0xE5, 0x27, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0x75, 0x32, 0x06, 0x02, 0x91, 0x32, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x69, 0x28, 0x06, 0x02
.byte 0xE5, 0x27, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x59, 0x28, 0x06, 0x02, 0xE5, 0x27, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0x49, 0x28, 0x06, 0x02, 0xE5, 0x27, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0x39, 0x28, 0x06, 0x02, 0xE5, 0x27, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x29, 0x28, 0x06, 0x02
.byte 0xE5, 0x27, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x19, 0x28, 0x06, 0x02, 0xE5, 0x27, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0x41, 0x27, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0x2D, 0x27, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x19, 0x27, 0x06, 0x02
.byte 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x7D, 0x25, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0xED, 0x26, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0xD9, 0x26, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xC5, 0x26, 0x06, 0x02
.byte 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xAD, 0x26, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0x99, 0x26, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0x85, 0x26, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x71, 0x26, 0x06, 0x02
.byte 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xCD, 0x25, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0x49, 0x26, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0x35, 0x26, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x21, 0x26, 0x06, 0x02
.byte 0x15, 0x25, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x09, 0x26, 0x06, 0x02, 0x15, 0x25, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0x9D, 0x38, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0xDD, 0x38, 0x06, 0x02
.byte 0x25, 0x34, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xBD, 0x38, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02
.byte 0xDD, 0x38, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xF5, 0x39, 0x06, 0x02
.byte 0x25, 0x34, 0x06, 0x02, 0xF5, 0x39, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0xF5, 0x39, 0x06, 0x02
.byte 0x25, 0x34, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x25, 0x37, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02
.byte 0x45, 0x37, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0x65, 0x37, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02
.byte 0x85, 0x37, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0x85, 0x36, 0x06, 0x02
.byte 0x25, 0x34, 0x06, 0x02, 0xA5, 0x36, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0xC5, 0x36, 0x06, 0x02
.byte 0x25, 0x34, 0x06, 0x02, 0xE5, 0x36, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0x05, 0x37, 0x06, 0x02
.byte 0x25, 0x34, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02, 0xA5, 0x37, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02
.byte 0xC1, 0x37, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0xE1, 0x37, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02
.byte 0x01, 0x38, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0x21, 0x38, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02
.byte 0x41, 0x38, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0x5D, 0x38, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02, 0xA5, 0x37, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0xC1, 0x37, 0x06, 0x02
.byte 0x25, 0x34, 0x06, 0x02, 0xE1, 0x37, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0x01, 0x38, 0x06, 0x02
.byte 0x25, 0x34, 0x06, 0x02, 0x21, 0x38, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0x41, 0x38, 0x06, 0x02
.byte 0x25, 0x34, 0x06, 0x02, 0x7D, 0x38, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0x71, 0x24, 0x06, 0x02
.byte 0xFD, 0x38, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0x1D, 0x39, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02
.byte 0x3D, 0x39, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0x59, 0x39, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02
.byte 0x59, 0x39, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0x79, 0x39, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02
.byte 0x79, 0x39, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0x99, 0x39, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02
.byte 0xB9, 0x39, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02, 0xD9, 0x39, 0x06, 0x02, 0x25, 0x34, 0x06, 0x02
.byte 0x71, 0x24, 0x06, 0x02
_020FE0C4:
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00
_020FE0D4:
.byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00
_020FE0E4:
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00
_020FE104:
.byte 0xFD, 0x3A, 0x06, 0x02, 0xFD, 0x3A, 0x06, 0x02, 0xFD, 0x3A, 0x06, 0x02
.byte 0xFD, 0x3A, 0x06, 0x02, 0x09, 0x3B, 0x06, 0x02, 0x89, 0x3C, 0x06, 0x02, 0x89, 0x3C, 0x06, 0x02
.byte 0xFD, 0x3A, 0x06, 0x02, 0xFD, 0x3A, 0x06, 0x02, 0xFD, 0x3A, 0x06, 0x02, 0xFD, 0x3A, 0x06, 0x02
.byte 0xFD, 0x3A, 0x06, 0x02
_020FE134:
.byte 0x01, 0x3B, 0x06, 0x02, 0x01, 0x3B, 0x06, 0x02, 0x01, 0x3B, 0x06, 0x02
.byte 0x01, 0x3B, 0x06, 0x02, 0x21, 0x3B, 0x06, 0x02, 0xB5, 0x3C, 0x06, 0x02, 0xB5, 0x3C, 0x06, 0x02
.byte 0x01, 0x3B, 0x06, 0x02, 0x01, 0x3B, 0x06, 0x02, 0x01, 0x3B, 0x06, 0x02, 0x01, 0x3B, 0x06, 0x02
.byte 0x01, 0x3B, 0x06, 0x02
_020FE164:
.byte 0x05, 0x3B, 0x06, 0x02, 0x05, 0x3B, 0x06, 0x02, 0x05, 0x3B, 0x06, 0x02
.byte 0x05, 0x3B, 0x06, 0x02, 0x9D, 0x3B, 0x06, 0x02, 0x31, 0x3D, 0x06, 0x02, 0x31, 0x3D, 0x06, 0x02
.byte 0x05, 0x3B, 0x06, 0x02, 0x05, 0x3B, 0x06, 0x02, 0x05, 0x3B, 0x06, 0x02, 0x05, 0x3B, 0x06, 0x02
.byte 0x05, 0x3B, 0x06, 0x02
_020FE194:
.byte 0xB9, 0x43, 0x06, 0x02, 0xE5, 0x43, 0x06, 0x02, 0x11, 0x44, 0x06, 0x02
.byte 0x3D, 0x44, 0x06, 0x02
_020FE1A4:
.byte 0x4D, 0x46, 0x06, 0x02, 0x69, 0x46, 0x06, 0x02, 0x95, 0x46, 0x06, 0x02
.byte 0xDD, 0x46, 0x06, 0x02, 0x15, 0x47, 0x06, 0x02, 0x31, 0x47, 0x06, 0x02, 0x49, 0x47, 0x06, 0x02
.byte 0x65, 0x47, 0x06, 0x02, 0x79, 0x47, 0x06, 0x02, 0x91, 0x47, 0x06, 0x02, 0xA9, 0x47, 0x06, 0x02
.byte 0xC1, 0x47, 0x06, 0x02, 0xE9, 0x47, 0x06, 0x02, 0x09, 0x48, 0x06, 0x02, 0x25, 0x48, 0x06, 0x02
.byte 0xA1, 0x48, 0x06, 0x02, 0xC9, 0x48, 0x06, 0x02, 0xE5, 0x48, 0x06, 0x02
_020FE1EC:
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x85, 0x4D, 0x25, 0x02, 0x45, 0x60, 0x25, 0x02, 0xB1, 0x63, 0x25, 0x02, 0x00, 0x00, 0x00, 0x00
.byte 0x11, 0x47, 0x25, 0x02, 0x7D, 0x50, 0x25, 0x02, 0xA1, 0x66, 0x25, 0x02, 0xA1, 0x6B, 0x25, 0x02
.byte 0xB1, 0x6E, 0x25, 0x02
_020FE214:
.byte 0x00, 0x00, 0x00, 0x00, 0xBD, 0x4C, 0x25, 0x02, 0xC1, 0x5F, 0x25, 0x02
.byte 0x05, 0x63, 0x25, 0x02, 0x21, 0x3E, 0x25, 0x02, 0x91, 0x41, 0x25, 0x02, 0x8D, 0x4F, 0x25, 0x02
.byte 0x51, 0x66, 0x25, 0x02, 0x65, 0x6B, 0x25, 0x02, 0x61, 0x6E, 0x25, 0x02
_020FE23C:
.byte 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, 0xD5, 0x50, 0x25, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
_020FE264:
.byte 0x00, 0x00, 0x00, 0x00
_020FE268:
.byte 0x51, 0x51, 0x06, 0x02
_020FE26C:
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x55, 0x4B, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0xF5, 0x4B, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0xF5, 0x4B, 0x06, 0x02, 0xFD, 0x4B, 0x06, 0x02, 0x31, 0x4C, 0x06, 0x02, 0xA9, 0x4D, 0x06, 0x02
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5, 0x4B, 0x06, 0x02, 0x19, 0x4E, 0x06, 0x02
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB9, 0x4E, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x09, 0x4F, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x05, 0x4F, 0x06, 0x02
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5, 0x4B, 0x06, 0x02, 0x29, 0x4F, 0x06, 0x02
.byte 0x5D, 0x4F, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0xF5, 0x4B, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5, 0x4B, 0x06, 0x02
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5, 0x4B, 0x06, 0x02, 0x7D, 0x4F, 0x06, 0x02
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0xF5, 0x4B, 0x06, 0x02, 0xD5, 0x4F, 0x06, 0x02, 0x11, 0x50, 0x06, 0x02, 0xE9, 0x50, 0x06, 0x02
.byte 0x31, 0x50, 0x06, 0x02, 0x6D, 0x50, 0x06, 0x02, 0xE9, 0x50, 0x06, 0x02, 0x8D, 0x50, 0x06, 0x02
.byte 0xC9, 0x50, 0x06, 0x02, 0xE9, 0x50, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x51, 0x51, 0x06, 0x02
.byte 0x00, 0x00, 0x00, 0x00, 0x59, 0x52, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x11, 0x53, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x53, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0xF5, 0x4B, 0x06, 0x02, 0xD9, 0x53, 0x06, 0x02, 0x09, 0x54, 0x06, 0x02
.byte 0x00, 0x00, 0x00, 0x00, 0x29, 0x54, 0x06, 0x02, 0x59, 0x54, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00
.byte 0x75, 0x54, 0x06, 0x02, 0xA5, 0x54, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0xC1, 0x54, 0x06, 0x02
.byte 0xF5, 0x54, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x55, 0x06, 0x02
.byte 0x00, 0x00, 0x00, 0x00, 0xB9, 0x55, 0x06, 0x02, 0xF1, 0x55, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00
.byte 0x15, 0x56, 0x06, 0x02, 0x49, 0x56, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00
_020FE3CC:
.byte 0xB5, 0x63, 0x06, 0x02
.byte 0xE5, 0x63, 0x06, 0x02
_020FE3D4:
.byte 0x65, 0x60, 0x06, 0x02, 0xA1, 0x60, 0x06, 0x02
_020FE3DC:
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0x00
_020FE3E8:
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF
.byte 0x00, 0x00, 0x00, 0x00
_020FE3F4:
.byte 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
.byte 0x0F, 0x00, 0x00, 0x00
_020FE404:
.byte 0x4D, 0x5A, 0x06, 0x02, 0x2D, 0x5C, 0x06, 0x02, 0x49, 0x5C, 0x06, 0x02
.byte 0x91, 0x5C, 0x06, 0x02
_020FE414:
.byte 0x71, 0x5B, 0x06, 0x02, 0x2D, 0x5C, 0x06, 0x02, 0x49, 0x5C, 0x06, 0x02
.byte 0x91, 0x5C, 0x06, 0x02
_020FE424:
.byte 0xE9, 0x5B, 0x06, 0x02, 0x2D, 0x5C, 0x06, 0x02, 0x49, 0x5C, 0x06, 0x02
.byte 0x91, 0x5C, 0x06, 0x02
_020FE434:
.byte 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
.byte 0x13, 0x00, 0x00, 0x00
_020FE444:
.byte 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
.byte 0x17, 0x00, 0x00, 0x00
_020FE454:
.byte 0x60, 0x00, 0x93, 0x09
_020FE458:
.byte 0x43, 0x04, 0x66, 0x00, 0x93, 0x09, 0x42, 0x04
.byte 0x68, 0x00, 0x93, 0x09, 0x42, 0x04, 0xAB, 0x01, 0x94, 0x09, 0x58, 0x04, 0x1C, 0x00, 0x95, 0x09
.byte 0x58, 0x04, 0x6D, 0x00, 0x99, 0x09, 0x87, 0x04, 0x70, 0x00, 0x9B, 0x09, 0x46, 0x04, 0xBA, 0x00
.byte 0x9B, 0x09, 0x46, 0x04, 0xBB, 0x00, 0x9B, 0x09, 0x46, 0x04, 0xBC, 0x00, 0x9B, 0x09, 0x46, 0x04
.byte 0xBD, 0x00, 0x9B, 0x09, 0x46, 0x04, 0xBE, 0x00, 0x9B, 0x09, 0x46, 0x04, 0xBF, 0x01, 0x9B, 0x09
.byte 0x46, 0x04, 0x00, 0x00
_020FE4A4:
.byte 0xF2, 0x06, 0x7C, 0xAD
_020FE4A8:
.byte 0x08, 0x62, 0x29, 0xF2, 0x82, 0x03, 0x28, 0x12
_020FE4B0:
.byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00
_020FE4B8:
.byte 0x21, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00
.byte 0x23, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00
.byte 0x27, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00
.byte 0x2B, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00
.byte 0x2F, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00
.byte 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
.byte 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
.byte 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
.byte 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00
.byte 0x5B, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00
.byte 0x1C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
_020FE55C:
.byte 0x02, 0x00, 0x01, 0x00
.byte 0x0F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x02, 0x00, 0x04, 0x00, 0x07, 0x00, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x00, 0x03, 0x00, 0x05, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0x02, 0x00, 0x04, 0x00, 0x06, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x02, 0x00, 0x05, 0x00, 0x07, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00
.byte 0x02, 0x00, 0x03, 0x00, 0x08, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x07, 0x00
.byte 0x09, 0x00, 0x0B, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x08, 0x00, 0x0A, 0x00
.byte 0x0B, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x09, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0C, 0x00, 0x0D, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x00, 0x0B, 0x00, 0x0D, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0x03, 0x00, 0x0B, 0x00, 0x0C, 0x00, 0x0F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x02, 0x00, 0x0D, 0x00, 0x0F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x00
.byte 0x00, 0x00, 0x0E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x00, 0x11, 0x00
.byte 0x25, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x10, 0x00, 0x25, 0x00
.byte 0x12, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x00, 0x11, 0x00, 0x13, 0x00, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x12, 0x00, 0x14, 0x00, 0x26, 0x00, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x13, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00
.byte 0x26, 0x00, 0x03, 0x00, 0x16, 0x00, 0x17, 0x00, 0x1A, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x04, 0x00, 0x14, 0x00, 0x15, 0x00, 0x17, 0x00, 0x1F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x00
.byte 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x19, 0x00, 0x1B, 0x00, 0xFF, 0xFF, 0x04, 0x00, 0x13, 0x00
.byte 0x14, 0x00, 0x19, 0x00, 0x26, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x17, 0x00, 0x18, 0x00
.byte 0x1B, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x00, 0x15, 0x00, 0x1B, 0x00, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x17, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x1C, 0x00
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x00, 0x1B, 0x00, 0x1D, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0x02, 0x00, 0x1C, 0x00, 0x1E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x03, 0x00, 0x1D, 0x00, 0x21, 0x00, 0x22, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x00
.byte 0x16, 0x00, 0x25, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x00, 0x1F, 0x00
.byte 0x21, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x1E, 0x00, 0x20, 0x00
.byte 0x22, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x00, 0x1E, 0x00, 0x21, 0x00, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x00, 0x22, 0x00, 0x24, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x00, 0x10, 0x00, 0x22, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x11, 0x00, 0x27, 0x00, 0x28, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x03, 0x00, 0x13, 0x00, 0x14, 0x00, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x00
.byte 0x25, 0x00, 0x28, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x25, 0x00
.byte 0x27, 0x00, 0x18, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00
_020FE79C:
.byte 0x61, 0x69, 0x24, 0x02
.byte 0xB9, 0x6B, 0x24, 0x02, 0x59, 0x6B, 0x24, 0x02, 0x47, 0x00, 0x00, 0x00
_020FE7AC:
.byte 0x49, 0x00, 0x01, 0x00
.byte 0x21, 0x00, 0x01, 0x00, 0x4A, 0x00, 0x01, 0x00, 0xFE, 0x00, 0x00, 0x00
_020FE7BC:
.byte 0x9D, 0x7F, 0x06, 0x02
_020FE7C0:
.byte 0x69, 0x7F, 0x06, 0x02, 0x9D, 0x80, 0x06, 0x02, 0x0D, 0x80, 0x06, 0x02, 0x51, 0x81, 0x06, 0x02
.byte 0xE1, 0x80, 0x06, 0x02, 0x01, 0x82, 0x06, 0x02, 0xC1, 0x81, 0x06, 0x02, 0xA9, 0x82, 0x06, 0x02
.byte 0x71, 0x82, 0x06, 0x02, 0x61, 0x83, 0x06, 0x02, 0x19, 0x83, 0x06, 0x02, 0x31, 0x84, 0x06, 0x02
.byte 0xD1, 0x83, 0x06, 0x02, 0xD1, 0x84, 0x06, 0x02, 0xA1, 0x84, 0x06, 0x02, 0xD1, 0x85, 0x06, 0x02
.byte 0x55, 0x85, 0x06, 0x02, 0xBD, 0x86, 0x06, 0x02, 0x65, 0x86, 0x06, 0x02, 0x81, 0x87, 0x06, 0x02
.byte 0x51, 0x87, 0x06, 0x02, 0xE5, 0x87, 0x06, 0x02, 0xD1, 0x87, 0x06, 0x02, 0xA5, 0x88, 0x06, 0x02
.byte 0x5D, 0x88, 0x06, 0x02, 0x35, 0x89, 0x06, 0x02, 0x15, 0x89, 0x06, 0x02
_020FE82C:
.byte 0x02, 0x00, 0x00, 0x00
.byte 0x01, 0x05, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0xFF, 0x03, 0x00, 0x00, 0x00
.byte 0x01, 0x03, 0x07, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x02, 0x04, 0x08, 0xFF, 0x02, 0x00, 0x00, 0x00
.byte 0x03, 0x09, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0A, 0xFF, 0x04, 0x00, 0x00, 0x00
.byte 0x01, 0x05, 0x07, 0x0B, 0x04, 0x00, 0x00, 0x00, 0x02, 0x06, 0x08, 0x0C, 0x04, 0x00, 0x00, 0x00
.byte 0x03, 0x07, 0x09, 0x0D, 0x03, 0x00, 0x00, 0x00, 0x04, 0x08, 0x0E, 0xFF, 0x02, 0x00, 0x00, 0x00
.byte 0x05, 0x0B, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x06, 0x0A, 0x0C, 0xFF, 0x03, 0x00, 0x00, 0x00
.byte 0x07, 0x0B, 0x0D, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x08, 0x0C, 0x0E, 0xFF, 0x02, 0x00, 0x00, 0x00
.byte 0x09, 0x0D, 0xFF, 0xFF
_020FE8A4:
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00
_020FE8B0:
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x10, 0x00, 0x00
_020FE8D4:
.byte 0x00, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0x00, 0x00, 0x01, 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, 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, 0x1B, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0x03, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 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, 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, 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, 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 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x11, 0x00
_020FECAE:
.byte 0x00, 0x00
_020FECB0:
.byte 0x00, 0x00, 0x01, 0x00, 0x00, 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, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 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, 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, 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, 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, 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, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00, 0x00, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0x00, 0x00, 0x01, 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, 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, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 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, 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, 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
_020FF088:
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00
.byte 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x0B, 0x00
.byte 0x0C, 0x00, 0x0D, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00
.byte 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1B, 0x00, 0x1C, 0x00
.byte 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00
.byte 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2A, 0x00, 0x2B, 0x00, 0x2C, 0x00
.byte 0x2D, 0x00, 0x2E, 0x00, 0x2F, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00
.byte 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3A, 0x00, 0x3B, 0x00, 0x3C, 0x00
.byte 0x3D, 0x00, 0x3E, 0x00, 0x3F, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00
.byte 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x4C, 0x00
.byte 0x4D, 0x00, 0x4E, 0x00, 0x4F, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00
.byte 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5A, 0x00, 0x5B, 0x00, 0x5C, 0x00
.byte 0x5D, 0x00, 0x5E, 0x00, 0x5F, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, 0x00, 0x63, 0x00, 0x64, 0x00
.byte 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6A, 0x00, 0x6B, 0x00, 0x6C, 0x00
.byte 0x6D, 0x00, 0x6E, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, 0x00
.byte 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7A, 0x00, 0x7B, 0x00, 0x7C, 0x00
.byte 0x7D, 0x00, 0x7E, 0x00, 0x7F, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00, 0x83, 0x00, 0x84, 0x00
.byte 0x85, 0x00, 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, 0x00, 0x8A, 0x00, 0x8B, 0x00, 0x8C, 0x00
.byte 0x8D, 0x00, 0x8E, 0x00, 0x8F, 0x00, 0x90, 0x00, 0x91, 0x00, 0x92, 0x00, 0x93, 0x00, 0x94, 0x00
.byte 0x95, 0x00, 0x96, 0x00, 0x97, 0x00, 0x98, 0x00, 0x99, 0x00, 0x9A, 0x00, 0x9B, 0x00, 0x9D, 0x00
.byte 0x9E, 0x00, 0x9F, 0x00, 0xA0, 0x00, 0xA1, 0x00, 0xA2, 0x00, 0xA3, 0x00, 0xA4, 0x00, 0xA5, 0x00
.byte 0xA6, 0x00, 0xA7, 0x00, 0xA8, 0x00, 0xA9, 0x00, 0xAA, 0x00, 0xAB, 0x00, 0xAC, 0x00, 0xAD, 0x00
.byte 0xAE, 0x00, 0xB0, 0x00, 0xB1, 0x00, 0xB2, 0x00, 0xB3, 0x00, 0xB4, 0x00, 0xB5, 0x00, 0xB6, 0x00
.byte 0xB7, 0x00, 0xB8, 0x00, 0xB9, 0x00, 0xBA, 0x00, 0xBB, 0x00, 0xBC, 0x00, 0xBD, 0x00, 0xBE, 0x00
.byte 0xBF, 0x00, 0xC0, 0x00, 0xC1, 0x00, 0xC2, 0x00, 0xC3, 0x00, 0xC4, 0x00, 0xC5, 0x00, 0xC6, 0x00
.byte 0xC7, 0x00, 0xC8, 0x00, 0xC9, 0x00, 0xCA, 0x00, 0xCB, 0x00, 0xCC, 0x00, 0xE8, 0x00, 0xEA, 0x00
.byte 0xEB, 0x00, 0xEC, 0x00, 0xED, 0x00, 0xEE, 0x00, 0xEF, 0x00, 0xF1, 0x00, 0xF2, 0x00, 0xF3, 0x00
.byte 0xF4, 0x00, 0xF5, 0x00, 0xF6, 0x00, 0xF8, 0x00, 0xF9, 0x00, 0xFA, 0x00, 0xFB, 0x00, 0xFC, 0x00
.byte 0xFD, 0x00, 0xFE, 0x00, 0xFF, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01
.byte 0x05, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x01, 0x0A, 0x01, 0x0B, 0x01, 0x0C, 0x01
.byte 0x0D, 0x01, 0x0E, 0x01, 0x0F, 0x01, 0x10, 0x01, 0x11, 0x01, 0x12, 0x01, 0x13, 0x01, 0x14, 0x01
.byte 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x18, 0x01, 0x19, 0x01, 0x1A, 0x01, 0x1B, 0x01, 0x1C, 0x01
.byte 0x1D, 0x01, 0x1E, 0x01, 0x1F, 0x01, 0x20, 0x01, 0x21, 0x01, 0x22, 0x01, 0x23, 0x01, 0x24, 0x01
.byte 0x25, 0x01, 0x26, 0x01, 0x27, 0x01, 0x28, 0x01, 0x29, 0x01, 0x2A, 0x01, 0x2B, 0x01, 0x2C, 0x01
.byte 0x2D, 0x01, 0x2E, 0x01, 0x2F, 0x01, 0x30, 0x01, 0x31, 0x01, 0x32, 0x01, 0x33, 0x01, 0x34, 0x01
.byte 0x35, 0x01, 0x36, 0x01, 0x37, 0x01, 0x38, 0x01, 0x39, 0x01, 0x3A, 0x01, 0x3B, 0x01, 0x3C, 0x01
.byte 0x3D, 0x01, 0x3E, 0x01, 0x3F, 0x01, 0x40, 0x01, 0x41, 0x01, 0x42, 0x01, 0x43, 0x01, 0x44, 0x01
.byte 0x45, 0x01, 0x46, 0x01, 0x47, 0x01, 0x48, 0x01, 0x49, 0x01, 0x4A, 0x01, 0x4B, 0x01, 0x4C, 0x01
.byte 0x4D, 0x01, 0x4E, 0x01, 0x4F, 0x01, 0x50, 0x01, 0x51, 0x01, 0x52, 0x01, 0x53, 0x01, 0x54, 0x01
.byte 0x55, 0x01, 0x56, 0x01, 0x57, 0x01, 0x58, 0x01, 0x59, 0x01, 0x5A, 0x01, 0x5B, 0x01, 0x5C, 0x01
.byte 0x5D, 0x01, 0x5E, 0x01, 0x5F, 0x01, 0x60, 0x01, 0x61, 0x01, 0x62, 0x01, 0x63, 0x01, 0x64, 0x01
.byte 0x65, 0x01, 0x66, 0x01, 0x67, 0x01, 0x68, 0x01, 0x69, 0x01, 0x6A, 0x01, 0x6B, 0x01, 0x6C, 0x01
.byte 0x6D, 0x01, 0x6E, 0x01, 0x6F, 0x01, 0x70, 0x01, 0x71, 0x01, 0x72, 0x01, 0x73, 0x01, 0x74, 0x01
.byte 0x75, 0x01, 0x76, 0x01, 0x77, 0x01, 0x78, 0x01, 0x79, 0x01, 0x7A, 0x01, 0x7B, 0x01, 0x7C, 0x01
.byte 0x7D, 0x01, 0x7E, 0x01, 0x7F, 0x01, 0x80, 0x01, 0x81, 0x01, 0x82, 0x01, 0x83, 0x01, 0x84, 0x01
.byte 0x85, 0x01, 0x86, 0x01, 0x87, 0x01, 0x88, 0x01, 0x89, 0x01, 0x8A, 0x01, 0x8B, 0x01, 0x8C, 0x01
.byte 0x8D, 0x01, 0x8E, 0x01, 0x8F, 0x01, 0x90, 0x01, 0x91, 0x01, 0x92, 0x01, 0x93, 0x01, 0x94, 0x01
.byte 0x95, 0x01, 0x96, 0x01, 0x97, 0x01, 0x98, 0x01, 0x99, 0x01, 0x9A, 0x01, 0x9B, 0x01, 0x9C, 0x01
.byte 0x9D, 0x01, 0x9E, 0x01, 0x9F, 0x01, 0xA0, 0x01, 0xA1, 0x01, 0xA2, 0x01, 0xA3, 0x01, 0xA7, 0x01
.byte 0xA8, 0x01, 0xA9, 0x01, 0xAA, 0x01, 0xAB, 0x01, 0xAC, 0x01, 0xAD, 0x01, 0xAE, 0x01, 0xAF, 0x01
.byte 0xB0, 0x01, 0xB1, 0x01, 0xB2, 0x01, 0xB3, 0x01, 0xB4, 0x01, 0xB5, 0x01, 0xB6, 0x01, 0xB7, 0x01
.byte 0xB8, 0x01, 0xB9, 0x01, 0xBA, 0x01, 0xBB, 0x01, 0xBC, 0x01, 0xBD, 0x01, 0xBE, 0x01, 0xBF, 0x01
.byte 0xC0, 0x01, 0xC3, 0x01, 0xC6, 0x01, 0xC7, 0x01, 0xC9, 0x01, 0xCA, 0x01, 0xCB, 0x01, 0xCC, 0x01
.byte 0xCD, 0x01, 0xCE, 0x01, 0xCF, 0x01, 0xD1, 0x01, 0xD3, 0x01, 0xD4, 0x01, 0xD5, 0x01, 0xD6, 0x01
.byte 0xD7, 0x01, 0xD8, 0x01, 0xD9, 0x01, 0xDA, 0x01, 0xDB, 0x01, 0xDC, 0x01, 0xDD, 0x01, 0xDE, 0x01
.byte 0xDF, 0x01, 0xE0, 0x01, 0xE1, 0x01, 0xE2, 0x01, 0xE3, 0x01, 0xE4, 0x01, 0xE5, 0x01, 0xE6, 0x01
.byte 0xE8, 0x01, 0xEA, 0x01, 0xEC, 0x01, 0xED, 0x01, 0xEE, 0x01, 0xEF, 0x01, 0xF1, 0x01, 0xF3, 0x01
.byte 0xF4, 0x01, 0xF5, 0x01, 0xF6, 0x01, 0xF7, 0x01, 0xF8, 0x01, 0xF9, 0x01, 0xFA, 0x01, 0xFB, 0x01
.byte 0xFC, 0x01, 0xFD, 0x01, 0xFE, 0x01, 0xFF, 0x01, 0x00, 0x02, 0x01, 0x02, 0x02, 0x02, 0x03, 0x02
.byte 0x04, 0x02, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x02, 0x0B, 0x02
.byte 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x02, 0x15, 0x02, 0x16, 0x02, 0x17, 0x02, 0x18, 0x02
.byte 0x19, 0x02, 0x1A, 0x02, 0x1B, 0x02, 0x1C, 0x02, 0x1E, 0x02, 0x1F, 0x02, 0x20, 0x02, 0x21, 0x02
.byte 0x22, 0x02, 0x24, 0x02, 0x01, 0x00, 0xFF, 0xFF
_020FF468:
.byte 0x02, 0x00
_020FF46A:
.byte 0x00, 0x00
_020FF46C:
.byte 0x01, 0x00, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFE, 0xFF, 0x02, 0x00, 0xFE, 0xFF
_020FF480:
.byte 0xDD, 0x78, 0x23, 0x02, 0xF9, 0x7A, 0x23, 0x02, 0x21, 0x7B, 0x23, 0x02, 0x39, 0x00, 0x00, 0x00
_020FF490:
.byte 0x70, 0x00, 0xD6, 0x00, 0x2F, 0x01, 0x91, 0x01, 0xF5, 0x01, 0x63, 0x02, 0xC3, 0x02, 0x35, 0x03
.byte 0x8B, 0x03, 0xA0, 0x03, 0x07, 0x04, 0x61, 0x04, 0xBE, 0x04, 0xC8, 0x04, 0xC9, 0x04
_020FF4AE:
.byte 0x68, 0x01
_020FF4B0:
.byte 0xFF, 0x00
_020FF4B2:
.byte 0xCA, 0x00, 0x2A, 0x01, 0xFE, 0x00, 0xB7, 0x00, 0xB7, 0x01, 0x3A, 0x01, 0x7A, 0x00
.byte 0xB6, 0x01, 0x3B, 0x01, 0xB9, 0x00, 0xBE, 0x01, 0x3C, 0x01, 0x8F, 0x00, 0xCA, 0x01, 0x3D, 0x01
.byte 0xE2, 0x00, 0x96, 0x01, 0x3E, 0x01, 0x3B, 0x01, 0xB8, 0x01, 0x3F, 0x01, 0x71, 0x00, 0xB1, 0x01
.byte 0x40, 0x01, 0x66, 0x01