Split through 02064CA8

This commit is contained in:
PikalaxALT
2020-05-20 09:54:11 -04:00
parent b39690264b
commit d9f3638112
25 changed files with 93838 additions and 93712 deletions

View File

@@ -333,6 +333,28 @@ SECTIONS {
unk_0205C334.o (.text)
unk_0205C598.o (.text)
unk_0205CDB4.o (.text)
unk_0205CE48.o (.text)
unk_0205DD18.o (.text)
unk_0205E4EC.o (.text)
unk_0205EB38.o (.text)
unk_0205EC84.o (.text)
unk_0205F314.o (.text)
unk_0205F7A0.o (.text)
unk_0205FA2C.o (.text)
unk_0206015C.o (.text)
unk_02060344.o (.text)
unk_020603B0.o (.text)
unk_020606B0.o (.text)
unk_020607D4.o (.text)
unk_02060CCC.o (.text)
unk_020625EC.o (.text)
unk_0206367C.o (.text)
unk_02063888.o (.text)
unk_02063948.o (.text)
unk_0206439C.o (.text)
unk_020643C0.o (.text)
unk_020647A4.o (.text)
unk_02064CA8.o (.text)
/* Third-party libraries */
unk_0208AC14.o (.text)
FUN_020910A4.o (.text)

File diff suppressed because it is too large Load Diff

1882
arm9/asm/unk_0205CE48.s Normal file

File diff suppressed because it is too large Load Diff

1066
arm9/asm/unk_0205DD18.s Normal file

File diff suppressed because it is too large Load Diff

831
arm9/asm/unk_0205E4EC.s Normal file
View File

@@ -0,0 +1,831 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_0205E4EC
FUN_0205E4EC: ; 0x0205E4EC
push {r4, lr}
add r4, r0, #0x0
mov r1, #0x8
bl FUN_0205858C
add r1, r0, #0x0
add r0, r4, #0x0
bl FUN_0205E5B4
add r0, r4, #0x0
mov r1, #0x0
bl FUN_02058544
add r0, r4, #0x0
bl FUN_02058848
add r0, r4, #0x0
mov r1, #0x0
bl FUN_020588B8
pop {r4, pc}
.balign 4
thumb_func_start FUN_0205E518
FUN_0205E518: ; 0x0205E518
push {r4-r6, lr}
add r5, r0, #0x0
bl FUN_020585B0
add r4, r0, #0x0
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_0205E5B4
cmp r0, #0x0
beq _0205E548
add r0, r5, #0x0
mov r1, #0x0
bl FUN_020588B8
ldr r6, _0205E54C ; =0x020F7388
_0205E538:
ldrb r2, [r4, #0x0]
add r0, r5, #0x0
add r1, r4, #0x0
lsl r2, r2, #0x2
ldr r2, [r6, r2]
blx r2
cmp r0, #0x1
beq _0205E538
_0205E548:
pop {r4-r6, pc}
nop
_0205E54C: .word 0x020F7388
thumb_func_start FUN_0205E550
FUN_0205E550: ; 0x0205E550
bx lr
.balign 4
thumb_func_start FUN_0205E554
FUN_0205E554: ; 0x0205E554
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
bl FUN_02058848
add r0, r5, #0x0
bl FUN_0205886C
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_0205E608
cmp r0, #0x1
bne _0205E592
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_0205E63C
add r0, r5, #0x0
bl FUN_0205E698
cmp r0, #0x1
bne _0205E592
add r0, r5, #0x0
bl FUN_0205883C
ldrb r0, [r4, #0x0]
add r0, r0, #0x1
strb r0, [r4, #0x0]
mov r0, #0x1
pop {r3-r5, pc}
_0205E592:
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_0205E598
FUN_0205E598: ; 0x0205E598
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
bl FUN_0205B080
cmp r0, #0x1
bne _0205E5B0
add r0, r5, #0x0
bl FUN_02058848
mov r0, #0x0
strb r0, [r4, #0x0]
_0205E5B0:
mov r0, #0x0
pop {r3-r5, pc}
thumb_func_start FUN_0205E5B4
FUN_0205E5B4: ; 0x0205E5B4
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
bl FUN_02058578
bl FUN_020552A4
cmp r0, #0x0
bne _0205E5CC
mov r0, #0x0
strb r0, [r4, #0x1]
pop {r3-r5, pc}
_0205E5CC:
ldrb r0, [r4, #0x1]
cmp r0, #0x0
bne _0205E5DA
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_0205E5E0
_0205E5DA:
mov r0, #0x1
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_0205E5E0
FUN_0205E5E0: ; 0x0205E5E0
push {r3-r5, lr}
add r5, r1, #0x0
bl FUN_02058738
bl FUN_02055698
mov r1, #0x1
add r4, r0, #0x0
strb r1, [r5, #0x1]
bl FUN_02055320
strh r0, [r5, #0x2]
add r0, r4, #0x0
bl FUN_0205532C
strh r0, [r5, #0x4]
mov r0, #0xff
strh r0, [r5, #0x6]
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_0205E608
FUN_0205E608: ; 0x0205E608
push {r4-r6, lr}
add r5, r1, #0x0
bl FUN_02058738
bl FUN_02055698
add r6, r0, #0x0
beq _0205E638
bl FUN_02055320
add r4, r0, #0x0
add r0, r6, #0x0
bl FUN_0205532C
mov r1, #0x2
ldrsh r1, [r5, r1]
cmp r4, r1
bne _0205E634
mov r1, #0x4
ldrsh r1, [r5, r1]
cmp r0, r1
beq _0205E638
_0205E634:
mov r0, #0x1
pop {r4-r6, pc}
_0205E638:
mov r0, #0x0
pop {r4-r6, pc}
thumb_func_start FUN_0205E63C
FUN_0205E63C: ; 0x0205E63C
push {r3-r5, lr}
add r5, r1, #0x0
bl FUN_02058738
bl FUN_02055698
add r4, r0, #0x0
bl FUN_02055320
strh r0, [r5, #0x2]
add r0, r4, #0x0
bl FUN_0205532C
strh r0, [r5, #0x4]
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_0205E65C
FUN_0205E65C: ; 0x0205E65C
push {r3, lr}
bl FUN_02058738
bl FUN_02055698
bl FUN_02055464
add r1, r0, #0x0
sub r1, #0x58
cmp r1, #0x3
bhi _0205E694
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #0x6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205E67E: ; jump table (using 16-bit offset)
.short _0205E686 - _0205E67E - 2; case 0
.short _0205E68A - _0205E67E - 2; case 1
.short _0205E68E - _0205E67E - 2; case 2
.short _0205E692 - _0205E67E - 2; case 3
_0205E686:
mov r0, #0x10
pop {r3, pc}
_0205E68A:
mov r0, #0x11
pop {r3, pc}
_0205E68E:
mov r0, #0x12
pop {r3, pc}
_0205E692:
mov r0, #0x13
_0205E694:
pop {r3, pc}
.balign 4
thumb_func_start FUN_0205E698
FUN_0205E698: ; 0x0205E698
push {r3-r7, lr}
sub sp, #0x8
add r5, r0, #0x0
bl FUN_02058738
bl FUN_02055698
add r4, r0, #0x0
add r0, r5, #0x0
bl FUN_02058B2C
str r0, [sp, #0x0]
add r0, r5, #0x0
bl FUN_02058B4C
add r7, r0, #0x0
add r0, r4, #0x0
bl FUN_02055338
add r6, r0, #0x0
add r0, r4, #0x0
bl FUN_02055344
add r4, r0, #0x0
ldr r0, [sp, #0x0]
cmp r0, r6
bne _0205E6D2
cmp r7, r4
beq _0205E6FA
_0205E6D2:
add r0, r5, #0x0
bl FUN_0205E65C
str r0, [sp, #0x4]
ldr r0, [sp, #0x0]
add r1, r7, #0x0
add r2, r6, #0x0
add r3, r4, #0x0
bl FUN_02059E80
ldr r1, [sp, #0x4]
bl FUN_0205AFDC
add r1, r0, #0x0
add r0, r5, #0x0
bl FUN_0205AE0C
add sp, #0x8
mov r0, #0x1
pop {r3-r7, pc}
_0205E6FA:
mov r0, #0x0
add sp, #0x8
pop {r3-r7, pc}
thumb_func_start FUN_0205E700
FUN_0205E700: ; 0x0205E700
push {r3-r5, lr}
mov r1, #0xc
add r5, r0, #0x0
bl FUN_0205858C
add r4, r0, #0x0
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_0205E854
add r0, r5, #0x0
mov r1, #0x0
bl FUN_02058544
add r0, r5, #0x0
bl FUN_02058848
mov r0, #0x0
strb r0, [r4, #0x1]
pop {r3-r5, pc}
thumb_func_start FUN_0205E728
FUN_0205E728: ; 0x0205E728
push {r4-r6, lr}
add r5, r0, #0x0
bl FUN_020585B0
add r4, r0, #0x0
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_0205E854
cmp r0, #0x0
beq _0205E750
ldr r6, _0205E754 ; =0x020F7390
_0205E740:
ldrb r2, [r4, #0x0]
add r0, r5, #0x0
add r1, r4, #0x0
lsl r2, r2, #0x2
ldr r2, [r6, r2]
blx r2
cmp r0, #0x1
beq _0205E740
_0205E750:
pop {r4-r6, pc}
nop
_0205E754: .word 0x020F7390
thumb_func_start FUN_0205E758
FUN_0205E758: ; 0x0205E758
bx lr
.balign 4
thumb_func_start FUN_0205E75C
FUN_0205E75C: ; 0x0205E75C
push {r3, lr}
bl FUN_020585B0
mov r1, #0x0
strb r1, [r0, #0x1]
pop {r3, pc}
thumb_func_start FUN_0205E768
FUN_0205E768: ; 0x0205E768
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
bl FUN_02058848
add r0, r5, #0x0
bl FUN_0205886C
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_0205E8F4
cmp r0, #0x1
bne _0205E7A0
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_0205E940
cmp r0, #0x1
bne _0205E7A0
add r0, r5, #0x0
bl FUN_0205883C
ldrb r0, [r4, #0x0]
add r0, r0, #0x1
strb r0, [r4, #0x0]
mov r0, #0x1
pop {r3-r5, pc}
_0205E7A0:
mov r0, #0x0
pop {r3-r5, pc}
thumb_func_start FUN_0205E7A4
FUN_0205E7A4: ; 0x0205E7A4
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
bl FUN_0205B080
cmp r0, #0x0
bne _0205E7B6
mov r0, #0x0
pop {r3-r5, pc}
_0205E7B6:
add r0, r5, #0x0
bl FUN_02058848
mov r0, #0x0
strb r0, [r4, #0x0]
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_0205E7C4
FUN_0205E7C4: ; 0x0205E7C4
push {r4-r7, lr}
sub sp, #0xc
mov r1, #0x0
add r4, r0, #0x0
str r1, [sp, #0x8]
bl FUN_02058488
str r0, [sp, #0x0]
add r0, r4, #0x0
bl FUN_02058450
add r6, r0, #0x0
add r0, r4, #0x0
bl FUN_0205C9E8
add r5, r0, #0x0
add r0, r4, #0x0
bl FUN_02058578
ldr r1, [sp, #0x0]
add r7, r0, #0x0
cmp r1, #0x8
bhi _0205E84C
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #0x6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205E7FE: ; jump table (using 16-bit offset)
.short _0205E84C - _0205E7FE - 2; case 0
.short _0205E810 - _0205E7FE - 2; case 1
.short _0205E810 - _0205E7FE - 2; case 2
.short _0205E810 - _0205E7FE - 2; case 3
.short _0205E810 - _0205E7FE - 2; case 4
.short _0205E810 - _0205E7FE - 2; case 5
.short _0205E810 - _0205E7FE - 2; case 6
.short _0205E810 - _0205E7FE - 2; case 7
.short _0205E810 - _0205E7FE - 2; case 8
_0205E810:
add r1, sp, #0x4
add r2, sp, #0x8
mov r3, #0x1
bl FUN_020580F4
cmp r0, #0x1
bne _0205E84C
_0205E81E:
ldr r0, [sp, #0x4]
cmp r4, r0
beq _0205E83C
bl FUN_02058450
cmp r6, r0
bne _0205E83C
ldr r0, [sp, #0x4]
bl FUN_0205C9E8
cmp r5, r0
bne _0205E83C
ldr r0, [sp, #0x4]
add sp, #0xc
pop {r4-r7, pc}
_0205E83C:
add r0, r7, #0x0
add r1, sp, #0x4
add r2, sp, #0x8
mov r3, #0x1
bl FUN_020580F4
cmp r0, #0x1
beq _0205E81E
_0205E84C:
mov r0, #0x0
add sp, #0xc
pop {r4-r7, pc}
.balign 4
thumb_func_start FUN_0205E854
FUN_0205E854: ; 0x0205E854
push {r4-r7, lr}
sub sp, #0xc
add r5, r0, #0x0
str r1, [sp, #0x0]
bl FUN_02058578
add r4, r0, #0x0
mov r0, #0x0
str r0, [sp, #0x8]
add r0, r5, #0x0
bl FUN_02058450
add r7, r0, #0x0
add r0, r5, #0x0
bl FUN_0205C9E8
add r6, r0, #0x0
add r0, r4, #0x0
add r1, sp, #0x4
add r2, sp, #0x8
mov r3, #0x1
bl FUN_020580F4
cmp r0, #0x1
bne _0205E8C6
_0205E886:
ldr r0, [sp, #0x4]
cmp r5, r0
beq _0205E8B6
bl FUN_02058450
cmp r7, r0
bne _0205E8B6
ldr r0, [sp, #0x4]
bl FUN_0205C9E8
cmp r6, r0
bne _0205E8B6
ldr r0, [sp, #0x0]
ldrb r0, [r0, #0x1]
cmp r0, #0x0
bne _0205E8B0
ldr r1, [sp, #0x0]
ldr r2, [sp, #0x4]
add r0, r5, #0x0
bl FUN_0205E8D0
_0205E8B0:
add sp, #0xc
mov r0, #0x1
pop {r4-r7, pc}
_0205E8B6:
add r0, r4, #0x0
add r1, sp, #0x4
add r2, sp, #0x8
mov r3, #0x1
bl FUN_020580F4
cmp r0, #0x1
beq _0205E886
_0205E8C6:
ldr r1, [sp, #0x0]
mov r0, #0x0
strb r0, [r1, #0x1]
add sp, #0xc
pop {r4-r7, pc}
thumb_func_start FUN_0205E8D0
FUN_0205E8D0: ; 0x0205E8D0
push {r3-r5, lr}
add r5, r1, #0x0
mov r0, #0x1
add r4, r2, #0x0
strb r0, [r5, #0x1]
add r0, r4, #0x0
bl FUN_02058B2C
strh r0, [r5, #0x2]
add r0, r4, #0x0
bl FUN_02058B4C
strh r0, [r5, #0x4]
mov r0, #0xff
strh r0, [r5, #0x6]
str r4, [r5, #0x8]
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_0205E8F4
FUN_0205E8F4: ; 0x0205E8F4
push {r3-r7, lr}
add r6, r0, #0x0
ldr r5, [r1, #0x8]
bl FUN_02058B2C
add r4, r0, #0x0
add r0, r6, #0x0
bl FUN_02058B4C
add r6, r0, #0x0
add r0, r5, #0x0
bl FUN_02058B14
add r7, r0, #0x0
add r0, r5, #0x0
bl FUN_02058B24
cmp r4, r7
bne _0205E91E
cmp r6, r0
beq _0205E93A
_0205E91E:
add r0, r5, #0x0
bl FUN_02058854
cmp r0, #0x1
beq _0205E936
mov r1, #0x61
add r0, r5, #0x0
lsl r1, r1, #0x6
bl FUN_02058424
cmp r0, #0x0
bne _0205E93A
_0205E936:
mov r0, #0x1
pop {r3-r7, pc}
_0205E93A:
mov r0, #0x0
pop {r3-r7, pc}
.balign 4
thumb_func_start FUN_0205E940
FUN_0205E940: ; 0x0205E940
push {r4-r7, lr}
sub sp, #0xc
str r0, [sp, #0x0]
add r5, r1, #0x0
bl FUN_02058B2C
add r4, r0, #0x0
ldr r0, [sp, #0x0]
bl FUN_02058B4C
add r6, r0, #0x0
ldr r0, [r5, #0x8]
bl FUN_02058B2C
str r0, [sp, #0x8]
ldr r0, [r5, #0x8]
bl FUN_02058B4C
add r7, r0, #0x0
ldr r0, [r5, #0x8]
bl FUN_02058B14
str r0, [sp, #0x4]
ldr r0, [r5, #0x8]
bl FUN_02058B24
add r3, r0, #0x0
ldr r0, [sp, #0x8]
cmp r4, r0
bne _0205E986
cmp r6, r7
bne _0205E986
add sp, #0xc
mov r0, #0x0
pop {r4-r7, pc}
_0205E986:
ldr r2, [sp, #0x4]
add r0, r4, #0x0
add r1, r6, #0x0
bl FUN_02059E80
add r5, r0, #0x0
bl FUN_02059BF4
add r4, r4, r0
add r0, r5, #0x0
bl FUN_02059C00
add r1, r6, r0
ldr r0, [sp, #0x8]
cmp r4, r0
bne _0205E9AA
cmp r1, r7
beq _0205E9C0
_0205E9AA:
add r0, r5, #0x0
mov r1, #0xc
bl FUN_0205AFDC
add r1, r0, #0x0
ldr r0, [sp, #0x0]
bl FUN_0205AE0C
add sp, #0xc
mov r0, #0x1
pop {r4-r7, pc}
_0205E9C0:
mov r0, #0x0
add sp, #0xc
pop {r4-r7, pc}
.balign 4
thumb_func_start FUN_0205E9C8
FUN_0205E9C8: ; 0x0205E9C8
push {r4-r5, lr}
sub sp, #0xc
add r5, r1, #0x0
add r4, r0, #0x0
mov r1, #0x8
bl FUN_0205858C
strb r5, [r0, #0x1]
add r0, r4, #0x0
mov r1, #0x0
bl FUN_02058544
add r0, r4, #0x0
bl FUN_02058848
mov r1, #0x1
add r0, r4, #0x0
lsl r1, r1, #0x14
bl FUN_02058410
ldr r5, _0205EA0C ; =0x020F7398
add r3, sp, #0x0
ldmia r5!, {r0-r1}
add r2, r3, #0x0
stmia r3!, {r0-r1}
ldr r0, [r5, #0x0]
add r1, r2, #0x0
str r0, [r3, #0x0]
add r0, r4, #0x0
bl FUN_02058B94
add sp, #0xc
pop {r4-r5, pc}
nop
_0205EA0C: .word 0x020F7398
thumb_func_start FUN_0205EA10
FUN_0205EA10: ; 0x0205EA10
ldr r3, _0205EA18 ; =FUN_0205E9C8
mov r1, #0x0
bx r3
nop
_0205EA18: .word FUN_0205E9C8
thumb_func_start FUN_0205EA1C
FUN_0205EA1C: ; 0x0205EA1C
ldr r3, _0205EA24 ; =FUN_0205E9C8
mov r1, #0x1
bx r3
nop
_0205EA24: .word FUN_0205E9C8
thumb_func_start FUN_0205EA28
FUN_0205EA28: ; 0x0205EA28
ldr r3, _0205EA30 ; =FUN_0205E9C8
mov r1, #0x2
bx r3
nop
_0205EA30: .word FUN_0205E9C8
thumb_func_start FUN_0205EA34
FUN_0205EA34: ; 0x0205EA34
ldr r3, _0205EA3C ; =FUN_0205E9C8
mov r1, #0x3
bx r3
nop
_0205EA3C: .word FUN_0205E9C8
thumb_func_start FUN_0205EA40
FUN_0205EA40: ; 0x0205EA40
push {r4-r6, lr}
add r5, r0, #0x0
bl FUN_020585B0
ldr r6, _0205EA60 ; =0x020F7380
add r4, r0, #0x0
_0205EA4C:
ldrb r2, [r4, #0x0]
add r0, r5, #0x0
add r1, r4, #0x0
lsl r2, r2, #0x2
ldr r2, [r6, r2]
blx r2
cmp r0, #0x1
beq _0205EA4C
pop {r4-r6, pc}
nop
_0205EA60: .word 0x020F7380
thumb_func_start FUN_0205EA64
FUN_0205EA64: ; 0x0205EA64
push {r3, lr}
bl FUN_0205EB20
cmp r0, #0x0
beq _0205EA72
bl MOD05_021E4DE4
_0205EA72:
pop {r3, pc}
thumb_func_start FUN_0205EA74
FUN_0205EA74: ; 0x0205EA74
push {r4-r5, lr}
sub sp, #0xc
add r4, r0, #0x0
bl FUN_020585B0
add r5, r0, #0x0
mov r1, #0x0
strb r1, [r5, #0x0]
add r0, r4, #0x0
bl FUN_0205EB14
ldrb r0, [r5, #0x2]
cmp r0, #0x0
bne _0205EAA6
ldr r5, _0205EAAC ; =0x020F73A4
add r3, sp, #0x0
ldmia r5!, {r0-r1}
add r2, r3, #0x0
stmia r3!, {r0-r1}
ldr r0, [r5, #0x0]
add r1, r2, #0x0
str r0, [r3, #0x0]
add r0, r4, #0x0
bl FUN_02058B94
_0205EAA6:
add sp, #0xc
pop {r4-r5, pc}
nop
_0205EAAC: .word 0x020F73A4
thumb_func_start FUN_0205EAB0
FUN_0205EAB0: ; 0x0205EAB0
push {r3-r5, lr}
add r4, r1, #0x0
ldrb r1, [r4, #0x2]
add r5, r0, #0x0
cmp r1, #0x0
bne _0205EACA
ldrb r1, [r4, #0x1]
bl MOD06_0224CECC
add r1, r0, #0x0
add r0, r5, #0x0
bl FUN_0205EB14
_0205EACA:
add r0, r5, #0x0
bl FUN_02058848
add r0, r5, #0x0
bl FUN_0205886C
ldrb r0, [r4, #0x0]
add r0, r0, #0x1
strb r0, [r4, #0x0]
mov r0, #0x0
pop {r3-r5, pc}
thumb_func_start FUN_0205EAE0
FUN_0205EAE0: ; 0x0205EAE0
push {r3-r5, lr}
add r4, r1, #0x0
ldrb r1, [r4, #0x2]
add r5, r0, #0x0
cmp r1, #0x0
bne _0205EB0E
bl FUN_0205EB20
cmp r0, #0x0
bne _0205EB0E
add r0, r5, #0x0
bl FUN_02058934
cmp r0, #0x1
bne _0205EB0E
ldrb r1, [r4, #0x1]
add r0, r5, #0x0
bl MOD06_0224CECC
add r1, r0, #0x0
add r0, r5, #0x0
bl FUN_0205EB14
_0205EB0E:
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_0205EB14
FUN_0205EB14: ; 0x0205EB14
push {r4, lr}
add r4, r1, #0x0
bl FUN_020585B0
str r4, [r0, #0x4]
pop {r4, pc}
thumb_func_start FUN_0205EB20
FUN_0205EB20: ; 0x0205EB20
push {r3, lr}
bl FUN_020585B0
ldr r0, [r0, #0x4]
pop {r3, pc}
.balign 4
thumb_func_start FUN_0205EB2C
FUN_0205EB2C: ; 0x0205EB2C
push {r3, lr}
bl FUN_020585B0
mov r1, #0x1
strb r1, [r0, #0x2]
pop {r3, pc}

172
arm9/asm/unk_0205EB38.s Normal file
View File

@@ -0,0 +1,172 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_0205EB38
FUN_0205EB38: ; 0x0205EB38
push {r4-r7, lr}
sub sp, #0x24
ldr r3, _0205EBE0 ; =0x020F73B0
add r2, sp, #0xc
add r4, r0, #0x0
ldmia r3!, {r0-r1}
stmia r2!, {r0-r1}
ldmia r3!, {r0-r1}
stmia r2!, {r0-r1}
ldmia r3!, {r0-r1}
stmia r2!, {r0-r1}
mov r1, #0x5b
add r0, r4, #0x0
lsl r1, r1, #0x2
bl FUN_02016998
mov r2, #0x5b
add r7, r0, #0x0
mov r1, #0x0
lsl r2, r2, #0x2
bl MI_CpuFill8
add r0, r7, #0x0
add r1, sp, #0xc
mov r2, #0x2
mov r3, #0xb
bl MOD05_021D959C
mov r0, #0x2
str r0, [sp, #0x0]
mov r0, #0x1
str r0, [sp, #0x4]
ldr r0, _0205EBE4 ; =0x000034D8
mov r2, #0x0
str r0, [sp, #0x8]
add r0, r7, #0x0
mov r1, #0x55
add r3, r2, #0x0
bl MOD05_021D967C
ldr r0, _0205EBE4 ; =0x000034D8
mov r1, #0x55
str r0, [sp, #0x0]
add r0, r7, #0x0
mov r2, #0x2
mov r3, #0x0
bl MOD05_021D96F4
ldr r0, _0205EBE4 ; =0x000034D8
mov r1, #0x55
str r0, [sp, #0x0]
add r0, r7, #0x0
mov r2, #0x3
mov r3, #0x0
bl MOD05_021D9708
mov r2, #0x1
ldr r0, _0205EBE4 ; =0x000034D8
str r2, [sp, #0x0]
str r0, [sp, #0x4]
add r0, r7, #0x0
mov r1, #0x55
mov r3, #0x0
bl MOD05_021D971C
ldr r4, _0205EBE8 ; =0x020F73C8
mov r6, #0x0
add r5, r7, #0x0
_0205EBC0:
add r0, r7, #0x0
add r1, r4, #0x0
bl MOD05_021D9820
mov r1, #0x59
lsl r1, r1, #0x2
str r0, [r5, r1]
add r6, r6, #0x1
add r4, #0x34
add r5, r5, #0x4
cmp r6, #0x2
blo _0205EBC0
add r0, r7, #0x0
add sp, #0x24
pop {r4-r7, pc}
nop
_0205EBE0: .word 0x020F73B0
_0205EBE4: .word 0x000034D8
_0205EBE8: .word 0x020F73C8
thumb_func_start FUN_0205EBEC
FUN_0205EBEC: ; 0x0205EBEC
push {r3-r7, lr}
add r7, r0, #0x0
mov r6, #0x59
mov r4, #0x0
add r5, r7, #0x0
lsl r6, r6, #0x2
_0205EBF8:
ldr r0, [r5, r6]
cmp r0, #0x0
beq _0205EC02
bl FUN_0200C3DC
_0205EC02:
add r4, r4, #0x1
add r5, r5, #0x4
cmp r4, #0x2
blt _0205EBF8
add r0, r7, #0x0
bl MOD05_021D99F8
add r0, r7, #0x0
bl FUN_02016A18
pop {r3-r7, pc}
thumb_func_start FUN_0205EC18
FUN_0205EC18: ; 0x0205EC18
push {r3-r7, lr}
mov r7, #0x1
mov r6, #0x59
str r0, [sp, #0x0]
mov r4, #0x0
add r5, r0, #0x0
lsl r7, r7, #0xc
lsl r6, r6, #0x2
_0205EC28:
ldr r0, [r5, r6]
cmp r0, #0x0
beq _0205EC36
ldr r0, [r0, #0x0]
add r1, r7, #0x0
bl FUN_020201E4
_0205EC36:
add r4, r4, #0x1
add r5, r5, #0x4
cmp r4, #0x2
blt _0205EC28
ldr r0, [sp, #0x0]
ldr r0, [r0, #0x0]
bl FUN_0201FDEC
pop {r3-r7, pc}
thumb_func_start FUN_0205EC48
FUN_0205EC48: ; 0x0205EC48
push {r4-r6, lr}
add r5, r0, #0x0
mov r0, #0x59
lsl r0, r0, #0x2
ldr r0, [r5, r0]
add r4, r1, #0x0
add r6, r3, #0x0
bl FUN_0200C714
mov r0, #0x5a
lsl r0, r0, #0x2
ldr r0, [r5, r0]
add r1, r4, #0x0
add r2, r6, #0x0
bl FUN_0200C714
pop {r4-r6, pc}
.balign 4
thumb_func_start FUN_0205EC6C
FUN_0205EC6C: ; 0x0205EC6C
push {r3, lr}
cmp r1, #0x2
bhs _0205EC82
lsl r1, r1, #0x2
add r1, r0, r1
mov r0, #0x59
lsl r0, r0, #0x2
ldr r0, [r1, r0]
add r1, r2, #0x0
bl FUN_0200C644
_0205EC82:
pop {r3, pc}

906
arm9/asm/unk_0205EC84.s Normal file
View File

@@ -0,0 +1,906 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_0205EC84
FUN_0205EC84: ; 0x0205EC84
ldr r3, _0205EC88 ; =FUN_020462E4
bx r3
.balign 4
_0205EC88: .word FUN_020462E4
thumb_func_start FUN_0205EC8C
FUN_0205EC8C: ; 0x0205EC8C
ldr r3, _0205EC90 ; =FUN_0204630C
bx r3
.balign 4
_0205EC90: .word FUN_0204630C
thumb_func_start FUN_0205EC94
FUN_0205EC94: ; 0x0205EC94
ldr r3, _0205EC98 ; =FUN_020462B8
bx r3
.balign 4
_0205EC98: .word FUN_020462B8
thumb_func_start FUN_0205EC9C
FUN_0205EC9C: ; 0x0205EC9C
push {r3, lr}
cmp r1, #0x0
beq _0205ECB6
cmp r1, #0x1
beq _0205ECAC
cmp r1, #0x2
beq _0205ECC0
b _0205ECCA
_0205ECAC:
lsl r1, r2, #0x10
lsr r1, r1, #0x10
bl FUN_0205EC84
b _0205ECCE
_0205ECB6:
lsl r1, r2, #0x10
lsr r1, r1, #0x10
bl FUN_0205EC8C
b _0205ECCE
_0205ECC0:
lsl r1, r2, #0x10
lsr r1, r1, #0x10
bl FUN_0205EC94
pop {r3, pc}
_0205ECCA:
bl ErrorHandling
_0205ECCE:
mov r0, #0x0
pop {r3, pc}
.balign 4
thumb_func_start FUN_0205ECD4
FUN_0205ECD4: ; 0x0205ECD4
ldr r3, _0205ECDC ; =FUN_0205EC84
mov r1, #0x96
lsl r1, r1, #0x4
bx r3
.balign 4
_0205ECDC: .word FUN_0205EC84
thumb_func_start FUN_0205ECE0
FUN_0205ECE0: ; 0x0205ECE0
ldr r3, _0205ECE8 ; =FUN_0205EC94
mov r1, #0x96
lsl r1, r1, #0x4
bx r3
.balign 4
_0205ECE8: .word FUN_0205EC94
thumb_func_start FUN_0205ECEC
FUN_0205ECEC: ; 0x0205ECEC
ldr r3, _0205ECF4 ; =FUN_0205EC94
ldr r1, _0205ECF8 ; =0x0000098D
bx r3
nop
_0205ECF4: .word FUN_0205EC94
_0205ECF8: .word 0x0000098D
thumb_func_start FUN_0205ECFC
FUN_0205ECFC: ; 0x0205ECFC
ldr r3, _0205ED04 ; =FUN_0205EC84
ldr r1, _0205ED08 ; =0x00000964
bx r3
nop
_0205ED04: .word FUN_0205EC84
_0205ED08: .word 0x00000964
thumb_func_start FUN_0205ED0C
FUN_0205ED0C: ; 0x0205ED0C
ldr r3, _0205ED14 ; =FUN_0205EC94
ldr r1, _0205ED18 ; =0x00000964
bx r3
nop
_0205ED14: .word FUN_0205EC94
_0205ED18: .word 0x00000964
thumb_func_start FUN_0205ED1C
FUN_0205ED1C: ; 0x0205ED1C
ldr r3, _0205ED24 ; =FUN_0205EC84
ldr r1, _0205ED28 ; =0x00000961
bx r3
nop
_0205ED24: .word FUN_0205EC84
_0205ED28: .word 0x00000961
thumb_func_start FUN_0205ED2C
FUN_0205ED2C: ; 0x0205ED2C
ldr r3, _0205ED34 ; =FUN_0205EC8C
ldr r1, _0205ED38 ; =0x00000961
bx r3
nop
_0205ED34: .word FUN_0205EC8C
_0205ED38: .word 0x00000961
thumb_func_start FUN_0205ED3C
FUN_0205ED3C: ; 0x0205ED3C
ldr r3, _0205ED44 ; =FUN_0205EC94
ldr r1, _0205ED48 ; =0x00000961
bx r3
nop
_0205ED44: .word FUN_0205EC94
_0205ED48: .word 0x00000961
thumb_func_start FUN_0205ED4C
FUN_0205ED4C: ; 0x0205ED4C
ldr r3, _0205ED54 ; =FUN_0205EC84
ldr r1, _0205ED58 ; =0x00000965
bx r3
nop
_0205ED54: .word FUN_0205EC84
_0205ED58: .word 0x00000965
thumb_func_start FUN_0205ED5C
FUN_0205ED5C: ; 0x0205ED5C
ldr r3, _0205ED64 ; =FUN_0205EC8C
ldr r1, _0205ED68 ; =0x00000965
bx r3
nop
_0205ED64: .word FUN_0205EC8C
_0205ED68: .word 0x00000965
thumb_func_start FUN_0205ED6C
FUN_0205ED6C: ; 0x0205ED6C
ldr r3, _0205ED74 ; =FUN_0205EC94
ldr r1, _0205ED78 ; =0x00000965
bx r3
nop
_0205ED74: .word FUN_0205EC94
_0205ED78: .word 0x00000965
thumb_func_start FUN_0205ED7C
FUN_0205ED7C: ; 0x0205ED7C
ldr r3, _0205ED84 ; =FUN_0205EC84
ldr r1, _0205ED88 ; =0x0000096D
bx r3
nop
_0205ED84: .word FUN_0205EC84
_0205ED88: .word 0x0000096D
thumb_func_start FUN_0205ED8C
FUN_0205ED8C: ; 0x0205ED8C
ldr r3, _0205ED94 ; =FUN_0205EC8C
ldr r1, _0205ED98 ; =0x0000096D
bx r3
nop
_0205ED94: .word FUN_0205EC8C
_0205ED98: .word 0x0000096D
thumb_func_start FUN_0205ED9C
FUN_0205ED9C: ; 0x0205ED9C
ldr r3, _0205EDA4 ; =FUN_0205EC94
ldr r1, _0205EDA8 ; =0x0000096D
bx r3
nop
_0205EDA4: .word FUN_0205EC94
_0205EDA8: .word 0x0000096D
thumb_func_start FUN_0205EDAC
FUN_0205EDAC: ; 0x0205EDAC
ldr r3, _0205EDB4 ; =FUN_0205EC84
ldr r1, _0205EDB8 ; =0x0000096E
bx r3
nop
_0205EDB4: .word FUN_0205EC84
_0205EDB8: .word 0x0000096E
thumb_func_start FUN_0205EDBC
FUN_0205EDBC: ; 0x0205EDBC
ldr r3, _0205EDC4 ; =FUN_0205EC84
ldr r1, _0205EDC8 ; =0x0000096F
bx r3
nop
_0205EDC4: .word FUN_0205EC84
_0205EDC8: .word 0x0000096F
thumb_func_start FUN_0205EDCC
FUN_0205EDCC: ; 0x0205EDCC
ldr r3, _0205EDD4 ; =FUN_0205EC84
mov r1, #0x97
lsl r1, r1, #0x4
bx r3
.balign 4
_0205EDD4: .word FUN_0205EC84
thumb_func_start FUN_0205EDD8
FUN_0205EDD8: ; 0x0205EDD8
ldr r3, _0205EDE0 ; =FUN_0205EC84
ldr r1, _0205EDE4 ; =0x00000971
bx r3
nop
_0205EDE0: .word FUN_0205EC84
_0205EDE4: .word 0x00000971
thumb_func_start FUN_0205EDE8
FUN_0205EDE8: ; 0x0205EDE8
ldr r3, _0205EDF0 ; =FUN_0205EC84
ldr r1, _0205EDF4 ; =0x00000972
bx r3
nop
_0205EDF0: .word FUN_0205EC84
_0205EDF4: .word 0x00000972
thumb_func_start FUN_0205EDF8
FUN_0205EDF8: ; 0x0205EDF8
ldr r3, _0205EE00 ; =FUN_0205EC84
ldr r1, _0205EE04 ; =0x00000973
bx r3
nop
_0205EE00: .word FUN_0205EC84
_0205EE04: .word 0x00000973
thumb_func_start FUN_0205EE08
FUN_0205EE08: ; 0x0205EE08
push {r3, lr}
cmp r1, #0x4
bhi _0205EE4A
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #0x6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205EE1A: ; jump table (using 16-bit offset)
.short _0205EE24 - _0205EE1A - 2; case 0
.short _0205EE2C - _0205EE1A - 2; case 1
.short _0205EE34 - _0205EE1A - 2; case 2
.short _0205EE3C - _0205EE1A - 2; case 3
.short _0205EE44 - _0205EE1A - 2; case 4
_0205EE24:
ldr r1, _0205EE4C ; =0x00000968
bl FUN_0205EC84
pop {r3, pc}
_0205EE2C:
ldr r1, _0205EE50 ; =0x00000969
bl FUN_0205EC84
pop {r3, pc}
_0205EE34:
ldr r1, _0205EE54 ; =0x0000096A
bl FUN_0205EC84
pop {r3, pc}
_0205EE3C:
ldr r1, _0205EE58 ; =0x0000096B
bl FUN_0205EC84
pop {r3, pc}
_0205EE44:
ldr r1, _0205EE5C ; =0x0000096C
bl FUN_0205EC84
_0205EE4A:
pop {r3, pc}
.balign 4
_0205EE4C: .word 0x00000968
_0205EE50: .word 0x00000969
_0205EE54: .word 0x0000096A
_0205EE58: .word 0x0000096B
_0205EE5C: .word 0x0000096C
thumb_func_start FUN_0205EE60
FUN_0205EE60: ; 0x0205EE60
push {r3, lr}
cmp r1, #0x4
bhi _0205EEA2
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #0x6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205EE72: ; jump table (using 16-bit offset)
.short _0205EE7C - _0205EE72 - 2; case 0
.short _0205EE84 - _0205EE72 - 2; case 1
.short _0205EE8C - _0205EE72 - 2; case 2
.short _0205EE94 - _0205EE72 - 2; case 3
.short _0205EE9C - _0205EE72 - 2; case 4
_0205EE7C:
ldr r1, _0205EEA4 ; =0x00000968
bl FUN_0205EC94
pop {r3, pc}
_0205EE84:
ldr r1, _0205EEA8 ; =0x00000969
bl FUN_0205EC94
pop {r3, pc}
_0205EE8C:
ldr r1, _0205EEAC ; =0x0000096A
bl FUN_0205EC94
pop {r3, pc}
_0205EE94:
ldr r1, _0205EEB0 ; =0x0000096B
bl FUN_0205EC94
pop {r3, pc}
_0205EE9C:
ldr r1, _0205EEB4 ; =0x0000096C
bl FUN_0205EC94
_0205EEA2:
pop {r3, pc}
.balign 4
_0205EEA4: .word 0x00000968
_0205EEA8: .word 0x00000969
_0205EEAC: .word 0x0000096A
_0205EEB0: .word 0x0000096B
_0205EEB4: .word 0x0000096C
thumb_func_start FUN_0205EEB8
FUN_0205EEB8: ; 0x0205EEB8
push {r3, lr}
mov r2, #0x0
cmp r1, #0x5
bhi _0205EF0A
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #0x6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205EECC: ; jump table (using 16-bit offset)
.short _0205EF0A - _0205EECC - 2; case 0
.short _0205EED8 - _0205EECC - 2; case 1
.short _0205EEE2 - _0205EECC - 2; case 2
.short _0205EEEE - _0205EECC - 2; case 3
.short _0205EEF8 - _0205EECC - 2; case 4
.short _0205EF02 - _0205EECC - 2; case 5
_0205EED8:
ldr r1, _0205EF10 ; =0x0000097F
bl FUN_0205EC94
add r2, r0, #0x0
b _0205EF0A
_0205EEE2:
mov r1, #0x26
lsl r1, r1, #0x6
bl FUN_0205EC94
add r2, r0, #0x0
b _0205EF0A
_0205EEEE:
ldr r1, _0205EF14 ; =0x00000981
bl FUN_0205EC94
add r2, r0, #0x0
b _0205EF0A
_0205EEF8:
ldr r1, _0205EF18 ; =0x00000982
bl FUN_0205EC94
add r2, r0, #0x0
b _0205EF0A
_0205EF02:
ldr r1, _0205EF1C ; =0x00000983
bl FUN_0205EC94
add r2, r0, #0x0
_0205EF0A:
add r0, r2, #0x0
pop {r3, pc}
nop
_0205EF10: .word 0x0000097F
_0205EF14: .word 0x00000981
_0205EF18: .word 0x00000982
_0205EF1C: .word 0x00000983
thumb_func_start FUN_0205EF20
FUN_0205EF20: ; 0x0205EF20
push {r4-r6, lr}
add r4, r1, #0x0
ldr r1, _0205F0E4 ; =0x00000132
add r6, r0, #0x0
mov r5, #0x0
cmp r4, r1
bgt _0205EF7E
blt _0205EF32
b _0205F036
_0205EF32:
cmp r4, #0xc9
bgt _0205EF60
blt _0205EF3A
b _0205F084
_0205EF3A:
cmp r4, #0x4b
bgt _0205EF58
add r1, r4, #0x0
sub r1, #0x48
bmi _0205EF5E
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #0x6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205EF50: ; jump table (using 16-bit offset)
.short _0205F06A - _0205EF50 - 2; case 0
.short _0205F06A - _0205EF50 - 2; case 1
.short _0205F06A - _0205EF50 - 2; case 2
.short _0205F06A - _0205EF50 - 2; case 3
_0205EF58:
cmp r4, #0xb9
bne _0205EF5E
b _0205F0D2
_0205EF5E:
b _0205F0E0
_0205EF60:
add r2, r1, #0x0
sub r2, #0x32
cmp r4, r2
bgt _0205EF76
sub r1, #0x32
cmp r4, r1
blt _0205EF70
b _0205F09E
_0205EF70:
cmp r4, #0xfb
beq _0205F018
b _0205F0E0
_0205EF76:
sub r0, r1, #0x1
cmp r4, r0
beq _0205F036
b _0205F0E0
_0205EF7E:
add r2, r1, #0x0
add r2, #0x5d
cmp r4, r2
bgt _0205EFC8
add r2, r1, #0x0
add r2, #0x5d
cmp r4, r2
blt _0205EF90
b _0205F0B8
_0205EF90:
add r2, r1, #0x1
cmp r4, r2
bgt _0205EF9E
add r0, r2, #0x0
cmp r4, r0
beq _0205F036
b _0205F0E0
_0205EF9E:
add r1, r1, #0x2
sub r1, r4, r1
cmp r1, #0xa
bhi _0205EFD6
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #0x6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205EFB2: ; jump table (using 16-bit offset)
.short _0205F036 - _0205EFB2 - 2; case 0
.short _0205F036 - _0205EFB2 - 2; case 1
.short _0205F036 - _0205EFB2 - 2; case 2
.short _0205F0E0 - _0205EFB2 - 2; case 3
.short _0205EFFC - _0205EFB2 - 2; case 4
.short _0205F0E0 - _0205EFB2 - 2; case 5
.short _0205EFE0 - _0205EFB2 - 2; case 6
.short _0205F0E0 - _0205EFB2 - 2; case 7
.short _0205EFEE - _0205EFB2 - 2; case 8
.short _0205F0E0 - _0205EFB2 - 2; case 9
.short _0205F00A - _0205EFB2 - 2; case 10
_0205EFC8:
ldr r0, _0205F0E8 ; =0x000001EE
cmp r4, r0
bgt _0205EFD8
bge _0205F036
sub r0, #0x48
cmp r4, r0
beq _0205F026
_0205EFD6:
b _0205F0E0
_0205EFD8:
add r0, r0, #0x3
cmp r4, r0
beq _0205F036
b _0205F0E0
_0205EFE0:
ldr r1, _0205F0EC ; =0x00000984
bl FUN_0205EC94
cmp r0, #0x1
bne _0205F0E0
ldr r5, _0205F0F0 ; =0x0000042E
b _0205F0E0
_0205EFEE:
ldr r1, _0205F0EC ; =0x00000984
bl FUN_0205EC94
cmp r0, #0x1
bne _0205F0E0
ldr r5, _0205F0F4 ; =0x00000429
b _0205F0E0
_0205EFFC:
ldr r1, _0205F0F8 ; =0x0000098E
bl FUN_0205EC94
cmp r0, #0x1
bne _0205F0E0
ldr r5, _0205F0F0 ; =0x0000042E
b _0205F0E0
_0205F00A:
ldr r1, _0205F0FC ; =0x0000098F
bl FUN_0205EC94
cmp r0, #0x1
bne _0205F0E0
ldr r5, _0205F0F0 ; =0x0000042E
b _0205F0E0
_0205F018:
ldr r1, _0205F100 ; =0x00000995
bl FUN_0205EC94
cmp r0, #0x1
bne _0205F0E0
ldr r5, _0205F104 ; =0x0000042D
b _0205F0E0
_0205F026:
ldr r1, _0205F108 ; =0x00000993
add r0, r6, #0x0
bl FUN_0205EC94
cmp r0, #0x1
bne _0205F0E0
ldr r5, _0205F10C ; =0x0000044A
b _0205F0E0
_0205F036:
ldr r1, _0205F110 ; =0x00000985
add r0, r6, #0x0
bl FUN_0205EC94
cmp r0, #0x1
bne _0205F054
bl FUN_0201277C
cmp r0, #0x0
bne _0205F050
mov r5, #0xfe
lsl r5, r5, #0x2
b _0205F0E0
_0205F050:
ldr r5, _0205F114 ; =0x00000415
b _0205F0E0
_0205F054:
ldr r0, _0205F118 ; =0x00000131
cmp r4, r0
bne _0205F0E0
ldr r1, _0205F11C ; =0x00000986
add r0, r6, #0x0
bl FUN_0205EC94
cmp r0, #0x1
bne _0205F0E0
ldr r5, _0205F120 ; =0x0000042B
b _0205F0E0
_0205F06A:
ldr r1, _0205F124 ; =0x00000987
bl FUN_0205EC94
cmp r0, #0x1
bne _0205F0E0
bl FUN_0201277C
cmp r0, #0x0
bne _0205F080
ldr r5, _0205F128 ; =0x000003F5
b _0205F0E0
_0205F080:
ldr r5, _0205F12C ; =0x00000412
b _0205F0E0
_0205F084:
ldr r1, _0205F130 ; =0x00000988
bl FUN_0205EC94
cmp r0, #0x1
bne _0205F0E0
bl FUN_0201277C
cmp r0, #0x0
bne _0205F09A
ldr r5, _0205F134 ; =0x000003FF
b _0205F0E0
_0205F09A:
ldr r5, _0205F138 ; =0x0000041C
b _0205F0E0
_0205F09E:
ldr r1, _0205F13C ; =0x00000989
bl FUN_0205EC94
cmp r0, #0x1
bne _0205F0E0
bl FUN_0201277C
cmp r0, #0x0
bne _0205F0B4
ldr r5, _0205F140 ; =0x000003EE
b _0205F0E0
_0205F0B4:
ldr r5, _0205F144 ; =0x0000040B
b _0205F0E0
_0205F0B8:
ldr r1, _0205F148 ; =0x0000098A
bl FUN_0205EC94
cmp r0, #0x1
bne _0205F0E0
bl FUN_0201277C
cmp r0, #0x0
bne _0205F0CE
ldr r5, _0205F140 ; =0x000003EE
b _0205F0E0
_0205F0CE:
ldr r5, _0205F144 ; =0x0000040B
b _0205F0E0
_0205F0D2:
ldr r1, _0205F14C ; =0x0000098B
add r0, r6, #0x0
bl FUN_0205EC94
cmp r0, #0x1
bne _0205F0E0
ldr r5, _0205F150 ; =0x000003E9
_0205F0E0:
add r0, r5, #0x0
pop {r4-r6, pc}
.balign 4
_0205F0E4: .word 0x00000132
_0205F0E8: .word 0x000001EE
_0205F0EC: .word 0x00000984
_0205F0F0: .word 0x0000042E
_0205F0F4: .word 0x00000429
_0205F0F8: .word 0x0000098E
_0205F0FC: .word 0x0000098F
_0205F100: .word 0x00000995
_0205F104: .word 0x0000042D
_0205F108: .word 0x00000993
_0205F10C: .word 0x0000044A
_0205F110: .word 0x00000985
_0205F114: .word 0x00000415
_0205F118: .word 0x00000131
_0205F11C: .word 0x00000986
_0205F120: .word 0x0000042B
_0205F124: .word 0x00000987
_0205F128: .word 0x000003F5
_0205F12C: .word 0x00000412
_0205F130: .word 0x00000988
_0205F134: .word 0x000003FF
_0205F138: .word 0x0000041C
_0205F13C: .word 0x00000989
_0205F140: .word 0x000003EE
_0205F144: .word 0x0000040B
_0205F148: .word 0x0000098A
_0205F14C: .word 0x0000098B
_0205F150: .word 0x000003E9
thumb_func_start FUN_0205F154
FUN_0205F154: ; 0x0205F154
ldr r3, _0205F15C ; =FUN_0205EC84
ldr r1, _0205F160 ; =0x00000966
bx r3
nop
_0205F15C: .word FUN_0205EC84
_0205F160: .word 0x00000966
thumb_func_start FUN_0205F164
FUN_0205F164: ; 0x0205F164
ldr r3, _0205F16C ; =FUN_0205EC8C
ldr r1, _0205F170 ; =0x00000966
bx r3
nop
_0205F16C: .word FUN_0205EC8C
_0205F170: .word 0x00000966
thumb_func_start FUN_0205F174
FUN_0205F174: ; 0x0205F174
ldr r3, _0205F17C ; =FUN_0205EC94
ldr r1, _0205F180 ; =0x00000966
bx r3
nop
_0205F17C: .word FUN_0205EC94
_0205F180: .word 0x00000966
thumb_func_start FUN_0205F184
FUN_0205F184: ; 0x0205F184
ldr r3, _0205F18C ; =FUN_0205EC94
ldr r1, _0205F190 ; =0x00000978
bx r3
nop
_0205F18C: .word FUN_0205EC94
_0205F190: .word 0x00000978
thumb_func_start FUN_0205F194
FUN_0205F194: ; 0x0205F194
ldr r3, _0205F19C ; =FUN_0205EC94
ldr r1, _0205F1A0 ; =0x00000992
bx r3
nop
_0205F19C: .word FUN_0205EC94
_0205F1A0: .word 0x00000992
thumb_func_start FUN_0205F1A4
FUN_0205F1A4: ; 0x0205F1A4
ldr r3, _0205F1AC ; =FUN_0205EC94
ldr r1, _0205F1B0 ; =0x0000097D
bx r3
nop
_0205F1AC: .word FUN_0205EC94
_0205F1B0: .word 0x0000097D
thumb_func_start FUN_0205F1B4
FUN_0205F1B4: ; 0x0205F1B4
ldr r3, _0205F1BC ; =FUN_0205EC94
ldr r1, _0205F1C0 ; =0x0000097E
bx r3
nop
_0205F1BC: .word FUN_0205EC94
_0205F1C0: .word 0x0000097E
thumb_func_start FUN_0205F1C4
FUN_0205F1C4: ; 0x0205F1C4
ldr r3, _0205F1CC ; =FUN_0205EC84
ldr r1, _0205F1D0 ; =0x0000097C
bx r3
nop
_0205F1CC: .word FUN_0205EC84
_0205F1D0: .word 0x0000097C
thumb_func_start FUN_0205F1D4
FUN_0205F1D4: ; 0x0205F1D4
ldr r3, _0205F1DC ; =FUN_0205EC8C
ldr r1, _0205F1E0 ; =0x0000097C
bx r3
nop
_0205F1DC: .word FUN_0205EC8C
_0205F1E0: .word 0x0000097C
thumb_func_start FUN_0205F1E4
FUN_0205F1E4: ; 0x0205F1E4
ldr r3, _0205F1EC ; =FUN_0205EC94
ldr r1, _0205F1F0 ; =0x0000097C
bx r3
nop
_0205F1EC: .word FUN_0205EC94
_0205F1F0: .word 0x0000097C
thumb_func_start FUN_0205F1F4
FUN_0205F1F4: ; 0x0205F1F4
ldr r3, _0205F1FC ; =FUN_0205EC84
ldr r1, _0205F200 ; =0x00000967
bx r3
nop
_0205F1FC: .word FUN_0205EC84
_0205F200: .word 0x00000967
thumb_func_start FUN_0205F204
FUN_0205F204: ; 0x0205F204
ldr r3, _0205F20C ; =FUN_0205EC8C
ldr r1, _0205F210 ; =0x00000967
bx r3
nop
_0205F20C: .word FUN_0205EC8C
_0205F210: .word 0x00000967
thumb_func_start FUN_0205F214
FUN_0205F214: ; 0x0205F214
ldr r3, _0205F21C ; =FUN_0205EC94
ldr r1, _0205F220 ; =0x00000967
bx r3
nop
_0205F21C: .word FUN_0205EC94
_0205F220: .word 0x00000967
thumb_func_start FUN_0205F224
FUN_0205F224: ; 0x0205F224
ldr r3, _0205F22C ; =FUN_0205EC84
ldr r1, _0205F230 ; =0x00000979
bx r3
nop
_0205F22C: .word FUN_0205EC84
_0205F230: .word 0x00000979
thumb_func_start FUN_0205F234
FUN_0205F234: ; 0x0205F234
ldr r3, _0205F23C ; =FUN_0205EC8C
ldr r1, _0205F240 ; =0x00000979
bx r3
nop
_0205F23C: .word FUN_0205EC8C
_0205F240: .word 0x00000979
thumb_func_start FUN_0205F244
FUN_0205F244: ; 0x0205F244
ldr r3, _0205F24C ; =FUN_0205EC94
ldr r1, _0205F250 ; =0x00000979
bx r3
nop
_0205F24C: .word FUN_0205EC94
_0205F250: .word 0x00000979
thumb_func_start FUN_0205F254
FUN_0205F254: ; 0x0205F254
ldr r3, _0205F25C ; =FUN_0205EC8C
ldr r1, _0205F260 ; =0x00000994
bx r3
nop
_0205F25C: .word FUN_0205EC8C
_0205F260: .word 0x00000994
thumb_func_start FUN_0205F264
FUN_0205F264: ; 0x0205F264
ldr r3, _0205F26C ; =FUN_0205EC9C
ldr r2, _0205F270 ; =0x00000962
bx r3
nop
_0205F26C: .word FUN_0205EC9C
_0205F270: .word 0x00000962
thumb_func_start FUN_0205F274
FUN_0205F274: ; 0x0205F274
ldr r3, _0205F27C ; =FUN_0205EC84
ldr r1, _0205F280 ; =0x0000097A
bx r3
nop
_0205F27C: .word FUN_0205EC84
_0205F280: .word 0x0000097A
thumb_func_start FUN_0205F284
FUN_0205F284: ; 0x0205F284
ldr r3, _0205F28C ; =FUN_0205EC8C
ldr r1, _0205F290 ; =0x0000097A
bx r3
nop
_0205F28C: .word FUN_0205EC8C
_0205F290: .word 0x0000097A
thumb_func_start FUN_0205F294
FUN_0205F294: ; 0x0205F294
ldr r3, _0205F29C ; =FUN_0205EC94
ldr r1, _0205F2A0 ; =0x0000097A
bx r3
nop
_0205F29C: .word FUN_0205EC94
_0205F2A0: .word 0x0000097A
thumb_func_start FUN_0205F2A4
FUN_0205F2A4: ; 0x0205F2A4
ldr r3, _0205F2AC ; =FUN_0205EC84
ldr r1, _0205F2B0 ; =0x0000097B
bx r3
nop
_0205F2AC: .word FUN_0205EC84
_0205F2B0: .word 0x0000097B
thumb_func_start FUN_0205F2B4
FUN_0205F2B4: ; 0x0205F2B4
ldr r3, _0205F2BC ; =FUN_0205EC8C
ldr r1, _0205F2C0 ; =0x0000097B
bx r3
nop
_0205F2BC: .word FUN_0205EC8C
_0205F2C0: .word 0x0000097B
thumb_func_start FUN_0205F2C4
FUN_0205F2C4: ; 0x0205F2C4
ldr r3, _0205F2CC ; =FUN_0205EC94
ldr r1, _0205F2D0 ; =0x0000097B
bx r3
nop
_0205F2CC: .word FUN_0205EC94
_0205F2D0: .word 0x0000097B
thumb_func_start FUN_0205F2D4
FUN_0205F2D4: ; 0x0205F2D4
ldr r3, _0205F2DC ; =FUN_0205EC9C
ldr r2, _0205F2E0 ; =0x00000963
bx r3
nop
_0205F2DC: .word FUN_0205EC9C
_0205F2E0: .word 0x00000963
thumb_func_start FUN_0205F2E4
FUN_0205F2E4: ; 0x0205F2E4
push {r4-r6, lr}
add r4, r2, #0x0
add r5, r0, #0x0
add r6, r1, #0x0
cmp r4, #0x45
blo _0205F2F4
bl ErrorHandling
_0205F2F4:
mov r2, #0x9b
lsl r2, r2, #0x4
add r0, r5, #0x0
add r1, r6, #0x0
add r2, r4, r2
bl FUN_0205EC9C
pop {r4-r6, pc}
thumb_func_start FUN_0205F304
FUN_0205F304: ; 0x0205F304
ldr r3, _0205F30C ; =FUN_0205EC84
ldr r1, _0205F310 ; =0x0000098C
bx r3
nop
_0205F30C: .word FUN_0205EC84
_0205F310: .word 0x0000098C

653
arm9/asm/unk_0205F314.s Normal file
View File

@@ -0,0 +1,653 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_0205F314
FUN_0205F314: ; 0x0205F314
push {r3-r5, lr}
add r5, r1, #0x0
add r4, r2, #0x0
bl FUN_02046380
mov r1, #0x1
lsl r1, r1, #0xe
cmp r5, r1
blo _0205F32C
lsl r1, r1, #0x1
cmp r5, r1
bls _0205F334
_0205F32C:
bl ErrorHandling
mov r0, #0x0
pop {r3-r5, pc}
_0205F334:
cmp r0, #0x0
bne _0205F33C
mov r0, #0x0
pop {r3-r5, pc}
_0205F33C:
strh r4, [r0, #0x0]
mov r0, #0x1
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_0205F344
FUN_0205F344: ; 0x0205F344
push {r3, lr}
bl FUN_02046380
cmp r0, #0x0
bne _0205F352
mov r0, #0x0
pop {r3, pc}
_0205F352:
ldrh r0, [r0, #0x0]
pop {r3, pc}
.balign 4
thumb_func_start FUN_0205F358
FUN_0205F358: ; 0x0205F358
ldr r3, _0205F360 ; =FUN_0205F314
add r2, r1, #0x0
ldr r1, _0205F364 ; =0x0000403F
bx r3
.balign 4
_0205F360: .word FUN_0205F314
_0205F364: .word 0x0000403F
thumb_func_start FUN_0205F368
FUN_0205F368: ; 0x0205F368
ldr r3, _0205F370 ; =FUN_0205F344
ldr r1, _0205F374 ; =0x0000403F
bx r3
nop
_0205F370: .word FUN_0205F344
_0205F374: .word 0x0000403F
thumb_func_start FUN_0205F378
FUN_0205F378: ; 0x0205F378
ldr r3, _0205F380 ; =FUN_0205F314
add r2, r1, #0x0
ldr r1, _0205F384 ; =0x00004030
bx r3
.balign 4
_0205F380: .word FUN_0205F314
_0205F384: .word 0x00004030
thumb_func_start FUN_0205F388
FUN_0205F388: ; 0x0205F388
ldr r3, _0205F390 ; =FUN_0205F344
ldr r1, _0205F394 ; =0x00004030
bx r3
nop
_0205F390: .word FUN_0205F344
_0205F394: .word 0x00004030
thumb_func_start FUN_0205F398
FUN_0205F398: ; 0x0205F398
push {r3, lr}
ldr r1, _0205F3B8 ; =0x00004030
bl FUN_0205F344
ldr r2, _0205F3BC ; =0x00000183
cmp r0, r2
bne _0205F3AA
add r2, r2, #0x3
b _0205F3B2
_0205F3AA:
add r1, r2, #0x3
cmp r0, r1
bne _0205F3B2
add r2, r2, #0x6
_0205F3B2:
add r0, r2, #0x0
pop {r3, pc}
nop
_0205F3B8: .word 0x00004030
_0205F3BC: .word 0x00000183
thumb_func_start FUN_0205F3C0
FUN_0205F3C0: ; 0x0205F3C0
push {r3, lr}
ldr r1, _0205F3E0 ; =0x00004030
bl FUN_0205F344
ldr r2, _0205F3E4 ; =0x00000183
cmp r0, r2
bne _0205F3D2
add r2, r2, #0x6
b _0205F3DA
_0205F3D2:
add r1, r2, #0x3
cmp r0, r1
beq _0205F3DA
add r2, r2, #0x3
_0205F3DA:
add r0, r2, #0x0
pop {r3, pc}
nop
_0205F3E0: .word 0x00004030
_0205F3E4: .word 0x00000183
thumb_func_start FUN_0205F3E8
FUN_0205F3E8: ; 0x0205F3E8
ldr r3, _0205F3F0 ; =FUN_0205F344
ldr r1, _0205F3F4 ; =0x00004035
bx r3
nop
_0205F3F0: .word FUN_0205F344
_0205F3F4: .word 0x00004035
thumb_func_start FUN_0205F3F8
FUN_0205F3F8: ; 0x0205F3F8
ldr r3, _0205F400 ; =FUN_0205F314
add r2, r1, #0x0
ldr r1, _0205F404 ; =0x00004035
bx r3
.balign 4
_0205F400: .word FUN_0205F314
_0205F404: .word 0x00004035
thumb_func_start FUN_0205F408
FUN_0205F408: ; 0x0205F408
push {r4, lr}
add r4, r0, #0x0
bl FUN_0205ED8C
add r0, r4, #0x0
mov r1, #0x0
bl FUN_0205F44C
pop {r4, pc}
.balign 4
thumb_func_start FUN_0205F41C
FUN_0205F41C: ; 0x0205F41C
ldr r3, _0205F424 ; =FUN_0205F344
ldr r1, _0205F428 ; =0x00004033
bx r3
nop
_0205F424: .word FUN_0205F344
_0205F428: .word 0x00004033
thumb_func_start FUN_0205F42C
FUN_0205F42C: ; 0x0205F42C
ldr r3, _0205F434 ; =FUN_0205F314
add r2, r1, #0x0
ldr r1, _0205F438 ; =0x00004033
bx r3
.balign 4
_0205F434: .word FUN_0205F314
_0205F438: .word 0x00004033
thumb_func_start FUN_0205F43C
FUN_0205F43C: ; 0x0205F43C
ldr r3, _0205F444 ; =FUN_0205F344
ldr r1, _0205F448 ; =0x00004034
bx r3
nop
_0205F444: .word FUN_0205F344
_0205F448: .word 0x00004034
thumb_func_start FUN_0205F44C
FUN_0205F44C: ; 0x0205F44C
ldr r3, _0205F454 ; =FUN_0205F314
add r2, r1, #0x0
ldr r1, _0205F458 ; =0x00004034
bx r3
.balign 4
_0205F454: .word FUN_0205F314
_0205F458: .word 0x00004034
thumb_func_start FUN_0205F45C
FUN_0205F45C: ; 0x0205F45C
push {r4, lr}
add r4, r0, #0x0
bmi _0205F466
cmp r4, #0x3
blo _0205F46A
_0205F466:
bl ErrorHandling
_0205F46A:
ldr r0, _0205F474 ; =0x020F7430
lsl r1, r4, #0x1
ldrh r0, [r0, r1]
pop {r4, pc}
nop
_0205F474: .word 0x020F7430
thumb_func_start FUN_0205F478
FUN_0205F478: ; 0x0205F478
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
add r0, r4, #0x0
bl FUN_0205F45C
add r2, r0, #0x0
ldr r1, _0205F49C ; =0x00004043
lsl r2, r2, #0x10
add r1, r4, r1
lsl r1, r1, #0x10
add r0, r5, #0x0
lsr r1, r1, #0x10
lsr r2, r2, #0x10
bl FUN_0205F314
pop {r3-r5, pc}
nop
_0205F49C: .word 0x00004043
thumb_func_start FUN_0205F4A0
FUN_0205F4A0: ; 0x0205F4A0
push {r3-r5, lr}
add r4, r1, #0x0
ldr r1, _0205F4C4 ; =0x00004043
add r1, r4, r1
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl FUN_0205F344
add r5, r0, #0x0
add r0, r4, #0x0
bl FUN_0205F45C
cmp r5, r0
bne _0205F4C0
mov r0, #0x1
pop {r3-r5, pc}
_0205F4C0:
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
_0205F4C4: .word 0x00004043
thumb_func_start FUN_0205F4C8
FUN_0205F4C8: ; 0x0205F4C8
push {r4, lr}
add r4, r0, #0x0
bmi _0205F4D2
cmp r4, #0x4
blt _0205F4D6
_0205F4D2:
bl ErrorHandling
_0205F4D6:
ldr r0, _0205F4E0 ; =0x020F7436
lsl r1, r4, #0x1
ldrh r0, [r0, r1]
pop {r4, pc}
nop
_0205F4E0: .word 0x020F7436
thumb_func_start FUN_0205F4E4
FUN_0205F4E4: ; 0x0205F4E4
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
add r0, r4, #0x0
bl FUN_0205F4C8
add r2, r0, #0x0
ldr r1, _0205F508 ; =0x00004036
lsl r2, r2, #0x10
add r1, r4, r1
lsl r1, r1, #0x10
add r0, r5, #0x0
lsr r1, r1, #0x10
lsr r2, r2, #0x10
bl FUN_0205F314
pop {r3-r5, pc}
nop
_0205F508: .word 0x00004036
thumb_func_start FUN_0205F50C
FUN_0205F50C: ; 0x0205F50C
ldr r2, _0205F51C ; =0x00004036
ldr r3, _0205F520 ; =FUN_0205F314
add r1, r1, r2
lsl r1, r1, #0x10
lsr r1, r1, #0x10
mov r2, #0x0
bx r3
nop
_0205F51C: .word 0x00004036
_0205F520: .word FUN_0205F314
thumb_func_start FUN_0205F524
FUN_0205F524: ; 0x0205F524
push {r3-r5, lr}
add r4, r1, #0x0
ldr r1, _0205F548 ; =0x00004036
add r1, r4, r1
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl FUN_0205F344
add r5, r0, #0x0
add r0, r4, #0x0
bl FUN_0205F4C8
cmp r5, r0
bne _0205F544
mov r0, #0x1
pop {r3-r5, pc}
_0205F544:
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
_0205F548: .word 0x00004036
thumb_func_start FUN_0205F54C
FUN_0205F54C: ; 0x0205F54C
ldr r3, _0205F554 ; =FUN_0205F314
ldr r1, _0205F558 ; =0x0000403A
mov r2, #0x0
bx r3
.balign 4
_0205F554: .word FUN_0205F314
_0205F558: .word 0x0000403A
thumb_func_start FUN_0205F55C
FUN_0205F55C: ; 0x0205F55C
ldr r3, _0205F564 ; =FUN_0205F344
ldr r1, _0205F568 ; =0x0000403A
bx r3
nop
_0205F564: .word FUN_0205F344
_0205F568: .word 0x0000403A
thumb_func_start FUN_0205F56C
FUN_0205F56C: ; 0x0205F56C
push {r4, lr}
ldr r1, _0205F58C ; =0x0000403A
add r4, r0, #0x0
bl FUN_0205F344
ldr r2, _0205F590 ; =0x00002710
cmp r0, r2
bhs _0205F582
add r0, r0, #0x1
lsl r0, r0, #0x10
lsr r2, r0, #0x10
_0205F582:
ldr r1, _0205F58C ; =0x0000403A
add r0, r4, #0x0
bl FUN_0205F314
pop {r4, pc}
.balign 4
_0205F58C: .word 0x0000403A
_0205F590: .word 0x00002710
thumb_func_start FUN_0205F594
FUN_0205F594: ; 0x0205F594
ldr r3, _0205F59C ; =FUN_0205F344
ldr r1, _0205F5A0 ; =0x0000403B
bx r3
nop
_0205F59C: .word FUN_0205F344
_0205F5A0: .word 0x0000403B
thumb_func_start FUN_0205F5A4
FUN_0205F5A4: ; 0x0205F5A4
ldr r3, _0205F5AC ; =FUN_0205F314
add r2, r1, #0x0
ldr r1, _0205F5B0 ; =0x0000403B
bx r3
.balign 4
_0205F5AC: .word FUN_0205F314
_0205F5B0: .word 0x0000403B
thumb_func_start FUN_0205F5B4
FUN_0205F5B4: ; 0x0205F5B4
push {r3-r5, lr}
add r4, r1, #0x0
lsl r2, r4, #0x10
ldr r1, _0205F5D4 ; =0x0000403C
lsr r2, r2, #0x10
add r5, r0, #0x0
bl FUN_0205F314
lsr r2, r4, #0x10
lsl r2, r2, #0x10
ldr r1, _0205F5D4 ; =0x0000403C
add r0, r5, #0x0
lsr r2, r2, #0x10
bl FUN_0205F314
pop {r3-r5, pc}
.balign 4
_0205F5D4: .word 0x0000403C
thumb_func_start FUN_0205F5D8
FUN_0205F5D8: ; 0x0205F5D8
push {r3-r5, lr}
ldr r1, _0205F5F4 ; =0x0000403C
add r5, r0, #0x0
bl FUN_0205F344
add r4, r0, #0x0
ldr r1, _0205F5F8 ; =0x0000403D
add r0, r5, #0x0
bl FUN_0205F344
lsl r0, r0, #0x10
orr r0, r4
pop {r3-r5, pc}
nop
_0205F5F4: .word 0x0000403C
_0205F5F8: .word 0x0000403D
thumb_func_start FUN_0205F5FC
FUN_0205F5FC: ; 0x0205F5FC
push {r3-r5, lr}
add r5, r0, #0x0
bl rand_LC
add r4, r0, #0x0
bl rand_LC
add r1, r0, #0x0
lsl r1, r1, #0x10
add r0, r5, #0x0
orr r1, r4
bl FUN_0205F5B4
pop {r3-r5, pc}
thumb_func_start FUN_0205F618
FUN_0205F618: ; 0x0205F618
push {r3-r5, lr}
add r5, r0, #0x0
bl FUN_020462AC
add r4, r0, #0x0
add r0, r5, #0x0
bl FUN_0202881C
bl FUN_020287A4
add r2, r0, #0x0
ldr r1, _0205F640 ; =0x41C64E6D
add r0, r4, #0x0
mul r2, r1
ldr r1, _0205F644 ; =0x00003039
add r1, r2, r1
bl FUN_0205F5B4
pop {r3-r5, pc}
nop
_0205F640: .word 0x41C64E6D
_0205F644: .word 0x00003039
thumb_func_start FUN_0205F648
FUN_0205F648: ; 0x0205F648
ldr r3, _0205F650 ; =FUN_0205F344
ldr r1, _0205F654 ; =0x00004041
bx r3
nop
_0205F650: .word FUN_0205F344
_0205F654: .word 0x00004041
thumb_func_start FUN_0205F658
FUN_0205F658: ; 0x0205F658
ldr r3, _0205F660 ; =FUN_0205F314
add r2, r1, #0x0
ldr r1, _0205F664 ; =0x00004041
bx r3
.balign 4
_0205F660: .word FUN_0205F314
_0205F664: .word 0x00004041
thumb_func_start FUN_0205F668
FUN_0205F668: ; 0x0205F668
push {r4, lr}
bl FUN_020462AC
add r4, r0, #0x0
bl rand_LC
mov r1, #0x62
bl _s32_div_f
add r1, r1, #0x2
lsl r1, r1, #0x10
add r0, r4, #0x0
lsr r1, r1, #0x10
bl FUN_0205F658
pop {r4, pc}
thumb_func_start FUN_0205F688
FUN_0205F688: ; 0x0205F688
ldr r3, _0205F690 ; =FUN_0205F344
ldr r1, _0205F694 ; =0x0000403E
bx r3
nop
_0205F690: .word FUN_0205F344
_0205F694: .word 0x0000403E
thumb_func_start FUN_0205F698
FUN_0205F698: ; 0x0205F698
ldr r3, _0205F6A0 ; =FUN_0205F314
add r2, r1, #0x0
ldr r1, _0205F6A4 ; =0x0000403E
bx r3
.balign 4
_0205F6A0: .word FUN_0205F314
_0205F6A4: .word 0x0000403E
thumb_func_start FUN_0205F6A8
FUN_0205F6A8: ; 0x0205F6A8
ldr r3, _0205F6B0 ; =FUN_0205F344
ldr r1, _0205F6B4 ; =0x00004049
bx r3
nop
_0205F6B0: .word FUN_0205F344
_0205F6B4: .word 0x00004049
thumb_func_start FUN_0205F6B8
FUN_0205F6B8: ; 0x0205F6B8
ldr r3, _0205F6C0 ; =FUN_0205F314
add r2, r1, #0x0
ldr r1, _0205F6C4 ; =0x00004049
bx r3
.balign 4
_0205F6C0: .word FUN_0205F314
_0205F6C4: .word 0x00004049
thumb_func_start FUN_0205F6C8
FUN_0205F6C8: ; 0x0205F6C8
ldr r3, _0205F6D0 ; =FUN_0205F344
ldr r1, _0205F6D4 ; =0x00004040
bx r3
nop
_0205F6D0: .word FUN_0205F344
_0205F6D4: .word 0x00004040
thumb_func_start FUN_0205F6D8
FUN_0205F6D8: ; 0x0205F6D8
ldr r3, _0205F6E0 ; =FUN_0205F314
add r2, r1, #0x0
ldr r1, _0205F6E4 ; =0x00004040
bx r3
.balign 4
_0205F6E0: .word FUN_0205F314
_0205F6E4: .word 0x00004040
thumb_func_start FUN_0205F6E8
FUN_0205F6E8: ; 0x0205F6E8
push {r4, lr}
ldr r1, _0205F708 ; =0x00004042
add r4, r0, #0x0
bl FUN_0205F344
ldr r2, _0205F70C ; =0x00002710
cmp r0, r2
bhs _0205F6FE
add r0, r0, #0x1
lsl r0, r0, #0x10
lsr r2, r0, #0x10
_0205F6FE:
ldr r1, _0205F708 ; =0x00004042
add r0, r4, #0x0
bl FUN_0205F314
pop {r4, pc}
.balign 4
_0205F708: .word 0x00004042
_0205F70C: .word 0x00002710
thumb_func_start FUN_0205F710
FUN_0205F710: ; 0x0205F710
ldr r3, _0205F718 ; =FUN_0205F344
ldr r1, _0205F71C ; =0x00004042
bx r3
nop
_0205F718: .word FUN_0205F344
_0205F71C: .word 0x00004042
thumb_func_start FUN_0205F720
FUN_0205F720: ; 0x0205F720
ldr r3, _0205F728 ; =FUN_0205F344
ldr r1, _0205F72C ; =0x00004046
bx r3
nop
_0205F728: .word FUN_0205F344
_0205F72C: .word 0x00004046
thumb_func_start FUN_0205F730
FUN_0205F730: ; 0x0205F730
ldr r3, _0205F738 ; =FUN_0205F314
add r2, r1, #0x0
ldr r1, _0205F73C ; =0x00004046
bx r3
.balign 4
_0205F738: .word FUN_0205F314
_0205F73C: .word 0x00004046
thumb_func_start FUN_0205F740
FUN_0205F740: ; 0x0205F740
ldr r3, _0205F748 ; =FUN_0205F344
ldr r1, _0205F74C ; =0x00004047
bx r3
nop
_0205F748: .word FUN_0205F344
_0205F74C: .word 0x00004047
thumb_func_start FUN_0205F750
FUN_0205F750: ; 0x0205F750
ldr r3, _0205F758 ; =FUN_0205F314
add r2, r1, #0x0
ldr r1, _0205F75C ; =0x00004047
bx r3
.balign 4
_0205F758: .word FUN_0205F314
_0205F75C: .word 0x00004047
thumb_func_start FUN_0205F760
FUN_0205F760: ; 0x0205F760
ldr r3, _0205F768 ; =FUN_0205F344
ldr r1, _0205F76C ; =0x00004048
bx r3
nop
_0205F768: .word FUN_0205F344
_0205F76C: .word 0x00004048
thumb_func_start FUN_0205F770
FUN_0205F770: ; 0x0205F770
ldr r3, _0205F778 ; =FUN_0205F314
add r2, r1, #0x0
ldr r1, _0205F77C ; =0x00004048
bx r3
.balign 4
_0205F778: .word FUN_0205F314
_0205F77C: .word 0x00004048
thumb_func_start FUN_0205F780
FUN_0205F780: ; 0x0205F780
ldr r3, _0205F788 ; =FUN_0205F344
ldr r1, _0205F78C ; =0x0000404A
bx r3
nop
_0205F788: .word FUN_0205F344
_0205F78C: .word 0x0000404A
thumb_func_start FUN_0205F790
FUN_0205F790: ; 0x0205F790
ldr r3, _0205F798 ; =FUN_0205F314
add r2, r1, #0x0
ldr r1, _0205F79C ; =0x0000404A
bx r3
.balign 4
_0205F798: .word FUN_0205F314
_0205F79C: .word 0x0000404A

317
arm9/asm/unk_0205F7A0.s Normal file
View File

@@ -0,0 +1,317 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_0205F7A0
FUN_0205F7A0: ; 0x0205F7A0
push {r3-r7, lr}
sub sp, #0x10
str r0, [sp, #0x0]
ldr r0, [r0, #0xc]
add r5, r1, #0x0
str r2, [sp, #0x4]
bl FUN_020462AC
add r7, r0, #0x0
ldr r0, [sp, #0x0]
ldr r0, [r0, #0xc]
bl FUN_02034E30
bl FUN_02034DCC
mov r2, #0x5
str r0, [sp, #0xc]
add r0, r5, #0x0
mov r1, #0x0
lsl r2, r2, #0x6
bl memset
ldr r0, [sp, #0x0]
ldr r0, [r0, #0x38]
bl FUN_02055320
add r4, r0, #0x0
ldr r0, [sp, #0x0]
ldr r0, [r0, #0x38]
bl FUN_0205532C
add r6, r0, #0x0
ldr r0, [sp, #0x0]
asr r1, r4, #0x4
asr r2, r6, #0x4
lsr r1, r1, #0x1b
lsr r2, r2, #0x1b
add r1, r4, r1
add r2, r6, r2
ldr r0, [r0, #0x28]
asr r1, r1, #0x5
asr r2, r2, #0x5
bl FUN_0203451C
bl FUN_02034908
cmp r0, #0x0
beq _0205F806
str r4, [r5, #0x0]
str r6, [r5, #0x4]
b _0205F812
_0205F806:
ldr r0, [sp, #0xc]
ldr r0, [r0, #0x8]
str r0, [r5, #0x0]
ldr r0, [sp, #0xc]
ldr r0, [r0, #0xc]
str r0, [r5, #0x4]
_0205F812:
ldr r0, [sp, #0x0]
bl FUN_020377AC
bl FUN_020238F4
bl FUN_020239CC
str r0, [r5, #0xc]
ldr r0, [sp, #0x0]
ldr r0, [r0, #0xc]
bl FUN_02034E30
bl FUN_02034E0C
str r0, [sp, #0x8]
ldr r0, [r0, #0x0]
mov r1, #0x6
add r0, r0, #0x4
bl _s32_div_f
mov r6, #0x0
add r4, r5, #0x0
_0205F83E:
ldr r0, [sp, #0x8]
lsl r2, r1, #0x2
add r0, r0, r2
ldrb r2, [r0, #0x6]
str r2, [r4, #0x20]
ldrb r2, [r0, #0x7]
str r2, [r4, #0x24]
ldrb r2, [r0, #0x9]
strh r2, [r4, #0x2a]
ldrb r0, [r0, #0x8]
cmp r0, #0x3
bls _0205F85A
mov r0, #0x4
b _0205F85A
_0205F85A:
strh r0, [r4, #0x28]
add r0, r1, #0x5
mov r1, #0x6
bl _s32_div_f
add r6, r6, #0x1
add r4, #0xc
cmp r6, #0x5
blt _0205F83E
mov r6, #0x4f
mov r4, #0x0
lsl r6, r6, #0x2
_0205F872:
add r0, r7, #0x0
add r1, r4, #0x0
bl FUN_0205F524
cmp r0, #0x0
beq _0205F888
mov r0, #0x1
ldrh r1, [r5, r6]
lsl r0, r4
orr r0, r1
strh r0, [r5, r6]
_0205F888:
add r4, r4, #0x1
cmp r4, #0x4
blt _0205F872
ldr r6, _0205F8C0 ; =0x020F7440
mov r4, #0x0
_0205F892:
ldrb r2, [r6, #0x0]
add r0, r7, #0x0
mov r1, #0x2
bl FUN_0205F2E4
mov r1, #0x49
add r2, r5, r4
lsl r1, r1, #0x2
add r4, r4, #0x1
add r6, r6, #0x1
strb r0, [r2, r1]
cmp r4, #0x14
blt _0205F892
ldr r0, [sp, #0x0]
ldr r2, _0205F8C4 ; =0x02105FA8
add r1, r5, #0x0
bl FUN_0205F8CC
ldr r1, _0205F8C8 ; =0x00000139
ldr r0, [sp, #0x4]
strb r0, [r5, r1]
add sp, #0x10
pop {r3-r7, pc}
.balign 4
_0205F8C0: .word 0x020F7440
_0205F8C4: .word 0x02105FA8
_0205F8C8: .word 0x00000139
thumb_func_start FUN_0205F8CC
FUN_0205F8CC: ; 0x0205F8CC
push {r3-r7, lr}
sub sp, #0x70
add r7, r0, #0x0
ldr r0, [r7, #0xc]
add r5, r1, #0x0
add r4, r2, #0x0
bl FUN_020462AC
str r0, [sp, #0x0]
add r0, sp, #0x28
bl FS_InitFile
add r0, sp, #0x28
add r1, r4, #0x0
bl FS_OpenFile
cmp r0, #0x0
bne _0205F8F8
bl ErrorHandling
add sp, #0x70
pop {r3-r7, pc}
_0205F8F8:
add r0, sp, #0x28
add r1, sp, #0x24
mov r2, #0x4
bl FS_ReadFile
cmp r0, #0x0
bge _0205F90A
bl ErrorHandling
_0205F90A:
mov r0, #0xb
mov r1, #0x4
bl FUN_020169D8
mov r1, #0x0
mov r2, #0x4
add r6, r0, #0x0
bl MI_CpuFill8
ldr r1, [sp, #0x24]
ldr r0, _0205FA28 ; =0x0000013A
mov r4, #0x0
strb r1, [r5, r0]
ldr r0, [sp, #0x24]
cmp r0, #0x0
ble _0205FA16
mov r0, #0xc
str r0, [sp, #0x10]
mov r0, #0x3
str r0, [sp, #0xc]
mov r0, #0xc
str r0, [sp, #0x8]
mov r0, #0x3
str r0, [sp, #0x4]
mov r0, #0xc0
str r0, [sp, #0x20]
mov r0, #0x30
str r0, [sp, #0x1c]
mov r0, #0xc0
str r0, [sp, #0x18]
mov r0, #0x30
add r5, #0x5c
str r0, [sp, #0x14]
_0205F94C:
add r0, sp, #0x28
add r1, r6, #0x0
mov r2, #0x4
bl FS_ReadFile
ldrb r0, [r6, #0x0]
cmp r0, #0x1
beq _0205F962
cmp r0, #0x2
beq _0205F98C
b _0205F9B2
_0205F962:
ldrb r2, [r6, #0x1]
ldr r0, [sp, #0x0]
mov r1, #0x2
bl FUN_0205F2E4
lsl r0, r0, #0x18
lsr r0, r0, #0x18
lsl r0, r0, #0x1e
ldrb r1, [r5, r4]
ldr r2, [sp, #0x8]
lsr r0, r0, #0x1c
bic r1, r2
orr r0, r1
strb r0, [r5, r4]
ldrb r1, [r5, r4]
ldr r0, [sp, #0x4]
bic r1, r0
mov r0, #0x1
orr r0, r1
strb r0, [r5, r4]
b _0205F9B2
_0205F98C:
ldrb r1, [r6, #0x1]
add r0, r7, #0x0
bl FUN_02039528
lsl r0, r0, #0x18
lsr r0, r0, #0x18
lsl r0, r0, #0x1e
ldrb r1, [r5, r4]
ldr r2, [sp, #0x10]
lsr r0, r0, #0x1c
bic r1, r2
orr r0, r1
strb r0, [r5, r4]
ldrb r1, [r5, r4]
ldr r0, [sp, #0xc]
bic r1, r0
mov r0, #0x1
orr r0, r1
strb r0, [r5, r4]
_0205F9B2:
ldrb r0, [r6, #0x2]
cmp r0, #0x1
beq _0205F9BE
cmp r0, #0x2
beq _0205F9E8
b _0205FA0E
_0205F9BE:
ldrb r2, [r6, #0x3]
ldr r0, [sp, #0x0]
mov r1, #0x2
bl FUN_0205F2E4
lsl r0, r0, #0x18
lsr r0, r0, #0x18
lsl r0, r0, #0x1e
ldrb r1, [r5, r4]
ldr r2, [sp, #0x18]
lsr r0, r0, #0x18
bic r1, r2
orr r0, r1
strb r0, [r5, r4]
ldrb r1, [r5, r4]
ldr r0, [sp, #0x14]
bic r1, r0
mov r0, #0x10
orr r0, r1
strb r0, [r5, r4]
b _0205FA0E
_0205F9E8:
ldrb r1, [r6, #0x3]
add r0, r7, #0x0
bl FUN_02039528
lsl r0, r0, #0x18
lsr r0, r0, #0x18
lsl r0, r0, #0x1e
ldrb r1, [r5, r4]
ldr r2, [sp, #0x20]
lsr r0, r0, #0x18
bic r1, r2
orr r0, r1
strb r0, [r5, r4]
ldrb r1, [r5, r4]
ldr r0, [sp, #0x1c]
bic r1, r0
mov r0, #0x10
orr r0, r1
strb r0, [r5, r4]
_0205FA0E:
ldr r0, [sp, #0x24]
add r4, r4, #0x1
cmp r4, r0
blt _0205F94C
_0205FA16:
add r0, sp, #0x28
bl FS_CloseFile
add r0, r6, #0x0
bl FUN_02016A18
add sp, #0x70
pop {r3-r7, pc}
nop
_0205FA28: .word 0x0000013A

921
arm9/asm/unk_0205FA2C.s Normal file
View File

@@ -0,0 +1,921 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_0205FA2C
FUN_0205FA2C: ; 0x0205FA2C
push {r3-r7, lr}
add r5, r0, #0x0
add r7, r1, #0x0
add r0, r2, #0x0
mov r1, #0x40
bl FUN_020169D8
ldr r6, [r7, #0xc]
mov r1, #0x0
mov r2, #0x40
add r4, r0, #0x0
bl MI_CpuFill8
add r0, r6, #0x0
bl LoadPlayerDataAddress
str r0, [r4, #0xc]
add r0, r6, #0x0
bl FUN_0206BB1C
str r0, [r4, #0x0]
add r0, r6, #0x0
bl FUN_0206F158
str r0, [r4, #0x4]
add r0, r4, #0x0
mov r1, #0x0
add r0, #0x21
strb r1, [r0, #0x0]
add r0, r4, #0x0
ldrb r2, [r5, #0x8]
add r0, #0x20
strb r2, [r0, #0x0]
add r0, r4, #0x0
add r0, #0x32
ldrb r0, [r0, #0x0]
mov r2, #0xf
ldrb r3, [r5, #0xa]
bic r0, r2
mov r2, #0xf
and r2, r3
orr r2, r0
add r0, r4, #0x0
add r0, #0x32
strb r2, [r0, #0x0]
add r0, r4, #0x0
add r0, #0x32
ldrb r0, [r0, #0x0]
mov r2, #0xf0
bic r0, r2
ldrb r2, [r5, #0xb]
lsl r2, r2, #0x1c
lsr r2, r2, #0x18
orr r2, r0
add r0, r4, #0x0
add r0, #0x32
strb r2, [r0, #0x0]
add r0, r4, #0x0
ldrb r2, [r5, #0xc]
add r0, #0x33
strb r2, [r0, #0x0]
add r0, r4, #0x0
ldrb r2, [r5, #0xd]
add r0, #0x22
strb r2, [r0, #0x0]
_0205FAAE:
add r0, r5, r1
ldrb r2, [r0, #0xe]
add r0, r4, r1
add r0, #0x2c
strb r2, [r0, #0x0]
add r0, r1, #0x1
lsl r0, r0, #0x18
lsr r1, r0, #0x18
cmp r1, #0x6
blo _0205FAAE
ldr r1, _0205FAD4 ; =0x020F96DC
add r0, r7, #0x0
add r2, r4, #0x0
bl FUN_020373D4
ldr r0, [r5, #0x14]
str r4, [r0, #0x0]
mov r0, #0x1
pop {r3-r7, pc}
.balign 4
_0205FAD4: .word 0x020F96DC
thumb_func_start FUN_0205FAD8
FUN_0205FAD8: ; 0x0205FAD8
push {r3-r5, lr}
add r5, r0, #0x0
add r0, r1, #0x0
bl FUN_0204647C
cmp r0, #0x0
beq _0205FAEA
mov r0, #0x1
pop {r3-r5, pc}
_0205FAEA:
ldr r0, [r5, #0x14]
ldr r4, [r0, #0x0]
add r0, r4, #0x0
add r0, #0x22
ldrb r0, [r0, #0x0]
cmp r0, #0x6
beq _0205FB04
cmp r0, #0x7
bne _0205FB0C
mov r0, #0x0
str r0, [r5, #0x0]
mov r0, #0x4
pop {r3-r5, pc}
_0205FB04:
mov r0, #0x1
str r0, [r5, #0x0]
mov r0, #0x4
pop {r3-r5, pc}
_0205FB0C:
add r0, r4, #0x0
add r1, r5, #0x0
add r0, #0x2c
add r1, #0xe
mov r2, #0x6
bl MI_CpuCopy8
add r0, r4, #0x0
add r0, #0x22
ldrb r0, [r0, #0x0]
strb r0, [r5, #0xd]
add r0, r4, #0x0
bl FUN_02016A18
ldr r0, [r5, #0x14]
mov r1, #0x0
str r1, [r0, #0x0]
mov r0, #0x2
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_0205FB34
FUN_0205FB34: ; 0x0205FB34
push {r3-r7, lr}
add r7, r1, #0x0
add r6, r0, #0x0
ldr r5, [r7, #0xc]
add r0, r2, #0x0
mov r1, #0x30
bl FUN_020169D8
mov r1, #0x0
mov r2, #0x30
add r4, r0, #0x0
bl MI_CpuFill8
add r0, r5, #0x0
bl LoadPlayerDataAddress
str r0, [r4, #0x4]
add r0, r5, #0x0
bl FUN_0206BB1C
str r0, [r4, #0x0]
add r0, r5, #0x0
bl FUN_0206BB28
str r0, [r4, #0x1c]
add r0, r5, #0x0
bl FUN_02079C70
str r0, [r4, #0x2c]
mov r0, #0x1
strb r0, [r4, #0x11]
ldrb r0, [r6, #0xd]
strb r0, [r4, #0x14]
ldr r0, [r4, #0x0]
bl FUN_0206B9AC
strb r0, [r4, #0x13]
mov r0, #0x0
strh r0, [r4, #0x18]
ldrb r0, [r6, #0x9]
strb r0, [r4, #0x12]
add r0, r5, #0x0
bl FUN_0202A918
str r0, [r4, #0x20]
ldr r1, _0205FBB8 ; =0x020F7454
add r0, r4, #0x0
bl FUN_0207B000
add r0, r5, #0x0
bl FUN_020238F4
add r1, r0, #0x0
add r0, r4, #0x0
bl FUN_0207C2A4
ldr r1, _0205FBBC ; =0x020FA6E8
add r0, r7, #0x0
add r2, r4, #0x0
bl FUN_020373D4
ldr r0, [r6, #0x14]
str r4, [r0, #0x0]
mov r0, #0x3
pop {r3-r7, pc}
nop
_0205FBB8: .word 0x020F7454
_0205FBBC: .word 0x020FA6E8
thumb_func_start FUN_0205FBC0
FUN_0205FBC0: ; 0x0205FBC0
push {r4, lr}
add r4, r0, #0x0
add r0, r1, #0x0
bl FUN_0204647C
cmp r0, #0x0
beq _0205FBD2
mov r0, #0x3
pop {r4, pc}
_0205FBD2:
ldr r0, [r4, #0x14]
ldr r0, [r0, #0x0]
ldrb r1, [r0, #0x14]
strb r1, [r4, #0xd]
bl FUN_02016A18
ldr r1, [r4, #0x14]
mov r0, #0x0
str r0, [r1, #0x0]
pop {r4, pc}
.balign 4
thumb_func_start FUN_0205FBE8
FUN_0205FBE8: ; 0x0205FBE8
push {r3-r5, lr}
add r4, r0, #0x0
bl FUN_02046528
add r5, r0, #0x0
add r0, r4, #0x0
bl FUN_0204652C
add r4, r0, #0x0
ldr r1, [r4, #0x4]
cmp r1, #0x4
bhi _0205FC4A
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #0x6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0205FC0C: ; jump table (using 16-bit offset)
.short _0205FC16 - _0205FC0C - 2; case 0
.short _0205FC22 - _0205FC0C - 2; case 1
.short _0205FC2C - _0205FC0C - 2; case 2
.short _0205FC38 - _0205FC0C - 2; case 3
.short _0205FC42 - _0205FC0C - 2; case 4
_0205FC16:
add r1, r5, #0x0
mov r2, #0xb
bl FUN_0205FA2C
str r0, [r4, #0x4]
b _0205FC4A
_0205FC22:
add r1, r5, #0x0
bl FUN_0205FAD8
str r0, [r4, #0x4]
b _0205FC4A
_0205FC2C:
add r1, r5, #0x0
mov r2, #0xb
bl FUN_0205FB34
str r0, [r4, #0x4]
b _0205FC4A
_0205FC38:
add r1, r5, #0x0
bl FUN_0205FBC0
str r0, [r4, #0x4]
b _0205FC4A
_0205FC42:
bl FUN_02016A18
mov r0, #0x1
pop {r3-r5, pc}
_0205FC4A:
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_0205FC50
FUN_0205FC50: ; 0x0205FC50
push {r3-r7, lr}
add r5, r1, #0x0
add r6, r2, #0x0
add r7, r3, #0x0
bl FUN_02046528
str r0, [sp, #0x0]
mov r0, #0xb
mov r1, #0x18
bl FUN_02016998
add r4, r0, #0x0
mov r1, #0x0
mov r2, #0x18
bl MI_CpuFill8
strb r6, [r4, #0x8]
strb r7, [r4, #0x9]
add r0, sp, #0x8
ldrb r1, [r0, #0x10]
add r2, r4, #0x0
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, _0205FC98 ; =FUN_0205FBE8
strb r0, [r4, #0xd]
ldr r0, [sp, #0x0]
str r5, [r4, #0x14]
ldr r0, [r0, #0x10]
bl FUN_0204640C
pop {r3-r7, pc}
nop
_0205FC98: .word FUN_0205FBE8
thumb_func_start FUN_0205FC9C
FUN_0205FC9C: ; 0x0205FC9C
push {r3-r5, lr}
add r5, r1, #0x0
add r4, r0, #0x0
ldr r0, [r5, #0xc]
bl FUN_0203384C
cmp r0, #0x0
beq _0205FCBC
ldrh r1, [r4, #0x12]
ldrh r2, [r4, #0x14]
add r0, r5, #0x0
bl FUN_02038790
str r0, [r4, #0x8]
mov r0, #0x1
pop {r3-r5, pc}
_0205FCBC:
mov r0, #0x1
str r0, [r4, #0x0]
mov r0, #0x2
pop {r3-r5, pc}
thumb_func_start FUN_0205FCC4
FUN_0205FCC4: ; 0x0205FCC4
push {r4, lr}
add r4, r0, #0x0
add r0, r1, #0x0
bl FUN_0204647C
cmp r0, #0x0
beq _0205FCD6
mov r0, #0x1
pop {r4, pc}
_0205FCD6:
ldr r0, [r4, #0x8]
ldr r0, [r0, #0x20]
str r0, [r4, #0x0]
ldr r0, [r4, #0x8]
bl FUN_02016A18
mov r0, #0x2
pop {r4, pc}
.balign 4
thumb_func_start FUN_0205FCE8
FUN_0205FCE8: ; 0x0205FCE8
push {r3-r5, lr}
add r4, r0, #0x0
bl FUN_02046528
add r5, r0, #0x0
add r0, r4, #0x0
bl FUN_0204652C
add r4, r0, #0x0
ldr r1, [r4, #0x4]
cmp r1, #0x0
beq _0205FD0A
cmp r1, #0x1
beq _0205FD14
cmp r1, #0x2
beq _0205FD1E
b _0205FD34
_0205FD0A:
add r1, r5, #0x0
bl FUN_0205FC9C
str r0, [r4, #0x4]
b _0205FD34
_0205FD14:
add r1, r5, #0x0
bl FUN_0205FCC4
str r0, [r4, #0x4]
b _0205FD34
_0205FD1E:
ldrh r1, [r4, #0x10]
add r0, r5, #0x0
bl FUN_020394B8
ldr r1, [r4, #0x0]
strh r1, [r0, #0x0]
add r0, r4, #0x0
bl FUN_02016A18
mov r0, #0x1
pop {r3-r5, pc}
_0205FD34:
mov r0, #0x0
pop {r3-r5, pc}
thumb_func_start FUN_0205FD38
FUN_0205FD38: ; 0x0205FD38
push {r3-r7, lr}
add r5, r1, #0x0
add r6, r2, #0x0
add r7, r3, #0x0
bl FUN_02046528
str r0, [sp, #0x0]
mov r0, #0xb
mov r1, #0x18
bl FUN_02016998
add r4, r0, #0x0
mov r1, #0x0
mov r2, #0x18
bl MI_CpuFill8
strh r5, [r4, #0x12]
strh r7, [r4, #0x14]
ldr r0, [sp, #0x0]
strh r6, [r4, #0x10]
ldr r0, [r0, #0x10]
ldr r1, _0205FD6C ; =FUN_0205FCE8
add r2, r4, #0x0
bl FUN_0204640C
pop {r3-r7, pc}
.balign 4
_0205FD6C: .word FUN_0205FCE8
thumb_func_start FUN_0205FD70
FUN_0205FD70: ; 0x0205FD70
push {r3-r7, lr}
add r4, r0, #0x0
bl FUN_02046528
add r6, r0, #0x0
add r0, r4, #0x0
bl FUN_0204652C
add r5, r0, #0x0
bl FUN_02031190
mov r1, #0x1
sub r0, r1, r0
bl FUN_020316E0
add r7, r0, #0x0
bne _0205FD96
mov r0, #0x0
pop {r3-r7, pc}
_0205FD96:
ldrh r1, [r5, #0x2]
add r0, r6, #0x0
bl FUN_020394B8
add r4, r0, #0x0
ldrh r0, [r5, #0x0]
cmp r0, #0x0
beq _0205FDB0
cmp r0, #0x1
beq _0205FDBC
cmp r0, #0x2
beq _0205FDC8
b _0205FDD2
_0205FDB0:
add r0, r6, #0x0
add r1, r7, #0x0
bl MOD06_02244660
strh r0, [r4, #0x0]
b _0205FDD2
_0205FDBC:
add r0, r6, #0x0
add r1, r7, #0x0
bl MOD06_022446BC
strh r0, [r4, #0x0]
b _0205FDD2
_0205FDC8:
add r0, r6, #0x0
add r1, r7, #0x0
bl MOD06_022446E0
strh r0, [r4, #0x0]
_0205FDD2:
add r0, r5, #0x0
bl FUN_02016A18
mov r0, #0x1
pop {r3-r7, pc}
thumb_func_start FUN_0205FDDC
FUN_0205FDDC: ; 0x0205FDDC
push {r3-r7, lr}
add r5, r1, #0x0
add r6, r2, #0x0
bl FUN_02046528
add r7, r0, #0x0
mov r0, #0xb
mov r1, #0x4
bl FUN_02016998
add r4, r0, #0x0
mov r1, #0x0
mov r2, #0x4
bl MI_CpuFill8
strh r5, [r4, #0x0]
strh r6, [r4, #0x2]
ldr r0, [r7, #0x10]
ldr r1, _0205FE0C ; =FUN_0205FD70
add r2, r4, #0x0
bl FUN_0204640C
pop {r3-r7, pc}
nop
_0205FE0C: .word FUN_0205FD70
thumb_func_start FUN_0205FE10
FUN_0205FE10: ; 0x0205FE10
push {r4-r7, lr}
sub sp, #0x14
str r0, [sp, #0x0]
bl FUN_02029FC8
mov r1, #0x35
bl FUN_0202A150
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
cmp r0, #0x14
bhs _0205FE30
add sp, #0x14
mov r0, #0x0
pop {r4-r7, pc}
_0205FE30:
ldr r0, [sp, #0x0]
bl FUN_0202A8D8
mov r1, #0xd
mov r2, #0x0
add r4, r0, #0x0
bl FUN_0202A578
lsl r0, r0, #0x18
mov r1, #0x0
lsr r7, r0, #0x18
add r0, r4, #0x0
add r2, r1, #0x0
bl FUN_0202A578
lsl r0, r0, #0x18
lsr r6, r0, #0x18
add r0, r4, #0x0
mov r1, #0x1
mov r2, #0x0
bl FUN_0202A578
lsl r0, r0, #0x18
lsr r5, r0, #0x18
add r0, r4, #0x0
mov r1, #0xe
mov r2, #0x0
bl FUN_0202A578
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0xc]
add r0, r4, #0x0
mov r1, #0x2
mov r2, #0x0
bl FUN_0202A578
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x8]
add r0, r4, #0x0
mov r1, #0x3
mov r2, #0x0
bl FUN_0202A578
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x4]
cmp r7, #0x0
beq _0205FEA2
cmp r6, #0x0
beq _0205FEA2
cmp r5, #0x0
beq _0205FEA2
add sp, #0x14
mov r0, #0x0
pop {r4-r7, pc}
_0205FEA2:
ldr r0, [sp, #0x0]
bl FUN_02026CC4
cmp r7, #0x0
bne _0205FEDC
mov r1, #0x55
bl FUN_02025D94
cmp r0, #0x0
beq _0205FEC6
add r0, r4, #0x0
mov r1, #0xd
mov r2, #0x1
bl FUN_0202A578
add sp, #0x14
mov r0, #0x1
pop {r4-r7, pc}
_0205FEC6:
ldr r0, [sp, #0xc]
cmp r0, #0x0
bne _0205FED6
add r0, r4, #0x0
mov r1, #0xe
mov r2, #0x1
bl FUN_0202A578
_0205FED6:
add sp, #0x14
mov r0, #0x4
pop {r4-r7, pc}
_0205FEDC:
ldr r1, [sp, #0x10]
cmp r1, #0x32
bhs _0205FEE8
add sp, #0x14
mov r0, #0x0
pop {r4-r7, pc}
_0205FEE8:
cmp r6, #0x0
bne _0205FF1C
mov r1, #0x56
bl FUN_02025D94
cmp r0, #0x0
beq _0205FF06
add r0, r4, #0x0
mov r1, #0x0
mov r2, #0x1
bl FUN_0202A578
add sp, #0x14
mov r0, #0x2
pop {r4-r7, pc}
_0205FF06:
ldr r0, [sp, #0x8]
cmp r0, #0x0
bne _0205FF16
add r0, r4, #0x0
mov r1, #0x2
mov r2, #0x1
bl FUN_0202A578
_0205FF16:
add sp, #0x14
mov r0, #0x4
pop {r4-r7, pc}
_0205FF1C:
cmp r1, #0x64
blo _0205FF24
cmp r5, #0x0
beq _0205FF2A
_0205FF24:
add sp, #0x14
mov r0, #0x0
pop {r4-r7, pc}
_0205FF2A:
mov r1, #0x57
bl FUN_02025D94
cmp r0, #0x0
beq _0205FF44
mov r1, #0x1
add r0, r4, #0x0
add r2, r1, #0x0
bl FUN_0202A578
add sp, #0x14
mov r0, #0x3
pop {r4-r7, pc}
_0205FF44:
ldr r0, [sp, #0x4]
cmp r0, #0x0
bne _0205FF54
add r0, r4, #0x0
mov r1, #0x3
mov r2, #0x1
bl FUN_0202A578
_0205FF54:
mov r0, #0x4
add sp, #0x14
pop {r4-r7, pc}
.balign 4
thumb_func_start FUN_0205FF5C
FUN_0205FF5C: ; 0x0205FF5C
push {r4-r7, lr}
sub sp, #0xc
add r4, r0, #0x0
bl FUN_02029FC8
mov r1, #0x35
bl FUN_0202A150
lsl r0, r0, #0x10
lsr r7, r0, #0x10
cmp r7, #0x14
bhs _0205FF7A
add sp, #0xc
mov r0, #0x0
pop {r4-r7, pc}
_0205FF7A:
add r0, r4, #0x0
bl FUN_0202A8D8
mov r1, #0xd
mov r2, #0x0
str r0, [sp, #0x8]
bl FUN_0202A578
lsl r0, r0, #0x18
lsr r6, r0, #0x18
mov r1, #0x0
ldr r0, [sp, #0x8]
add r2, r1, #0x0
bl FUN_0202A578
lsl r0, r0, #0x18
lsr r4, r0, #0x18
ldr r0, [sp, #0x8]
mov r1, #0x1
mov r2, #0x0
bl FUN_0202A578
lsl r0, r0, #0x18
lsr r5, r0, #0x18
ldr r0, [sp, #0x8]
mov r1, #0xe
mov r2, #0x0
bl FUN_0202A578
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x4]
ldr r0, [sp, #0x8]
mov r1, #0x2
mov r2, #0x0
bl FUN_0202A578
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x0]
ldr r0, [sp, #0x8]
mov r1, #0x3
mov r2, #0x0
bl FUN_0202A578
lsl r0, r0, #0x18
lsr r0, r0, #0x18
cmp r6, #0x0
beq _0205FFEA
cmp r4, #0x0
beq _0205FFEA
cmp r5, #0x0
beq _0205FFEA
add sp, #0xc
mov r0, #0x0
pop {r4-r7, pc}
_0205FFEA:
cmp r6, #0x0
bne _02060000
ldr r0, [sp, #0x4]
cmp r0, #0x0
beq _0205FFFA
add sp, #0xc
mov r0, #0x4
pop {r4-r7, pc}
_0205FFFA:
add sp, #0xc
mov r0, #0x1
pop {r4-r7, pc}
_02060000:
cmp r7, #0x32
bhs _0206000A
add sp, #0xc
mov r0, #0x0
pop {r4-r7, pc}
_0206000A:
cmp r4, #0x0
bne _02060020
ldr r0, [sp, #0x0]
cmp r0, #0x0
beq _0206001A
add sp, #0xc
mov r0, #0x5
pop {r4-r7, pc}
_0206001A:
add sp, #0xc
mov r0, #0x2
pop {r4-r7, pc}
_02060020:
cmp r7, #0x64
bhs _0206002A
add sp, #0xc
mov r0, #0x0
pop {r4-r7, pc}
_0206002A:
cmp r5, #0x0
beq _02060034
add sp, #0xc
mov r0, #0x0
pop {r4-r7, pc}
_02060034:
cmp r0, #0x0
beq _0206003E
add sp, #0xc
mov r0, #0x6
pop {r4-r7, pc}
_0206003E:
mov r0, #0x3
add sp, #0xc
pop {r4-r7, pc}
thumb_func_start FUN_02060044
FUN_02060044: ; 0x02060044
add r0, #0xa8
ldr r0, [r0, #0x0]
ldr r2, [r1, #0x0]
ldrh r3, [r0, #0x24]
add r2, r3, r2
strh r2, [r0, #0x24]
ldrh r3, [r0, #0x28]
ldr r2, [r1, #0x4]
add r2, r3, r2
strh r2, [r0, #0x28]
ldrh r2, [r0, #0x26]
ldr r1, [r1, #0x8]
add r1, r2, r1
strh r1, [r0, #0x26]
bx lr
.balign 4
thumb_func_start FUN_02060064
FUN_02060064: ; 0x02060064
ldr r1, _0206006C ; =0x02E90EDD
mul r1, r0
add r0, r1, #0x1
bx lr
.balign 4
_0206006C: .word 0x02E90EDD
thumb_func_start FUN_02060070
FUN_02060070: ; 0x02060070
ldr r1, _02060078 ; =0x5D588B65
mul r1, r0
add r0, r1, #0x1
bx lr
.balign 4
_02060078: .word 0x5D588B65
thumb_func_start FUN_0206007C
FUN_0206007C: ; 0x0206007C
push {r3-r5, lr}
add r5, r0, #0x0
bl FUN_0202881C
bl FUN_020287A4
bl FUN_02060070
add r4, r0, #0x0
add r0, r5, #0x0
bl FUN_0202A8D8
add r1, r4, #0x0
bl FUN_0202A5CC
add r0, r4, #0x0
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_020600A0
FUN_020600A0: ; 0x020600A0
push {r3-r6, lr}
sub sp, #0x4
add r5, r0, #0x0
bl FUN_0202A8D8
add r6, r0, #0x0
bl FUN_0202A5D0
bl FUN_02060070
add r4, r0, #0x0
add r0, r6, #0x0
add r1, r4, #0x0
bl FUN_0202A5CC
add r0, r4, #0x0
bl FUN_02060064
str r0, [sp, #0x0]
add r0, r5, #0x0
bl FUN_0202A8CC
mov r1, #0xa
add r2, sp, #0x0
bl FUN_0202A2C4
ldr r0, [sp, #0x0]
add sp, #0x4
pop {r3-r6, pc}
.balign 4
thumb_func_start FUN_020600DC
FUN_020600DC: ; 0x020600DC
push {r3-r6, lr}
sub sp, #0x4
add r6, r0, #0x0
bl FUN_0202A8D8
add r4, r0, #0x0
add r0, r6, #0x0
bl FUN_0202A8CC
add r5, r0, #0x0
add r0, r4, #0x0
bl FUN_0202A5D0
bl FUN_02060064
mov r1, #0x0
str r0, [sp, #0x0]
add r0, r5, #0x0
add r2, r1, #0x0
bl FUN_0202A240
add r1, r0, #0x0
lsl r1, r1, #0x10
add r0, r4, #0x0
lsr r1, r1, #0x10
mov r2, #0x0
bl FUN_0202A538
mov r1, #0x18
add r5, r0, #0x0
mul r5, r1
mov r4, #0x0
cmp r5, #0x0
ble _0206012E
ldr r0, [sp, #0x0]
_02060122:
bl FUN_02060064
add r4, r4, #0x1
str r0, [sp, #0x0]
cmp r4, r5
blt _02060122
_0206012E:
add r0, r6, #0x0
bl FUN_0202A8CC
mov r1, #0xa
add r2, sp, #0x0
bl FUN_0202A2C4
ldr r0, [sp, #0x0]
add sp, #0x4
pop {r3-r6, pc}
.balign 4
thumb_func_start FUN_02060144
FUN_02060144: ; 0x02060144
ldr r0, [r0, #0x1c]
ldr r1, [r0, #0x0]
ldr r0, _02060158 ; =0x000001ED
cmp r1, r0
bne _02060152
mov r0, #0x1
bx lr
_02060152:
mov r0, #0x0
bx lr
nop
_02060158: .word 0x000001ED

231
arm9/asm/unk_0206015C.s Normal file
View File

@@ -0,0 +1,231 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_0206015C
FUN_0206015C: ; 0x0206015C
push {r3-r5, lr}
add r5, r0, #0x0
mov r0, #0xb
mov r1, #0x10
bl FUN_020169D8
add r4, r0, #0x0
mov r0, #0xb
bl MOD06_02244DB0
str r0, [r4, #0x0]
mov r0, #0xb
add r1, r5, #0x0
bl MOD06_02245114
str r0, [r4, #0x4]
mov r0, #0x0
strb r0, [r4, #0xc]
strb r0, [r4, #0xd]
ldr r0, [r5, #0x10]
ldr r1, _02060190 ; =FUN_02060194
add r2, r4, #0x0
bl FUN_0204640C
pop {r3-r5, pc}
nop
_02060190: .word FUN_02060194
thumb_func_start FUN_02060194
FUN_02060194: ; 0x02060194
push {r3-r7, lr}
sub sp, #0x10
add r5, r0, #0x0
bl FUN_02046528
add r6, r0, #0x0
add r0, r5, #0x0
bl FUN_0204652C
add r4, r0, #0x0
ldrb r0, [r4, #0xc]
cmp r0, #0x8
bls _020601B0
b _02060332
_020601B0:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #0x6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_020601BC: ; jump table (using 16-bit offset)
.short _020601CE - _020601BC - 2; case 0
.short _020601F2 - _020601BC - 2; case 1
.short _020601FE - _020601BC - 2; case 2
.short _02060226 - _020601BC - 2; case 3
.short _02060232 - _020601BC - 2; case 4
.short _020602A2 - _020601BC - 2; case 5
.short _020602F0 - _020601BC - 2; case 6
.short _020602FC - _020601BC - 2; case 7
.short _02060312 - _020601BC - 2; case 8
_020601CE:
add r0, r6, #0x0
mov r1, #0x1
bl FUN_0206367C
ldrb r0, [r4, #0xd]
ldr r1, [r4, #0x4]
bl MOD06_02245198
ldr r0, [r4, #0x4]
bl MOD06_022451F0
str r0, [r4, #0x8]
add r0, r5, #0x0
bl FUN_0204AFC8
mov r0, #0x1
strb r0, [r4, #0xc]
b _02060332
_020601F2:
add r0, r5, #0x0
bl FUN_0204AF3C
mov r0, #0x2
strb r0, [r4, #0xc]
b _02060332
_020601FE:
ldr r0, [r6, #0xc]
bl FUN_020462AC
ldrb r1, [r4, #0xd]
cmp r1, #0x0
bne _02060210
bl FUN_0205F1C4
b _02060218
_02060210:
cmp r1, #0x5
bne _02060218
bl FUN_0205F1D4
_02060218:
ldr r1, [r4, #0x8]
add r0, r5, #0x0
bl FUN_02049160
mov r0, #0x3
strb r0, [r4, #0xc]
b _02060332
_02060226:
add r0, r5, #0x0
bl FUN_0204AF84
mov r0, #0x4
strb r0, [r4, #0xc]
b _02060332
_02060232:
ldr r0, [r6, #0x38]
bl FUN_020553A0
ldrb r1, [r4, #0xd]
add r7, r0, #0x0
add r1, r1, #0x1
strb r1, [r4, #0xd]
ldrb r1, [r4, #0xd]
cmp r1, #0x5
bhi _02060290
add r0, r6, #0x0
bl MOD06_02245088
add r6, r0, #0x0
add r0, r7, #0x0
mov r1, #0x1
bl FUN_0205889C
ldr r0, [r4, #0x0]
add r1, r6, #0x0
bl MOD06_02244DC4
ldr r0, [r4, #0x0]
bl MOD06_02244EF8
mov r0, #0x0
strb r0, [r4, #0xe]
ldr r0, _02060338 ; =0x00000679
bl FUN_020054C8
mov r0, #0x0
str r0, [sp, #0x0]
mov r0, #0x6
str r0, [sp, #0x4]
mov r0, #0x1
str r0, [sp, #0x8]
mov r0, #0xb
str r0, [sp, #0xc]
ldr r3, _0206033C ; =0x0000FFFF
add r0, r5, #0x0
mov r1, #0x3
mov r2, #0x11
bl FUN_0204C1B4
mov r0, #0x5
strb r0, [r4, #0xc]
b _02060332
_02060290:
mov r1, #0x0
bl FUN_0205889C
add r0, r5, #0x0
bl FUN_0204B00C
mov r0, #0x8
strb r0, [r4, #0xc]
b _02060332
_020602A2:
ldrb r0, [r4, #0xe]
add r0, r0, #0x1
strb r0, [r4, #0xe]
ldrb r0, [r4, #0xe]
cmp r0, #0x3c
bhs _020602B8
ldr r0, _02060340 ; =0x021C48B8
ldr r1, [r0, #0x48]
mov r0, #0x1
tst r0, r1
beq _02060332
_020602B8:
ldrb r0, [r4, #0xd]
ldr r1, [r4, #0x4]
bl MOD06_02245198
ldr r0, [r4, #0x4]
bl MOD06_022451F0
str r0, [r4, #0x8]
ldr r0, _02060338 ; =0x00000679
bl FUN_020054C8
mov r0, #0x0
str r0, [sp, #0x0]
mov r0, #0x6
str r0, [sp, #0x4]
mov r0, #0x1
str r0, [sp, #0x8]
mov r0, #0xb
str r0, [sp, #0xc]
ldr r3, _0206033C ; =0x0000FFFF
add r0, r5, #0x0
mov r1, #0x3
mov r2, #0x10
bl FUN_0204C1B4
mov r0, #0x6
strb r0, [r4, #0xc]
b _02060332
_020602F0:
ldr r0, [r4, #0x0]
bl MOD06_02244F18
mov r0, #0x7
strb r0, [r4, #0xc]
b _02060332
_020602FC:
ldr r0, [r4, #0x0]
bl MOD06_02244F24
cmp r0, #0x0
beq _02060332
ldr r0, [r4, #0x0]
bl MOD06_02244F2C
mov r0, #0x1
strb r0, [r4, #0xc]
b _02060332
_02060312:
add r0, r6, #0x0
mov r1, #0x0
bl FUN_0206367C
ldr r0, [r4, #0x4]
bl MOD06_02245190
ldr r0, [r4, #0x0]
bl MOD06_02244DBC
add r0, r4, #0x0
bl FUN_02016A18
add sp, #0x10
mov r0, #0x1
pop {r3-r7, pc}
_02060332:
mov r0, #0x0
add sp, #0x10
pop {r3-r7, pc}
.balign 4
_02060338: .word 0x00000679
_0206033C: .word 0x0000FFFF
_02060340: .word 0x021C48B8

61
arm9/asm/unk_02060344.s Normal file
View File

@@ -0,0 +1,61 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_02060344
FUN_02060344: ; 0x02060344
push {r3-r7, lr}
add r5, r0, #0x0
str r1, [sp, #0x0]
cmp r1, #0x0
ble _020603AE
bl FUN_02029ABC
bl FUN_02029ACC
add r4, r0, #0x0
add r0, r5, #0x0
bl FUN_020238F4
add r7, r0, #0x0
ldr r0, [sp, #0x0]
mov r1, #0xa
add r6, r0, #0x0
mov r5, #0x0
mul r6, r1
_0206036A:
add r0, r7, #0x0
add r1, r5, #0x0
bl FUN_020239D0
cmp r0, #0x0
beq _020603A4
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_02029AD0
add r1, r0, #0x0
cmp r1, #0x0
ble _0206038C
cmp r1, #0xc8
bge _0206038C
sub r1, r1, r6
b _02060396
_0206038C:
cmp r1, #0xc8
blt _02060394
bl ErrorHandling
_02060394:
mov r1, #0x0
_02060396:
cmp r1, #0x0
bge _0206039C
mov r1, #0x0
_0206039C:
add r0, r5, #0x0
add r2, r4, #0x0
bl FUN_02029AD8
_020603A4:
add r0, r5, #0x1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #0x8
blo _0206036A
_020603AE:
pop {r3-r7, pc}

382
arm9/asm/unk_020603B0.s Normal file
View File

@@ -0,0 +1,382 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_020603B0
FUN_020603B0: ; 0x020603B0
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
bl FUN_0202AA38
add r2, r0, #0x0
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_02060588
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_020603C8
FUN_020603C8: ; 0x020603C8
push {r3-r5, lr}
add r4, r0, #0x0
mov r5, #0x0
_020603CE:
add r0, r4, #0x0
add r1, r5, #0x0
bl FUN_0202AA74
cmp r0, #0x0
beq _020603E2
add r0, r4, #0x0
add r1, r5, #0x0
bl FUN_020603B0
_020603E2:
add r0, r5, #0x1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #0x3
blo _020603CE
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_020603F0
FUN_020603F0: ; 0x020603F0
push {r4-r6, lr}
add r5, r0, #0x0
mov r4, #0x0
_020603F6:
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_0202AA74
cmp r0, #0x0
beq _02060430
bl rand_LC
lsl r0, r0, #0x4
lsr r6, r0, #0x10
cmp r6, #0x10
blo _02060412
bl ErrorHandling
_02060412:
cmp r6, #0x0
bne _02060420
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_020603B0
b _02060430
_02060420:
add r0, r5, #0x0
bl FUN_0202AA38
add r2, r0, #0x0
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_020605D8
_02060430:
add r0, r4, #0x1
lsl r0, r0, #0x18
lsr r4, r0, #0x18
cmp r4, #0x3
blo _020603F6
pop {r4-r6, pc}
thumb_func_start FUN_0206043C
FUN_0206043C: ; 0x0206043C
push {r4, lr}
add r4, r0, #0x0
cmp r4, #0x1d
blo _02060448
bl ErrorHandling
_02060448:
ldr r0, _02060450 ; =0x020F7460
lsl r1, r4, #0x2
ldr r0, [r0, r1]
pop {r4, pc}
.balign 4
_02060450: .word 0x020F7460
thumb_func_start FUN_02060454
FUN_02060454: ; 0x02060454
push {r3-r5, lr}
add r4, r0, #0x0
mov r5, #0x0
_0206045A:
add r0, r4, #0x0
add r1, r5, #0x0
bl FUN_0202AA74
cmp r0, #0x0
beq _0206046A
mov r0, #0x1
pop {r3-r5, pc}
_0206046A:
add r0, r5, #0x1
lsl r0, r0, #0x18
lsr r5, r0, #0x18
cmp r5, #0x3
blo _0206045A
mov r0, #0x0
pop {r3-r5, pc}
thumb_func_start FUN_02060478
FUN_02060478: ; 0x02060478
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
bl FUN_02060454
cmp r0, #0x0
beq _0206048E
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_0202AA20
_0206048E:
pop {r3-r5, pc}
thumb_func_start FUN_02060490
FUN_02060490: ; 0x02060490
push {r3-r7, lr}
sub sp, #0x20
add r5, r1, #0x0
str r0, [sp, #0x10]
bl FUN_0202A9B0
add r1, r5, #0x0
str r0, [sp, #0x14]
bl FUN_0202AAA0
add r4, r0, #0x0
cmp r5, #0x0
beq _020604B4
cmp r5, #0x1
beq _020604BA
cmp r5, #0x2
beq _020604C2
b _020604C8
_020604B4:
ldr r7, _02060580 ; =0x000001E1
mov r6, #0x32
b _020604D0
_020604BA:
mov r7, #0x7a
lsl r7, r7, #0x2
mov r6, #0x32
b _020604D0
_020604C2:
ldr r7, _02060584 ; =0x000001EB
mov r6, #0x28
b _020604D0
_020604C8:
bl ErrorHandling
add sp, #0x20
pop {r3-r7, pc}
_020604D0:
add r0, r4, #0x0
mov r1, #0x4
add r2, r7, #0x0
bl FUN_0202AAFC
add r0, r4, #0x0
mov r1, #0x6
add r2, r6, #0x0
bl FUN_0202AAFC
ldr r0, [sp, #0x10]
bl FUN_020238F4
str r0, [sp, #0x18]
mov r0, #0x4
bl FUN_020669C0
str r0, [sp, #0x1c]
bl FUN_02066978
ldr r0, [sp, #0x18]
bl FUN_020239C0
mov r1, #0x0
str r1, [sp, #0x0]
str r1, [sp, #0x4]
mov r1, #0x1
str r1, [sp, #0x8]
str r0, [sp, #0xc]
ldr r0, [sp, #0x1c]
add r1, r7, #0x0
add r2, r6, #0x0
mov r3, #0x20
bl FUN_02066ACC
add r0, r4, #0x0
mov r1, #0x7
mov r2, #0x0
bl FUN_0202AAFC
add r0, r4, #0x0
mov r1, #0x8
mov r2, #0x1
bl FUN_0202AAFC
ldr r0, [sp, #0x1c]
mov r1, #0xae
mov r2, #0x0
bl FUN_020671BC
add r2, r0, #0x0
add r0, r4, #0x0
mov r1, #0x2
bl FUN_0202AAFC
mov r1, #0x0
ldr r0, [sp, #0x1c]
add r2, r1, #0x0
bl FUN_020671BC
add r2, r0, #0x0
add r0, r4, #0x0
mov r1, #0x3
bl FUN_0202AAFC
ldr r0, [sp, #0x1c]
mov r1, #0xa3
mov r2, #0x0
bl FUN_020671BC
add r2, r0, #0x0
add r0, r4, #0x0
mov r1, #0x5
bl FUN_0202AAFC
ldr r0, [sp, #0x1c]
bl FUN_02016A18
ldr r0, [sp, #0x14]
bl FUN_0202AA38
add r2, r0, #0x0
ldr r0, [sp, #0x14]
add r1, r5, #0x0
bl FUN_02060588
add sp, #0x20
pop {r3-r7, pc}
.balign 4
_02060580: .word 0x000001E1
_02060584: .word 0x000001EB
thumb_func_start FUN_02060588
FUN_02060588: ; 0x02060588
push {r3-r7, lr}
sub sp, #0x8
str r0, [sp, #0x0]
str r1, [sp, #0x4]
add r6, r2, #0x0
bl FUN_0202AA40
ldr r7, _020605D0 ; =0x020F7460
lsl r0, r0, #0x2
ldr r4, [r7, r0]
_0206059C:
bl rand_LC
ldr r1, _020605D4 ; =0x000008D4
bl _s32_div_f
lsl r0, r0, #0x10
lsr r5, r0, #0x10
cmp r5, #0x1d
blo _020605B2
bl ErrorHandling
_020605B2:
lsl r0, r5, #0x18
lsr r2, r0, #0x18
lsl r0, r2, #0x2
ldr r3, [r7, r0]
cmp r3, r6
beq _0206059C
cmp r3, r4
beq _0206059C
ldr r0, [sp, #0x0]
ldr r1, [sp, #0x4]
bl FUN_02060688
add sp, #0x8
pop {r3-r7, pc}
nop
_020605D0: .word 0x020F7460
_020605D4: .word 0x000008D4
thumb_func_start FUN_020605D8
FUN_020605D8: ; 0x020605D8
push {r3-r7, lr}
sub sp, #0x8
str r0, [sp, #0x0]
str r1, [sp, #0x4]
add r7, r2, #0x0
bl FUN_0202AA40
mov r1, #0xc
ldr r2, _0206067C ; =0x020F74D4
mul r1, r0
ldrh r0, [r2, r1]
add r4, r2, r1
cmp r0, #0x1
bne _0206061E
ldrh r0, [r4, #0x2]
lsl r0, r0, #0x18
lsr r2, r0, #0x18
ldr r0, _02060680 ; =0x020F7460
lsl r1, r2, #0x2
ldr r3, [r0, r1]
cmp r3, r7
bne _02060612
ldr r0, [sp, #0x0]
ldr r1, [sp, #0x4]
add r2, r7, #0x0
bl FUN_02060588
add sp, #0x8
pop {r3-r7, pc}
_02060612:
ldr r0, [sp, #0x0]
ldr r1, [sp, #0x4]
bl FUN_02060688
add sp, #0x8
pop {r3-r7, pc}
_0206061E:
ldrh r5, [r4, #0x0]
cmp r5, #0x0
bne _02060628
bl ErrorHandling
_02060628:
cmp r5, #0x1
bhi _02060630
mov r6, #0x0
b _02060658
_02060630:
bl rand_LC
add r6, r0, #0x0
ldr r0, _02060684 ; =0x0000FFFF
add r1, r5, #0x0
bl _s32_div_f
add r1, r0, #0x0
add r1, r1, #0x1
lsl r1, r1, #0x10
add r0, r6, #0x0
lsr r1, r1, #0x10
bl _s32_div_f
lsl r0, r0, #0x10
lsr r6, r0, #0x10
cmp r6, r5
blo _02060658
bl ErrorHandling
_02060658:
lsl r0, r6, #0x18
lsr r0, r0, #0x17
add r0, r4, r0
ldrh r0, [r0, #0x2]
lsl r0, r0, #0x18
lsr r2, r0, #0x18
ldr r0, _02060680 ; =0x020F7460
lsl r1, r2, #0x2
ldr r3, [r0, r1]
cmp r3, r7
beq _0206061E
ldr r0, [sp, #0x0]
ldr r1, [sp, #0x4]
bl FUN_02060688
add sp, #0x8
pop {r3-r7, pc}
nop
_0206067C: .word 0x020F74D4
_02060680: .word 0x020F7460
_02060684: .word 0x0000FFFF
thumb_func_start FUN_02060688
FUN_02060688: ; 0x02060688
push {r3-r7, lr}
add r5, r0, #0x0
add r4, r1, #0x0
add r6, r2, #0x0
add r7, r3, #0x0
bl FUN_0202AAA0
str r0, [sp, #0x0]
add r0, r5, #0x0
add r1, r4, #0x0
add r2, r6, #0x0
bl FUN_0202AA58
ldr r0, [sp, #0x0]
mov r1, #0x1
add r2, r7, #0x0
bl FUN_0202AAFC
pop {r3-r7, pc}
.balign 4

148
arm9/asm/unk_020606B0.s Normal file
View File

@@ -0,0 +1,148 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_020606B0
FUN_020606B0: ; 0x020606B0
push {r4, lr}
add r4, r0, #0x0
bl FUN_02046528
add r0, r4, #0x0
bl FUN_0204652C
add r2, r0, #0x0
ldr r1, _020606CC ; =0x020F7630
add r0, r4, #0x0
add r2, #0xc
bl FUN_02046500
pop {r4, pc}
.balign 4
_020606CC: .word 0x020F7630
thumb_func_start FUN_020606D0
FUN_020606D0: ; 0x020606D0
push {r4-r6, lr}
sub sp, #0x8
add r5, r0, #0x0
bl FUN_02046528
add r6, r0, #0x0
add r0, r5, #0x0
bl FUN_0204652C
add r4, r0, #0x0
ldr r0, [r4, #0x4]
cmp r0, #0x6
bhi _0206078A
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #0x6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_020606F6: ; jump table (using 16-bit offset)
.short _02060704 - _020606F6 - 2; case 0
.short _0206072C - _020606F6 - 2; case 1
.short _0206073A - _020606F6 - 2; case 2
.short _02060748 - _020606F6 - 2; case 3
.short _02060756 - _020606F6 - 2; case 4
.short _02060764 - _020606F6 - 2; case 5
.short _02060772 - _020606F6 - 2; case 6
_02060704:
ldr r0, [r4, #0x24]
add r3, r4, #0x0
str r0, [sp, #0x0]
ldr r0, [r4, #0x28]
add r3, #0xc
str r0, [sp, #0x4]
ldr r1, [r4, #0x0]
ldr r2, [r4, #0x8]
add r0, r6, #0x0
bl MOD06_0224891C
ldr r1, [r4, #0x0]
ldr r2, [r4, #0x8]
add r0, r6, #0x0
bl MOD06_022488FC
ldr r0, [r4, #0x4]
add r0, r0, #0x1
str r0, [r4, #0x4]
b _0206078A
_0206072C:
add r0, r5, #0x0
bl FUN_0204AFC8
ldr r0, [r4, #0x4]
add r0, r0, #0x1
str r0, [r4, #0x4]
b _0206078A
_0206073A:
add r0, r5, #0x0
bl FUN_0204AF3C
ldr r0, [r4, #0x4]
add r0, r0, #0x1
str r0, [r4, #0x4]
b _0206078A
_02060748:
add r0, r5, #0x0
bl FUN_020606B0
ldr r0, [r4, #0x4]
add r0, r0, #0x1
str r0, [r4, #0x4]
b _0206078A
_02060756:
add r0, r5, #0x0
bl FUN_0204AF84
ldr r0, [r4, #0x4]
add r0, r0, #0x1
str r0, [r4, #0x4]
b _0206078A
_02060764:
add r0, r5, #0x0
bl FUN_0204B00C
ldr r0, [r4, #0x4]
add r0, r0, #0x1
str r0, [r4, #0x4]
b _0206078A
_02060772:
ldr r0, [r4, #0x24]
bl FUN_02016A18
ldr r0, [r4, #0x28]
bl FUN_02016A18
add r0, r4, #0x0
bl FUN_02016A18
add sp, #0x8
mov r0, #0x1
pop {r4-r6, pc}
_0206078A:
mov r0, #0x0
add sp, #0x8
pop {r4-r6, pc}
thumb_func_start FUN_02060790
FUN_02060790: ; 0x02060790
push {r3-r7, lr}
add r7, r0, #0x0
add r5, r1, #0x0
add r0, r3, #0x0
mov r1, #0x2c
add r6, r2, #0x0
str r3, [sp, #0x0]
bl FUN_02016998
mov r1, #0x0
mov r2, #0x2c
add r4, r0, #0x0
bl memset
mov r0, #0x0
str r0, [r4, #0x4]
str r5, [r4, #0x0]
ldr r0, [sp, #0x0]
str r6, [r4, #0x8]
bl FUN_020669C0
str r0, [r4, #0x24]
ldr r0, [sp, #0x0]
bl FUN_020669C0
str r0, [r4, #0x28]
ldr r1, _020607D0 ; =FUN_020606D0
add r0, r7, #0x0
add r2, r4, #0x0
bl FUN_0204640C
pop {r3-r7, pc}
.balign 4
_020607D0: .word FUN_020606D0

644
arm9/asm/unk_020607D4.s Normal file
View File

@@ -0,0 +1,644 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_020607D4
FUN_020607D4: ; 0x020607D4
push {r3-r7, lr}
sub sp, #0x28
add r5, r0, #0x0
add r6, r1, #0x0
mov r0, #0xb
mov r1, #0x80
add r7, r2, #0x0
str r3, [sp, #0xc]
bl FUN_020169D8
add r4, r0, #0x0
strb r6, [r4, #0x1]
strb r7, [r4, #0x4]
ldr r0, [sp, #0xc]
add r2, r4, #0x0
str r0, [r4, #0x18]
ldr r0, [sp, #0x40]
add r2, #0x34
str r0, [r4, #0x1c]
ldr r0, [sp, #0x44]
mov r7, #0x9
str r0, [r4, #0x20]
ldr r3, [r5, #0x40]
_02060802:
ldmia r3!, {r0-r1}
stmia r2!, {r0-r1}
sub r7, r7, #0x1
bne _02060802
mov r7, #0x0
sub r0, r7, #0x1
str r0, [r4, #0x10]
strb r7, [r4, #0x5]
mov r0, #0x40
add r1, r7, #0x0
add r2, r7, #0x0
str r7, [r4, #0x8]
bl FUN_0200433C
cmp r6, #0x3
bne _0206085C
mov r0, #0x22
str r0, [sp, #0x14]
ldr r0, [r5, #0x38]
bl FUN_02055320
add r6, r0, #0x0
ldr r0, [r5, #0x38]
bl FUN_0205532C
add r1, r0, #0x0
mov r0, #0x3
str r0, [sp, #0x0]
mov r0, #0x6
str r0, [sp, #0x4]
add r0, sp, #0x18
mov r2, #0x1
str r0, [sp, #0x8]
add r0, r6, #0x0
sub r3, r2, #0x4
bl FUN_0204A840
mov r0, #0x19
lsl r0, r0, #0x10
str r0, [sp, #0x10]
mov r0, #0xe
lsl r0, r0, #0x10
mov r7, #0x1
str r0, [r4, #0x10]
b _02060892
_0206085C:
cmp r6, #0x2
bne _02060892
ldr r0, _02060918 ; =0x000001C1
str r0, [sp, #0x14]
ldr r0, [r5, #0x38]
bl FUN_02055320
add r6, r0, #0x0
ldr r0, [r5, #0x38]
bl FUN_0205532C
add r1, r0, #0x0
mov r0, #0x6
str r0, [sp, #0x0]
mov r2, #0x3
str r2, [sp, #0x4]
add r0, sp, #0x18
str r0, [sp, #0x8]
add r0, r6, #0x0
sub r2, r2, #0x5
mov r3, #0x2
bl FUN_0204A840
mov r0, #0x3
lsl r0, r0, #0x12
mov r7, #0x1
str r0, [sp, #0x10]
_02060892:
cmp r7, #0x0
beq _02060906
add r3, r4, #0x0
ldr r1, [sp, #0x14]
add r0, r5, #0x0
add r2, sp, #0x18
add r3, #0x30
bl FUN_0204A8C4
cmp r0, #0x0
beq _020608F8
ldr r0, [sp, #0x10]
add r1, r4, #0x0
str r0, [r4, #0xc]
mov r0, #0x0
str r0, [r4, #0x14]
strb r0, [r4, #0x3]
mov r0, #0x1
lsl r0, r0, #0xa
str r0, [r4, #0x7c]
ldr r0, [r5, #0x38]
add r1, #0x24
bl FUN_02055350
ldr r0, [r5, #0x20]
bl FUN_0201EC88
add r0, r4, #0x0
ldr r1, [r5, #0x20]
add r0, #0x24
bl FUN_0201EC68
mov r0, #0x0
ldr r1, [r4, #0x10]
mvn r0, r0
cmp r1, r0
beq _020608EC
mov r0, #0x0
strb r0, [r4, #0x2]
mov r0, #0x1
strb r0, [r4, #0x0]
add r0, r5, #0x0
bl FUN_02060BDC
b _020608F0
_020608EC:
mov r0, #0x0
strb r0, [r4, #0x0]
_020608F0:
ldr r0, _0206091C ; =0x000006DD
bl FUN_020054C8
b _0206090A
_020608F8:
bl ErrorHandling
add r0, r4, #0x0
bl FUN_02016A18
add sp, #0x28
pop {r3-r7, pc}
_02060906:
mov r0, #0x2
strb r0, [r4, #0x0]
_0206090A:
ldr r0, [r5, #0x10]
ldr r1, _02060920 ; =FUN_020609A0
add r2, r4, #0x0
bl FUN_0204640C
add sp, #0x28
pop {r3-r7, pc}
.balign 4
_02060918: .word 0x000001C1
_0206091C: .word 0x000006DD
_02060920: .word FUN_020609A0
thumb_func_start FUN_02060924
FUN_02060924: ; 0x02060924
push {r4-r6, lr}
add r5, r0, #0x0
add r4, r1, #0x0
mov r0, #0xb
mov r1, #0x8
add r6, r2, #0x0
bl FUN_020169D8
add r2, r0, #0x0
str r6, [r2, #0x4]
strb r4, [r2, #0x0]
ldr r0, [r5, #0x10]
ldr r1, _02060944 ; =FUN_02060948
bl FUN_0204640C
pop {r4-r6, pc}
.balign 4
_02060944: .word FUN_02060948
thumb_func_start FUN_02060948
FUN_02060948: ; 0x02060948
push {r4-r6, lr}
add r5, r0, #0x0
bl FUN_02046528
add r4, r0, #0x0
add r0, r5, #0x0
bl FUN_0204652C
add r6, r0, #0x0
add r0, r5, #0x0
bl FUN_02046530
add r5, r0, #0x0
ldr r0, [r5, #0x0]
cmp r0, #0x0
beq _02060972
cmp r0, #0x1
beq _0206097C
cmp r0, #0x2
beq _0206098A
b _02060994
_02060972:
add r0, r4, #0x0
add r1, r6, #0x0
bl FUN_0203888C
b _02060994
_0206097C:
add r0, r4, #0x0
bl FUN_0204647C
cmp r0, #0x0
beq _02060994
mov r0, #0x0
pop {r4-r6, pc}
_0206098A:
add r0, r6, #0x0
bl FUN_02016A18
mov r0, #0x1
pop {r4-r6, pc}
_02060994:
ldr r0, [r5, #0x0]
add r0, r0, #0x1
str r0, [r5, #0x0]
mov r0, #0x0
pop {r4-r6, pc}
.balign 4
thumb_func_start FUN_020609A0
FUN_020609A0: ; 0x020609A0
push {r3-r6, lr}
sub sp, #0xc
add r6, r0, #0x0
bl FUN_02046528
add r5, r0, #0x0
add r0, r6, #0x0
bl FUN_0204652C
add r4, r0, #0x0
ldrb r1, [r4, #0x0]
cmp r1, #0x7
bhi _020609E4
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #0x6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_020609C6: ; jump table (using 16-bit offset)
.short _020609D6 - _020609C6 - 2; case 0
.short _020609EC - _020609C6 - 2; case 1
.short _02060A4E - _020609C6 - 2; case 2
.short _02060A74 - _020609C6 - 2; case 3
.short _02060AB4 - _020609C6 - 2; case 4
.short _02060AC6 - _020609C6 - 2; case 5
.short _02060AE2 - _020609C6 - 2; case 6
.short _02060AF6 - _020609C6 - 2; case 7
_020609D6:
bl FUN_02060C80
add r0, r4, #0x0
bl FUN_02060B0C
cmp r0, #0x0
bne _020609E6
_020609E4:
b _02060B00
_020609E6:
mov r0, #0x2
strb r0, [r4, #0x0]
b _02060B00
_020609EC:
bl FUN_02060C80
add r0, r4, #0x0
bl FUN_02060B0C
add r6, r0, #0x0
ldrb r0, [r4, #0x2]
cmp r0, #0x0
bne _02060A2C
add r0, r4, #0x0
add r1, r4, #0x0
add r0, #0x10
add r1, #0x14
add r2, r4, #0x2
bl FUN_02060BC8
cmp r0, #0x0
beq _02060B00
ldr r0, [r5, #0x50]
mov r1, #0x1
mov r2, #0x0
bl MOD05_021DA4EC
ldr r0, [r5, #0x50]
mov r1, #0x2
mov r2, #0x0
bl MOD05_021DA4EC
ldr r0, _02060B08 ; =0x000006DE
bl FUN_020054C8
b _02060B00
_02060A2C:
ldr r0, [r5, #0x50]
mov r1, #0x1
bl MOD05_021DA58C
cmp r0, #0x0
beq _02060B00
ldr r0, [r5, #0x50]
mov r1, #0x2
bl MOD05_021DA58C
cmp r0, #0x0
beq _02060B00
cmp r6, #0x0
beq _02060B00
mov r0, #0x2
strb r0, [r4, #0x0]
b _02060B00
_02060A4E:
mov r0, #0x6
str r0, [sp, #0x0]
mov r0, #0x1
str r0, [sp, #0x4]
mov r0, #0xb
str r0, [sp, #0x8]
mov r0, #0x0
add r1, r0, #0x0
add r2, r0, #0x0
add r3, r0, #0x0
bl FUN_0200E1D0
mov r0, #0x0
mov r1, #0x6
bl FUN_020053CC
mov r0, #0x3
strb r0, [r4, #0x0]
b _02060B00
_02060A74:
bl FUN_0200E308
cmp r0, #0x0
beq _02060A84
bl FUN_02005404
cmp r0, #0x0
beq _02060A8A
_02060A84:
add sp, #0xc
mov r0, #0x0
pop {r3-r6, pc}
_02060A8A:
mov r0, #0x0
ldr r1, [r4, #0x10]
mvn r0, r0
cmp r1, r0
beq _02060AA8
ldr r0, [r5, #0x4c]
ldr r1, [r5, #0x50]
mov r2, #0x1
bl MOD05_021DA54C
ldr r0, [r5, #0x4c]
ldr r1, [r5, #0x50]
mov r2, #0x2
bl MOD05_021DA54C
_02060AA8:
add r0, r6, #0x0
bl FUN_0204AF3C
mov r0, #0x4
strb r0, [r4, #0x0]
b _02060B00
_02060AB4:
ldrb r1, [r4, #0x1]
add r2, r4, #0x0
add r0, r5, #0x0
add r2, #0x34
bl FUN_02060924
mov r0, #0x5
strb r0, [r4, #0x0]
b _02060B00
_02060AC6:
ldr r0, [r4, #0x20]
mov r2, #0x0
str r0, [sp, #0x0]
ldrb r0, [r4, #0x4]
mvn r2, r2
str r0, [sp, #0x4]
ldr r1, [r4, #0x18]
ldr r3, [r4, #0x1c]
add r0, r6, #0x0
bl FUN_020491A8
mov r0, #0x6
strb r0, [r4, #0x0]
b _02060B00
_02060AE2:
ldr r1, [r4, #0x18]
add r0, r5, #0x0
bl FUN_0204AD8C
add r0, r6, #0x0
bl FUN_0204B0E8
mov r0, #0x7
strb r0, [r4, #0x0]
b _02060B00
_02060AF6:
bl FUN_02016A18
add sp, #0xc
mov r0, #0x1
pop {r3-r6, pc}
_02060B00:
mov r0, #0x0
add sp, #0xc
pop {r3-r6, pc}
nop
_02060B08: .word 0x000006DE
thumb_func_start FUN_02060B0C
FUN_02060B0C: ; 0x02060B0C
push {r3-r4, lr}
sub sp, #0xc
add r4, r0, #0x0
ldr r1, [r4, #0x30]
add r0, sp, #0x0
bl MOD05_021E7EA0
ldrb r0, [r4, #0x1]
cmp r0, #0x3
bhi _02060B7C
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #0x6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02060B2C: ; jump table (using 16-bit offset)
.short _02060B34 - _02060B2C - 2; case 0
.short _02060B6A - _02060B2C - 2; case 1
.short _02060B58 - _02060B2C - 2; case 2
.short _02060B46 - _02060B2C - 2; case 3
_02060B34:
ldr r1, [sp, #0x8]
ldr r0, [r4, #0x7c]
add r0, r1, r0
str r0, [sp, #0x8]
ldr r1, [r4, #0x2c]
ldr r0, [r4, #0x7c]
add r0, r1, r0
str r0, [r4, #0x2c]
b _02060B86
_02060B46:
ldr r1, [sp, #0x8]
ldr r0, [r4, #0x7c]
sub r0, r1, r0
str r0, [sp, #0x8]
ldr r1, [r4, #0x2c]
ldr r0, [r4, #0x7c]
sub r0, r1, r0
str r0, [r4, #0x2c]
b _02060B86
_02060B58:
ldr r1, [sp, #0x0]
ldr r0, [r4, #0x7c]
add r0, r1, r0
str r0, [sp, #0x0]
ldr r1, [r4, #0x24]
ldr r0, [r4, #0x7c]
add r0, r1, r0
str r0, [r4, #0x24]
b _02060B86
_02060B6A:
ldr r1, [sp, #0x0]
ldr r0, [r4, #0x7c]
sub r0, r1, r0
str r0, [sp, #0x0]
ldr r1, [r4, #0x24]
ldr r0, [r4, #0x7c]
sub r0, r1, r0
str r0, [r4, #0x24]
b _02060B86
_02060B7C:
bl ErrorHandling
add sp, #0xc
mov r0, #0x1
pop {r3-r4, pc}
_02060B86:
mov r0, #0x1
ldr r1, [r4, #0x7c]
lsl r0, r0, #0xc
cmp r1, r0
bge _02060BA6
ldrb r1, [r4, #0x3]
add r1, r1, #0x1
strb r1, [r4, #0x3]
ldrb r1, [r4, #0x3]
cmp r1, #0x18
blo _02060BA6
ldr r1, [r4, #0x7c]
add r0, r1, r0
str r0, [r4, #0x7c]
mov r0, #0x0
strb r0, [r4, #0x3]
_02060BA6:
ldr r0, [r4, #0x30]
add r1, sp, #0x0
bl MOD05_021E7EB0
ldr r1, [r4, #0x14]
ldr r0, [r4, #0x7c]
add r1, r1, r0
str r1, [r4, #0x14]
ldr r0, [r4, #0xc]
cmp r0, r1
bgt _02060BC2
add sp, #0xc
mov r0, #0x1
pop {r3-r4, pc}
_02060BC2:
mov r0, #0x0
add sp, #0xc
pop {r3-r4, pc}
thumb_func_start FUN_02060BC8
FUN_02060BC8: ; 0x02060BC8
ldr r3, [r0, #0x0]
ldr r0, [r1, #0x0]
cmp r3, r0
bgt _02060BD6
mov r0, #0x1
strb r0, [r2, #0x0]
bx lr
_02060BD6:
mov r0, #0x0
bx lr
.balign 4
thumb_func_start FUN_02060BDC
FUN_02060BDC: ; 0x02060BDC
push {r4-r7, lr}
sub sp, #0x34
add r5, r0, #0x0
ldr r0, _02060C7C ; =0x020F7640
mov r6, #0x0
ldr r2, [r0, #0x0]
ldr r1, [r0, #0x4]
str r2, [sp, #0x2c]
str r1, [sp, #0x30]
ldr r1, [r0, #0x8]
ldr r0, [r0, #0xc]
str r1, [sp, #0x24]
str r0, [sp, #0x28]
_02060BF6:
lsl r7, r6, #0x2
add r0, sp, #0x2c
ldr r4, [r0, r7]
mov r2, #0x0
add r0, r5, #0x0
add r1, r4, #0x0
add r3, r2, #0x0
bl FUN_0204A9F0
cmp r0, #0x0
beq _02060C6A
ldr r1, [r5, #0x2c]
add r0, r4, #0x0
bl MOD05_021F4BD0
ldr r0, [r0, #0x0]
bl FUN_020BC13C
ldrh r1, [r0, #0xe]
add r2, sp, #0x20
mov r3, #0x0
add r1, r0, r1
ldr r1, [r1, #0xc]
add r0, r0, r1
str r0, [sp, #0x18]
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_0204A9F0
cmp r0, #0x0
bne _02060C38
bl ErrorHandling
_02060C38:
ldr r0, [sp, #0x20]
bl MOD05_021E7EC8
str r0, [sp, #0x1c]
ldr r0, [r5, #0x2c]
bl MOD05_021F4C88
ldr r1, [sp, #0x1c]
add r2, sp, #0x24
str r1, [sp, #0x0]
ldr r1, [sp, #0x18]
ldr r2, [r2, r7]
str r1, [sp, #0x4]
str r0, [sp, #0x8]
mov r0, #0x1
str r0, [sp, #0xc]
str r0, [sp, #0x10]
mov r0, #0x0
str r0, [sp, #0x14]
ldr r0, [r5, #0x4c]
ldr r1, [r5, #0x50]
add r3, r4, #0x0
bl MOD05_021DA464
b _02060C6E
_02060C6A:
bl ErrorHandling
_02060C6E:
add r0, r6, #0x1
lsl r0, r0, #0x18
lsr r6, r0, #0x18
cmp r6, #0x2
blo _02060BF6
add sp, #0x34
pop {r4-r7, pc}
.balign 4
_02060C7C: .word 0x020F7640
thumb_func_start FUN_02060C80
FUN_02060C80: ; 0x02060C80
push {r3, lr}
ldrb r1, [r0, #0x1]
cmp r1, #0x2
beq _02060CA8
cmp r1, #0x3
bne _02060CC4
mov r2, #0x2
ldr r1, [r0, #0x8]
lsl r2, r2, #0x10
cmp r1, r2
bge _02060CC8
ldr r3, [r0, #0x24]
lsr r1, r2, #0x5
add r1, r3, r1
str r1, [r0, #0x24]
ldr r3, [r0, #0x8]
lsr r1, r2, #0x5
add r1, r3, r1
str r1, [r0, #0x8]
pop {r3, pc}
_02060CA8:
mov r1, #0x3
ldr r2, [r0, #0x8]
lsl r1, r1, #0x10
cmp r2, r1
bge _02060CC8
mov r1, #0x2
ldr r2, [r0, #0x2c]
lsl r1, r1, #0xa
add r2, r2, r1
str r2, [r0, #0x2c]
ldr r2, [r0, #0x8]
add r1, r2, r1
str r1, [r0, #0x8]
pop {r3, pc}
_02060CC4:
bl ErrorHandling
_02060CC8:
pop {r3, pc}
.balign 4

3276
arm9/asm/unk_02060CCC.s Normal file

File diff suppressed because it is too large Load Diff

2078
arm9/asm/unk_020625EC.s Normal file

File diff suppressed because it is too large Load Diff

249
arm9/asm/unk_0206367C.s Normal file
View File

@@ -0,0 +1,249 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_0206367C
FUN_0206367C: ; 0x0206367C
add r0, #0xb4
str r1, [r0, #0x0]
bx lr
.balign 4
thumb_func_start FUN_02063684
FUN_02063684: ; 0x02063684
push {r3-r5, lr}
add r5, r0, #0x0
bl FUN_02063818
ldr r0, [r5, #0xc]
bl FUN_020462AC
mov r1, #0x0
bl FUN_0205F264
ldr r1, [r5, #0x1c]
add r0, r5, #0x0
ldr r1, [r1, #0x0]
bl FUN_02034F88
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
mov r1, #0x0
bl FUN_0202AB68
add r0, r5, #0x0
mov r1, #0x0
add r0, #0x74
strh r1, [r0, #0x0]
ldr r0, [r5, #0xc]
bl FUN_020462AC
bl FUN_0205F214
cmp r0, #0x0
bne _020636DA
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
ldr r1, [r5, #0x1c]
add r4, r0, #0x0
ldr r1, [r1, #0x0]
bl FUN_02060478
add r0, r4, #0x0
bl FUN_020603F0
_020636DA:
pop {r3-r5, pc}
thumb_func_start FUN_020636DC
FUN_020636DC: ; 0x020636DC
push {r3-r5, lr}
add r5, r0, #0x0
add r1, r5, #0x0
add r1, #0xb4
ldr r1, [r1, #0x0]
cmp r1, #0x1
beq _020637A6
bl FUN_02063818
cmp r0, #0x0
bne _020636F8
add r0, r5, #0x0
bl FUN_0206384C
_020636F8:
ldr r0, [r5, #0xc]
bl FUN_020462AC
bl FUN_0205F254
ldr r0, [r5, #0xc]
bl FUN_020462AC
mov r1, #0x0
bl FUN_0205F264
ldr r1, [r5, #0x1c]
add r0, r5, #0x0
ldr r1, [r1, #0x0]
bl FUN_02034F88
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
mov r1, #0x0
bl FUN_0202AB68
add r0, r5, #0x0
mov r1, #0x0
add r0, #0x74
strh r1, [r0, #0x0]
ldr r0, [r5, #0xc]
bl FUN_0202A9B0
ldr r1, [r5, #0x1c]
ldr r1, [r1, #0x0]
bl FUN_02060478
ldr r0, [r5, #0x1c]
ldr r0, [r0, #0x0]
bl FUN_02034930
cmp r0, #0x0
bne _02063758
ldr r0, [r5, #0xc]
bl FUN_020462AC
add r4, r0, #0x0
bl FUN_0205F284
add r0, r4, #0x0
bl FUN_0205F2B4
_02063758:
ldr r0, [r5, #0xc]
bl FUN_02034E30
bl FUN_02034E20
add r4, r0, #0x0
ldr r0, [r4, #0x4]
cmp r0, #0x1
bne _0206377C
ldr r0, [r5, #0x1c]
ldr r0, [r0, #0x0]
bl FUN_020348B4
cmp r0, #0x0
bne _0206377C
mov r0, #0x0
str r0, [r4, #0x4]
b _02063786
_0206377C:
ldr r0, [r4, #0x4]
cmp r0, #0x2
bne _02063786
mov r0, #0x0
str r0, [r4, #0x4]
_02063786:
ldr r0, [r5, #0x1c]
ldr r0, [r0, #0x0]
bl FUN_02034908
cmp r0, #0x0
beq _020637A6
ldr r0, [r5, #0xc]
bl FUN_02034E30
bl FUN_02034E0C
ldr r2, [r5, #0x1c]
ldr r1, [r2, #0x8]
ldr r2, [r2, #0xc]
bl FUN_0204AE04
_020637A6:
pop {r3-r5, pc}
thumb_func_start FUN_020637A8
FUN_020637A8: ; 0x020637A8
push {r4, lr}
add r4, r0, #0x0
ldr r0, [r4, #0xc]
bl FUN_020462AC
bl FUN_0205F204
ldr r0, [r4, #0xc]
bl FUN_0202A9B0
bl FUN_020603C8
pop {r4, pc}
.balign 4
thumb_func_start FUN_020637C4
FUN_020637C4: ; 0x020637C4
push {r4, lr}
add r4, r0, #0x0
ldr r0, [r4, #0xc]
bl FUN_020462AC
bl FUN_0205F204
ldr r0, [r4, #0xc]
bl FUN_0202A9B0
bl FUN_020603C8
pop {r4, pc}
.balign 4
thumb_func_start FUN_020637E0
FUN_020637E0: ; 0x020637E0
push {r3, lr}
ldr r0, [r0, #0xc]
bl FUN_020462AC
bl FUN_0205F204
pop {r3, pc}
.balign 4
thumb_func_start FUN_020637F0
FUN_020637F0: ; 0x020637F0
push {r4, lr}
ldr r0, [r0, #0xc]
bl FUN_020462AC
add r4, r0, #0x0
bl FUN_0205ED2C
add r0, r4, #0x0
mov r1, #0x0
bl FUN_0205F358
pop {r4, pc}
thumb_func_start FUN_02063808
FUN_02063808: ; 0x02063808
push {r3, lr}
ldr r0, [r0, #0xc]
bl FUN_0202A9B0
bl FUN_020603C8
pop {r3, pc}
.balign 4
thumb_func_start FUN_02063818
FUN_02063818: ; 0x02063818
push {r4, lr}
add r4, r0, #0x0
ldr r0, [r4, #0x1c]
ldr r0, [r0, #0x0]
bl FUN_02034F1C
add r1, r0, #0x0
beq _02063846
add r0, r4, #0x0
bl FUN_02034FC0
cmp r0, #0x0
bne _02063846
add r0, r4, #0x0
ldr r1, [r4, #0x1c]
add r0, #0x98
ldr r0, [r0, #0x0]
ldr r1, [r1, #0x0]
mov r2, #0x20
bl FUN_020299C0
mov r0, #0x1
pop {r4, pc}
_02063846:
mov r0, #0x0
pop {r4, pc}
.balign 4
thumb_func_start FUN_0206384C
FUN_0206384C: ; 0x0206384C
push {r3-r6, lr}
sub sp, #0x4
add r5, r0, #0x0
ldr r0, [r5, #0xc]
bl FUN_02034E30
bl FUN_02034DC8
ldr r1, [r5, #0x1c]
ldr r6, [r0, #0x0]
ldr r4, [r1, #0x0]
cmp r6, r4
beq _02063882
ldr r0, [r5, #0xc]
bl FUN_020238F4
mov r1, #0x20
add r5, #0x98
str r1, [sp, #0x0]
ldr r1, [r5, #0x0]
add r2, r4, #0x0
add r3, r6, #0x0
bl FUN_02029880
add sp, #0x4
mov r0, #0x1
pop {r3-r6, pc}
_02063882:
mov r0, #0x0
add sp, #0x4
pop {r3-r6, pc}

99
arm9/asm/unk_02063888.s Normal file
View File

@@ -0,0 +1,99 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_02063888
FUN_02063888: ; 0x02063888
push {r4-r6, lr}
add r5, r1, #0x0
mov r1, #0x18
add r4, r2, #0x0
add r6, r3, #0x0
bl FUN_020169D8
add r3, r0, #0x0
mov r2, #0x18
mov r1, #0x0
_0206389C:
strb r1, [r3, #0x0]
add r3, r3, #0x1
sub r2, r2, #0x1
bne _0206389C
str r5, [r0, #0x0]
str r4, [r0, #0x10]
strh r6, [r0, #0x8]
add r2, sp, #0x0
mov r1, #0x10
ldrsh r1, [r2, r1]
strh r1, [r0, #0xa]
mov r1, #0x14
ldrsh r1, [r2, r1]
strh r1, [r0, #0xc]
pop {r4-r6, pc}
.balign 4
thumb_func_start FUN_020638BC
FUN_020638BC: ; 0x020638BC
push {r3-r6, lr}
sub sp, #0x1c
add r5, r0, #0x0
bl FUN_02046528
add r0, r5, #0x0
bl FUN_0204652C
add r4, r0, #0x0
ldr r0, [r4, #0x4]
cmp r0, #0x0
beq _020638DA
cmp r0, #0x1
beq _020638F8
b _02063942
_020638DA:
ldr r0, [r4, #0x0]
ldr r0, [r0, #0x38]
bl FUN_020553E8
add r3, r0, #0x0
ldr r0, [r4, #0x0]
ldr r2, [r4, #0x10]
mov r1, #0x1
bl MOD06_0224666C
str r0, [r4, #0x14]
ldr r0, [r4, #0x4]
add r0, r0, #0x1
str r0, [r4, #0x4]
b _02063942
_020638F8:
ldr r0, [r4, #0x14]
bl MOD06_022466A0
cmp r0, #0x0
beq _02063942
ldr r0, [r4, #0x14]
bl MOD06_022466AC
mov r1, #0xa
mov r2, #0xc
ldrh r0, [r4, #0x8]
ldrsh r1, [r4, r1]
ldrsh r2, [r4, r2]
bl FUN_02034F40
lsl r0, r0, #0x10
lsr r6, r0, #0x10
bne _02063920
bl ErrorHandling
_02063920:
add r0, r6, #0x0
add r1, sp, #0x8
bl FUN_02034E90
ldr r0, [sp, #0x14]
mov r2, #0x1
str r0, [sp, #0x0]
str r2, [sp, #0x4]
ldr r1, [sp, #0x8]
ldr r3, [sp, #0x10]
add r0, r5, #0x0
sub r2, r2, #0x2
bl FUN_020492BC
add r0, r4, #0x0
bl FUN_02016A18
_02063942:
mov r0, #0x0
add sp, #0x1c
pop {r3-r6, pc}

1342
arm9/asm/unk_02063948.s Normal file

File diff suppressed because it is too large Load Diff

22
arm9/asm/unk_0206439C.s Normal file
View File

@@ -0,0 +1,22 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_0206439C
FUN_0206439C: ; 0x0206439C
push {r4-r6, lr}
add r5, r1, #0x0
add r6, r2, #0x0
mov r1, #0x8
bl FUN_020169D8
add r4, r0, #0x0
add r0, r6, #0x0
bl FUN_0206BB1C
add r1, r5, #0x0
bl FUN_0206B9B0
str r0, [r4, #0x0]
mov r0, #0x0
str r0, [r4, #0x4]
add r0, r4, #0x0
pop {r4-r6, pc}

585
arm9/asm/unk_020643C0.s Normal file
View File

@@ -0,0 +1,585 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_020643C0
FUN_020643C0: ; 0x020643C0
push {r4-r6, lr}
add r5, r0, #0x0
add r6, r1, #0x0
bl FUN_020645DC
add r4, r0, #0x0
add r0, r5, #0x0
add r1, r6, #0x0
bl FUN_0206460C
str r0, [r4, #0xc]
str r6, [r4, #0x0]
str r5, [r4, #0x8]
add r0, r4, #0x0
pop {r4-r6, pc}
.balign 4
thumb_func_start FUN_020643E0
FUN_020643E0: ; 0x020643E0
push {r4, lr}
add r4, r0, #0x0
bl FUN_02064630
add r0, r4, #0x0
bl FUN_02064600
pop {r4, pc}
thumb_func_start FUN_020643F0
FUN_020643F0: ; 0x020643F0
push {r4, lr}
add r4, r0, #0x0
bl FUN_02064558
add r0, r4, #0x0
bl FUN_020643E0
pop {r4, pc}
thumb_func_start FUN_02064400
FUN_02064400: ; 0x02064400
push {r4-r7, lr}
sub sp, #0xc
str r0, [sp, #0x0]
add r7, r1, #0x0
str r2, [sp, #0x4]
str r3, [sp, #0x8]
mov r4, #0x0
bl FUN_02064698
add r6, r0, #0x0
ldr r0, [sp, #0x0]
bl FUN_0206469C
add r5, r0, #0x0
_0206441C:
add r0, r5, #0x0
bl FUN_020646A0
cmp r0, #0x0
beq _0206442E
add r4, r4, #0x1
add r5, #0xc8
cmp r4, r6
blt _0206441C
_0206442E:
cmp r4, r6
blt _02064438
add sp, #0xc
mov r0, #0x0
pop {r4-r7, pc}
_02064438:
add r0, r5, #0x0
bl FUN_020646AC
ldr r1, [sp, #0x8]
add r0, r5, #0x0
bl FUN_02064750
ldr r1, [sp, #0x20]
add r0, r5, #0x0
bl FUN_02064758
ldr r1, [sp, #0x0]
add r0, r5, #0x0
bl FUN_02064768
ldr r1, [sp, #0x4]
add r0, r5, #0x0
bl FUN_0206476C
ldr r1, [r7, #0x0]
add r0, r5, #0x0
bl FUN_0206473C
ldr r1, [r7, #0x4]
add r0, r5, #0x0
bl FUN_020646B8
ldr r1, [r7, #0x8]
add r0, r5, #0x0
bl FUN_0206470C
ldr r1, [r7, #0xc]
add r0, r5, #0x0
bl FUN_020646D4
ldr r1, [r7, #0x10]
add r0, r5, #0x0
bl FUN_020646F0
ldr r1, [r7, #0x14]
add r0, r5, #0x0
bl FUN_02064728
ldr r1, [r7, #0x18]
add r0, r5, #0x0
bl FUN_02064730
ldr r1, [sp, #0x24]
add r0, r5, #0x0
bl FUN_020645B0
add r4, r0, #0x0
bne _020644AE
add r0, r5, #0x0
bl FUN_02064640
add sp, #0xc
mov r0, #0x0
pop {r4-r7, pc}
_020644AE:
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_02064760
add r0, r5, #0x0
bl FUN_020646C0
cmp r0, #0x0
bne _020644D2
add r0, r4, #0x0
bl FUN_0200CAB4
add r0, r5, #0x0
bl FUN_02064640
add sp, #0xc
mov r0, #0x0
pop {r4-r7, pc}
_020644D2:
ldr r0, [sp, #0x0]
ldr r0, [r0, #0x4]
add r1, r0, #0x1
ldr r0, [sp, #0x0]
str r1, [r0, #0x4]
add r0, r5, #0x0
add sp, #0xc
pop {r4-r7, pc}
.balign 4
thumb_func_start FUN_020644E4
FUN_020644E4: ; 0x020644E4
push {r4-r7, lr}
sub sp, #0x24
add r5, r1, #0x0
add r6, r0, #0x0
add r4, sp, #0x8
ldmia r5!, {r0-r1}
add r7, r4, #0x0
stmia r4!, {r0-r1}
ldmia r5!, {r0-r1}
stmia r4!, {r0-r1}
ldr r0, [r5, #0x0]
add r1, r7, #0x0
str r0, [r4, #0x0]
ldr r0, _02064518 ; =FUN_0206479C
str r0, [sp, #0x1c]
ldr r0, _0206451C ; =FUN_020647A0
str r0, [sp, #0x20]
ldr r0, [sp, #0x38]
str r0, [sp, #0x0]
ldr r0, [sp, #0x3c]
str r0, [sp, #0x4]
add r0, r6, #0x0
bl FUN_02064400
add sp, #0x24
pop {r4-r7, pc}
.balign 4
_02064518: .word FUN_0206479C
_0206451C: .word FUN_020647A0
thumb_func_start FUN_02064520
FUN_02064520: ; 0x02064520
push {r4, lr}
add r4, r0, #0x0
bne _0206452A
bl ErrorHandling
_0206452A:
add r0, r4, #0x0
bl FUN_020646A0
cmp r0, #0x0
beq _02064556
add r0, r4, #0x0
bl FUN_02064714
ldr r1, [r4, #0x14]
ldr r0, [r1, #0x4]
sub r0, r0, #0x1
str r0, [r1, #0x4]
add r0, r4, #0x0
bl FUN_02064764
cmp r0, #0x0
beq _02064550
bl FUN_0200CAB4
_02064550:
add r0, r4, #0x0
bl FUN_02064640
_02064556:
pop {r4, pc}
thumb_func_start FUN_02064558
FUN_02064558: ; 0x02064558
push {r3-r5, lr}
add r5, r0, #0x0
bl FUN_02064698
add r4, r0, #0x0
add r0, r5, #0x0
bl FUN_0206469C
add r5, r0, #0x0
_0206456A:
add r0, r5, #0x0
bl FUN_020646A0
cmp r0, #0x1
bne _0206457A
add r0, r5, #0x0
bl FUN_02064520
_0206457A:
add r5, #0xc8
sub r4, r4, #0x1
bne _0206456A
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_02064584
FUN_02064584: ; 0x02064584
push {r3-r5, lr}
add r5, r0, #0x0
bl FUN_02064698
add r4, r0, #0x0
add r0, r5, #0x0
bl FUN_0206469C
add r5, r0, #0x0
_02064596:
add r0, r5, #0x0
bl FUN_020646A0
cmp r0, #0x1
bne _020645A6
add r0, r5, #0x0
bl FUN_020646F8
_020645A6:
add r5, #0xc8
sub r4, r4, #0x1
bne _02064596
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_020645B0
FUN_020645B0: ; 0x020645B0
push {r4, lr}
add r3, r0, #0x0
add r2, r1, #0x0
ldr r0, _020645CC ; =FUN_020645D0
add r1, r3, #0x0
bl FUN_0200CA44
add r4, r0, #0x0
bne _020645C6
bl ErrorHandling
_020645C6:
add r0, r4, #0x0
pop {r4, pc}
nop
_020645CC: .word FUN_020645D0
thumb_func_start FUN_020645D0
FUN_020645D0: ; 0x020645D0
ldr r3, _020645D8 ; =FUN_020646DC
add r0, r1, #0x0
bx r3
nop
_020645D8: .word FUN_020646DC
thumb_func_start FUN_020645DC
FUN_020645DC: ; 0x020645DC
push {r4, lr}
mov r1, #0x10
bl FUN_02016998
add r4, r0, #0x0
bne _020645EC
bl ErrorHandling
_020645EC:
add r2, r4, #0x0
mov r1, #0x10
mov r0, #0x0
_020645F2:
strb r0, [r2, #0x0]
add r2, r2, #0x1
sub r1, r1, #0x1
bne _020645F2
add r0, r4, #0x0
pop {r4, pc}
.balign 4
thumb_func_start FUN_02064600
FUN_02064600: ; 0x02064600
ldr r3, _02064608 ; =FUN_02016A8C
add r1, r0, #0x0
ldr r0, [r1, #0x8]
bx r3
.balign 4
_02064608: .word FUN_02016A8C
thumb_func_start FUN_0206460C
FUN_0206460C: ; 0x0206460C
push {r3-r5, lr}
mov r2, #0xc8
add r5, r1, #0x0
mul r5, r2
add r1, r5, #0x0
bl FUN_02016998
add r4, r0, #0x0
bne _02064622
bl ErrorHandling
_02064622:
add r0, r4, #0x0
mov r1, #0x0
add r2, r5, #0x0
bl memset
add r0, r4, #0x0
pop {r3-r5, pc}
thumb_func_start FUN_02064630
FUN_02064630: ; 0x02064630
ldr r3, _0206463C ; =FUN_02016A8C
add r1, r0, #0x0
ldr r0, [r1, #0x8]
ldr r1, [r1, #0xc]
bx r3
nop
_0206463C: .word FUN_02016A8C
thumb_func_start FUN_02064640
FUN_02064640: ; 0x02064640
push {r4, lr}
mov r1, #0x0
mov r2, #0xc8
add r4, r0, #0x0
bl memset
ldr r1, _02064680 ; =FUN_0206478C
add r0, r4, #0x0
bl FUN_020646B8
ldr r1, _02064684 ; =FUN_02064798
add r0, r4, #0x0
bl FUN_0206470C
ldr r1, _02064688 ; =FUN_02064790
add r0, r4, #0x0
bl FUN_020646D4
ldr r1, _0206468C ; =FUN_02064794
add r0, r4, #0x0
bl FUN_020646F0
ldr r1, _02064690 ; =FUN_0206479C
add r0, r4, #0x0
bl FUN_02064728
ldr r1, _02064694 ; =FUN_020647A0
add r0, r4, #0x0
bl FUN_02064730
pop {r4, pc}
nop
_02064680: .word FUN_0206478C
_02064684: .word FUN_02064798
_02064688: .word FUN_02064790
_0206468C: .word FUN_02064794
_02064690: .word FUN_0206479C
_02064694: .word FUN_020647A0
thumb_func_start FUN_02064698
FUN_02064698: ; 0x02064698
ldr r0, [r0, #0x0]
bx lr
thumb_func_start FUN_0206469C
FUN_0206469C: ; 0x0206469C
ldr r0, [r0, #0xc]
bx lr
thumb_func_start FUN_020646A0
FUN_020646A0: ; 0x020646A0
ldr r1, [r0, #0x0]
mov r0, #0x1
tst r1, r0
bne _020646AA
mov r0, #0x0
_020646AA:
bx lr
thumb_func_start FUN_020646AC
FUN_020646AC: ; 0x020646AC
ldr r2, [r0, #0x0]
mov r1, #0x1
orr r1, r2
str r1, [r0, #0x0]
bx lr
.balign 4
thumb_func_start FUN_020646B8
FUN_020646B8: ; 0x020646B8
add r0, #0xb0
str r1, [r0, #0x0]
bx lr
.balign 4
thumb_func_start FUN_020646C0
FUN_020646C0: ; 0x020646C0
push {r4, lr}
add r4, r0, #0x0
bl FUN_02064738
add r1, r0, #0x0
add r0, r4, #0x0
add r4, #0xb0
ldr r2, [r4, #0x0]
blx r2
pop {r4, pc}
thumb_func_start FUN_020646D4
FUN_020646D4: ; 0x020646D4
add r0, #0xb4
str r1, [r0, #0x0]
bx lr
.balign 4
thumb_func_start FUN_020646DC
FUN_020646DC: ; 0x020646DC
push {r4, lr}
add r4, r0, #0x0
bl FUN_02064738
add r1, r0, #0x0
add r0, r4, #0x0
add r4, #0xb4
ldr r2, [r4, #0x0]
blx r2
pop {r4, pc}
thumb_func_start FUN_020646F0
FUN_020646F0: ; 0x020646F0
add r0, #0xb8
str r1, [r0, #0x0]
bx lr
.balign 4
thumb_func_start FUN_020646F8
FUN_020646F8: ; 0x020646F8
push {r4, lr}
add r4, r0, #0x0
bl FUN_02064738
add r1, r0, #0x0
add r0, r4, #0x0
add r4, #0xb8
ldr r2, [r4, #0x0]
blx r2
pop {r4, pc}
thumb_func_start FUN_0206470C
FUN_0206470C: ; 0x0206470C
add r0, #0xbc
str r1, [r0, #0x0]
bx lr
.balign 4
thumb_func_start FUN_02064714
FUN_02064714: ; 0x02064714
push {r4, lr}
add r4, r0, #0x0
bl FUN_02064738
add r1, r0, #0x0
add r0, r4, #0x0
add r4, #0xbc
ldr r2, [r4, #0x0]
blx r2
pop {r4, pc}
thumb_func_start FUN_02064728
FUN_02064728: ; 0x02064728
add r0, #0xc0
str r1, [r0, #0x0]
bx lr
.balign 4
thumb_func_start FUN_02064730
FUN_02064730: ; 0x02064730
add r0, #0xc4
str r1, [r0, #0x0]
bx lr
.balign 4
thumb_func_start FUN_02064738
FUN_02064738: ; 0x02064738
add r0, #0x30
bx lr
thumb_func_start FUN_0206473C
FUN_0206473C: ; 0x0206473C
push {r4, lr}
add r4, r1, #0x0
bl FUN_02064738
mov r1, #0x0
add r2, r4, #0x0
bl memset
pop {r4, pc}
.balign 4
thumb_func_start FUN_02064750
FUN_02064750: ; 0x02064750
str r1, [r0, #0x4]
bx lr
thumb_func_start FUN_02064754
FUN_02064754: ; 0x02064754
ldr r0, [r0, #0x4]
bx lr
thumb_func_start FUN_02064758
FUN_02064758: ; 0x02064758
str r1, [r0, #0xc]
bx lr
thumb_func_start FUN_0206475C
FUN_0206475C: ; 0x0206475C
ldr r0, [r0, #0xc]
bx lr
thumb_func_start FUN_02064760
FUN_02064760: ; 0x02064760
str r1, [r0, #0x10]
bx lr
thumb_func_start FUN_02064764
FUN_02064764: ; 0x02064764
ldr r0, [r0, #0x10]
bx lr
thumb_func_start FUN_02064768
FUN_02064768: ; 0x02064768
str r1, [r0, #0x14]
bx lr
thumb_func_start FUN_0206476C
FUN_0206476C: ; 0x0206476C
add r3, r1, #0x0
add r2, r0, #0x0
ldmia r3!, {r0-r1}
add r2, #0x24
stmia r2!, {r0-r1}
ldr r0, [r3, #0x0]
str r0, [r2, #0x0]
bx lr
thumb_func_start FUN_0206477C
FUN_0206477C: ; 0x0206477C
add r2, r0, #0x0
add r2, #0x24
add r3, r1, #0x0
ldmia r2!, {r0-r1}
stmia r3!, {r0-r1}
ldr r0, [r2, #0x0]
str r0, [r3, #0x0]
bx lr
thumb_func_start FUN_0206478C
FUN_0206478C: ; 0x0206478C
mov r0, #0x1
bx lr
thumb_func_start FUN_02064790
FUN_02064790: ; 0x02064790
bx lr
.balign 4
thumb_func_start FUN_02064794
FUN_02064794: ; 0x02064794
bx lr
.balign 4
thumb_func_start FUN_02064798
FUN_02064798: ; 0x02064798
bx lr
.balign 4
thumb_func_start FUN_0206479C
FUN_0206479C: ; 0x0206479C
bx lr
.balign 4
thumb_func_start FUN_020647A0
FUN_020647A0: ; 0x020647A0
bx lr
.balign 4

651
arm9/asm/unk_020647A4.s Normal file
View File

@@ -0,0 +1,651 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_020647A4
FUN_020647A4: ; 0x020647A4
push {r3-r7, lr}
sub sp, #0x30
add r4, r0, #0x0
bl FUN_020377AC
bl FUN_02024ED8
mov r1, #0x7
bl FUN_020254A0
ldrh r1, [r0, #0x2]
ldrh r0, [r0, #0x0]
ldr r3, _0206485C ; =0x020F7D70
mov r7, #0x18
add r2, r1, #0x0
mul r2, r7
add r6, r3, r2
lsl r0, r0, #0x2
ldr r5, [r6, r0]
ldr r0, [r6, #0x14]
cmp r0, #0x0
beq _0206480A
ldr r3, _02064860 ; =0x020F7D64
add r2, sp, #0x24
ldmia r3!, {r0-r1}
mov r12, r2
stmia r2!, {r0-r1}
ldr r0, [r3, #0x0]
add r7, #0xea
str r0, [r2, #0x0]
str r5, [sp, #0x28]
mov r0, #0x0
str r0, [sp, #0x0]
ldr r0, [r4, #0x4c]
add r2, r7, #0x0
str r0, [sp, #0x4]
add r0, r4, #0x0
add r0, #0xa0
ldr r0, [r0, #0x0]
ldr r1, [r4, #0x2c]
mov r3, r12
bl MOD05_021E7FBC
add r0, r4, #0x0
add r0, #0xa0
ldr r0, [r0, #0x0]
ldr r1, _02064864 ; =0x00000102
bl MOD05_021E7ED8
str r0, [sp, #0x14]
b _0206482C
_0206480A:
ldr r0, _02064868 ; =0x020F7D4C
add r1, sp, #0xc
ldr r2, [r0, #0x8]
ldr r0, [r0, #0xc]
str r2, [sp, #0xc]
str r0, [sp, #0x10]
mov r0, #0x0
str r0, [sp, #0x0]
add r0, r4, #0x0
mov r2, #0x2
add r3, sp, #0x14
bl FUN_0204AA5C
cmp r0, #0x0
bne _0206482C
bl ErrorHandling
_0206482C:
ldr r1, [sp, #0x14]
add r0, sp, #0x18
bl MOD05_021E7EA0
ldr r0, [sp, #0x14]
add r1, sp, #0x18
str r5, [sp, #0x1c]
bl MOD05_021E7EB0
mov r0, #0x2
str r0, [sp, #0x0]
str r5, [sp, #0x4]
add r4, #0x9c
ldr r0, [r4, #0x0]
mov r3, #0x3
str r0, [sp, #0x8]
ldr r1, [r6, #0x8]
ldr r2, [r6, #0xc]
mov r0, #0x0
bl MOD05_021F44D8
add sp, #0x30
pop {r3-r7, pc}
nop
_0206485C: .word 0x020F7D70
_02064860: .word 0x020F7D64
_02064864: .word 0x00000102
_02064868: .word 0x020F7D4C
thumb_func_start FUN_0206486C
FUN_0206486C: ; 0x0206486C
push {r3-r5, lr}
add r4, r0, #0x0
bl FUN_020377AC
bl FUN_02024ED8
add r5, r0, #0x0
mov r1, #0x7
bl FUN_02025490
add r0, r5, #0x0
mov r1, #0x7
bl FUN_020254A0
mov r3, #0x1
str r3, [r0, #0x4]
mov r2, #0x0
str r2, [r0, #0x8]
ldr r4, [r4, #0x1c]
ldr r5, _020649A8 ; =0x00000123
ldr r1, [r4, #0x0]
cmp r1, r5
bgt _020648C4
bge _020648D6
add r5, r1, #0x0
sub r5, #0xb0
cmp r5, #0x9
bhi _020649A0
add r5, r5, r5
add r5, pc
ldrh r5, [r5, #0x6]
lsl r5, r5, #0x10
asr r5, r5, #0x10
add pc, r5
_020648B0: ; jump table (using 16-bit offset)
.short _02064910 - _020648B0 - 2; case 0
.short _020649A0 - _020648B0 - 2; case 1
.short _02064928 - _020648B0 - 2; case 2
.short _020649A0 - _020648B0 - 2; case 3
.short _02064940 - _020648B0 - 2; case 4
.short _020649A0 - _020648B0 - 2; case 5
.short _02064958 - _020648B0 - 2; case 6
.short _020649A0 - _020648B0 - 2; case 7
.short _02064970 - _020648B0 - 2; case 8
.short _02064988 - _020648B0 - 2; case 9
_020648C4:
ldr r2, _020649AC ; =0x00000125
cmp r1, r2
bgt _020648CE
beq _020648E8
b _020649A0
_020648CE:
add r2, r2, #0x1
cmp r1, r2
beq _020648FC
b _020649A0
_020648D6:
ldr r1, [r4, #0xc]
cmp r1, #0x1a
bne _020648E0
strh r2, [r0, #0x0]
b _020648E2
_020648E0:
strh r3, [r0, #0x0]
_020648E2:
mov r1, #0x0
strh r1, [r0, #0x2]
pop {r3-r5, pc}
_020648E8:
ldr r1, [r4, #0xc]
cmp r1, #0x30
bne _020648F2
mov r1, #0x0
b _020648F4
_020648F2:
mov r1, #0x1
_020648F4:
strh r1, [r0, #0x0]
mov r1, #0x1
strh r1, [r0, #0x2]
pop {r3-r5, pc}
_020648FC:
ldr r1, [r4, #0xc]
cmp r1, #0xf
bne _02064906
mov r1, #0x0
b _02064908
_02064906:
mov r1, #0x1
_02064908:
strh r1, [r0, #0x0]
mov r1, #0x2
strh r1, [r0, #0x2]
pop {r3-r5, pc}
_02064910:
ldr r1, [r4, #0xc]
cmp r1, #0xf
bne _0206491A
strh r2, [r0, #0x0]
b _0206491E
_0206491A:
strh r3, [r0, #0x0]
str r2, [r0, #0x4]
_0206491E:
mov r1, #0x3
strh r1, [r0, #0x2]
mov r1, #0x1
str r1, [r0, #0x8]
pop {r3-r5, pc}
_02064928:
ldr r1, [r4, #0xc]
cmp r1, #0xf
bne _02064932
strh r2, [r0, #0x0]
b _02064936
_02064932:
strh r3, [r0, #0x0]
str r2, [r0, #0x4]
_02064936:
mov r1, #0x4
strh r1, [r0, #0x2]
mov r1, #0x1
str r1, [r0, #0x8]
pop {r3-r5, pc}
_02064940:
ldr r1, [r4, #0xc]
cmp r1, #0xf
bne _0206494A
strh r2, [r0, #0x0]
b _0206494E
_0206494A:
strh r3, [r0, #0x0]
str r2, [r0, #0x4]
_0206494E:
mov r1, #0x5
strh r1, [r0, #0x2]
mov r1, #0x1
str r1, [r0, #0x8]
pop {r3-r5, pc}
_02064958:
ldr r1, [r4, #0xc]
cmp r1, #0xf
bne _02064962
strh r2, [r0, #0x0]
b _02064966
_02064962:
strh r3, [r0, #0x0]
str r2, [r0, #0x4]
_02064966:
mov r1, #0x6
strh r1, [r0, #0x2]
mov r1, #0x1
str r1, [r0, #0x8]
pop {r3-r5, pc}
_02064970:
ldr r1, [r4, #0xc]
cmp r1, #0x17
bne _0206497A
strh r2, [r0, #0x0]
b _0206497E
_0206497A:
strh r3, [r0, #0x0]
str r2, [r0, #0x4]
_0206497E:
mov r1, #0x7
strh r1, [r0, #0x2]
mov r1, #0x1
str r1, [r0, #0x8]
pop {r3-r5, pc}
_02064988:
ldr r1, [r4, #0xc]
cmp r1, #0x12
bne _02064992
strh r2, [r0, #0x0]
b _02064996
_02064992:
strh r3, [r0, #0x0]
str r2, [r0, #0x4]
_02064996:
mov r1, #0x8
strh r1, [r0, #0x2]
mov r1, #0x1
str r1, [r0, #0x8]
pop {r3-r5, pc}
_020649A0:
bl ErrorHandling
pop {r3-r5, pc}
nop
_020649A8: .word 0x00000123
_020649AC: .word 0x00000125
thumb_func_start FUN_020649B0
FUN_020649B0: ; 0x020649B0
push {r3, lr}
bl FUN_020377AC
bl FUN_02024ED8
mov r1, #0x7
bl FUN_020254A0
ldr r0, [r0, #0x4]
cmp r0, #0x0
beq _020649CA
mov r0, #0x1
b _020649CC
_020649CA:
mov r0, #0x0
_020649CC:
lsl r0, r0, #0x18
lsr r0, r0, #0x18
pop {r3, pc}
.balign 4
thumb_func_start FUN_020649D4
FUN_020649D4: ; 0x020649D4
push {r3-r5, lr}
add r5, r0, #0x0
bl FUN_020377AC
bl FUN_02024ED8
mov r1, #0x7
bl FUN_020254A0
add r4, r0, #0x0
ldrh r1, [r4, #0x2]
mov r0, #0x18
add r2, r1, #0x0
mul r2, r0
ldr r0, _02064A58 ; =0x020F7D80
ldr r0, [r0, r2]
cmp r0, #0x0
beq _020649FE
ldrh r0, [r4, #0x0]
cmp r0, #0x1
beq _02064A54
_020649FE:
mov r0, #0xb
mov r1, #0x10
bl FUN_020169D8
add r2, r0, #0x0
mov r0, #0x0
str r0, [r2, #0x0]
ldrh r1, [r4, #0x2]
mov r0, #0x18
add r3, r1, #0x0
ldr r1, _02064A5C ; =0x020F7D84
mul r3, r0
ldr r1, [r1, r3]
str r1, [r2, #0x8]
ldr r1, [r4, #0x8]
str r1, [r2, #0xc]
ldrh r1, [r4, #0x0]
cmp r1, #0x0
ldrh r1, [r4, #0x2]
bne _02064A3E
add r3, r1, #0x0
mul r3, r0
ldr r0, _02064A60 ; =0x020F7D74
ldr r1, _02064A64 ; =FUN_02064A70
ldr r0, [r0, r3]
str r0, [r2, #0x4]
ldr r0, [r5, #0x10]
bl FUN_0204640C
mov r0, #0x1
strh r0, [r4, #0x0]
pop {r3-r5, pc}
_02064A3E:
add r3, r1, #0x0
mul r3, r0
ldr r0, _02064A68 ; =0x020F7D70
ldr r1, _02064A6C ; =FUN_02064B70
ldr r0, [r0, r3]
str r0, [r2, #0x4]
ldr r0, [r5, #0x10]
bl FUN_0204640C
mov r0, #0x0
strh r0, [r4, #0x0]
_02064A54:
pop {r3-r5, pc}
nop
_02064A58: .word 0x020F7D80
_02064A5C: .word 0x020F7D84
_02064A60: .word 0x020F7D74
_02064A64: .word FUN_02064A70
_02064A68: .word 0x020F7D70
_02064A6C: .word FUN_02064B70
thumb_func_start FUN_02064A70
FUN_02064A70: ; 0x02064A70
push {r4-r5, lr}
sub sp, #0x1c
add r4, r0, #0x0
bl FUN_02046528
add r5, r0, #0x0
add r0, r4, #0x0
bl FUN_0204652C
add r4, r0, #0x0
ldr r1, [r4, #0x0]
cmp r1, #0x3
bhi _02064B5C
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #0x6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02064A96: ; jump table (using 16-bit offset)
.short _02064A9E - _02064A96 - 2; case 0
.short _02064AB4 - _02064A96 - 2; case 1
.short _02064B2E - _02064A96 - 2; case 2
.short _02064B52 - _02064A96 - 2; case 3
_02064A9E:
ldr r0, [r5, #0x38]
mov r1, #0x0
bl FUN_02055560
ldr r0, [r4, #0xc]
bl FUN_02064C64
ldr r0, [r4, #0x0]
add r0, r0, #0x1
str r0, [r4, #0x0]
b _02064B5C
_02064AB4:
ldr r0, [r4, #0x8]
cmp r0, #0x0
beq _02064ACA
add r0, r5, #0x0
add r0, #0xa0
ldr r0, [r0, #0x0]
ldr r1, _02064B64 ; =0x00000102
bl MOD05_021E7ED8
str r0, [sp, #0xc]
b _02064AEC
_02064ACA:
ldr r0, _02064B68 ; =0x020F7D4C
add r1, sp, #0x4
ldr r2, [r0, #0x0]
ldr r0, [r0, #0x4]
str r2, [sp, #0x4]
str r0, [sp, #0x8]
mov r0, #0x0
str r0, [sp, #0x0]
add r0, r5, #0x0
mov r2, #0x2
add r3, sp, #0xc
bl FUN_0204AA5C
cmp r0, #0x0
bne _02064AEC
bl ErrorHandling
_02064AEC:
ldr r1, [sp, #0xc]
add r0, sp, #0x10
bl MOD05_021E7EA0
ldr r0, [r4, #0xc]
cmp r0, #0x0
bne _02064AFE
mov r1, #0x1
b _02064B00
_02064AFE:
mov r1, #0x2
_02064B00:
ldr r0, [sp, #0x14]
lsl r1, r1, #0xc
add r1, r0, r1
str r1, [sp, #0x14]
ldr r0, [r4, #0x4]
cmp r1, r0
blt _02064B1C
str r0, [sp, #0x14]
ldr r0, [r4, #0xc]
bl FUN_02064C84
ldr r0, [r4, #0x0]
add r0, r0, #0x1
str r0, [r4, #0x0]
_02064B1C:
ldr r0, [r5, #0x38]
ldr r1, [sp, #0x14]
bl FUN_02055540
ldr r0, [sp, #0xc]
add r1, sp, #0x10
bl MOD05_021E7EB0
b _02064B5C
_02064B2E:
add r2, r5, #0x0
add r2, #0x9c
ldr r1, [r4, #0x4]
ldr r2, [r2, #0x0]
mov r0, #0x0
bl MOD05_021F4594
ldr r0, [r5, #0x38]
mov r1, #0x1
bl FUN_0205557C
ldr r0, _02064B6C ; =0x0000061A
bl FUN_020054C8
ldr r0, [r4, #0x0]
add r0, r0, #0x1
str r0, [r4, #0x0]
b _02064B5C
_02064B52:
bl FUN_02016A18
add sp, #0x1c
mov r0, #0x1
pop {r4-r5, pc}
_02064B5C:
mov r0, #0x0
add sp, #0x1c
pop {r4-r5, pc}
nop
_02064B64: .word 0x00000102
_02064B68: .word 0x020F7D4C
_02064B6C: .word 0x0000061A
thumb_func_start FUN_02064B70
FUN_02064B70: ; 0x02064B70
push {r4-r5, lr}
sub sp, #0x1c
add r4, r0, #0x0
bl FUN_02046528
add r5, r0, #0x0
add r0, r4, #0x0
bl FUN_0204652C
add r4, r0, #0x0
ldr r1, [r4, #0x0]
cmp r1, #0x3
bhi _02064C52
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #0x6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02064B96: ; jump table (using 16-bit offset)
.short _02064B9E - _02064B96 - 2; case 0
.short _02064BB4 - _02064B96 - 2; case 1
.short _02064C24 - _02064B96 - 2; case 2
.short _02064C48 - _02064B96 - 2; case 3
_02064B9E:
ldr r0, [r5, #0x38]
mov r1, #0x0
bl FUN_02055560
ldr r0, [r4, #0xc]
bl FUN_02064C64
ldr r0, [r4, #0x0]
add r0, r0, #0x1
str r0, [r4, #0x0]
b _02064C52
_02064BB4:
ldr r0, [r4, #0x8]
cmp r0, #0x0
beq _02064BCA
add r0, r5, #0x0
add r0, #0xa0
ldr r0, [r0, #0x0]
ldr r1, _02064C58 ; =0x00000102
bl MOD05_021E7ED8
str r0, [sp, #0xc]
b _02064BEC
_02064BCA:
ldr r0, _02064C5C ; =0x020F7D4C
add r1, sp, #0x4
ldr r2, [r0, #0x10]
ldr r0, [r0, #0x14]
str r2, [sp, #0x4]
str r0, [sp, #0x8]
mov r0, #0x0
str r0, [sp, #0x0]
add r0, r5, #0x0
mov r2, #0x2
add r3, sp, #0xc
bl FUN_0204AA5C
cmp r0, #0x0
bne _02064BEC
bl ErrorHandling
_02064BEC:
ldr r1, [sp, #0xc]
add r0, sp, #0x10
bl MOD05_021E7EA0
mov r0, #0x1
ldr r1, [sp, #0x14]
lsl r0, r0, #0xc
sub r1, r1, r0
str r1, [sp, #0x14]
ldr r0, [r4, #0x4]
cmp r1, r0
bgt _02064C12
str r0, [sp, #0x14]
ldr r0, [r4, #0xc]
bl FUN_02064C84
ldr r0, [r4, #0x0]
add r0, r0, #0x1
str r0, [r4, #0x0]
_02064C12:
ldr r0, [r5, #0x38]
ldr r1, [sp, #0x14]
bl FUN_02055540
ldr r0, [sp, #0xc]
add r1, sp, #0x10
bl MOD05_021E7EB0
b _02064C52
_02064C24:
add r2, r5, #0x0
add r2, #0x9c
ldr r1, [r4, #0x4]
ldr r2, [r2, #0x0]
mov r0, #0x0
bl MOD05_021F4594
ldr r0, [r5, #0x38]
mov r1, #0x1
bl FUN_0205557C
ldr r0, _02064C60 ; =0x0000061A
bl FUN_020054C8
ldr r0, [r4, #0x0]
add r0, r0, #0x1
str r0, [r4, #0x0]
b _02064C52
_02064C48:
bl FUN_02016A18
add sp, #0x1c
mov r0, #0x1
pop {r4-r5, pc}
_02064C52:
mov r0, #0x0
add sp, #0x1c
pop {r4-r5, pc}
.balign 4
_02064C58: .word 0x00000102
_02064C5C: .word 0x020F7D4C
_02064C60: .word 0x0000061A
thumb_func_start FUN_02064C64
FUN_02064C64: ; 0x02064C64
push {r3, lr}
cmp r0, #0x0
bne _02064C72
ldr r0, _02064C7C ; =0x00000611
bl FUN_020054C8
pop {r3, pc}
_02064C72:
ldr r0, _02064C80 ; =0x00000614
bl FUN_020054C8
pop {r3, pc}
nop
_02064C7C: .word 0x00000611
_02064C80: .word 0x00000614
thumb_func_start FUN_02064C84
FUN_02064C84: ; 0x02064C84
push {r3, lr}
cmp r0, #0x0
bne _02064C94
ldr r0, _02064CA0 ; =0x00000611
mov r1, #0x0
bl FUN_020054F0
pop {r3, pc}
_02064C94:
ldr r0, _02064CA4 ; =0x00000614
mov r1, #0x0
bl FUN_020054F0
pop {r3, pc}
nop
_02064CA0: .word 0x00000611
_02064CA4: .word 0x00000614

77284
arm9/asm/unk_02064CA8.s Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -6606,3 +6606,19 @@
.extern FUN_0205EB20
.extern FUN_0205EB2C
.extern FUN_0205C9E8
.extern FUN_0205E30C
.extern FUN_0205ECEC
.extern FUN_0205ED8C
.extern FUN_0205EE08
.extern FUN_0205EE60
.extern FUN_0205F184
.extern FUN_0205F254
.extern FUN_0205F304
.extern FUN_0205F358
.extern FUN_020603C8
.extern FUN_020603F0
.extern FUN_02060478
.extern FUN_02060F10
.extern FUN_02061618
.extern FUN_02061798
.extern FUN_0206439C