Split most remaining overlays

This commit is contained in:
Nomura 2022-12-16 20:57:24 +01:00
parent 1d69985b5a
commit 374648c045
527 changed files with 714330 additions and 698211 deletions

View File

@ -1,8 +1,11 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov10_0221F800
ov10_0221F800: ; 0x0221F800
push {r3, r4, r5, lr}
@ -6268,12 +6271,115 @@ _02222A5E:
; .align 2, 0
_02222A60: .word 0x00000BC4
thumb_func_end ov10_02222A48
; 0x02222A64
.rodata
.incbin "incbin/overlay10_rodata.bin"
.bss
.space 0x0
.global Unk_ov10_02222A64
Unk_ov10_02222A64: ; 0x02222A64
.incbin "incbin/overlay10_rodata.bin", 0x0, 0x4 - 0x0
.global Unk_ov10_02222A68
Unk_ov10_02222A68: ; 0x02222A68
.incbin "incbin/overlay10_rodata.bin", 0x4, 0xC - 0x4
.global Unk_ov10_02222A70
Unk_ov10_02222A70: ; 0x02222A70
.incbin "incbin/overlay10_rodata.bin", 0xC, 0x18 - 0xC
.global Unk_ov10_02222A7C
Unk_ov10_02222A7C: ; 0x02222A7C
.incbin "incbin/overlay10_rodata.bin", 0x18, 0x24 - 0x18
.global Unk_ov10_02222A88
Unk_ov10_02222A88: ; 0x02222A88
.incbin "incbin/overlay10_rodata.bin", 0x24, 0x34 - 0x24
.global Unk_ov10_02222A98
Unk_ov10_02222A98: ; 0x02222A98
.incbin "incbin/overlay10_rodata.bin", 0x34, 0x44 - 0x34
.global Unk_ov10_02222AA8
Unk_ov10_02222AA8: ; 0x02222AA8
.incbin "incbin/overlay10_rodata.bin", 0x44, 0x58 - 0x44
.global Unk_ov10_02222ABC
Unk_ov10_02222ABC: ; 0x02222ABC
.incbin "incbin/overlay10_rodata.bin", 0x58, 0x6C - 0x58
.global Unk_ov10_02222AD0
Unk_ov10_02222AD0: ; 0x02222AD0
.incbin "incbin/overlay10_rodata.bin", 0x6C, 0x80 - 0x6C
.global Unk_ov10_02222AE4
Unk_ov10_02222AE4: ; 0x02222AE4
.incbin "incbin/overlay10_rodata.bin", 0x80, 0x98 - 0x80
.global Unk_ov10_02222AFC
Unk_ov10_02222AFC: ; 0x02222AFC
.incbin "incbin/overlay10_rodata.bin", 0x98, 0xB0 - 0x98
.global Unk_ov10_02222B14
Unk_ov10_02222B14: ; 0x02222B14
.incbin "incbin/overlay10_rodata.bin", 0xB0, 0xC8 - 0xB0
.global Unk_ov10_02222B2C
Unk_ov10_02222B2C: ; 0x02222B2C
.incbin "incbin/overlay10_rodata.bin", 0xC8, 0xE4 - 0xC8
.global Unk_ov10_02222B48
Unk_ov10_02222B48: ; 0x02222B48
.incbin "incbin/overlay10_rodata.bin", 0xE4, 0x100 - 0xE4
.global Unk_ov10_02222B64
Unk_ov10_02222B64: ; 0x02222B64
.incbin "incbin/overlay10_rodata.bin", 0x100, 0x11C - 0x100
.global Unk_ov10_02222B80
Unk_ov10_02222B80: ; 0x02222B80
.incbin "incbin/overlay10_rodata.bin", 0x11C, 0x138 - 0x11C
.global Unk_ov10_02222B9C
Unk_ov10_02222B9C: ; 0x02222B9C
.incbin "incbin/overlay10_rodata.bin", 0x138, 0x154 - 0x138
.global Unk_ov10_02222BB8
Unk_ov10_02222BB8: ; 0x02222BB8
.incbin "incbin/overlay10_rodata.bin", 0x154, 0x170 - 0x154
.global Unk_ov10_02222BD4
Unk_ov10_02222BD4: ; 0x02222BD4
.incbin "incbin/overlay10_rodata.bin", 0x170, 0x18C - 0x170
.global Unk_ov10_02222BF0
Unk_ov10_02222BF0: ; 0x02222BF0
.incbin "incbin/overlay10_rodata.bin", 0x18C, 0x1AC - 0x18C
.global Unk_ov10_02222C10
Unk_ov10_02222C10: ; 0x02222C10
.incbin "incbin/overlay10_rodata.bin", 0x1AC, 0x1D4 - 0x1AC
.global Unk_ov10_02222C38
Unk_ov10_02222C38: ; 0x02222C38
.incbin "incbin/overlay10_rodata.bin", 0x1D4, 0x208 - 0x1D4
.global Unk_ov10_02222C6C
Unk_ov10_02222C6C: ; 0x02222C6C
.incbin "incbin/overlay10_rodata.bin", 0x208, 0x244 - 0x208
.global Unk_ov10_02222CA8
Unk_ov10_02222CA8: ; 0x02222CA8
.incbin "incbin/overlay10_rodata.bin", 0x244, 0x290 - 0x244
.global Unk_ov10_02222CF4
Unk_ov10_02222CF4: ; 0x02222CF4
.incbin "incbin/overlay10_rodata.bin", 0x290, 0x350 - 0x290
.global Unk_ov10_02222DB4
Unk_ov10_02222DB4: ; 0x02222DB4
.incbin "incbin/overlay10_rodata.bin", 0x350, 0x4D8 - 0x350
.global Unk_ov10_02222F3C
Unk_ov10_02222F3C: ; 0x02222F3C
.incbin "incbin/overlay10_rodata.bin", 0x4D8, 0x348

133
asm/ov11_0221F800.s Normal file
View File

@ -0,0 +1,133 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov11_0221F800
ov11_0221F800: ; 0x0221F800
mov r1, #0
mvn r1, r1
cmp r0, r1
beq _0221F810
lsl r1, r0, #2
ldr r0, _0221F814 ; =0x0221FBD0
ldr r0, [r0, r1]
bx lr
_0221F810:
ldr r0, _0221F818 ; =0x0221F96C
bx lr
; .align 2, 0
_0221F814: .word 0x0221FBD0
_0221F818: .word 0x0221F96C
thumb_func_end ov11_0221F800
thumb_func_start ov11_0221F81C
ov11_0221F81C: ; 0x0221F81C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, r1, #0
add r4, r3, #0
bl ov11_0221F800
ldr r3, [sp, #0x10]
add r1, r0, #0
mov r0, #0x20
lsl r3, r3, #0x14
str r0, [sp]
add r0, r5, #0
add r2, r4, #0
lsr r3, r3, #0x10
bl sub_02002FBC
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov11_0221F81C
.rodata
.global Unk_ov11_0221F94C
Unk_ov11_0221F94C: ; 0x0221F94C
.incbin "incbin/overlay11_rodata.bin", 0x0, 0x20 - 0x0
.global Unk_ov11_0221F96C
Unk_ov11_0221F96C: ; 0x0221F96C
.incbin "incbin/overlay11_rodata.bin", 0x20, 0x40 - 0x20
.global Unk_ov11_0221F98C
Unk_ov11_0221F98C: ; 0x0221F98C
.incbin "incbin/overlay11_rodata.bin", 0x40, 0x60 - 0x40
.global Unk_ov11_0221F9AC
Unk_ov11_0221F9AC: ; 0x0221F9AC
.incbin "incbin/overlay11_rodata.bin", 0x60, 0x80 - 0x60
.global Unk_ov11_0221F9CC
Unk_ov11_0221F9CC: ; 0x0221F9CC
.incbin "incbin/overlay11_rodata.bin", 0x80, 0xA0 - 0x80
.global Unk_ov11_0221F9EC
Unk_ov11_0221F9EC: ; 0x0221F9EC
.incbin "incbin/overlay11_rodata.bin", 0xA0, 0xC0 - 0xA0
.global Unk_ov11_0221FA0C
Unk_ov11_0221FA0C: ; 0x0221FA0C
.incbin "incbin/overlay11_rodata.bin", 0xC0, 0xE0 - 0xC0
.global Unk_ov11_0221FA2C
Unk_ov11_0221FA2C: ; 0x0221FA2C
.incbin "incbin/overlay11_rodata.bin", 0xE0, 0x100 - 0xE0
.global Unk_ov11_0221FA4C
Unk_ov11_0221FA4C: ; 0x0221FA4C
.incbin "incbin/overlay11_rodata.bin", 0x100, 0x120 - 0x100
.global Unk_ov11_0221FA6C
Unk_ov11_0221FA6C: ; 0x0221FA6C
.incbin "incbin/overlay11_rodata.bin", 0x120, 0x140 - 0x120
.global Unk_ov11_0221FA8C
Unk_ov11_0221FA8C: ; 0x0221FA8C
.incbin "incbin/overlay11_rodata.bin", 0x140, 0x160 - 0x140
.global Unk_ov11_0221FAAC
Unk_ov11_0221FAAC: ; 0x0221FAAC
.incbin "incbin/overlay11_rodata.bin", 0x160, 0x180 - 0x160
.global Unk_ov11_0221FACC
Unk_ov11_0221FACC: ; 0x0221FACC
.incbin "incbin/overlay11_rodata.bin", 0x180, 0x1A0 - 0x180
.global Unk_ov11_0221FAEC
Unk_ov11_0221FAEC: ; 0x0221FAEC
.incbin "incbin/overlay11_rodata.bin", 0x1A0, 0x1C0 - 0x1A0
.global Unk_ov11_0221FB0C
Unk_ov11_0221FB0C: ; 0x0221FB0C
.incbin "incbin/overlay11_rodata.bin", 0x1C0, 0x1E0 - 0x1C0
.global Unk_ov11_0221FB2C
Unk_ov11_0221FB2C: ; 0x0221FB2C
.incbin "incbin/overlay11_rodata.bin", 0x1E0, 0x200 - 0x1E0
.global Unk_ov11_0221FB4C
Unk_ov11_0221FB4C: ; 0x0221FB4C
.incbin "incbin/overlay11_rodata.bin", 0x200, 0x220 - 0x200
.global Unk_ov11_0221FB6C
Unk_ov11_0221FB6C: ; 0x0221FB6C
.incbin "incbin/overlay11_rodata.bin", 0x220, 0x240 - 0x220
.global Unk_ov11_0221FB8C
Unk_ov11_0221FB8C: ; 0x0221FB8C
.incbin "incbin/overlay11_rodata.bin", 0x240, 0x260 - 0x240
.global Unk_ov11_0221FBAC
Unk_ov11_0221FBAC: ; 0x0221FBAC
.incbin "incbin/overlay11_rodata.bin", 0x260, 0x284 - 0x260
.global Unk_ov11_0221FBD0
Unk_ov11_0221FBD0: ; 0x0221FBD0
.incbin "incbin/overlay11_rodata.bin", 0x284, 0x48

View File

@ -1,45 +1,10 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov11_0221F800
ov11_0221F800: ; 0x0221F800
mov r1, #0
mvn r1, r1
cmp r0, r1
beq _0221F810
lsl r1, r0, #2
ldr r0, _0221F814 ; =0x0221FBD0
ldr r0, [r0, r1]
bx lr
_0221F810:
ldr r0, _0221F818 ; =0x0221F96C
bx lr
; .align 2, 0
_0221F814: .word 0x0221FBD0
_0221F818: .word 0x0221F96C
thumb_func_end ov11_0221F800
thumb_func_start ov11_0221F81C
ov11_0221F81C: ; 0x0221F81C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, r1, #0
add r4, r3, #0
bl ov11_0221F800
ldr r3, [sp, #0x10]
add r1, r0, #0
mov r0, #0x20
lsl r3, r3, #0x14
str r0, [sp]
add r0, r5, #0
add r2, r4, #0
lsr r3, r3, #0x10
bl sub_02002FBC
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov11_0221F81C
thumb_func_start ov11_0221F840
ov11_0221F840: ; 0x0221F840
@ -178,12 +143,3 @@ ov11_0221F930: ; 0x0221F930
nop
_0221F948: .word 0x02100DF4
thumb_func_end ov11_0221F930
; 0x0221F94C
.rodata
.incbin "incbin/overlay11_rodata.bin"
.bss
.space 0x0

8289
asm/ov12_0221FC20.s Normal file

File diff suppressed because it is too large Load Diff

121
asm/ov12_022237EC.s Normal file
View File

@ -0,0 +1,121 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov12_022237EC
ov12_022237EC: ; 0x022237EC
bx lr
; .align 2, 0
thumb_func_end ov12_022237EC
thumb_func_start ov12_022237F0
ov12_022237F0: ; 0x022237F0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
add r7, r2, #0
bl ov11_0221F840
add r4, r0, #0
mov r0, #0x1d
add r1, r6, #0
add r2, r5, #0
bl sub_020144C4
add r1, r0, #0
add r0, r4, #0
mov r2, #0xa
add r3, r7, #0
bl sub_020144CC
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov12_022237F0
thumb_func_start ov12_02223818
ov12_02223818: ; 0x02223818
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
add r7, r2, #0
str r3, [sp]
bl ov11_0221F840
add r4, r0, #0
add r0, r6, #0
add r1, r7, #0
add r2, r5, #0
bl sub_020144C4
add r1, r0, #0
ldr r3, [sp]
add r0, r4, #0
mov r2, #0xa
bl sub_020144CC
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov12_02223818
thumb_func_start ov12_02223844
ov12_02223844: ; 0x02223844
ldr r3, _02223848 ; =sub_02006CB8
bx r3
; .align 2, 0
_02223848: .word sub_02006CB8
thumb_func_end ov12_02223844
thumb_func_start ov12_0222384C
ov12_0222384C: ; 0x0222384C
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r6, r0, #0
add r0, r5, #0
add r7, r2, #0
str r3, [sp]
bl ov11_0221F888
add r4, r0, #0
bne _02223864
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_02223864:
add r0, r6, #0
add r1, r7, #0
add r2, r5, #0
bl ov12_02223844
add r1, r0, #0
ldr r3, [sp]
add r0, r4, #0
mov r2, #0xa
bl sub_020144CC
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov12_0222384C
thumb_func_start ov12_02223880
ov12_02223880: ; 0x02223880
push {r4, lr}
lsl r4, r2, #2
ldr r2, _02223890 ; =0x02238DB0
ldr r2, [r2, r4]
bl sub_020146F4
pop {r4, pc}
nop
_02223890: .word 0x02238DB0
thumb_func_end ov12_02223880
thumb_func_start ov12_02223894
ov12_02223894: ; 0x02223894
ldr r3, _02223898 ; =ov11_0221F8D8
bx r3
; .align 2, 0
_02223898: .word ov11_0221F8D8
thumb_func_end ov12_02223894
.rodata
.global Unk_ov12_02238DB0
Unk_ov12_02238DB0: ; 0x02238DB0
.incbin "incbin/overlay12_rodata.bin", 0x81C, 0x5C

1311
asm/ov12_0222389C.s Normal file

File diff suppressed because it is too large Load Diff

2015
asm/ov12_0222421C.s Normal file

File diff suppressed because it is too large Load Diff

772
asm/ov12_02225104.s Normal file
View File

@ -0,0 +1,772 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov12_02225104
ov12_02225104: ; 0x02225104
ldr r3, _0222510C ; =ov12_0222325C
ldr r0, [r0, #0]
mov r2, #5
bx r3
; .align 2, 0
_0222510C: .word ov12_0222325C
thumb_func_end ov12_02225104
thumb_func_start ov12_02225110
ov12_02225110: ; 0x02225110
mov r0, #1
bx lr
thumb_func_end ov12_02225110
thumb_func_start ov12_02225114
ov12_02225114: ; 0x02225114
push {r4, r5, lr}
sub sp, #0x1c
add r5, r0, #0
add r4, r1, #0
add r1, sp, #0
mov r0, #0
strh r0, [r1]
strh r0, [r1, #2]
strh r0, [r1, #4]
add r0, r4, #0
add r1, sp, #8
bl ov12_02225104
add r0, r4, #0
bl ov12_02224FC4
strb r0, [r4, #8]
ldr r0, [sp, #0xc]
cmp r0, #1
bne _02225140
mov r0, #1
strb r0, [r4, #8]
_02225140:
ldr r0, [sp, #8]
cmp r0, #3
bgt _0222515E
cmp r0, #0
blt _022251CA
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02225156: ; jump table
.short _02225162 - _02225156 - 2 ; case 0
.short _0222518E - _02225156 - 2 ; case 1
.short _022251CA - _02225156 - 2 ; case 2
.short _022251CA - _02225156 - 2 ; case 3
_0222515E:
cmp r0, #0xff
b _022251CA
_02225162:
add r0, r5, #0
add r1, sp, #0
bl sub_02014874
add r2, sp, #0
mov r0, #0
mov r1, #8
ldrsh r3, [r2, r0]
ldrsb r0, [r4, r1]
mul r0, r3
strh r0, [r2]
mov r0, #2
ldrsh r3, [r2, r0]
ldrsb r0, [r4, r1]
mul r0, r3
strh r0, [r2, #2]
mov r0, #4
ldrsh r3, [r2, r0]
ldrsb r0, [r4, r1]
mul r0, r3
strh r0, [r2, #4]
b _022251CA
_0222518E:
ldr r0, [sp, #0x10]
add r2, sp, #0
strh r0, [r2]
ldr r0, [sp, #0x14]
mov r1, #8
strh r0, [r2, #2]
ldr r0, [sp, #0x18]
strh r0, [r2, #4]
mov r0, #0
ldrsh r3, [r2, r0]
ldrsb r0, [r4, r1]
mul r0, r3
strh r0, [r2]
mov r0, #2
ldrsh r3, [r2, r0]
ldrsb r0, [r4, r1]
mul r0, r3
strh r0, [r2, #2]
mov r0, #4
ldrsh r3, [r2, r0]
ldrsb r0, [r4, r1]
add r1, sp, #0
mul r0, r3
strh r0, [r2, #4]
add r0, r5, #0
bl sub_02014874
add sp, #0x1c
mov r0, #1
pop {r4, r5, pc}
_022251CA:
add r1, sp, #0
mov r0, #0
ldrsh r2, [r1, r0]
ldr r0, [r4, #0x2c]
sub r0, r2, r0
strh r0, [r1]
mov r0, #2
ldrsh r2, [r1, r0]
ldr r0, [r4, #0x30]
sub r0, r2, r0
strh r0, [r1, #2]
mov r0, #4
ldrsh r2, [r1, r0]
ldr r0, [r4, #0x34]
sub r0, r2, r0
strh r0, [r1, #4]
add r0, r5, #0
add r1, sp, #0
bl sub_02014874
mov r0, #1
add sp, #0x1c
pop {r4, r5, pc}
thumb_func_end ov12_02225114
thumb_func_start ov12_022251F8
ov12_022251F8: ; 0x022251F8
mov r0, #1
bx lr
thumb_func_end ov12_022251F8
thumb_func_start ov12_022251FC
ov12_022251FC: ; 0x022251FC
mov r0, #1
bx lr
thumb_func_end ov12_022251FC
thumb_func_start ov12_02225200
ov12_02225200: ; 0x02225200
push {r4, r5, r6, lr}
sub sp, #0x20
add r5, r0, #0
add r4, r1, #0
add r1, sp, #0
mov r0, #0
str r0, [r1, #0]
str r0, [r1, #4]
str r0, [r1, #8]
add r0, r4, #0
add r1, sp, #0xc
bl ov12_02225104
add r0, r4, #0
bl ov12_02224FC4
strb r0, [r4, #8]
ldr r0, [sp, #0x10]
cmp r0, #1
bne _0222522C
mov r0, #1
strb r0, [r4, #8]
_0222522C:
ldr r0, [sp, #0xc]
cmp r0, #3
bgt _0222524A
cmp r0, #0
blt _022252AA
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02225242: ; jump table
.short _0222524E - _02225242 - 2 ; case 0
.short _02225272 - _02225242 - 2 ; case 1
.short _02225294 - _02225242 - 2 ; case 2
.short _022252A0 - _02225242 - 2 ; case 3
_0222524A:
cmp r0, #0xff
b _022252AA
_0222524E:
add r0, r5, #0
add r1, sp, #0
bl sub_020148A8
mov r0, #8
ldrsb r1, [r4, r0]
ldr r2, [sp]
mul r1, r2
str r1, [sp]
ldrsb r1, [r4, r0]
ldr r2, [sp, #4]
mul r1, r2
str r1, [sp, #4]
ldrsb r0, [r4, r0]
ldr r1, [sp, #8]
mul r0, r1
str r0, [sp, #8]
b _022252AA
_02225272:
ldr r2, [sp, #0x14]
ldr r1, [sp, #0x18]
ldr r0, [sp, #0x1c]
str r2, [sp]
str r1, [sp, #4]
str r0, [sp, #8]
mov r3, #8
ldrsb r6, [r4, r3]
mul r6, r2
str r6, [sp]
ldrsb r2, [r4, r3]
mul r2, r1
str r2, [sp, #4]
ldrsb r1, [r4, r3]
mul r1, r0
str r1, [sp, #8]
b _022252AA
_02225294:
ldr r0, [r4, #0]
ldr r1, [r4, #0x24]
add r2, sp, #0
bl ov12_02235508
b _022252AA
_022252A0:
ldr r0, [r4, #0]
ldr r1, [r4, #0x28]
add r2, sp, #0
bl ov12_02235508
_022252AA:
ldr r1, [sp]
ldr r0, [r4, #0x2c]
sub r0, r1, r0
str r0, [sp]
ldr r1, [sp, #4]
ldr r0, [r4, #0x30]
sub r0, r1, r0
str r0, [sp, #4]
add r0, r5, #0
add r1, sp, #0
bl sub_02014890
mov r0, #1
add sp, #0x20
pop {r4, r5, r6, pc}
thumb_func_end ov12_02225200
thumb_func_start ov12_022252C8
ov12_022252C8: ; 0x022252C8
push {r3, r4, r5, lr}
sub sp, #0x18
add r5, r0, #0
add r4, r1, #0
mov r1, #0
add r0, sp, #0
strh r1, [r0]
add r0, r4, #0
add r1, sp, #4
bl ov12_02225104
add r0, r4, #0
bl ov12_02224FC4
strb r0, [r4, #8]
ldr r0, [sp, #8]
cmp r0, #1
bne _022252F0
mov r0, #1
strb r0, [r4, #8]
_022252F0:
ldr r0, [sp, #4]
cmp r0, #3
bgt _0222530E
cmp r0, #0
blt _0222533C
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02225306: ; jump table
.short _02225312 - _02225306 - 2 ; case 0
.short _0222532A - _02225306 - 2 ; case 1
.short _0222533C - _02225306 - 2 ; case 2
.short _0222533C - _02225306 - 2 ; case 3
_0222530E:
cmp r0, #0xff
b _0222533C
_02225312:
add r0, r5, #0
add r1, sp, #0
bl sub_020148F4
add r1, sp, #0
mov r0, #0
ldrsh r2, [r1, r0]
mov r0, #8
ldrsb r0, [r4, r0]
mul r0, r2
strh r0, [r1]
b _0222533C
_0222532A:
ldr r0, [sp, #0xc]
add r1, sp, #0
strh r0, [r1]
mov r0, #0
ldrsh r2, [r1, r0]
mov r0, #8
ldrsb r0, [r4, r0]
mul r0, r2
strh r0, [r1]
_0222533C:
add r0, r5, #0
add r1, sp, #0
bl sub_020148DC
mov r0, #1
add sp, #0x18
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov12_022252C8
thumb_func_start ov12_0222534C
ov12_0222534C: ; 0x0222534C
push {r3, r4, r5, lr}
sub sp, #0x18
add r5, r0, #0
add r4, r1, #0
mov r1, #0
add r0, sp, #0
strh r1, [r0]
add r0, r4, #0
add r1, sp, #4
bl ov12_02225104
add r0, r4, #0
bl ov12_02224FC4
strb r0, [r4, #8]
ldr r0, [sp, #8]
cmp r0, #1
bne _02225374
mov r0, #1
strb r0, [r4, #8]
_02225374:
ldr r0, [sp, #4]
cmp r0, #3
bgt _02225392
cmp r0, #0
blt _022253BC
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0222538A: ; jump table
.short _02225396 - _0222538A - 2 ; case 0
.short _022253AC - _0222538A - 2 ; case 1
.short _022253BC - _0222538A - 2 ; case 2
.short _022253BC - _0222538A - 2 ; case 3
_02225392:
cmp r0, #0xff
b _022253BC
_02225396:
add r0, r5, #0
add r1, sp, #0
bl sub_02014924
add r1, sp, #0
mov r0, #8
ldrh r2, [r1]
ldrsb r0, [r4, r0]
mul r0, r2
strh r0, [r1]
b _022253BC
_022253AC:
ldr r0, [sp, #0xc]
add r1, sp, #0
strh r0, [r1]
mov r0, #8
ldrh r2, [r1]
ldrsb r0, [r4, r0]
mul r0, r2
strh r0, [r1]
_022253BC:
add r0, r5, #0
add r1, sp, #0
bl sub_02014910
mov r0, #1
add sp, #0x18
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov12_0222534C
thumb_func_start ov12_022253CC
ov12_022253CC: ; 0x022253CC
push {r3, r4, r5, lr}
sub sp, #0x18
add r5, r0, #0
add r4, r1, #0
mov r1, #0
add r0, sp, #0
strh r1, [r0]
add r0, r4, #0
add r1, sp, #4
bl ov12_02225104
add r0, r4, #0
bl ov12_02224FC4
strb r0, [r4, #8]
ldr r0, [sp, #8]
cmp r0, #1
bne _022253F4
mov r0, #1
strb r0, [r4, #8]
_022253F4:
ldr r1, [sp, #4]
cmp r1, #3
bgt _02225412
cmp r1, #0
blt _02225426
add r0, r1, r1
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0222540A: ; jump table
.short _02225416 - _0222540A - 2 ; case 0
.short _02225420 - _0222540A - 2 ; case 1
.short _02225426 - _0222540A - 2 ; case 2
.short _02225426 - _0222540A - 2 ; case 3
_02225412:
cmp r1, #0xff
b _02225426
_02225416:
add r0, r5, #0
add r1, sp, #0
bl sub_02014954
b _02225426
_02225420:
ldr r1, [sp, #0xc]
add r0, sp, #0
strh r1, [r0]
_02225426:
add r0, r5, #0
add r1, sp, #0
bl sub_02014940
mov r0, #1
add sp, #0x18
pop {r3, r4, r5, pc}
thumb_func_end ov12_022253CC
thumb_func_start ov12_02225434
ov12_02225434: ; 0x02225434
mov r0, #1
bx lr
thumb_func_end ov12_02225434
thumb_func_start ov12_02225438
ov12_02225438: ; 0x02225438
mov r0, #1
bx lr
thumb_func_end ov12_02225438
thumb_func_start ov12_0222543C
ov12_0222543C: ; 0x0222543C
mov r0, #1
bx lr
thumb_func_end ov12_0222543C
thumb_func_start ov12_02225440
ov12_02225440: ; 0x02225440
mov r0, #1
bx lr
thumb_func_end ov12_02225440
thumb_func_start ov12_02225444
ov12_02225444: ; 0x02225444
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r7, r0, #0
add r4, r1, #0
add r1, sp, #0
mov r0, #0
str r0, [r1, #0]
str r0, [r1, #4]
str r0, [r1, #8]
add r0, r4, #0
add r1, sp, #0xc
bl ov12_02225104
add r0, r4, #0
bl ov12_02224FC4
strb r0, [r4, #8]
ldr r0, [sp, #0x10]
cmp r0, #1
bne _02225470
mov r0, #1
strb r0, [r4, #8]
_02225470:
ldr r0, [sp, #0xc]
cmp r0, #4
bgt _02225490
cmp r0, #0
blt _0222552A
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02225486: ; jump table
.short _02225494 - _02225486 - 2 ; case 0
.short _022254B8 - _02225486 - 2 ; case 1
.short _02225514 - _02225486 - 2 ; case 2
.short _02225520 - _02225486 - 2 ; case 3
.short _022254DA - _02225486 - 2 ; case 4
_02225490:
cmp r0, #0xff
b _0222552A
_02225494:
add r0, r7, #0
add r1, sp, #0
bl sub_02014988
mov r0, #8
ldrsb r1, [r4, r0]
ldr r2, [sp]
mul r1, r2
str r1, [sp]
ldrsb r1, [r4, r0]
ldr r2, [sp, #4]
mul r1, r2
str r1, [sp, #4]
ldrsb r0, [r4, r0]
ldr r1, [sp, #8]
mul r0, r1
str r0, [sp, #8]
b _0222552A
_022254B8:
ldr r2, [sp, #0x14]
ldr r1, [sp, #0x18]
ldr r0, [sp, #0x1c]
str r2, [sp]
str r1, [sp, #4]
str r0, [sp, #8]
mov r3, #8
ldrsb r5, [r4, r3]
mul r5, r2
str r5, [sp]
ldrsb r2, [r4, r3]
mul r2, r1
str r2, [sp, #4]
ldrsb r1, [r4, r3]
mul r1, r0
str r1, [sp, #8]
b _0222552A
_022254DA:
ldr r0, [r4, #0]
ldr r1, [r4, #0x28]
add r2, sp, #0
bl ov12_02235508
ldr r1, [sp]
ldr r5, [sp, #0x14]
add r0, r1, #0
ldr r6, [sp, #0x18]
mul r0, r5
add r1, r6, #0
bl sub_020E1F6C
ldr r1, [sp, #4]
str r0, [sp]
add r0, r1, #0
mul r0, r5
add r1, r6, #0
bl sub_020E1F6C
ldr r1, [sp, #8]
str r0, [sp, #4]
add r0, r1, #0
mul r0, r5
add r1, r6, #0
bl sub_020E1F6C
str r0, [sp, #8]
b _0222552A
_02225514:
ldr r0, [r4, #0]
ldr r1, [r4, #0x24]
add r2, sp, #0
bl ov12_02235508
b _0222552A
_02225520:
ldr r0, [r4, #0]
ldr r1, [r4, #0x28]
add r2, sp, #0
bl ov12_02235508
_0222552A:
ldr r1, [sp]
ldr r0, [r4, #0x2c]
sub r0, r1, r0
str r0, [sp]
ldr r1, [sp, #4]
ldr r0, [r4, #0x30]
sub r0, r1, r0
str r0, [sp, #4]
ldr r1, [sp, #8]
ldr r0, [r4, #0x34]
sub r0, r1, r0
str r0, [sp, #8]
add r0, r7, #0
add r1, sp, #0
bl sub_02014970
mov r0, #1
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov12_02225444
thumb_func_start ov12_02225550
ov12_02225550: ; 0x02225550
push {r3, r4, r5, lr}
sub sp, #0x18
add r5, r0, #0
add r4, r1, #0
mov r1, #0
add r0, sp, #0
strh r1, [r0]
add r0, r4, #0
add r1, sp, #4
bl ov12_02225104
add r0, r4, #0
bl ov12_02224FC4
strb r0, [r4, #8]
ldr r0, [sp, #8]
cmp r0, #1
bne _02225578
mov r0, #1
strb r0, [r4, #8]
_02225578:
ldr r0, [sp, #4]
cmp r0, #3
bgt _02225596
cmp r0, #0
blt _022255C4
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0222558E: ; jump table
.short _0222559A - _0222558E - 2 ; case 0
.short _022255B2 - _0222558E - 2 ; case 1
.short _022255C4 - _0222558E - 2 ; case 2
.short _022255C4 - _0222558E - 2 ; case 3
_02225596:
cmp r0, #0xff
b _022255C4
_0222559A:
add r0, r5, #0
add r1, sp, #0
bl sub_020149D4
add r1, sp, #0
mov r0, #0
ldrsh r2, [r1, r0]
mov r0, #8
ldrsb r0, [r4, r0]
mul r0, r2
strh r0, [r1]
b _022255C4
_022255B2:
ldr r0, [sp, #0xc]
add r1, sp, #0
strh r0, [r1]
mov r0, #0
ldrsh r2, [r1, r0]
mov r0, #8
ldrsb r0, [r4, r0]
mul r0, r2
strh r0, [r1]
_022255C4:
add r0, r5, #0
add r1, sp, #0
bl sub_020149BC
mov r0, #1
add sp, #0x18
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov12_02225550
thumb_func_start ov12_022255D4
ov12_022255D4: ; 0x022255D4
push {r3, lr}
add r3, r0, #0
add r0, r1, #0
add r1, r2, #0
ldr r2, _022255E8 ; =0x02239D6C
lsl r3, r3, #2
ldr r2, [r2, r3]
blx r2
pop {r3, pc}
nop
_022255E8: .word 0x02239D6C
thumb_func_end ov12_022255D4
thumb_func_start ov12_022255EC
ov12_022255EC: ; 0x022255EC
push {r3, r4, r5}
sub sp, #0x3c
ldr r4, _02225610 ; =0x02239DA4
add r5, r0, #0
add r3, sp, #0
mov r2, #7
_022255F8:
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _022255F8
ldr r0, [r4, #0]
lsl r1, r5, #2
str r0, [r3, #0]
add r0, sp, #0
ldr r0, [r0, r1]
add sp, #0x3c
pop {r3, r4, r5}
bx lr
; .align 2, 0
_02225610: .word 0x02239DA4
thumb_func_end ov12_022255EC
thumb_func_start ov12_02225614
ov12_02225614: ; 0x02225614
push {r4, r5, r6, lr}
mov r4, #0
ldr r6, _0222563C ; =0x0000FEFE
add r5, r4, #0
_0222561C:
add r0, r4, #0
bl ov12_022255EC
add r4, r4, #1
cmp r0, r6
beq _0222562E
add r5, r5, #1
cmp r5, #0xff
blt _0222561C
_0222562E:
cmp r5, #0xff
blt _02225636
mov r0, #0
pop {r4, r5, r6, pc}
_02225636:
add r0, r4, #0
pop {r4, r5, r6, pc}
nop
_0222563C: .word 0x0000FEFE
thumb_func_end ov12_02225614
.rodata
.global Unk_ov12_02239D6C
Unk_ov12_02239D6C: ; 0x02239D6C
.incbin "incbin/overlay12_rodata.bin", 0x17D8, 0x1810 - 0x17D8
.global Unk_ov12_02239DA4
Unk_ov12_02239DA4: ; 0x02239DA4
.incbin "incbin/overlay12_rodata.bin", 0x1810, 0x3C

330
asm/ov12_02225640.s Normal file
View File

@ -0,0 +1,330 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov12_02225640
ov12_02225640: ; 0x02225640
ldr r3, _02225648 ; =ov12_0222325C
ldr r0, [r0, #0]
mov r2, #4
bx r3
; .align 2, 0
_02225648: .word ov12_0222325C
thumb_func_end ov12_02225640
thumb_func_start ov12_0222564C
ov12_0222564C: ; 0x0222564C
push {r3, lr}
sub sp, #8
add r2, sp, #0
mov r0, #0
strh r0, [r2]
strh r0, [r2, #2]
strh r0, [r2, #4]
strh r0, [r2, #6]
ldr r0, [r1, #4]
bl sub_02014784
add r1, r0, #0
add r0, sp, #0
bl sub_020209D4
mov r0, #1
add sp, #8
pop {r3, pc}
thumb_func_end ov12_0222564C
thumb_func_start ov12_02225670
ov12_02225670: ; 0x02225670
push {r3, r4, r5, lr}
sub sp, #8
add r4, r1, #0
ldr r1, _022256A8 ; =0x02239DE0
add r0, sp, #0
ldrh r2, [r1, #0x20]
strh r2, [r0]
ldrh r2, [r1, #0x22]
strh r2, [r0, #2]
ldrh r2, [r1, #0x24]
ldrh r1, [r1, #0x26]
strh r2, [r0, #4]
strh r1, [r0, #6]
ldr r0, [r4, #4]
bl sub_02014784
add r5, r0, #0
ldr r0, [r4, #4]
mov r1, #1
bl sub_02014788
add r0, sp, #0
add r1, r5, #0
bl sub_020209D4
mov r0, #1
add sp, #8
pop {r3, r4, r5, pc}
; .align 2, 0
_022256A8: .word 0x02239DE0
thumb_func_end ov12_02225670
thumb_func_start ov12_022256AC
ov12_022256AC: ; 0x022256AC
push {r4, lr}
sub sp, #0x18
add r4, r1, #0
add r1, sp, #0
mov r0, #0
strh r0, [r1]
strh r0, [r1, #2]
strh r0, [r1, #4]
strh r0, [r1, #6]
add r0, r4, #0
add r1, sp, #8
bl ov12_02225640
ldr r1, [sp, #0xc]
add r0, sp, #0
strh r1, [r0]
ldr r1, [sp, #0x10]
strh r1, [r0, #2]
ldr r1, [sp, #0x14]
strh r1, [r0, #4]
ldr r0, [r4, #4]
bl sub_02014784
add r1, r0, #0
add r0, sp, #0
bl sub_020209D4
mov r0, #1
add sp, #0x18
pop {r4, pc}
thumb_func_end ov12_022256AC
thumb_func_start ov12_022256E8
ov12_022256E8: ; 0x022256E8
push {r3, r4, r5, lr}
sub sp, #8
add r4, r1, #0
ldr r1, _02225720 ; =0x02239DE0
add r0, sp, #0
ldrh r2, [r1, #0x18]
strh r2, [r0]
ldrh r2, [r1, #0x1a]
strh r2, [r0, #2]
ldrh r2, [r1, #0x1c]
ldrh r1, [r1, #0x1e]
strh r2, [r0, #4]
strh r1, [r0, #6]
ldr r0, [r4, #4]
bl sub_02014784
add r5, r0, #0
ldr r0, [r4, #4]
mov r1, #1
bl sub_02014788
add r0, sp, #0
add r1, r5, #0
bl sub_020209D4
mov r0, #1
add sp, #8
pop {r3, r4, r5, pc}
; .align 2, 0
_02225720: .word 0x02239DE0
thumb_func_end ov12_022256E8
thumb_func_start ov12_02225724
ov12_02225724: ; 0x02225724
push {r3, r4, r5, lr}
sub sp, #0x10
add r4, r1, #0
ldr r1, _02225780 ; =0x02239DE0
add r0, sp, #0
ldrh r2, [r1, #0x10]
strh r2, [r0, #8]
ldrh r2, [r1, #0x12]
strh r2, [r0, #0xa]
ldrh r2, [r1, #0x14]
strh r2, [r0, #0xc]
ldrh r2, [r1, #0x16]
strh r2, [r0, #0xe]
ldrh r2, [r1, #0x28]
strh r2, [r0]
ldrh r2, [r1, #0x2a]
strh r2, [r0, #2]
ldrh r2, [r1, #0x2c]
strh r2, [r0, #4]
ldrh r1, [r1, #0x2e]
strh r1, [r0, #6]
ldr r0, [r4, #4]
bl sub_02014784
add r5, r0, #0
ldr r0, [r4, #4]
mov r1, #1
bl sub_02014788
ldr r0, [r4, #0]
bl ov12_0221FDD4
cmp r0, #1
bne _02225772
add r0, sp, #8
add r1, r5, #0
bl sub_020209D4
b _0222577A
_02225772:
add r0, sp, #0
add r1, r5, #0
bl sub_020209D4
_0222577A:
mov r0, #1
add sp, #0x10
pop {r3, r4, r5, pc}
; .align 2, 0
_02225780: .word 0x02239DE0
thumb_func_end ov12_02225724
thumb_func_start ov12_02225784
ov12_02225784: ; 0x02225784
push {r3, r4, r5, lr}
sub sp, #8
add r4, r1, #0
ldr r1, _022257BC ; =0x02239DE0
add r0, sp, #0
ldrh r2, [r1]
strh r2, [r0]
ldrh r2, [r1, #2]
strh r2, [r0, #2]
ldrh r2, [r1, #4]
ldrh r1, [r1, #6]
strh r2, [r0, #4]
strh r1, [r0, #6]
ldr r0, [r4, #4]
bl sub_02014784
add r5, r0, #0
ldr r0, [r4, #4]
mov r1, #1
bl sub_02014788
add r0, sp, #0
add r1, r5, #0
bl sub_020209D4
mov r0, #1
add sp, #8
pop {r3, r4, r5, pc}
; .align 2, 0
_022257BC: .word 0x02239DE0
thumb_func_end ov12_02225784
thumb_func_start ov12_022257C0
ov12_022257C0: ; 0x022257C0
push {r3, r4, r5, lr}
sub sp, #8
add r4, r1, #0
ldr r1, _022257F8 ; =0x02239DE0
add r0, sp, #0
ldrh r2, [r1, #8]
strh r2, [r0]
ldrh r2, [r1, #0xa]
strh r2, [r0, #2]
ldrh r2, [r1, #0xc]
ldrh r1, [r1, #0xe]
strh r2, [r0, #4]
strh r1, [r0, #6]
ldr r0, [r4, #4]
bl sub_02014784
add r5, r0, #0
ldr r0, [r4, #4]
mov r1, #1
bl sub_02014788
add r0, sp, #0
add r1, r5, #0
bl sub_020209D4
mov r0, #1
add sp, #8
pop {r3, r4, r5, pc}
; .align 2, 0
_022257F8: .word 0x02239DE0
thumb_func_end ov12_022257C0
thumb_func_start ov12_022257FC
ov12_022257FC: ; 0x022257FC
push {r4, r5, lr}
sub sp, #0xc
add r5, r1, #0
ldr r0, [r5, #4]
bl sub_02014784
add r4, r0, #0
ldr r0, [r5, #0]
ldr r1, [r5, #0x24]
add r2, sp, #0
bl ov12_022356E8
add r0, sp, #0
add r1, r4, #0
bl sub_02020ACC
mov r0, #1
add sp, #0xc
pop {r4, r5, pc}
; .align 2, 0
thumb_func_end ov12_022257FC
thumb_func_start ov12_02225824
ov12_02225824: ; 0x02225824
push {r4, r5, lr}
sub sp, #0xc
add r5, r1, #0
ldr r0, [r5, #4]
bl sub_02014784
add r4, r0, #0
ldr r0, [r5, #0]
ldr r1, [r5, #0x28]
add r2, sp, #0
bl ov12_022356E8
add r0, sp, #0
add r1, r4, #0
bl sub_02020ACC
mov r0, #1
add sp, #0xc
pop {r4, r5, pc}
; .align 2, 0
thumb_func_end ov12_02225824
thumb_func_start ov12_0222584C
ov12_0222584C: ; 0x0222584C
push {r3, lr}
add r3, r0, #0
add r0, r1, #0
add r1, r2, #0
ldr r2, _02225860 ; =0x02239E10
lsl r3, r3, #2
ldr r2, [r2, r3]
blx r2
pop {r3, pc}
nop
_02225860: .word 0x02239E10
thumb_func_end ov12_0222584C
.rodata
.global Unk_ov12_02239DE0
Unk_ov12_02239DE0: ; 0x02239DE0
.incbin "incbin/overlay12_rodata.bin", 0x184C, 0x1854 - 0x184C
.global Unk_ov12_02239DE8
Unk_ov12_02239DE8: ; 0x02239DE8
.incbin "incbin/overlay12_rodata.bin", 0x1854, 0x185C - 0x1854
.global Unk_ov12_02239DF0
Unk_ov12_02239DF0: ; 0x02239DF0
.incbin "incbin/overlay12_rodata.bin", 0x185C, 0x1864 - 0x185C
.global Unk_ov12_02239DF8
Unk_ov12_02239DF8: ; 0x02239DF8
.incbin "incbin/overlay12_rodata.bin", 0x1864, 0x186C - 0x1864
.global Unk_ov12_02239E00
Unk_ov12_02239E00: ; 0x02239E00
.incbin "incbin/overlay12_rodata.bin", 0x186C, 0x1874 - 0x186C
.global Unk_ov12_02239E08
Unk_ov12_02239E08: ; 0x02239E08
.incbin "incbin/overlay12_rodata.bin", 0x1874, 0x187C - 0x1874
.global Unk_ov12_02239E10
Unk_ov12_02239E10: ; 0x02239E10
.incbin "incbin/overlay12_rodata.bin", 0x187C, 0x24

2468
asm/ov12_02225864.s Normal file

File diff suppressed because it is too large Load Diff

53
asm/ov12_02226998.s Normal file
View File

@ -0,0 +1,53 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov12_02226998
ov12_02226998: ; 0x02226998
cmp r0, #0x54
blo _022269A0
mov r0, #0
bx lr
_022269A0:
lsl r1, r0, #2
ldr r0, _022269A8 ; =0x02239EEC
ldr r0, [r0, r1]
bx lr
; .align 2, 0
_022269A8: .word 0x02239EEC
thumb_func_end ov12_02226998
thumb_func_start ov12_022269AC
ov12_022269AC: ; 0x022269AC
cmp r0, #0x21
blo _022269B4
mov r0, #0
bx lr
_022269B4:
lsl r1, r0, #2
ldr r0, _022269BC ; =0x02239E68
ldr r0, [r0, r1]
bx lr
; .align 2, 0
_022269BC: .word 0x02239E68
thumb_func_end ov12_022269AC
.rodata
.global Unk_ov12_02239E64
Unk_ov12_02239E64: ; 0x02239E64
.incbin "incbin/overlay12_rodata.bin", 0x18D0, 0x18D4 - 0x18D0
.global Unk_ov12_02239E68
Unk_ov12_02239E68: ; 0x02239E68
.incbin "incbin/overlay12_rodata.bin", 0x18D4, 0x1958 - 0x18D4
.global Unk_ov12_02239EEC
Unk_ov12_02239EEC: ; 0x02239EEC
.incbin "incbin/overlay12_rodata.bin", 0x1958, 0x150

249
asm/ov12_022269C0.s Normal file
View File

@ -0,0 +1,249 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov12_022269C0
ov12_022269C0: ; 0x022269C0
bx lr
; .align 2, 0
thumb_func_end ov12_022269C0
thumb_func_start ov12_022269C4
ov12_022269C4: ; 0x022269C4
push {r4, lr}
add r4, r1, #0
add r2, r0, #0
ldrb r0, [r4]
cmp r0, #0
beq _022269D6
cmp r0, #1
beq _022269DC
pop {r4, pc}
_022269D6:
add r0, r0, #1
strb r0, [r4]
pop {r4, pc}
_022269DC:
ldr r0, [r4, #4]
add r1, r2, #0
bl ov12_02220220
add r0, r4, #0
bl sub_020181C4
pop {r4, pc}
thumb_func_end ov12_022269C4
thumb_func_start ov12_022269EC
ov12_022269EC: ; 0x022269EC
push {r4, lr}
add r4, r0, #0
mov r0, #5
mov r1, #8
bl sub_02018144
add r2, r0, #0
mov r0, #0
strb r0, [r2]
mov r3, #1
ldr r1, _02226A10 ; =ov12_022269C4
add r0, r4, #0
lsl r3, r3, #0xc
str r4, [r2, #4]
bl ov12_022201CC
pop {r4, pc}
nop
_02226A10: .word ov12_022269C4
thumb_func_end ov12_022269EC
thumb_func_start ov12_02226A14
ov12_02226A14: ; 0x02226A14
push {r4, lr}
add r4, r1, #0
add r2, r0, #0
ldrb r0, [r4]
cmp r0, #0
beq _02226A26
cmp r0, #1
beq _02226A2C
pop {r4, pc}
_02226A26:
add r0, r0, #1
strb r0, [r4]
pop {r4, pc}
_02226A2C:
ldr r0, [r4, #4]
add r1, r2, #0
bl ov12_02220230
add r0, r4, #0
bl sub_020181C4
pop {r4, pc}
thumb_func_end ov12_02226A14
thumb_func_start ov12_02226A3C
ov12_02226A3C: ; 0x02226A3C
push {r4, lr}
add r4, r0, #0
mov r0, #5
mov r1, #8
bl sub_02018144
add r2, r0, #0
mov r0, #0
strb r0, [r2]
mov r3, #1
ldr r1, _02226A60 ; =ov12_02226A14
add r0, r4, #0
lsl r3, r3, #0xc
str r4, [r2, #4]
bl ov12_02220204
pop {r4, pc}
nop
_02226A60: .word ov12_02226A14
thumb_func_end ov12_02226A3C
thumb_func_start ov12_02226A64
ov12_02226A64: ; 0x02226A64
push {r4, lr}
add r4, r1, #0
ldrb r1, [r4]
cmp r1, #0
beq _02226A74
cmp r1, #1
beq _02226A7A
pop {r4, pc}
_02226A74:
add r0, r1, #1
strb r0, [r4]
pop {r4, pc}
_02226A7A:
bl sub_0200DA58
add r0, r4, #0
bl sub_020181C4
pop {r4, pc}
; .align 2, 0
thumb_func_end ov12_02226A64
thumb_func_start ov12_02226A88
ov12_02226A88: ; 0x02226A88
push {r4, lr}
add r4, r0, #0
mov r0, #5
mov r1, #8
bl sub_02018144
add r1, r0, #0
mov r0, #0
strb r0, [r1]
mov r2, #1
ldr r0, _02226AA8 ; =ov12_02226A64
lsl r2, r2, #0xc
str r4, [r1, #4]
bl sub_0200D9E8
pop {r4, pc}
; .align 2, 0
_02226AA8: .word ov12_02226A64
thumb_func_end ov12_02226A88
thumb_func_start ov12_02226AAC
ov12_02226AAC: ; 0x02226AAC
push {r4, r5, r6, lr}
add r5, r1, #0
add r6, r0, #0
ldrb r0, [r5]
cmp r0, #0
beq _02226ABE
cmp r0, #1
beq _02226B04
pop {r4, r5, r6, pc}
_02226ABE:
ldr r0, [r5, #0x14]
ldr r0, [r0, #0]
bl sub_0200D324
ldr r0, [r5, #0x18]
ldr r0, [r0, #0]
bl sub_0200D324
ldr r0, [r5, #0x1c]
ldr r0, [r0, #0]
bl sub_0200D324
ldr r0, [r5, #0x14]
mov r1, #1
ldr r0, [r0, #0]
mov r2, #0
bl sub_0200D5AC
ldr r0, [r5, #0x18]
mov r1, #0
ldr r0, [r0, #0]
mvn r1, r1
mov r2, #0
bl sub_0200D5AC
ldr r0, [r5, #0x1c]
mov r1, #1
ldr r0, [r0, #0]
add r2, r1, #0
bl sub_0200D5AC
ldr r0, [r5, #0xc]
bl sub_0200C7EC
pop {r4, r5, r6, pc}
_02226B04:
ldr r0, [r5, #0x10]
ldr r4, [r5, #4]
bl sub_0200D0F4
add r0, r5, #0
bl sub_020181C4
add r0, r4, #0
add r1, r6, #0
bl ov12_02220220
pop {r4, r5, r6, pc}
thumb_func_end ov12_02226AAC
thumb_func_start ov12_02226B1C
ov12_02226B1C: ; 0x02226B1C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x38
add r6, r1, #0
mov r1, #0x73
str r0, [sp]
mov r0, #5
lsl r1, r1, #2
add r7, r2, #0
add r5, r3, #0
bl sub_02018144
add r4, r0, #0
bne _02226B3A
bl sub_02022974
_02226B3A:
mov r0, #0
strb r0, [r4]
str r6, [r4, #8]
str r7, [r4, #0xc]
ldr r0, [sp]
str r5, [r4, #0x10]
str r0, [r4, #4]
ldr r1, [sp]
add r0, sp, #4
bl ov12_0222329C
str r5, [r4, #0x14]
mov r6, #1
add r5, r4, #4
add r7, sp, #4
_02226B58:
ldr r0, [r4, #8]
ldr r1, [r4, #0xc]
add r2, r7, #0
bl sub_0200CE6C
str r0, [r5, #0x14]
add r6, r6, #1
add r5, r5, #4
cmp r6, #3
blt _02226B58
mov r3, #1
ldr r0, [sp]
ldr r1, _02226B80 ; =ov12_02226AAC
add r2, r4, #0
lsl r3, r3, #0xc
bl ov12_022201CC
add sp, #0x38
pop {r3, r4, r5, r6, r7, pc}
nop
_02226B80: .word ov12_02226AAC
thumb_func_end ov12_02226B1C

8134
asm/ov12_02226B84.s Normal file

File diff suppressed because it is too large Load Diff

5210
asm/ov12_0222AC70.s Normal file

File diff suppressed because it is too large Load Diff

2125
asm/ov12_0222D6B0.s Normal file

File diff suppressed because it is too large Load Diff

183
asm/ov12_0222E784.s Normal file
View File

@ -0,0 +1,183 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov12_0222E784
ov12_0222E784: ; 0x0222E784
push {r4, r5, lr}
sub sp, #0xc
add r4, r1, #0
add r5, r0, #0
ldrb r0, [r4]
cmp r0, #0
bne _0222E80A
add r0, r4, #0
add r0, #0x60
bl ov12_02225F6C
cmp r0, #0
bne _0222E7C8
ldr r0, [r4, #0x28]
mov r1, #0
bl sub_0200D3F4
ldr r0, [r4, #0x3c]
mov r1, #0
bl sub_0200D3F4
ldr r0, [r4, #0x3c]
mov r1, #0
bl sub_0200D3F4
ldr r0, [r4, #4]
add r1, r5, #0
bl ov12_02220220
add r0, r4, #0
bl ov12_02235E80
add sp, #0xc
pop {r4, r5, pc}
_0222E7C8:
add r0, r4, #0
add r0, #0x60
add r1, sp, #8
add r2, sp, #4
bl ov12_02225FA4
ldr r0, [r4, #0x28]
ldr r1, [sp, #8]
ldr r2, [sp, #4]
bl sub_0200D6E8
mov r0, #0
str r0, [sp]
mov r1, #0x58
mov r2, #0x5a
ldrsh r1, [r4, r1]
ldrsh r2, [r4, r2]
ldr r0, [r4, #0x28]
ldr r3, [r4, #0x74]
bl ov12_0222605C
ldr r0, [r4, #0x28]
bl sub_0200D330
ldr r0, [r4, #0x3c]
bl sub_0200D330
ldr r0, [r4, #0x50]
bl sub_0200D330
ldr r0, [r4, #0xc]
bl sub_0200C7EC
_0222E80A:
add sp, #0xc
pop {r4, r5, pc}
; .align 2, 0
thumb_func_end ov12_0222E784
thumb_func_start ov12_0222E810
ov12_0222E810: ; 0x0222E810
push {r4, r5, lr}
sub sp, #0xc
mov r1, #0x84
add r5, r0, #0
bl ov12_02235E50
add r4, r0, #0
add r0, r5, #0
add r1, r4, #0
bl ov12_0223595C
ldr r0, [r4, #4]
bl ov12_02220248
add r1, r0, #0
ldr r0, [r4, #4]
bl ov12_022232FC
mov r1, #1
str r0, [r4, #0x24]
bl sub_020080C0
add r1, r4, #0
add r1, #0x58
strh r0, [r1]
mov r0, #0x58
ldrsh r1, [r4, r0]
add r0, r4, #0
add r0, #0x5c
strh r1, [r0]
ldr r0, [r4, #4]
bl ov12_02220248
add r1, r0, #0
ldr r0, [r4, #4]
bl ov12_02223354
add r1, r4, #0
add r1, #0x5a
strh r0, [r1]
add r0, r5, #0
mov r1, #0
bl ov12_022202C0
str r0, [r4, #0x28]
add r0, r5, #0
mov r1, #1
bl ov12_022202C0
str r0, [r4, #0x3c]
add r0, r5, #0
mov r1, #2
bl ov12_022202C0
str r0, [r4, #0x50]
ldr r0, [r4, #0x28]
mov r1, #2
bl sub_0200D6A4
add r0, r5, #0
bl ov12_0222339C
add r1, r0, #0
ldr r0, [r4, #0x28]
bl sub_0200D460
add r0, r5, #0
bl ov12_0222339C
add r1, r0, #0
ldr r0, [r4, #0x3c]
bl sub_0200D460
add r0, r5, #0
bl ov12_0222339C
add r1, r0, #0
ldr r0, [r4, #0x50]
bl sub_0200D460
ldr r0, [r4, #4]
bl ov12_02220248
add r1, r0, #0
ldr r0, [r4, #4]
bl ov12_022232B8
sub r0, r0, #3
cmp r0, #1
ldr r0, [r4, #0x28]
bhi _0222E8DE
mov r1, #0x1e
bl sub_0200D474
ldr r0, [r4, #0x3c]
mov r1, #0x32
bl sub_0200D474
ldr r0, [r4, #0x50]
mov r1, #0x46
bl sub_0200D474
b _0222E8F4
_0222E8DE:
mov r1, #0x3c
bl sub_0200D474
ldr r0, [r4, #0x3c]
mov r1, #0x46
bl sub_0200D474
ldr r0, [r4, #0x50]
mov r1, #0x32
bl sub_0200D474
_0222E8F4:
mov r2, #0x14
mov r1, #0x64
str r2, [sp]
str r1, [sp, #4]
mov r0, #0xa
str r0, [sp, #8]
add r0, r4, #0
add r0, #0x60
add r3, r1, #0
bl ov12_02225EF0
ldr r0, [r4, #4]
ldr r1, _0222E918 ; =ov12_0222E784
add r2, r4, #0
bl ov12_022201E8
add sp, #0xc
pop {r4, r5, pc}
; .align 2, 0
_0222E918: .word ov12_0222E784
thumb_func_end ov12_0222E810

1673
asm/ov12_0222E91C.s Normal file

File diff suppressed because it is too large Load Diff

9863
asm/ov12_0222F700.s Normal file

File diff suppressed because it is too large Load Diff

964
asm/ov12_022346A4.s Normal file
View File

@ -0,0 +1,964 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov12_022346A4
ov12_022346A4: ; 0x022346A4
push {r4, r5, r6, r7, lr}
sub sp, #0x3c
add r7, r1, #0
add r4, r0, #0
mov r1, #0xac
add r6, r2, #0
str r3, [sp]
bl ov12_02235E50
str r4, [r0, #0]
str r0, [sp, #4]
str r6, [r0, #0xc]
add r0, r4, #0
bl ov12_02220240
add r5, r0, #0
add r0, r4, #0
add r1, r5, #0
bl ov12_02225964
ldr r1, [sp, #4]
str r0, [r1, #0x10]
ldr r1, [r1, #0]
add r0, sp, #8
bl ov12_0222329C
add r0, r4, #0
add r1, r5, #0
mov r2, #0
bl ov12_022258E0
add r1, sp, #8
strh r0, [r1]
add r0, r4, #0
add r1, r5, #0
mov r2, #1
bl ov12_022258E0
add r1, sp, #8
ldr r5, [sp, #4]
strh r0, [r1, #2]
mov r4, #0
_022346F8:
cmp r4, #0
add r2, sp, #8
bne _02234712
ldr r0, [sp]
mov r1, #0
str r0, [r5, #0x14]
ldrsh r1, [r2, r1]
add r3, r2, #0
mov r2, #2
ldrsh r2, [r3, r2]
bl sub_0200D4C4
b _0223471C
_02234712:
add r0, r7, #0
add r1, r6, #0
bl sub_0200CE6C
str r0, [r5, #0x14]
_0223471C:
ldr r0, [r5, #0x14]
mov r1, #0
bl sub_0200D3F4
ldr r0, [r5, #0x14]
mov r1, #0x64
bl sub_0200D474
ldr r0, [r5, #0x14]
mov r1, #1
bl sub_0200D460
add r4, r4, #1
add r5, r5, #4
cmp r4, #2
blt _022346F8
ldr r0, [sp, #4]
ldr r1, _0223474C ; =ov12_02234750
ldr r0, [r0, #0]
ldr r2, [sp, #4]
bl ov12_022201E8
add sp, #0x3c
pop {r4, r5, r6, r7, pc}
; .align 2, 0
_0223474C: .word ov12_02234750
thumb_func_end ov12_022346A4
thumb_func_start ov12_02234750
ov12_02234750: ; 0x02234750
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r7, r0, #0
ldr r0, [r4, #4]
cmp r0, #4
bhi _02234834
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02234768: ; jump table
.short _02234772 - _02234768 - 2 ; case 0
.short _0223479A - _02234768 - 2 ; case 1
.short _022347BA - _02234768 - 2 ; case 2
.short _022347EC - _02234768 - 2 ; case 3
.short _02234812 - _02234768 - 2 ; case 4
_02234772:
add r2, r4, #0
ldr r0, [r4, #0x14]
ldr r3, [r4, #0x10]
add r1, #0x1c
add r2, #0x64
bl ov12_0223483C
add r1, r4, #0
add r2, r4, #0
ldr r0, [r4, #0x14]
add r1, #0x1c
add r2, #0x64
bl ov12_0223489C
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
mov r0, #8
str r0, [r4, #8]
b _02234834
_0223479A:
ldr r0, [r4, #8]
add r2, r4, #0
sub r0, r0, #1
str r0, [r4, #8]
ldr r0, [r4, #0x14]
add r1, #0x1c
add r2, #0x64
bl ov12_0223489C
ldr r0, [r4, #8]
cmp r0, #0
bge _02234834
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
b _02234834
_022347BA:
add r2, r4, #0
ldr r0, [r4, #0x18]
ldr r3, [r4, #0x10]
add r1, #0x40
add r2, #0x88
bl ov12_0223483C
add r1, r4, #0
add r2, r4, #0
ldr r0, [r4, #0x18]
add r1, #0x40
add r2, #0x88
bl ov12_0223489C
add r1, r4, #0
add r2, r4, #0
ldr r0, [r4, #0x14]
add r1, #0x1c
add r2, #0x64
bl ov12_0223489C
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
b _02234834
_022347EC:
add r2, r4, #0
ldr r0, [r4, #0x14]
add r1, #0x1c
add r2, #0x64
bl ov12_0223489C
add r1, r4, #0
add r2, r4, #0
ldr r0, [r4, #0x18]
add r1, #0x40
add r2, #0x88
bl ov12_0223489C
cmp r0, #0
beq _02234834
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
b _02234834
_02234812:
mov r6, #0
add r5, r4, #0
_02234816:
ldr r0, [r5, #0x14]
bl sub_0200D0F4
add r6, r6, #1
add r5, r5, #4
cmp r6, #2
blt _02234816
ldr r0, [r4, #0]
add r1, r7, #0
bl ov12_02220220
add r0, r4, #0
bl sub_020181C4
pop {r3, r4, r5, r6, r7, pc}
_02234834:
ldr r0, [r4, #0xc]
bl sub_0200C7EC
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov12_02234750
thumb_func_start ov12_0223483C
ov12_0223483C: ; 0x0223483C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r6, r1, #0
add r5, r0, #0
mov r1, #2
add r7, r2, #0
add r4, r3, #0
bl sub_0200D6A4
add r0, r5, #0
mov r1, #1
bl sub_0200D3F4
add r1, sp, #8
add r0, r5, #0
add r1, #2
add r2, sp, #8
bl sub_0200D550
add r1, sp, #8
mov r0, #0
ldrsh r3, [r1, r0]
mov r0, #2
ldrsh r1, [r1, r0]
add r0, r3, #0
sub r0, #0x20
lsl r0, r0, #0x10
lsl r2, r4, #4
asr r0, r0, #0x10
add r2, r1, r2
str r0, [sp]
mov r0, #0x20
lsl r2, r2, #0x10
str r0, [sp, #4]
add r0, r6, #0
asr r2, r2, #0x10
bl ov12_02225BC8
mov r0, #0x20
mov r2, #0xa
str r0, [sp]
add r0, r7, #0
mov r1, #2
add r3, r2, #0
bl ov12_02225E68
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end ov12_0223483C
thumb_func_start ov12_0223489C
ov12_0223489C: ; 0x0223489C
push {r3, r4, r5, lr}
add r5, r0, #0
add r0, r1, #0
add r4, r2, #0
add r1, r5, #0
bl ov12_02225C50
add r0, r4, #0
add r1, r5, #0
bl ov12_022260A8
cmp r0, #0
beq _022348BA
mov r0, #0
pop {r3, r4, r5, pc}
_022348BA:
add r0, r5, #0
mov r1, #0
bl sub_0200D3F4
mov r0, #1
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov12_0223489C
thumb_func_start ov12_022348C8
ov12_022348C8: ; 0x022348C8
push {r3, r4, r5, r6, r7, lr}
mov r1, #0x3c
add r6, r0, #0
add r7, r2, #0
add r5, r3, #0
bl ov12_02235E50
add r4, r0, #0
str r6, [r4, #0]
str r7, [r4, #0xc]
str r5, [r4, #0x10]
add r0, r5, #0
mov r1, #0
bl sub_0200D3F4
ldr r0, [r4, #0x10]
mov r1, #1
bl sub_0200D810
ldr r0, [r4, #0x10]
mov r1, #0x64
bl sub_0200D474
ldr r0, [r4, #0x10]
mov r1, #1
bl sub_0200D460
ldr r0, [r4, #0x10]
bl sub_0200D43C
str r0, [r4, #8]
ldr r0, [r4, #0]
ldr r1, _02234914 ; =ov12_02234918
add r2, r4, #0
bl ov12_022201E8
pop {r3, r4, r5, r6, r7, pc}
nop
_02234914: .word ov12_02234918
thumb_func_end ov12_022348C8
thumb_func_start ov12_02234918
ov12_02234918: ; 0x02234918
push {r3, r4, r5, lr}
sub sp, #8
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #4]
cmp r0, #4
bhi _02234A04
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02234932: ; jump table
.short _0223493C - _02234932 - 2 ; case 0
.short _0223496C - _02234932 - 2 ; case 1
.short _02234992 - _02234932 - 2 ; case 2
.short _022349D0 - _02234932 - 2 ; case 3
.short _022349EC - _02234932 - 2 ; case 4
_0223493C:
mov r0, #4
str r0, [sp]
mov r0, #0xa
str r0, [sp, #4]
add r0, r4, #0
add r0, #0x14
mov r1, #0
mov r2, #0x10
mov r3, #0x14
bl ov12_02226424
ldr r0, [r4, #0x10]
mov r1, #1
bl sub_0200D3F4
ldr r0, [r4, #0]
mov r1, #0
mov r2, #0x14
bl ov12_02235780
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
b _02234A04
_0223496C:
add r0, r4, #0
add r0, #0x14
bl ov12_02226454
cmp r0, #0
beq _02234A04
ldr r0, [r4, #4]
mov r1, #1
add r0, r0, #1
str r0, [r4, #4]
ldr r0, [r4, #0x10]
bl sub_0200D390
mov r1, #1
ldr r0, [r4, #0x10]
lsl r1, r1, #0xc
bl sub_0200D3A4
b _02234A04
_02234992:
ldr r0, [r4, #0x10]
bl sub_0200D3E0
mov r1, #3
bl sub_020E1F6C
ldr r2, [r4, #8]
ldr r0, [r4, #0x10]
add r1, r2, r1
bl sub_0200D430
ldr r0, [r4, #0x10]
bl sub_0200D3B8
cmp r0, #0
bne _02234A04
ldr r0, [r4, #4]
mov r1, #0x10
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0x14
str r0, [sp]
mov r0, #8
str r0, [sp, #4]
add r0, r4, #0
add r0, #0x14
mov r2, #0
mov r3, #4
bl ov12_02226424
b _02234A04
_022349D0:
add r0, r4, #0
add r0, #0x14
bl ov12_02226454
cmp r0, #0
beq _02234A04
ldr r0, [r4, #4]
mov r1, #0
add r0, r0, #1
str r0, [r4, #4]
ldr r0, [r4, #0x10]
bl sub_0200D3F4
b _02234A04
_022349EC:
ldr r0, [r4, #0x10]
bl sub_0200D0F4
ldr r0, [r4, #0]
add r1, r5, #0
bl ov12_02220220
add r0, r4, #0
bl sub_020181C4
add sp, #8
pop {r3, r4, r5, pc}
_02234A04:
ldr r0, [r4, #0xc]
bl sub_0200C7EC
add sp, #8
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov12_02234918
thumb_func_start ov12_02234A10
ov12_02234A10: ; 0x02234A10
push {r4, r5, r6, r7, lr}
sub sp, #0x4c
str r1, [sp, #4]
str r2, [sp, #8]
mov r1, #0x54
add r5, r0, #0
str r3, [sp, #0xc]
bl ov12_02235E50
ldr r1, [sp, #8]
str r5, [r0, #0]
str r0, [sp, #0x14]
str r1, [r0, #8]
ldr r0, [r0, #0]
bl ov12_02220240
add r4, r0, #0
add r0, r5, #0
add r1, r4, #0
bl ov12_02225964
ldr r1, [sp, #0x14]
str r0, [sp, #0x10]
ldr r1, [r1, #0]
add r0, sp, #0x18
bl ov12_0222329C
add r0, r5, #0
add r1, r4, #0
mov r2, #0
bl ov12_022258E0
add r1, sp, #0x18
strh r0, [r1]
add r0, r5, #0
add r1, r4, #0
mov r2, #1
bl ov12_022258E0
ldr r7, [sp, #0x14]
ldr r6, [sp, #0x14]
ldr r5, [sp, #0x14]
add r1, sp, #0x18
add r7, #0x3c
add r6, #0x24
strh r0, [r1, #2]
mov r4, #5
add r5, #0x14
add r7, #0x14
add r6, #0x14
_02234A74:
cmp r4, #5
add r2, sp, #0x18
bne _02234A8E
ldr r0, [sp, #0xc]
mov r1, #0
str r0, [r5, #0xc]
ldrsh r1, [r2, r1]
add r3, r2, #0
mov r2, #2
ldrsh r2, [r3, r2]
bl sub_0200D4C4
b _02234A98
_02234A8E:
ldr r0, [sp, #4]
ldr r1, [sp, #8]
bl sub_0200CE6C
str r0, [r5, #0xc]
_02234A98:
ldr r0, [r5, #0xc]
mov r1, #0x64
bl sub_0200D474
ldr r0, [r5, #0xc]
mov r1, #1
bl sub_0200D460
ldr r0, [r5, #0xc]
mov r1, #0
bl sub_0200D3F4
ldr r0, [sp, #0x10]
add r1, r6, #0
str r0, [sp]
ldr r0, [r5, #0xc]
add r2, r7, #0
add r3, r4, #0
bl ov12_02234AE0
sub r5, r5, #4
sub r7, r7, #4
sub r6, r6, #4
sub r4, r4, #1
bpl _02234A74
ldr r0, [sp, #0x14]
ldr r1, _02234ADC ; =ov12_02234B64
ldr r0, [r0, #0]
ldr r2, [sp, #0x14]
bl ov12_022201E8
add sp, #0x4c
pop {r4, r5, r6, r7, pc}
nop
_02234ADC: .word ov12_02234B64
thumb_func_end ov12_02234A10
thumb_func_start ov12_02234AE0
ov12_02234AE0: ; 0x02234AE0
push {r3, r4, r5, r6, r7, lr}
add r4, r3, #0
add r6, r1, #0
lsr r1, r4, #0x1f
add r1, r4, r1
asr r1, r1, #1
add r5, r0, #0
add r7, r2, #0
bl sub_0200D364
lsl r0, r4, #1
str r0, [r7, #0]
mov r0, #0x10
add r1, sp, #0
str r0, [r6, #0]
add r0, r5, #0
add r1, #2
add r2, sp, #0
bl sub_0200D550
mov r1, #2
add r6, r1, #0
add r2, sp, #0
sub r6, #0xe
mul r6, r4
ldr r0, [sp, #0x18]
ldrsh r3, [r2, r1]
add r6, #0x28
add r4, r0, #0
mul r4, r6
add r0, r3, r4
mov r3, #0
strh r0, [r2, #2]
ldrsh r0, [r2, r3]
add r0, #0x28
strh r0, [r2]
ldrsh r1, [r2, r1]
ldrsh r2, [r2, r3]
add r0, r5, #0
bl sub_0200D4C4
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov12_02234AE0
thumb_func_start ov12_02234B34
ov12_02234B34: ; 0x02234B34
push {r3, lr}
ldr r3, [r2, #0]
cmp r3, #0
ble _02234B4A
sub r1, r3, #1
str r1, [r2, #0]
bne _02234B60
mov r1, #1
bl sub_0200D3F4
b _02234B60
_02234B4A:
ldr r2, [r1, #0]
cmp r2, #0
ble _02234B56
sub r0, r2, #1
str r0, [r1, #0]
b _02234B60
_02234B56:
mov r1, #0
bl sub_0200D3F4
mov r0, #1
pop {r3, pc}
_02234B60:
mov r0, #0
pop {r3, pc}
thumb_func_end ov12_02234B34
thumb_func_start ov12_02234B64
ov12_02234B64: ; 0x02234B64
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
ldr r0, [r1, #4]
str r1, [sp]
cmp r0, #0
beq _02234B76
cmp r0, #1
beq _02234BA8
b _02234BCC
_02234B76:
add r6, r1, #0
add r4, r1, #0
mov r7, #0
add r6, #0x3c
add r4, #0x24
add r5, r1, #0
_02234B82:
ldr r0, [r5, #0xc]
add r1, r4, #0
add r2, r6, #0
bl ov12_02234B34
add r7, r7, #1
add r6, r6, #4
add r4, r4, #4
add r5, r5, #4
cmp r7, #6
blt _02234B82
cmp r0, #0
beq _02234BCC
ldr r0, [sp]
ldr r0, [r0, #4]
add r1, r0, #1
ldr r0, [sp]
str r1, [r0, #4]
b _02234BCC
_02234BA8:
mov r5, #0
add r4, r1, #0
_02234BAC:
ldr r0, [r4, #0xc]
bl sub_0200D0F4
add r5, r5, #1
add r4, r4, #4
cmp r5, #6
blt _02234BAC
ldr r0, [sp]
add r1, r6, #0
ldr r0, [r0, #0]
bl ov12_02220220
ldr r0, [sp]
bl sub_020181C4
pop {r3, r4, r5, r6, r7, pc}
_02234BCC:
ldr r0, [sp]
ldr r0, [r0, #8]
bl sub_0200C7EC
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov12_02234B64
thumb_func_start ov12_02234BD8
ov12_02234BD8: ; 0x02234BD8
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
mov r7, #0
add r6, r5, #0
str r1, [sp, #0x10]
add r6, #0x30
add r4, r7, #0
_02234BE8:
mov r0, #0
str r0, [sp]
mov r0, #0x32
lsl r0, r0, #0xc
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #0x30
mov r1, #0
str r0, [sp, #0xc]
ldr r2, _02234C28 ; =0x00007FFF
add r0, r6, #0
add r3, r1, #0
bl ov12_02225A5C
ldr r0, [r5, #0x38]
add r7, r7, #1
add r0, r0, r4
str r0, [r5, #0x38]
ldr r1, [r5, #0x48]
ldr r0, [sp, #0x10]
add r6, #0x24
mul r0, r1
str r0, [r5, #0x48]
ldr r0, _02234C2C ; =0x00002AAA
add r5, #0x24
add r4, r4, r0
cmp r7, #6
blt _02234BE8
add sp, #0x14
pop {r4, r5, r6, r7, pc}
nop
_02234C28: .word 0x00007FFF
_02234C2C: .word 0x00002AAA
thumb_func_end ov12_02234BD8
thumb_func_start ov12_02234C30
ov12_02234C30: ; 0x02234C30
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
mov r0, #0
add r7, r6, #0
str r0, [sp]
add r7, #0x30
add r4, r6, #0
add r5, r6, #0
_02234C40:
add r0, r7, #0
bl ov12_02225AE0
mov r1, #0x13
lsl r1, r1, #4
mov r2, #0x30
ldrsh r1, [r6, r1]
ldrsh r2, [r4, r2]
ldr r0, [r5, #0x18]
add r1, r1, r2
ldr r2, _02234C9C ; =0x00000132
lsl r1, r1, #0x10
ldrsh r2, [r6, r2]
asr r1, r1, #0x10
bl sub_0200D4C4
ldr r1, [r4, #0x38]
ldr r0, _02234CA0 ; =0x00003FFF
cmp r1, r0
blt _02234C78
ldr r0, _02234CA4 ; =0x0000BF49
cmp r1, r0
bgt _02234C78
ldr r0, [r5, #0x18]
mov r1, #1
bl sub_0200D460
b _02234C88
_02234C78:
ldr r0, [r6, #0]
bl ov12_0222339C
add r1, r0, #0
ldr r0, [r5, #0x18]
add r1, r1, #1
bl sub_0200D460
_02234C88:
ldr r0, [sp]
add r7, #0x24
add r0, r0, #1
add r4, #0x24
add r5, r5, #4
str r0, [sp]
cmp r0, #6
blt _02234C40
pop {r3, r4, r5, r6, r7, pc}
nop
_02234C9C: .word 0x00000132
_02234CA0: .word 0x00003FFF
_02234CA4: .word 0x0000BF49
thumb_func_end ov12_02234C30
thumb_func_start ov12_02234CA8
ov12_02234CA8: ; 0x02234CA8
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r1, #0
add r7, r0, #0
ldr r0, [r4, #0xc]
cmp r0, #4
bhi _02234D8E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02234CC2: ; jump table
.short _02234CCC - _02234CC2 - 2 ; case 0
.short _02234D02 - _02234CC2 - 2 ; case 1
.short _02234D22 - _02234CC2 - 2 ; case 2
.short _02234D4E - _02234CC2 - 2 ; case 3
.short _02234D6A - _02234CC2 - 2 ; case 4
_02234CCC:
ldr r0, [r4, #0]
mov r1, #1
mov r2, #0xf
bl ov12_02235780
mov r0, #0
str r0, [sp]
mov r0, #0xa
str r0, [sp, #4]
add r0, #0xfe
add r0, r4, r0
mov r1, #1
mov r2, #0x10
mov r3, #0xf
bl ov12_02226424
ldr r1, [r4, #0x14]
add r0, r4, #0
bl ov12_02234BD8
add r0, r4, #0
bl ov12_02234C30
ldr r0, [r4, #0xc]
add r0, r0, #1
str r0, [r4, #0xc]
b _02234D8E
_02234D02:
add r0, r4, #0
bl ov12_02234C30
mov r0, #0x42
lsl r0, r0, #2
add r0, r4, r0
bl ov12_02226454
cmp r0, #0
beq _02234D8E
ldr r0, [r4, #0xc]
add r0, r0, #1
str r0, [r4, #0xc]
mov r0, #0x1c
str r0, [r4, #0x10]
b _02234D8E
_02234D22:
add r0, r4, #0
bl ov12_02234C30
ldr r0, [r4, #0x10]
sub r0, r0, #1
str r0, [r4, #0x10]
bpl _02234D8E
ldr r0, [r4, #0xc]
mov r1, #0x10
add r0, r0, #1
str r0, [r4, #0xc]
mov r0, #0xf
str r0, [sp]
mov r0, #0xa
str r0, [sp, #4]
add r0, #0xfe
add r0, r4, r0
mov r2, #1
mov r3, #0
bl ov12_02226424
b _02234D8E
_02234D4E:
add r0, r4, #0
bl ov12_02234C30
mov r0, #0x42
lsl r0, r0, #2
add r0, r4, r0
bl ov12_02226454
cmp r0, #0
beq _02234D8E
ldr r0, [r4, #0xc]
add r0, r0, #1
str r0, [r4, #0xc]
b _02234D8E
_02234D6A:
mov r6, #0
add r5, r4, #0
_02234D6E:
ldr r0, [r5, #0x18]
bl sub_0200D0F4
add r6, r6, #1
add r5, r5, #4
cmp r6, #6
blt _02234D6E
add r0, r4, #0
bl sub_020181C4
ldr r0, [r4, #0]
add r1, r7, #0
bl ov12_02220220
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
_02234D8E:
ldr r0, [r4, #8]
bl sub_0200C7EC
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov12_02234CA8
thumb_func_start ov12_02234D98
ov12_02234D98: ; 0x02234D98
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x38
add r5, r1, #0
mov r1, #0x4d
lsl r1, r1, #2
add r4, r0, #0
str r2, [sp]
add r7, r3, #0
bl ov12_02235E50
add r6, r0, #0
str r4, [r6, #0]
ldr r0, [sp]
str r5, [r6, #4]
str r0, [r6, #8]
add r0, r4, #0
bl ov12_02220240
add r1, r0, #0
ldr r0, [r6, #0]
bl ov12_022232FC
mov r1, #0
add r5, r0, #0
bl sub_020080C0
mov r1, #0x13
lsl r1, r1, #4
strh r0, [r6, r1]
add r0, r5, #0
mov r1, #1
bl sub_020080C0
ldr r1, _02234E3C ; =0x00000132
strh r0, [r6, r1]
add r0, sp, #4
add r1, r4, #0
bl ov12_0222329C
mov r4, #0
add r5, r6, #0
_02234DEA:
cmp r4, #0
bne _02234DF2
str r7, [r5, #0x18]
b _02234DFE
_02234DF2:
ldr r0, [r6, #4]
ldr r1, [r6, #8]
add r2, sp, #4
bl sub_0200CE6C
str r0, [r5, #0x18]
_02234DFE:
ldr r0, [r5, #0x18]
mov r1, #0x64
bl sub_0200D474
ldr r0, [r5, #0x18]
mov r1, #1
bl sub_0200D810
ldr r0, [r5, #0x18]
mov r1, #1
bl sub_0200D390
add r4, r4, #1
add r5, r5, #4
cmp r4, #6
blt _02234DEA
ldr r0, [r6, #0]
bl ov12_02220240
add r1, r0, #0
ldr r0, [r6, #0]
bl ov12_02225964
str r0, [r6, #0x14]
ldr r0, [r6, #0]
ldr r1, _02234E40 ; =ov12_02234CA8
add r2, r6, #0
bl ov12_022201E8
add sp, #0x38
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
_02234E3C: .word 0x00000132
_02234E40: .word ov12_02234CA8
thumb_func_end ov12_02234D98

519
asm/ov12_02234E44.s Normal file
View File

@ -0,0 +1,519 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov12_02234E44
ov12_02234E44: ; 0x02234E44
strh r1, [r0, #0xc]
strh r2, [r0, #0xe]
bx lr
; .align 2, 0
thumb_func_end ov12_02234E44
thumb_func_start ov12_02234E4C
ov12_02234E4C: ; 0x02234E4C
strh r1, [r0, #0x14]
strh r2, [r0, #0x16]
bx lr
; .align 2, 0
thumb_func_end ov12_02234E4C
thumb_func_start ov12_02234E54
ov12_02234E54: ; 0x02234E54
push {r4, r5, r6, lr}
sub sp, #0x10
add r5, r0, #0
ldr r0, [r5, #0x1c]
add r4, r1, #0
bl ov12_0221FDE4
add r6, r0, #0
ldr r0, [r5, #0x1c]
mov r1, #3
bl ov12_02223428
add r1, r0, #0
lsl r0, r4, #0x18
lsl r1, r1, #0x18
lsr r0, r0, #0x18
lsr r1, r1, #0x18
bl sub_02019060
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
str r6, [sp, #0xc]
ldr r1, [r5, #4]
ldr r0, [r5, #0]
lsl r2, r1, #4
ldr r1, _02234EE4 ; =0x0223A1D8
add r3, r4, #0
ldr r1, [r1, r2]
ldr r2, [r5, #0x2c]
bl sub_02006E3C
mov r0, #0
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #0x80
str r0, [sp, #8]
ldr r2, [r5, #4]
ldr r0, [r5, #0x30]
lsl r3, r2, #4
ldr r2, _02234EE8 ; =0x0223A1DC
ldr r1, [r5, #0]
ldr r2, [r2, r3]
add r3, r6, #0
bl sub_02003050
lsl r1, r4, #0x18
ldr r0, [r5, #0x2c]
lsr r1, r1, #0x18
bl sub_02019EBC
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
str r6, [sp, #0xc]
ldr r1, [r5, #4]
ldr r0, [r5, #0]
lsl r2, r1, #4
ldr r1, _02234EEC ; =0x0223A1E0
add r3, r4, #0
ldr r1, [r1, r2]
ldr r2, [r5, #0x2c]
bl sub_02006E60
add sp, #0x10
pop {r4, r5, r6, pc}
nop
_02234EE4: .word 0x0223A1D8
_02234EE8: .word 0x0223A1DC
_02234EEC: .word 0x0223A1E0
thumb_func_end ov12_02234E54
thumb_func_start ov12_02234EF0
ov12_02234EF0: ; 0x02234EF0
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
ldrb r0, [r4, #0x18]
cmp r0, #3
bhi _02234FAC
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02234F08: ; jump table
.short _02234F10 - _02234F08 - 2 ; case 0
.short _02234F20 - _02234F08 - 2 ; case 1
.short _02234F38 - _02234F08 - 2 ; case 2
.short _02234F58 - _02234F08 - 2 ; case 3
_02234F10:
add r0, r4, #0
mov r1, #2
bl ov12_02234E54
ldrb r0, [r4, #0x18]
add r0, r0, #1
strb r0, [r4, #0x18]
b _02234FFA
_02234F20:
ldrh r0, [r4, #0x16]
mov r1, #4
mov r2, #0x39
str r0, [sp]
ldrh r3, [r4, #0x14]
ldr r0, _02235048 ; =0x04000050
bl sub_020BF55C
ldrb r0, [r4, #0x18]
add r0, r0, #1
strb r0, [r4, #0x18]
b _02234FFA
_02234F38:
add r1, r4, #0
add r1, #0x40
ldrb r1, [r1]
cmp r1, #0x14
bls _02234F48
add r0, r0, #1
strb r0, [r4, #0x18]
b _02234FFA
_02234F48:
add r0, r4, #0
add r0, #0x40
ldrb r0, [r0]
add r1, r0, #1
add r0, r4, #0
add r0, #0x40
strb r1, [r0]
b _02234FFA
_02234F58:
ldrh r0, [r4, #0x14]
cmp r0, #0
beq _02234F62
sub r0, r0, #1
strh r0, [r4, #0x14]
_02234F62:
ldrh r0, [r4, #0x16]
cmp r0, #0x10
bhs _02234F6C
add r0, r0, #1
strh r0, [r4, #0x16]
_02234F6C:
ldrh r0, [r4, #0x14]
cmp r0, #0
bne _02234F9E
ldrh r0, [r4, #0x16]
cmp r0, #0x10
bne _02234F9E
ldr r0, [r4, #0x2c]
mov r1, #2
bl sub_02019EBC
ldr r0, [r4, #0x34]
mov r1, #0
bl sub_0200D3F4
ldr r0, [r4, #0x38]
mov r1, #0
bl sub_0200D3F4
ldr r0, [r4, #0x3c]
mov r1, #0
bl sub_0200D3F4
ldrb r0, [r4, #0x18]
add r0, r0, #1
strb r0, [r4, #0x18]
_02234F9E:
ldrh r0, [r4, #0x16]
ldrh r1, [r4, #0x14]
lsl r0, r0, #8
orr r1, r0
ldr r0, _0223504C ; =0x04000052
strh r1, [r0]
b _02234FFA
_02234FAC:
ldr r0, _02235050 ; =0x0400004A
mov r1, #0x3f
ldrh r2, [r0]
bic r2, r1
mov r1, #0x1f
orr r2, r1
strh r2, [r0]
ldrh r3, [r0]
ldr r2, _02235054 ; =0xFFFFC0FF
lsl r1, r1, #8
and r2, r3
orr r1, r2
strh r1, [r0]
mov r2, #0
ldr r0, [r4, #0x2c]
mov r1, #2
add r3, r2, #0
bl sub_02019184
ldr r0, [r4, #0x2c]
mov r1, #2
mov r2, #3
mov r3, #0
bl sub_02019184
mov r2, #1
lsl r2, r2, #0x1a
ldr r1, [r2, #0]
ldr r0, _02235058 ; =0xFFFF1FFF
and r0, r1
str r0, [r2, #0]
ldr r0, [r4, #0x1c]
add r1, r5, #0
bl ov12_02220220
add r0, r4, #0
bl ov12_02235E80
pop {r3, r4, r5, pc}
_02234FFA:
mov r3, #0x10
mov r0, #0xc
ldrsh r1, [r4, r3]
ldrsh r0, [r4, r0]
mov r2, #0
add r0, r1, r0
strh r0, [r4, #0x10]
mov r0, #0x12
ldrsh r1, [r4, r0]
mov r0, #0xe
ldrsh r0, [r4, r0]
add r0, r1, r0
strh r0, [r4, #0x12]
ldrsh r3, [r4, r3]
ldr r0, [r4, #0x2c]
mov r1, #2
bl sub_02019184
mov r3, #0x12
ldrsh r3, [r4, r3]
ldr r0, [r4, #0x2c]
mov r1, #2
mov r2, #3
bl sub_02019184
ldr r0, [r4, #0x34]
bl sub_0200D330
ldr r0, [r4, #0x38]
bl sub_0200D330
ldr r0, [r4, #0x3c]
bl sub_0200D330
ldr r0, [r4, #0x24]
bl sub_0200C7EC
pop {r3, r4, r5, pc}
nop
_02235048: .word 0x04000050
_0223504C: .word 0x04000052
_02235050: .word 0x0400004A
_02235054: .word 0xFFFFC0FF
_02235058: .word 0xFFFF1FFF
thumb_func_end ov12_02234EF0
thumb_func_start ov12_0223505C
ov12_0223505C: ; 0x0223505C
push {r3, r4, r5, lr}
add r4, r1, #0
mov r1, #7
str r1, [r4, #0]
add r5, r0, #0
mov r1, #0
bl ov12_02220280
str r0, [r4, #4]
add r0, r5, #0
mov r1, #1
bl ov12_02220280
str r0, [r4, #8]
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov12_0223505C
thumb_func_start ov12_0223507C
ov12_0223507C: ; 0x0223507C
push {r4, r5, r6, lr}
add r5, r1, #0
mov r1, #0x44
add r6, r0, #0
bl ov12_02235E50
add r4, r0, #0
add r1, r4, #0
add r0, r6, #0
add r1, #0x18
bl ov12_0223595C
add r2, r4, #0
ldmia r5!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r4, #0x1c]
mov r1, #0
bl ov12_022202C0
str r0, [r4, #0x34]
ldr r0, [r4, #0x1c]
mov r1, #1
bl ov12_022202C0
str r0, [r4, #0x38]
ldr r0, [r4, #0x1c]
mov r1, #2
bl ov12_022202C0
str r0, [r4, #0x3c]
ldr r0, [r4, #0x1c]
mov r1, #2
bl ov12_02223428
ldr r0, [r4, #0x34]
mov r1, #2
bl sub_0200D460
ldr r0, [r4, #0x38]
mov r1, #2
bl sub_0200D460
ldr r0, [r4, #8]
cmp r0, #0
bne _022350E6
add r0, r6, #0
bl ov12_02220240
b _022350EC
_022350E6:
add r0, r6, #0
bl ov12_02220248
_022350EC:
add r1, r0, #0
add r0, r6, #0
bl ov12_02235254
add r5, r0, #0
add r0, r6, #0
bl ov12_0221FDD4
cmp r0, #1
bne _02235124
ldr r0, [r4, #0x3c]
mov r1, #0
bl sub_0200D3F4
ldr r0, [r4, #0x1c]
mov r1, #2
bl ov12_02223428
add r5, r0, #0
ldr r0, [r4, #0x34]
add r1, r5, #0
bl sub_0200D460
ldr r0, [r4, #0x38]
add r1, r5, #0
bl sub_0200D460
b _02235148
_02235124:
cmp r5, #1
bhi _02235132
ldr r0, [r4, #0x3c]
mov r1, #0
bl sub_0200D3F4
b _02235148
_02235132:
sub r0, r5, #3
cmp r0, #1
ldr r0, [r4, #0x3c]
bhi _02235142
mov r1, #3
bl sub_0200D460
b _02235148
_02235142:
mov r1, #1
bl sub_0200D460
_02235148:
ldr r0, _02235194 ; =0x0400004A
ldr r1, _02235198 ; =0xFFFFC0FF
ldrh r2, [r0]
and r2, r1
mov r1, #0x16
lsl r1, r1, #8
orr r2, r1
lsr r1, r0, #0xd
orr r1, r2
strh r1, [r0]
ldrh r2, [r0]
mov r1, #0x3f
bic r2, r1
mov r1, #0x1b
orr r2, r1
mov r1, #0x20
orr r2, r1
strh r2, [r0]
lsl r3, r1, #0x15
ldr r2, [r3, #0]
ldr r0, _0223519C ; =0xFFFF1FFF
and r2, r0
lsl r0, r1, #0xa
orr r0, r2
str r0, [r3, #0]
ldr r0, [r4, #0x38]
mov r1, #2
bl sub_0200D810
mov r0, #0
strh r0, [r4, #0x10]
strh r0, [r4, #0x12]
ldr r0, [r4, #0x1c]
ldr r1, _022351A0 ; =ov12_02234EF0
add r2, r4, #0
bl ov12_022201E8
pop {r4, r5, r6, pc}
; .align 2, 0
_02235194: .word 0x0400004A
_02235198: .word 0xFFFFC0FF
_0223519C: .word 0xFFFF1FFF
_022351A0: .word ov12_02234EF0
thumb_func_end ov12_0223507C
thumb_func_start ov12_022351A4
ov12_022351A4: ; 0x022351A4
push {r4, lr}
sub sp, #0x18
add r1, sp, #0
add r4, r0, #0
bl ov12_0223505C
add r0, sp, #0
mov r1, #0
mov r2, #3
bl ov12_02234E44
add r0, sp, #0
mov r1, #0xc
mov r2, #4
bl ov12_02234E4C
add r0, r4, #0
add r1, sp, #0
bl ov12_0223507C
add sp, #0x18
pop {r4, pc}
thumb_func_end ov12_022351A4
thumb_func_start ov12_022351D0
ov12_022351D0: ; 0x022351D0
push {r4, lr}
sub sp, #0x18
add r1, sp, #0
add r4, r0, #0
bl ov12_0223505C
mov r1, #0
add r0, sp, #0
sub r2, r1, #3
bl ov12_02234E44
add r0, sp, #0
mov r1, #0xc
mov r2, #4
bl ov12_02234E4C
add r0, r4, #0
add r1, sp, #0
bl ov12_0223507C
add sp, #0x18
pop {r4, pc}
thumb_func_end ov12_022351D0
thumb_func_start ov12_022351FC
ov12_022351FC: ; 0x022351FC
push {r4, lr}
sub sp, #0x18
add r1, sp, #0
add r4, r0, #0
bl ov12_0223505C
add r0, sp, #0
mov r1, #0
mov r2, #3
bl ov12_02234E44
add r0, sp, #0
mov r1, #0xc
mov r2, #4
bl ov12_02234E4C
add r0, r4, #0
add r1, sp, #0
bl ov12_0223507C
add sp, #0x18
pop {r4, pc}
thumb_func_end ov12_022351FC
thumb_func_start ov12_02235228
ov12_02235228: ; 0x02235228
push {r4, lr}
sub sp, #0x18
add r1, sp, #0
add r4, r0, #0
bl ov12_0223505C
mov r1, #0
add r0, sp, #0
sub r2, r1, #6
bl ov12_02234E44
add r0, sp, #0
mov r1, #0xc
mov r2, #4
bl ov12_02234E4C
add r0, r4, #0
add r1, sp, #0
bl ov12_0223507C
add sp, #0x18
pop {r4, pc}
thumb_func_end ov12_02235228
.rodata
.global Unk_ov12_0223A1D8
Unk_ov12_0223A1D8: ; 0x0223A1D8
.incbin "incbin/overlay12_rodata.bin", 0x1C44, 0x40

1670
asm/ov12_02235254.s Normal file

File diff suppressed because it is too large Load Diff

4423
asm/ov12_02235E94.s Normal file

File diff suppressed because it is too large Load Diff

106
asm/ov12_02237E54.s Normal file
View File

@ -0,0 +1,106 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov12_02237E54
ov12_02237E54: ; 0x02237E54
push {r3, lr}
sub r1, r1, r3
neg r1, r1
sub r0, r0, r2
lsl r1, r1, #0x10
lsl r0, r0, #0x10
asr r1, r1, #0x10
add r2, r1, #0
asr r0, r0, #0x10
mul r2, r1
add r1, r0, #0
mul r1, r0
add r0, r2, r1
lsl r0, r0, #0xc
bl sub_020BCFF0
asr r1, r0, #0xb
lsr r1, r1, #0x14
add r1, r0, r1
asr r0, r1, #0xc
pop {r3, pc}
; .align 2, 0
thumb_func_end ov12_02237E54
thumb_func_start ov12_02237E80
ov12_02237E80: ; 0x02237E80
push {r3, r4, r5, lr}
add r5, r0, #0
bl sub_0202CA80
add r4, r0, #0
add r0, r5, #0
bl sub_0202CA84
add r1, r0, #0
add r0, r4, #0
mov r2, #0xbe
mov r3, #0x46
bl ov12_02237E54
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov12_02237E80
thumb_func_start ov12_02237EA0
ov12_02237EA0: ; 0x02237EA0
push {r4, lr}
sub sp, #8
ldr r3, _02237EF8 ; =0x0223B040
add r4, r0, #0
add r2, sp, #0
mov r1, #7
_02237EAC:
ldrb r0, [r3]
add r3, r3, #1
strb r0, [r2]
add r2, r2, #1
sub r1, r1, #1
bne _02237EAC
add r0, r4, #0
bl sub_0202CA7C
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bl sub_020981AC
cmp r0, #0
bne _02237EEE
add r0, r4, #0
bl ov12_02237E80
cmp r0, #0x38
blt _02237ED8
mov r0, #3
b _02237EE6
_02237ED8:
add r0, r0, #1
mov r1, #0x14
bl sub_020E1F6C
cmp r0, #3
blt _02237EE6
mov r0, #3
_02237EE6:
add r1, sp, #0
add sp, #8
ldrb r0, [r1, r0]
pop {r4, pc}
_02237EEE:
add r0, sp, #0
ldrb r0, [r0, #1]
add sp, #8
pop {r4, pc}
nop
_02237EF8: .word 0x0223B040
thumb_func_end ov12_02237EA0
.rodata
.global Unk_ov12_0223B040
Unk_ov12_0223B040: ; 0x0223B040
.incbin "incbin/overlay12_rodata.bin", 0x2AAC, 0x7

276
asm/ov12_02237EFC.s Normal file
View File

@ -0,0 +1,276 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov12_02237EFC
ov12_02237EFC: ; 0x02237EFC
push {r4, r5, r6, lr}
add r5, r1, #0
mov r1, #0x48
add r6, r0, #0
bl sub_02018144
add r4, r0, #0
bne _02237F14
bl sub_02022974
mov r0, #0
pop {r4, r5, r6, pc}
_02237F14:
bl ov12_02220474
str r6, [r4, #0]
cmp r5, #0
beq _02237F22
ldr r0, [r5, #0]
str r0, [r4, #4]
_02237F22:
mov r1, #0
add r2, r4, #0
add r0, r1, #0
_02237F28:
add r1, r1, #1
str r0, [r2, #8]
add r2, r2, #4
cmp r1, #0x10
blt _02237F28
add r0, r4, #0
pop {r4, r5, r6, pc}
; .align 2, 0
thumb_func_end ov12_02237EFC
thumb_func_start ov12_02237F38
ov12_02237F38: ; 0x02237F38
push {r4, r5, r6, lr}
mov r4, #0
add r5, r4, #0
add r3, r0, #0
_02237F40:
ldr r2, [r3, #8]
cmp r2, #0
bne _02237F60
add r4, r0, #0
ldr r0, [r0, #0]
add r4, #8
lsl r6, r5, #2
bl ov12_02237FC8
str r0, [r4, r6]
ldr r0, [r4, r6]
mov r1, #0
str r1, [r0, #0x18]
ldr r4, [r4, r6]
str r5, [r4, #0]
b _02237F68
_02237F60:
add r5, r5, #1
add r3, r3, #4
cmp r5, #0x10
blt _02237F40
_02237F68:
cmp r4, #0
bne _02237F70
bl sub_02022974
_02237F70:
add r0, r4, #0
pop {r4, r5, r6, pc}
thumb_func_end ov12_02237F38
thumb_func_start ov12_02237F74
ov12_02237F74: ; 0x02237F74
push {r4, r5, r6, lr}
add r6, r0, #0
mov r4, #0
add r5, r6, #0
_02237F7C:
ldr r0, [r5, #8]
cmp r0, #0
beq _02237F86
bl sub_020181C4
_02237F86:
add r4, r4, #1
add r5, r5, #4
cmp r4, #0x10
blt _02237F7C
add r0, r6, #0
bl sub_020181C4
pop {r4, r5, r6, pc}
; .align 2, 0
thumb_func_end ov12_02237F74
thumb_func_start ov12_02237F98
ov12_02237F98: ; 0x02237F98
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_02237F9E:
ldr r0, [r5, #8]
cmp r0, #0
beq _02237FBC
ldr r0, [r0, #0x10]
bl ov12_02223894
ldr r1, [r5, #8]
ldr r0, [r1, #0x20]
cmp r0, #0
beq _02237FBC
ldr r0, [r1, #0x18]
cmp r0, #0
beq _02237FBC
bl sub_0200DA58
_02237FBC:
add r4, r4, #1
add r5, r5, #4
cmp r4, #0x10
blt _02237F9E
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov12_02237F98
thumb_func_start ov12_02237FC8
ov12_02237FC8: ; 0x02237FC8
push {r4, r5, r6, lr}
add r6, r1, #0
mov r1, #0x24
add r5, r0, #0
bl sub_02018144
add r4, r0, #0
bne _02237FE0
bl sub_02022974
mov r0, #0
pop {r4, r5, r6, pc}
_02237FE0:
str r5, [r4, #4]
ldr r1, [r6, #0]
ldr r0, [r6, #4]
str r1, [r4, #8]
str r0, [r4, #0xc]
ldr r0, [r4, #8]
bl ov12_02238088
str r0, [r4, #0x1c]
ldr r0, [r4, #4]
ldr r1, [r4, #8]
mov r2, #1
bl ov12_022237F0
str r0, [r4, #0x10]
add r0, r4, #0
pop {r4, r5, r6, pc}
; .align 2, 0
thumb_func_end ov12_02237FC8
thumb_func_start ov12_02238004
ov12_02238004: ; 0x02238004
push {r4, lr}
add r4, r0, #0
mov r1, #1
str r1, [r4, #0x20]
ldr r1, _02238024 ; =ov12_02238080
bl ov12_02238054
mov r2, #0xfa
ldr r0, _02238028 ; =ov12_02238030
add r1, r4, #0
lsl r2, r2, #2
bl sub_0200D9E8
str r0, [r4, #0x18]
pop {r4, pc}
nop
_02238024: .word ov12_02238080
_02238028: .word ov12_02238030
thumb_func_end ov12_02238004
thumb_func_start ov12_0223802C
ov12_0223802C: ; 0x0223802C
ldr r0, [r0, #0x20]
bx lr
thumb_func_end ov12_0223802C
thumb_func_start ov12_02238030
ov12_02238030: ; 0x02238030
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #0x10]
bl sub_02014710
cmp r0, #0
bne _02238050
mov r0, #0
str r0, [r4, #0x20]
ldr r0, [r4, #0x10]
bl ov12_02223894
add r0, r5, #0
bl sub_0200DA58
_02238050:
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov12_02238030
thumb_func_start ov12_02238054
ov12_02238054: ; 0x02238054
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0x1c]
add r6, r1, #0
mov r4, #0
cmp r0, #0
ble _02238076
_02238062:
ldr r0, [r5, #0x10]
add r1, r4, #0
add r2, r6, #0
add r3, r5, #0
bl sub_020146F4
ldr r0, [r5, #0x1c]
add r4, r4, #1
cmp r4, r0
blt _02238062
_02238076:
ldr r0, [r5, #0x10]
ldr r1, [r5, #0xc]
bl sub_02014788
pop {r4, r5, r6, pc}
thumb_func_end ov12_02238054
thumb_func_start ov12_02238080
ov12_02238080: ; 0x02238080
ldr r3, _02238084 ; =sub_02014764
bx r3
; .align 2, 0
_02238084: .word sub_02014764
thumb_func_end ov12_02238080
thumb_func_start ov12_02238088
ov12_02238088: ; 0x02238088
push {r3, r4, r5, lr}
sub sp, #0x58
ldr r4, _022380B8 ; =0x0223B048
add r5, r0, #0
add r3, sp, #0
mov r2, #0xb
_02238094:
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _02238094
sub r0, r5, #5
cmp r0, #0x16
blo _022380AC
bl sub_02022974
add sp, #0x58
mov r0, #0
pop {r3, r4, r5, pc}
_022380AC:
lsl r1, r0, #2
add r0, sp, #0
ldr r0, [r0, r1]
add sp, #0x58
pop {r3, r4, r5, pc}
nop
_022380B8: .word 0x0223B048
thumb_func_end ov12_02238088
.rodata
.global Unk_ov12_0223B048
Unk_ov12_0223B048: ; 0x0223B048
.incbin "incbin/overlay12_rodata.bin", 0x2AB4, 0x58

556
asm/ov12_022380BC.s Normal file
View File

@ -0,0 +1,556 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov12_022380BC
ov12_022380BC: ; 0x022380BC
push {r3, lr}
add r3, r1, #0
ldr r1, [r0, #0]
mov r2, #0
bl ov12_022380DC
pop {r3, pc}
; .align 2, 0
thumb_func_end ov12_022380BC
thumb_func_start ov12_022380CC
ov12_022380CC: ; 0x022380CC
push {r3, lr}
add r3, r1, #0
ldr r1, [r0, #4]
mov r2, #1
bl ov12_022380DC
pop {r3, pc}
; .align 2, 0
thumb_func_end ov12_022380CC
thumb_func_start ov12_022380DC
ov12_022380DC: ; 0x022380DC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x38
add r5, r0, #0
ldr r0, [r5, #0]
add r4, r1, #0
lsl r0, r0, #2
add r0, r5, r0
ldr r0, [r0, #0x18]
add r7, r2, #0
str r3, [sp, #0x10]
bl sub_020089B0
ldr r0, [r5, #4]
lsl r1, r0, #1
add r1, r5, r1
ldrh r6, [r1, #0x28]
add r1, r5, r0
add r1, #0x30
ldrb r1, [r1]
add r2, r5, r0
add r2, #0x38
str r1, [sp, #0x1c]
add r1, r5, r0
lsl r0, r0, #2
ldrb r2, [r2]
add r0, r5, r0
add r1, #0x34
ldr r0, [r0, #0x3c]
ldrb r1, [r1]
str r2, [sp, #0x18]
str r0, [sp, #0x14]
cmp r7, #0
beq _02238132
add r0, r5, r4
add r0, #0x4c
ldrb r2, [r0]
mov r0, #1
tst r0, r2
beq _0223812E
mov r4, #0
b _02238144
_0223812E:
mov r4, #2
b _02238144
_02238132:
add r0, r5, r4
add r0, #0x4c
ldrb r2, [r0]
mov r0, #1
tst r0, r2
beq _02238142
mov r4, #2
b _02238144
_02238142:
mov r4, #0
_02238144:
lsl r0, r1, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldr r0, [sp, #0x18]
ldr r2, [sp, #0x1c]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
ldr r0, [sp, #0x14]
lsl r1, r6, #0x10
lsl r2, r2, #0x18
lsl r3, r4, #0x18
str r0, [sp, #8]
add r0, sp, #0x28
lsr r1, r1, #0x10
lsr r2, r2, #0x18
lsr r3, r3, #0x18
bl sub_02075FB4
ldr r0, [r5, #0]
lsl r0, r0, #2
add r0, r5, r0
ldr r0, [r0, #0x18]
bl sub_02008A90
add r7, r0, #0
add r3, sp, #0x28
add r2, r7, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r5, #0]
lsl r0, r0, #2
add r0, r5, r0
ldr r0, [r0, #0x18]
bl sub_020089A0
ldr r0, [sp, #0x14]
ldr r2, [sp, #0x10]
str r0, [sp]
mov r0, #0
str r0, [sp, #4]
str r4, [sp, #8]
ldrh r0, [r7, #6]
str r0, [sp, #0xc]
ldr r3, [r5, #0]
ldrh r0, [r7]
lsl r3, r3, #2
add r3, r5, r3
ldr r3, [r3, #8]
ldrh r1, [r7, #2]
ldr r3, [r3, #0]
bl sub_02013750
ldr r1, [r5, #0]
ldr r3, [sp, #0x18]
lsl r1, r1, #2
add r1, r5, r1
lsl r2, r4, #0x18
lsl r3, r3, #0x18
ldrh r0, [r7]
ldr r1, [r1, #8]
lsr r2, r2, #0x18
str r0, [r1, #4]
ldr r1, [r5, #0]
ldrh r0, [r7, #4]
lsl r1, r1, #2
add r1, r5, r1
ldr r1, [r1, #8]
lsr r3, r3, #0x18
str r0, [r1, #8]
ldr r0, [sp, #0x14]
ldr r1, [sp, #0x1c]
str r0, [sp]
lsl r0, r6, #0x10
lsl r1, r1, #0x18
lsr r0, r0, #0x10
lsr r1, r1, #0x18
bl sub_02076648
ldr r1, [r5, #0]
lsl r1, r1, #2
add r1, r5, r1
ldr r1, [r1, #8]
str r0, [r1, #0xc]
ldr r0, [r5, #0]
lsl r1, r0, #2
add r1, r5, r1
ldr r1, [r1, #8]
add r0, r5, r0
ldr r1, [r1, #0xc]
add r0, #0x4c
lsl r1, r1, #0x18
asr r7, r1, #0x18
ldrb r0, [r0]
mov r1, #1
bl ov12_022384CC
str r0, [sp, #0x20]
ldr r0, [r5, #0]
ldr r2, [sp, #0x20]
lsl r0, r0, #2
add r0, r5, r0
ldr r0, [r0, #0x18]
mov r1, #1
add r2, r2, r7
bl sub_02007DEC
cmp r4, #2
bne _022382B8
ldr r1, [sp, #0x10]
mov r0, #0x93
bl sub_02006C24
add r1, sp, #0x24
lsl r2, r6, #0x10
add r1, #2
lsr r2, r2, #0x10
add r4, r0, #0
bl sub_02078A80
add r1, sp, #0x24
lsl r2, r6, #0x10
add r0, r4, #0
add r1, #1
lsr r2, r2, #0x10
bl sub_02078AA4
lsl r2, r6, #0x10
add r0, r4, #0
add r1, sp, #0x24
lsr r2, r2, #0x10
bl sub_02078AC8
add r0, r4, #0
bl sub_02006CA8
ldr r0, [r5, #0]
add r2, sp, #0x24
lsl r0, r0, #2
add r0, r5, r0
ldrb r2, [r2]
ldr r0, [r0, #0x18]
mov r1, #0x2e
bl sub_02007DEC
ldr r0, [r5, #0]
ldr r2, [sp, #0x20]
lsl r0, r0, #2
add r0, r5, r0
add r2, #0x24
ldr r0, [r0, #0x18]
mov r1, #0x14
str r2, [sp, #0x20]
bl sub_02007DEC
ldr r0, [r5, #0]
add r3, sp, #0x24
lsl r0, r0, #2
mov r2, #1
add r0, r5, r0
ldrsb r2, [r3, r2]
ldr r0, [r0, #0x18]
mov r1, #0x15
bl sub_02007DEC
ldr r0, [r5, #0]
mov r2, #0x24
lsl r0, r0, #2
add r0, r5, r0
ldr r0, [r0, #0x18]
mov r1, #0x16
sub r2, r2, r7
bl sub_02007DEC
ldr r0, [r5, #0]
add r3, sp, #0x24
lsl r0, r0, #2
mov r2, #2
add r0, r5, r0
ldrsb r2, [r3, r2]
ldr r0, [r0, #0x18]
mov r1, #0x29
bl sub_02007DEC
_022382B8:
add sp, #0x38
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov12_022380DC
thumb_func_start ov12_022382BC
ov12_022382BC: ; 0x022382BC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r0, #0
ldr r0, [r5, #0]
str r1, [sp, #0x10]
lsl r0, r0, #2
add r0, r5, r0
ldr r0, [r0, #0x18]
bl sub_02008A0C
ldr r0, [r5, #0]
lsl r0, r0, #2
add r0, r5, r0
ldr r0, [r0, #0x18]
bl sub_02008A90
add r4, r0, #0
ldr r0, [r5, #0]
lsl r1, r0, #1
add r1, r5, r1
ldrh r1, [r1, #0x28]
lsl r3, r0, #2
str r1, [sp, #0x1c]
add r1, r5, r0
add r1, #0x30
ldrb r1, [r1]
str r1, [sp, #0x18]
add r1, r5, r0
add r1, #0x38
ldrb r1, [r1]
add r0, r5, r0
add r0, #0x4c
str r1, [sp, #0x14]
add r1, r5, r3
ldr r7, [r1, #0x3c]
ldrb r1, [r0]
mov r0, #1
tst r0, r1
beq _0223830E
mov r6, #2
b _02238310
_0223830E:
mov r6, #0
_02238310:
str r7, [sp]
mov r0, #0
str r0, [sp, #4]
str r6, [sp, #8]
ldrh r0, [r4, #6]
add r3, r5, r3
ldr r2, [sp, #0x10]
str r0, [sp, #0xc]
ldr r3, [r3, #8]
ldrh r0, [r4]
ldrh r1, [r4, #2]
ldr r3, [r3, #0]
bl sub_02013750
ldr r1, [r5, #0]
ldrh r0, [r4]
lsl r1, r1, #2
add r1, r5, r1
ldr r1, [r1, #8]
ldr r3, [sp, #0x14]
str r0, [r1, #4]
ldr r1, [r5, #0]
lsl r2, r6, #0x18
lsl r1, r1, #2
add r1, r5, r1
lsl r3, r3, #0x18
ldrh r0, [r4, #4]
ldr r1, [r1, #8]
lsr r2, r2, #0x18
str r0, [r1, #8]
ldr r0, [sp, #0x1c]
ldr r1, [sp, #0x18]
lsl r0, r0, #0x10
lsl r1, r1, #0x18
str r7, [sp]
lsr r0, r0, #0x10
lsr r1, r1, #0x18
lsr r3, r3, #0x18
bl sub_02076648
ldr r1, [r5, #0]
lsl r1, r1, #2
add r1, r5, r1
ldr r1, [r1, #8]
str r0, [r1, #0xc]
ldr r0, [r5, #0]
mov r1, #1
lsl r4, r0, #2
add r0, r5, r0
add r0, #0x4c
ldrb r0, [r0]
bl ov12_022384CC
add r1, r5, r4
add r2, r0, #0
ldr r0, [r1, #8]
ldr r3, [r0, #0xc]
ldr r0, [r1, #0x18]
mov r1, #1
add r2, r3, r2
bl sub_02007DEC
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov12_022382BC
thumb_func_start ov12_02238390
ov12_02238390: ; 0x02238390
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
ldr r0, [r5, #0]
add r6, r1, #0
lsl r0, r0, #2
add r0, r5, r0
ldr r0, [r0, #0x18]
bl sub_020089B0
mov r0, #0x75
add r2, sp, #0
strh r0, [r2, #4]
mov r0, #0xfa
strh r0, [r2, #8]
mov r0, #0
strh r0, [r2, #0xa]
strb r0, [r2, #0xc]
str r0, [sp, #0x10]
ldr r0, [r5, #0]
add r1, r5, r0
add r1, #0x4c
ldrb r3, [r1]
mov r1, #1
tst r1, r3
beq _022383CC
mov r1, #0xf9
strh r1, [r2, #6]
mov r4, #0x87
b _022383D2
_022383CC:
mov r1, #0xf8
strh r1, [r2, #6]
mov r4, #0x86
_022383D2:
lsl r0, r0, #2
add r0, r5, r0
ldr r0, [r0, #0x18]
bl sub_02008A90
add r7, r0, #0
add r3, sp, #4
add r2, r7, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r5, #0]
lsl r0, r0, #2
add r0, r5, r0
ldr r0, [r0, #0x18]
bl sub_020089A0
ldr r3, [r5, #0]
ldrh r0, [r7]
lsl r3, r3, #2
add r3, r5, r3
ldr r3, [r3, #8]
ldrh r1, [r7, #2]
ldr r3, [r3, #0]
add r2, r6, #0
bl sub_02013610
ldr r2, [r5, #0]
add r1, sp, #0
lsl r2, r2, #2
add r2, r5, r2
ldrh r0, [r1, #4]
ldr r2, [r2, #8]
str r0, [r2, #4]
ldr r0, [r5, #0]
ldrh r1, [r1, #8]
lsl r0, r0, #2
add r0, r5, r0
ldr r0, [r0, #8]
add r2, r4, #0
str r1, [r0, #8]
add r0, sp, #0
mov r1, #0x79
bl sub_02006AA4
add r0, sp, #0
ldrb r1, [r0]
ldr r0, [r5, #0]
lsl r0, r0, #2
add r0, r5, r0
ldr r0, [r0, #8]
str r1, [r0, #0xc]
ldr r0, [r5, #0]
mov r1, #1
lsl r4, r0, #2
add r0, r5, r0
add r0, #0x4c
ldrb r0, [r0]
bl ov12_022384CC
add r2, r5, r4
ldr r1, [r2, #8]
ldr r1, [r1, #0xc]
add r4, r1, r0
ldr r0, [r2, #0x18]
mov r1, #1
add r2, r4, #0
bl sub_02007DEC
ldr r1, [r5, #0]
mov r2, #1
add r0, r5, r1
add r0, #0x4c
ldrb r0, [r0]
tst r0, r2
beq _022384C6
lsl r0, r1, #2
add r0, r5, r0
ldr r0, [r0, #0x18]
mov r1, #0x2e
bl sub_02007DEC
ldr r0, [r5, #0]
add r2, sp, #0
ldrb r3, [r2]
lsl r0, r0, #2
add r0, r5, r0
mov r2, #0x24
sub r2, r2, r3
ldr r0, [r0, #0x18]
mov r1, #0x14
add r2, r4, r2
bl sub_02007DEC
ldr r0, [r5, #0]
mov r1, #0x15
lsl r0, r0, #2
add r0, r5, r0
ldr r0, [r0, #0x18]
mov r2, #0
bl sub_02007DEC
ldr r0, [r5, #0]
add r2, sp, #0
lsl r0, r0, #2
ldrb r3, [r2]
add r0, r5, r0
mov r2, #0x24
ldr r0, [r0, #0x18]
mov r1, #0x16
sub r2, r2, r3
bl sub_02007DEC
ldr r0, [r5, #0]
mov r1, #0x29
lsl r0, r0, #2
add r0, r5, r0
ldr r0, [r0, #0x18]
mov r2, #0
bl sub_02007DEC
_022384C6:
add sp, #0x14
pop {r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov12_02238390
thumb_func_start ov12_022384CC
ov12_022384CC: ; 0x022384CC
cmp r1, #0
bne _022384D8
lsl r1, r0, #2
ldr r0, _022384E8 ; =0x0223B0A0
ldrsh r0, [r0, r1]
bx lr
_022384D8:
mov r2, #6
mul r2, r0
ldr r0, _022384EC ; =0x0223B0B8
lsl r1, r1, #1
add r0, r0, r2
ldrsh r0, [r1, r0]
bx lr
nop
_022384E8: .word 0x0223B0A0
_022384EC: .word 0x0223B0B8
thumb_func_end ov12_022384CC
.rodata
.global Unk_ov12_0223B0A0
Unk_ov12_0223B0A0: ; 0x0223B0A0
.incbin "incbin/overlay12_rodata.bin", 0x2B0C, 0x2B24 - 0x2B0C
.global Unk_ov12_0223B0B8
Unk_ov12_0223B0B8: ; 0x0223B0B8
.incbin "incbin/overlay12_rodata.bin", 0x2B24, 0x2B48 - 0x2B24
.global Unk_ov12_0223B0DC
Unk_ov12_0223B0DC: ; 0x0223B0DC
.incbin "incbin/overlay12_rodata.bin", 0x2B48, 0x24

103
asm/ov12_022384F0.s Normal file
View File

@ -0,0 +1,103 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov12_022384F0
ov12_022384F0: ; 0x022384F0
ldr r2, _02238590 ; =0x0000013B
cmp r0, r2
bhi _0223851E
bhs _0223857E
cmp r0, #0x7d
bhi _0223850C
bhs _0223857E
cmp r0, #0x63
bhi _02238506
beq _0223857E
b _0223858A
_02238506:
cmp r0, #0x78
beq _0223857E
b _0223858A
_0223850C:
cmp r0, #0xc9
bhi _02238518
bhs _0223857E
cmp r0, #0x9f
beq _0223857E
b _0223858A
_02238518:
cmp r0, #0xd7
beq _0223857E
b _0223858A
_0223851E:
add r3, r2, #0
add r3, #0x5c
cmp r0, r3
bhi _0223855E
add r1, r2, #0
add r1, #0x5b
cmp r0, r1
blo _0223853E
add r1, r2, #0
add r1, #0x5b
cmp r0, r1
beq _0223857E
add r2, #0x5c
cmp r0, r2
beq _0223857E
b _0223858A
_0223853E:
add r1, r2, #0
add r1, #0x2c
cmp r0, r1
bhi _02238556
add r1, r2, #0
add r1, #0x2c
cmp r0, r1
bhs _0223857E
add r2, #0x14
cmp r0, r2
beq _0223857E
b _0223858A
_02238556:
add r2, #0x4a
cmp r0, r2
beq _0223857E
b _0223858A
_0223855E:
add r3, r2, #0
add r3, #0x99
cmp r0, r3
bhi _02238576
add r1, r2, #0
add r1, #0x99
cmp r0, r1
bhs _0223857E
add r2, #0x98
cmp r0, r2
beq _0223857E
b _0223858A
_02238576:
add r2, #0xb1
cmp r0, r2
beq _02238582
b _0223858A
_0223857E:
mov r0, #0
bx lr
_02238582:
cmp r1, #1
bne _0223858A
mov r0, #0
bx lr
_0223858A:
mov r0, #1
bx lr
nop
_02238590: .word 0x0000013B
thumb_func_end ov12_022384F0

3945
asm/ov13_0221FC20.s Normal file

File diff suppressed because it is too large Load Diff

5039
asm/ov13_02221A88.s Normal file

File diff suppressed because it is too large Load Diff

2393
asm/ov13_02224500.s Normal file

File diff suppressed because it is too large Load Diff

1882
asm/ov13_02225710.s Normal file

File diff suppressed because it is too large Load Diff

1729
asm/ov13_022264F4.s Normal file

File diff suppressed because it is too large Load Diff

1008
asm/ov13_02227288.s Normal file

File diff suppressed because it is too large Load Diff

238
asm/ov13_02227A4C.s Normal file
View File

@ -0,0 +1,238 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov13_02227A4C
ov13_02227A4C: ; 0x02227A4C
push {r4, lr}
add r4, r0, #0
ldr r3, [r4, #0]
ldrh r1, [r3, #0x20]
cmp r1, #0
bne _02227A5C
mov r0, #0
pop {r4, pc}
_02227A5C:
ldr r0, [r3, #8]
ldr r3, [r3, #0xc]
mov r2, #1
bl sub_0207D688
cmp r0, #0
bne _02227A76
ldr r1, [r4, #0]
mov r0, #0
strh r0, [r1, #0x20]
ldr r1, [r4, #0]
strb r0, [r1, #0x1f]
pop {r4, pc}
_02227A76:
mov r0, #1
pop {r4, pc}
; .align 2, 0
thumb_func_end ov13_02227A4C
thumb_func_start ov13_02227A7C
ov13_02227A7C: ; 0x02227A7C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, _02227AC4 ; =0x0000114D
ldr r6, [r5, #0]
ldrb r7, [r5, r0]
mov r0, #0x90
ldrh r2, [r6, #0x20]
mul r0, r7
mov r4, #0
add r1, r5, r0
_02227A90:
ldrh r0, [r1, #0x3c]
cmp r2, r0
bne _02227ABA
add r0, r4, #0
mov r1, #6
bl sub_020E2178
add r0, r6, r7
add r0, #0x27
strb r1, [r0]
add r0, r4, #0
mov r1, #6
bl sub_020E2178
ldr r1, _02227AC4 ; =0x0000114D
ldr r2, [r5, #0]
ldrb r1, [r5, r1]
add r1, r2, r1
add r1, #0x2c
strb r0, [r1]
pop {r3, r4, r5, r6, r7, pc}
_02227ABA:
add r4, r4, #1
add r1, r1, #4
cmp r4, #0x24
blo _02227A90
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
_02227AC4: .word 0x0000114D
thumb_func_end ov13_02227A7C
thumb_func_start ov13_02227AC8
ov13_02227AC8: ; 0x02227AC8
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r0, #0
mov r0, #0
str r0, [sp, #4]
_02227AD2:
mov r0, #0
str r0, [sp]
ldr r0, [sp, #4]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #8]
_02227ADE:
ldr r0, [r4, #0]
ldr r2, [sp]
ldr r0, [r0, #8]
lsl r2, r2, #0x10
ldr r1, [sp, #8]
lsr r2, r2, #0x10
bl sub_0207D910
add r5, r0, #0
beq _02227B50
ldrh r0, [r5]
cmp r0, #0
beq _02227B48
ldrh r1, [r5, #2]
cmp r1, #0
beq _02227B48
ldr r2, [r4, #0]
mov r1, #0xd
ldr r2, [r2, #0xc]
bl sub_0207CFF0
add r7, r0, #0
ldr r1, _02227B9C ; =0x02229BB0
mov r0, #0
_02227B0E:
mov r2, #1
lsl r2, r0
tst r2, r7
beq _02227B40
ldrb r2, [r1]
mov r3, #0x90
add r6, r2, #0
mul r6, r3
add r3, r4, r2
ldr r2, _02227BA0 ; =0x0000114F
ldrb r2, [r3, r2]
add r3, r4, r6
lsl r2, r2, #2
add r2, r2, r3
ldrh r3, [r5]
strh r3, [r2, #0x3c]
ldrh r3, [r5, #2]
strh r3, [r2, #0x3e]
ldrb r2, [r1]
add r6, r4, r2
ldr r2, _02227BA0 ; =0x0000114F
ldrb r2, [r6, r2]
add r3, r2, #1
ldr r2, _02227BA0 ; =0x0000114F
strb r3, [r6, r2]
_02227B40:
add r0, r0, #1
add r1, r1, #1
cmp r0, #5
blo _02227B0E
_02227B48:
ldr r0, [sp]
add r0, r0, #1
str r0, [sp]
b _02227ADE
_02227B50:
ldr r0, [sp, #4]
add r0, r0, #1
str r0, [sp, #4]
cmp r0, #8
blo _02227AD2
mov r5, #0
add r7, r5, #0
_02227B5E:
ldr r0, _02227BA0 ; =0x0000114F
add r6, r4, r5
ldrb r0, [r6, r0]
cmp r0, #0
bne _02227B6E
ldr r0, _02227BA4 ; =0x00001154
strb r7, [r6, r0]
b _02227B7A
_02227B6E:
sub r0, r0, #1
mov r1, #6
bl sub_020E1F6C
ldr r1, _02227BA4 ; =0x00001154
strb r0, [r6, r1]
_02227B7A:
ldr r1, [r4, #0]
ldr r0, _02227BA4 ; =0x00001154
add r2, r1, r5
add r2, #0x2c
ldrb r0, [r6, r0]
ldrb r2, [r2]
cmp r0, r2
bhs _02227B90
add r1, r1, r5
add r1, #0x2c
strb r0, [r1]
_02227B90:
add r5, r5, #1
cmp r5, #5
blo _02227B5E
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
_02227B9C: .word 0x02229BB0
_02227BA0: .word 0x0000114F
_02227BA4: .word 0x00001154
thumb_func_end ov13_02227AC8
thumb_func_start ov13_02227BA8
ov13_02227BA8: ; 0x02227BA8
push {r3, r4}
ldr r2, _02227BD8 ; =0x0000114D
ldr r3, [r0, #0]
ldrb r2, [r0, r2]
add r3, r3, r2
add r3, #0x2c
ldrb r4, [r3]
mov r3, #6
mul r3, r4
add r1, r1, r3
lsl r3, r1, #2
mov r1, #0x90
mul r1, r2
add r0, r0, r1
add r1, r0, r3
ldrh r0, [r1, #0x3c]
cmp r0, #0
beq _02227BD2
ldrh r1, [r1, #0x3e]
cmp r1, #0
bne _02227BD4
_02227BD2:
mov r0, #0
_02227BD4:
pop {r3, r4}
bx lr
; .align 2, 0
_02227BD8: .word 0x0000114D
thumb_func_end ov13_02227BA8
.rodata
.global Unk_ov13_02229BB0
Unk_ov13_02229BB0: ; 0x02229BB0
.incbin "incbin/overlay13_rodata.bin", 0xEB4, 0x5

731
asm/ov13_02227BDC.s Normal file
View File

@ -0,0 +1,731 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov13_02227BDC
ov13_02227BDC: ; 0x02227BDC
push {r4, lr}
add r4, r0, #0
bl ov13_02227C08
add r0, r4, #0
bl ov13_02227C54
add r0, r4, #0
bl ov13_02227DE8
add r0, r4, #0
bl ov13_02227F7C
add r0, r4, #0
bl ov13_02228070
mov r0, #0x10
mov r1, #1
bl sub_0201FF74
pop {r4, pc}
; .align 2, 0
thumb_func_end ov13_02227BDC
thumb_func_start ov13_02227C08
ov13_02227C08: ; 0x02227C08
push {r3, r4, r5, lr}
sub sp, #0x18
ldr r3, _02227C50 ; =0x02229BE4
add r2, sp, #0
add r5, r0, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r5, #0]
ldr r0, [r0, #0]
bl ov16_0223E010
add r4, r0, #0
bl sub_0200C704
mov r1, #0xc3
lsl r1, r1, #2
str r0, [r5, r1]
ldr r1, [r5, r1]
add r0, r4, #0
mov r2, #0xc
bl sub_0200C7C0
mov r1, #0xc3
lsl r1, r1, #2
ldr r1, [r5, r1]
add r0, r4, #0
add r2, sp, #0
bl sub_0200CB30
add sp, #0x18
pop {r3, r4, r5, pc}
nop
_02227C50: .word 0x02229BE4
thumb_func_end ov13_02227C08
thumb_func_start ov13_02227C54
ov13_02227C54: ; 0x02227C54
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r6, r0, #0
ldr r1, [r6, #0]
mov r0, #0x10
ldr r1, [r1, #0xc]
bl sub_02006C24
add r7, r0, #0
ldr r0, [r6, #0]
ldr r0, [r0, #0]
bl ov16_0223E010
str r0, [sp, #0x18]
mov r4, #0
_02227C72:
ldr r0, _02227D0C ; =0x0000B4B7
add r5, r4, r0
mov r0, #1
add r1, r0, #0
bl sub_0207CE78
add r3, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
mov r1, #0xc3
str r5, [sp, #8]
lsl r1, r1, #2
ldr r0, [sp, #0x18]
ldr r1, [r6, r1]
add r2, r7, #0
bl sub_0200CC3C
mov r0, #1
mov r1, #2
bl sub_0207CE78
str r7, [sp]
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
mov r0, #2
str r0, [sp, #0x10]
mov r3, #0xc3
str r5, [sp, #0x14]
lsl r3, r3, #2
ldr r0, [r6, #8]
ldr r2, [sp, #0x18]
ldr r3, [r6, r3]
mov r1, #3
bl sub_0200CDC4
add r4, r4, #1
cmp r4, #6
blo _02227C72
bl sub_0207CF40
add r3, r0, #0
mov r0, #0
str r0, [sp]
ldr r0, _02227D0C ; =0x0000B4B7
mov r1, #0xc3
str r0, [sp, #4]
lsl r1, r1, #2
ldr r0, [sp, #0x18]
ldr r1, [r6, r1]
add r2, r7, #0
bl sub_0200CE24
bl sub_0207CF44
add r3, r0, #0
mov r0, #0
str r0, [sp]
ldr r0, _02227D0C ; =0x0000B4B7
mov r1, #0xc3
str r0, [sp, #4]
lsl r1, r1, #2
ldr r0, [sp, #0x18]
ldr r1, [r6, r1]
add r2, r7, #0
bl sub_0200CE54
add r0, r7, #0
bl sub_02006CA8
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
nop
_02227D0C: .word 0x0000B4B7
thumb_func_end ov13_02227C54
thumb_func_start ov13_02227D10
ov13_02227D10: ; 0x02227D10
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
ldr r0, [r5, #0]
add r6, r1, #0
ldr r0, [r0, #0]
add r4, r2, #0
bl ov16_0223E010
add r7, r0, #0
add r0, r6, #0
mov r1, #1
bl sub_0207CE78
add r3, r0, #0
mov r0, #0
str r0, [sp]
mov r1, #0xc3
str r4, [sp, #4]
lsl r1, r1, #2
ldr r1, [r5, r1]
add r0, r7, #0
mov r2, #0x10
bl sub_0200D948
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov13_02227D10
thumb_func_start ov13_02227D48
ov13_02227D48: ; 0x02227D48
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
add r0, r1, #0
mov r1, #2
add r4, r2, #0
bl sub_0207CE78
add r2, r0, #0
mov r0, #3
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
lsl r0, r4, #0x14
lsr r0, r0, #0x10
str r0, [sp, #8]
ldr r3, [r5, #0]
ldr r0, [r5, #8]
ldr r3, [r3, #0xc]
mov r1, #0x10
bl sub_02003050
add sp, #0xc
pop {r4, r5, pc}
thumb_func_end ov13_02227D48
thumb_func_start ov13_02227D78
ov13_02227D78: ; 0x02227D78
push {r4, r5, lr}
sub sp, #0x34
add r5, r0, #0
ldr r0, [r5, #0]
add r4, r1, #0
ldr r0, [r0, #0]
bl ov16_0223E010
mov r2, #0
add r1, sp, #0
strh r2, [r1]
strh r2, [r1, #2]
strh r2, [r1, #4]
strh r2, [r1, #6]
mov r1, #0x14
ldr r3, _02227DD4 ; =0x02229CCC
mul r1, r4
ldr r3, [r3, r1]
str r2, [sp, #0xc]
str r3, [sp, #8]
mov r3, #2
str r3, [sp, #0x10]
ldr r3, _02227DD8 ; =0x02229CBC
str r2, [sp, #0x30]
ldr r3, [r3, r1]
add r2, sp, #0
str r3, [sp, #0x14]
ldr r3, _02227DDC ; =0x02229CC0
ldr r3, [r3, r1]
str r3, [sp, #0x18]
ldr r3, _02227DE0 ; =0x02229CC4
ldr r3, [r3, r1]
str r3, [sp, #0x1c]
ldr r3, _02227DE4 ; =0x02229CC8
ldr r1, [r3, r1]
str r1, [sp, #0x20]
mov r1, #1
str r1, [sp, #0x2c]
mov r1, #0xc3
lsl r1, r1, #2
ldr r1, [r5, r1]
bl sub_0200CE6C
add sp, #0x34
pop {r4, r5, pc}
nop
_02227DD4: .word 0x02229CCC
_02227DD8: .word 0x02229CBC
_02227DDC: .word 0x02229CC0
_02227DE0: .word 0x02229CC4
_02227DE4: .word 0x02229CC8
thumb_func_end ov13_02227D78
thumb_func_start ov13_02227DE8
ov13_02227DE8: ; 0x02227DE8
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
mov r7, #0x31
mov r4, #0
add r5, r6, #0
lsl r7, r7, #4
_02227DF4:
add r0, r6, #0
add r1, r4, #0
bl ov13_02227D78
str r0, [r5, r7]
add r4, r4, #1
add r5, r5, #4
cmp r4, #6
blo _02227DF4
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov13_02227DE8
thumb_func_start ov13_02227E08
ov13_02227E08: ; 0x02227E08
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
ldr r0, [r7, #0]
ldr r0, [r0, #0]
bl ov16_0223E010
mov r6, #0x31
str r0, [sp]
mov r4, #0
add r5, r7, #0
lsl r6, r6, #4
_02227E1E:
ldr r0, [r5, r6]
bl sub_0200D0F4
add r4, r4, #1
add r5, r5, #4
cmp r4, #6
blo _02227E1E
add r0, r7, #0
bl ov13_02227FDC
add r0, r7, #0
bl ov13_022280C8
mov r1, #0xc3
lsl r1, r1, #2
ldr r0, [sp]
ldr r1, [r7, r1]
bl sub_0200D0B0
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov13_02227E08
thumb_func_start ov13_02227E48
ov13_02227E48: ; 0x02227E48
push {r4, r5, r6, lr}
add r5, r1, #0
add r4, r2, #0
mov r1, #1
add r6, r0, #0
bl sub_0200D3F4
lsl r1, r5, #0x10
lsl r2, r4, #0x10
add r0, r6, #0
asr r1, r1, #0x10
asr r2, r2, #0x10
bl sub_0200D4C4
pop {r4, r5, r6, pc}
; .align 2, 0
thumb_func_end ov13_02227E48
thumb_func_start ov13_02227E68
ov13_02227E68: ; 0x02227E68
push {r3, r4, r5, r6, r7, lr}
mov r6, #0x31
str r0, [sp]
add r7, r1, #0
mov r4, #0
add r5, r0, #0
lsl r6, r6, #4
_02227E76:
ldr r0, [r5, r6]
mov r1, #0
bl sub_0200D3F4
add r4, r4, #1
add r5, r5, #4
cmp r4, #6
blo _02227E76
cmp r7, #0
beq _02227E94
cmp r7, #1
beq _02227E9C
cmp r7, #2
beq _02227EA4
pop {r3, r4, r5, r6, r7, pc}
_02227E94:
ldr r0, [sp]
bl ov13_02227EAC
pop {r3, r4, r5, r6, r7, pc}
_02227E9C:
ldr r0, [sp]
bl ov13_02227EE0
pop {r3, r4, r5, r6, r7, pc}
_02227EA4:
ldr r0, [sp]
bl ov13_02227F38
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov13_02227E68
thumb_func_start ov13_02227EAC
ov13_02227EAC: ; 0x02227EAC
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #0]
ldrh r1, [r1, #0x20]
cmp r1, #0
beq _02227EDA
ldr r2, _02227EDC ; =0x0000B4B7
bl ov13_02227D10
ldr r1, [r4, #0]
ldr r3, _02227EDC ; =0x0000B4B7
ldrh r1, [r1, #0x20]
add r0, r4, #0
mov r2, #0
bl ov13_02227D48
mov r0, #0x31
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0x18
mov r2, #0xb2
bl ov13_02227E48
_02227EDA:
pop {r4, pc}
; .align 2, 0
_02227EDC: .word 0x0000B4B7
thumb_func_end ov13_02227EAC
thumb_func_start ov13_02227EE0
ov13_02227EE0: ; 0x02227EE0
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r6, _02227F30 ; =0x02229C44
mov r4, #0
add r7, r5, #0
_02227EEA:
add r0, r5, #0
add r1, r4, #0
bl ov13_02227BA8
str r0, [sp]
cmp r0, #0
beq _02227F22
ldr r2, _02227F34 ; =0x0000B4B7
ldr r1, [sp]
add r0, r5, #0
add r2, r4, r2
bl ov13_02227D10
ldr r3, _02227F34 ; =0x0000B4B7
lsl r2, r4, #0x10
ldr r1, [sp]
add r0, r5, #0
lsr r2, r2, #0x10
add r3, r4, r3
bl ov13_02227D48
mov r0, #0x31
lsl r0, r0, #4
ldr r0, [r7, r0]
ldr r1, [r6, #0]
ldr r2, [r6, #4]
bl ov13_02227E48
_02227F22:
add r4, r4, #1
add r6, #8
add r7, r7, #4
cmp r4, #6
blo _02227EEA
pop {r3, r4, r5, r6, r7, pc}
nop
_02227F30: .word 0x02229C44
_02227F34: .word 0x0000B4B7
thumb_func_end ov13_02227EE0
thumb_func_start ov13_02227F38
ov13_02227F38: ; 0x02227F38
push {r3, r4, r5, lr}
ldr r1, _02227F74 ; =0x0000114D
add r4, r0, #0
ldrb r1, [r4, r1]
ldr r2, [r4, #0]
add r1, r2, r1
add r1, #0x27
ldrb r1, [r1]
bl ov13_02227BA8
add r5, r0, #0
ldr r2, _02227F78 ; =0x0000B4B7
add r0, r4, #0
add r1, r5, #0
bl ov13_02227D10
ldr r3, _02227F78 ; =0x0000B4B7
add r0, r4, #0
add r1, r5, #0
mov r2, #0
bl ov13_02227D48
mov r0, #0x31
lsl r0, r0, #4
ldr r0, [r4, r0]
mov r1, #0x28
mov r2, #0x2c
bl ov13_02227E48
pop {r3, r4, r5, pc}
; .align 2, 0
_02227F74: .word 0x0000114D
_02227F78: .word 0x0000B4B7
thumb_func_end ov13_02227F38
thumb_func_start ov13_02227F7C
ov13_02227F7C: ; 0x02227F7C
push {r4, r5, lr}
sub sp, #0x14
add r5, r0, #0
ldr r0, [r5, #0]
ldr r0, [r0, #0]
bl ov16_0223E010
ldr r1, _02227FD8 ; =0x0000B4BE
add r4, r0, #0
str r1, [sp]
str r1, [sp, #4]
sub r1, r1, #5
str r1, [sp, #8]
str r1, [sp, #0xc]
mov r1, #0xc3
ldr r3, [r5, #0]
lsl r1, r1, #2
ldr r1, [r5, r1]
ldr r2, [r5, #8]
ldr r3, [r3, #0xc]
bl ov16_0226DB7C
ldr r3, _02227FD8 ; =0x0000B4BE
mov r1, #0xc3
str r3, [sp]
sub r0, r3, #5
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
ldr r2, [r5, #0]
lsl r1, r1, #2
ldr r1, [r5, r1]
ldr r2, [r2, #0xc]
add r0, r4, #0
bl ov16_0226DC24
add r1, r0, #0
ldr r0, [r5, #0x34]
bl ov13_02228A64
add sp, #0x14
pop {r4, r5, pc}
nop
_02227FD8: .word 0x0000B4BE
thumb_func_end ov13_02227F7C
thumb_func_start ov13_02227FDC
ov13_02227FDC: ; 0x02227FDC
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldr r0, [r4, #0x34]
bl ov13_02228A58
bl ov16_0226DCA8
ldr r3, _02228004 ; =0x0000B4B9
mov r0, #0xc3
add r1, r3, #5
str r3, [sp]
lsl r0, r0, #2
ldr r0, [r4, r0]
add r2, r1, #0
bl ov16_0226DBFC
add sp, #4
pop {r3, r4, pc}
nop
_02228004: .word 0x0000B4B9
thumb_func_end ov13_02227FDC
thumb_func_start ov13_02228008
ov13_02228008: ; 0x02228008
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
ldr r1, _02228048 ; =0x02229BC8
lsl r2, r4, #2
ldr r0, [r5, #0x34]
ldr r1, [r1, r2]
bl ov13_02228A9C
cmp r4, #0
beq _02228026
cmp r4, #1
beq _02228032
cmp r4, #2
pop {r3, r4, r5, pc}
_02228026:
ldr r1, _0222804C ; =0x0000114D
ldr r0, [r5, #0x34]
ldrb r1, [r5, r1]
bl ov13_02228A68
pop {r3, r4, r5, pc}
_02228032:
ldr r1, _0222804C ; =0x0000114D
ldr r2, [r5, #0]
ldrb r1, [r5, r1]
ldr r0, [r5, #0x34]
add r1, r2, r1
add r1, #0x27
ldrb r1, [r1]
bl ov13_02228A68
pop {r3, r4, r5, pc}
nop
_02228048: .word 0x02229BC8
_0222804C: .word 0x0000114D
thumb_func_end ov13_02228008
thumb_func_start ov13_02228050
ov13_02228050: ; 0x02228050
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x34]
mov r1, #0
bl ov13_02228A60
ldr r0, [r4, #0x34]
bl ov13_02228A90
ldr r0, [r4, #0x34]
bl ov13_02228A58
bl ov16_0226DDE8
pop {r4, pc}
; .align 2, 0
thumb_func_end ov13_02228050
thumb_func_start ov13_02228070
ov13_02228070: ; 0x02228070
push {r4, r5, lr}
sub sp, #0x14
add r5, r0, #0
ldr r0, [r5, #0]
ldr r0, [r0, #0]
bl ov16_0223E010
ldr r1, _022280C4 ; =0x0000B4BD
add r4, r0, #0
str r1, [sp]
str r1, [sp, #4]
sub r1, r1, #5
str r1, [sp, #8]
str r1, [sp, #0xc]
mov r1, #0xc3
ldr r2, [r5, #0]
lsl r1, r1, #2
ldr r1, [r5, r1]
ldr r2, [r2, #0xc]
ldr r3, [r5, #8]
bl ov16_0226DE44
ldr r3, _022280C4 ; =0x0000B4BD
mov r1, #0xc3
str r3, [sp]
sub r0, r3, #5
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
str r0, [sp, #0x10]
ldr r2, [r5, #0]
lsl r1, r1, #2
ldr r1, [r5, r1]
ldr r2, [r2, #0xc]
add r0, r4, #0
bl ov16_0226DEEC
str r0, [r5, #0x38]
add sp, #0x14
pop {r4, r5, pc}
nop
_022280C4: .word 0x0000B4BD
thumb_func_end ov13_02228070
thumb_func_start ov13_022280C8
ov13_022280C8: ; 0x022280C8
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldr r0, [r4, #0x38]
bl ov16_0226DF68
ldr r3, _022280EC ; =0x0000B4B8
mov r0, #0xc3
add r1, r3, #5
str r3, [sp]
lsl r0, r0, #2
ldr r0, [r4, r0]
add r2, r1, #0
bl ov16_0226DEC4
add sp, #4
pop {r3, r4, pc}
nop
_022280EC: .word 0x0000B4B8
thumb_func_end ov13_022280C8
thumb_func_start ov13_022280F0
ov13_022280F0: ; 0x022280F0
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0]
ldr r0, [r0, #0x14]
cmp r0, #1
bne _02228116
lsl r3, r1, #3
ldr r1, _02228120 ; =0x02229BFC
ldr r2, _02228124 ; =0x02229C00
ldr r0, [r4, #0x38]
ldr r1, [r1, r3]
ldr r2, [r2, r3]
bl ov16_0226DFB0
ldr r0, [r4, #0x38]
mov r1, #0x3c
bl ov16_0226DFD0
pop {r4, pc}
_02228116:
ldr r0, [r4, #0x38]
bl ov16_0226DFBC
pop {r4, pc}
nop
_02228120: .word 0x02229BFC
_02228124: .word 0x02229C00
thumb_func_end ov13_022280F0
.rodata
.global Unk_ov13_02229BB8
Unk_ov13_02229BB8: ; 0x02229BB8
.incbin "incbin/overlay13_rodata.bin", 0xEBC, 0xEC4 - 0xEBC
.global Unk_ov13_02229BC0
Unk_ov13_02229BC0: ; 0x02229BC0
.incbin "incbin/overlay13_rodata.bin", 0xEC4, 0xECC - 0xEC4
.global Unk_ov13_02229BC8
Unk_ov13_02229BC8: ; 0x02229BC8
.incbin "incbin/overlay13_rodata.bin", 0xECC, 0xED8 - 0xECC
.global Unk_ov13_02229BD4
Unk_ov13_02229BD4: ; 0x02229BD4
.incbin "incbin/overlay13_rodata.bin", 0xED8, 0xEE8 - 0xED8
.global Unk_ov13_02229BE4
Unk_ov13_02229BE4: ; 0x02229BE4
.incbin "incbin/overlay13_rodata.bin", 0xEE8, 0xF00 - 0xEE8
.global Unk_ov13_02229BFC
Unk_ov13_02229BFC: ; 0x02229BFC
.incbin "incbin/overlay13_rodata.bin", 0xF00, 0xF18 - 0xF00
.global Unk_ov13_02229C14
Unk_ov13_02229C14: ; 0x02229C14
.incbin "incbin/overlay13_rodata.bin", 0xF18, 0xF48 - 0xF18
.global Unk_ov13_02229C44
Unk_ov13_02229C44: ; 0x02229C44
.incbin "incbin/overlay13_rodata.bin", 0xF48, 0xF78 - 0xF48
.global Unk_ov13_02229C74
Unk_ov13_02229C74: ; 0x02229C74
.incbin "incbin/overlay13_rodata.bin", 0xF78, 0xFC0 - 0xF78
.global Unk_ov13_02229CBC
Unk_ov13_02229CBC: ; 0x02229CBC
.incbin "incbin/overlay13_rodata.bin", 0xFC0, 0x78

1233
asm/ov13_02228128.s Normal file

File diff suppressed because it is too large Load Diff

420
asm/ov13_02228A38.s Normal file
View File

@ -0,0 +1,420 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov13_02228A38
ov13_02228A38: ; 0x02228A38
push {r3, lr}
mov r1, #0x10
bl sub_02018144
add r3, r0, #0
mov r2, #0x10
mov r1, #0
_02228A46:
strb r1, [r3]
add r3, r3, #1
sub r2, r2, #1
bne _02228A46
pop {r3, pc}
thumb_func_end ov13_02228A38
thumb_func_start ov13_02228A50
ov13_02228A50: ; 0x02228A50
ldr r3, _02228A54 ; =sub_020181C4
bx r3
; .align 2, 0
_02228A54: .word sub_020181C4
thumb_func_end ov13_02228A50
thumb_func_start ov13_02228A58
ov13_02228A58: ; 0x02228A58
ldr r0, [r0, #0]
bx lr
thumb_func_end ov13_02228A58
thumb_func_start ov13_02228A5C
ov13_02228A5C: ; 0x02228A5C
ldrb r0, [r0, #8]
bx lr
thumb_func_end ov13_02228A5C
thumb_func_start ov13_02228A60
ov13_02228A60: ; 0x02228A60
strb r1, [r0, #8]
bx lr
thumb_func_end ov13_02228A60
thumb_func_start ov13_02228A64
ov13_02228A64: ; 0x02228A64
str r1, [r0, #0]
bx lr
thumb_func_end ov13_02228A64
thumb_func_start ov13_02228A68
ov13_02228A68: ; 0x02228A68
push {r3, r4, lr}
sub sp, #4
strb r1, [r0, #9]
ldrb r1, [r0, #8]
cmp r1, #1
bne _02228A8C
ldrb r1, [r0, #9]
ldr r2, [r0, #4]
lsl r4, r1, #3
add r3, r2, r4
ldrb r1, [r3, #3]
str r1, [sp]
ldrb r1, [r2, r4]
ldrb r2, [r3, #2]
ldrb r3, [r3, #1]
ldr r0, [r0, #0]
bl ov16_0226DD7C
_02228A8C:
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov13_02228A68
thumb_func_start ov13_02228A90
ov13_02228A90: ; 0x02228A90
mov r1, #0
strb r1, [r0, #9]
mov r1, #0xff
strb r1, [r0, #0xa]
bx lr
; .align 2, 0
thumb_func_end ov13_02228A90
thumb_func_start ov13_02228A9C
ov13_02228A9C: ; 0x02228A9C
push {r3, r4, r5, lr}
add r4, r0, #0
add r5, r1, #0
bl ov13_02228A90
mov r0, #0
str r5, [r4, #4]
mvn r0, r0
str r0, [r4, #0xc]
ldrb r0, [r4, #8]
cmp r0, #1
bne _02228AC6
ldr r3, [r4, #4]
ldrb r0, [r3, #3]
str r0, [sp]
ldrb r1, [r3]
ldrb r2, [r3, #2]
ldrb r3, [r3, #1]
ldr r0, [r4, #0]
bl ov16_0226DD7C
_02228AC6:
pop {r3, r4, r5, pc}
thumb_func_end ov13_02228A9C
thumb_func_start ov13_02228AC8
ov13_02228AC8: ; 0x02228AC8
str r1, [r0, #0xc]
bx lr
thumb_func_end ov13_02228AC8
thumb_func_start ov13_02228ACC
ov13_02228ACC: ; 0x02228ACC
push {r3, r4, lr}
sub sp, #4
ldrb r1, [r0, #8]
cmp r1, #1
bne _02228ADC
add sp, #4
mov r0, #1
pop {r3, r4, pc}
_02228ADC:
ldr r1, _02228B10 ; =0x021BF67C
ldr r2, [r1, #0x48]
mov r1, #0xf3
tst r1, r2
beq _02228B08
mov r1, #1
strb r1, [r0, #8]
ldrb r1, [r0, #9]
ldr r2, [r0, #4]
lsl r4, r1, #3
add r3, r2, r4
ldrb r1, [r3, #3]
str r1, [sp]
ldrb r1, [r2, r4]
ldrb r2, [r3, #2]
ldrb r3, [r3, #1]
ldr r0, [r0, #0]
bl ov16_0226DD7C
ldr r0, _02228B14 ; =0x000005DC
bl sub_02005748
_02228B08:
mov r0, #0
add sp, #4
pop {r3, r4, pc}
nop
_02228B10: .word 0x021BF67C
_02228B14: .word 0x000005DC
thumb_func_end ov13_02228ACC
thumb_func_start ov13_02228B18
ov13_02228B18: ; 0x02228B18
cmp r1, #3
bhi _02228B60
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02228B28: ; jump table
.short _02228B30 - _02228B28 - 2 ; case 0
.short _02228B3C - _02228B28 - 2 ; case 1
.short _02228B48 - _02228B28 - 2 ; case 2
.short _02228B54 - _02228B28 - 2 ; case 3
_02228B30:
ldrb r1, [r0, #5]
mov r0, #0x80
tst r0, r1
beq _02228B60
mov r0, #1
bx lr
_02228B3C:
ldrb r1, [r0, #4]
mov r0, #0x80
tst r0, r1
beq _02228B60
mov r0, #1
bx lr
_02228B48:
ldrb r1, [r0, #7]
mov r0, #0x80
tst r0, r1
beq _02228B60
mov r0, #1
bx lr
_02228B54:
ldrb r1, [r0, #6]
mov r0, #0x80
tst r0, r1
beq _02228B60
mov r0, #1
bx lr
_02228B60:
mov r0, #0
bx lr
thumb_func_end ov13_02228B18
thumb_func_start ov13_02228B64
ov13_02228B64: ; 0x02228B64
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
bl ov13_02228ACC
cmp r0, #0
bne _02228B7A
mov r0, #0
add sp, #0x14
mvn r0, r0
pop {r4, r5, r6, r7, pc}
_02228B7A:
ldr r0, _02228CF0 ; =0x021BF67C
mov r1, #0x40
ldr r0, [r0, #0x48]
tst r1, r0
beq _02228B9E
mov r1, #0
str r1, [sp]
ldrb r0, [r5, #9]
add r2, r1, #0
add r3, r1, #0
str r0, [sp, #4]
str r1, [sp, #8]
ldr r0, [r5, #4]
bl sub_0201E028
add r4, r0, #0
mov r6, #0
b _02228C06
_02228B9E:
mov r1, #0x80
tst r1, r0
beq _02228BC0
mov r1, #0
str r1, [sp]
ldrb r0, [r5, #9]
add r2, r1, #0
add r3, r1, #0
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
ldr r0, [r5, #4]
bl sub_0201E028
add r4, r0, #0
mov r6, #1
b _02228C06
_02228BC0:
mov r1, #0x20
tst r1, r0
beq _02228BE2
mov r1, #0
str r1, [sp]
ldrb r0, [r5, #9]
add r2, r1, #0
add r3, r1, #0
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
ldr r0, [r5, #4]
bl sub_0201E028
add r4, r0, #0
mov r6, #2
b _02228C06
_02228BE2:
mov r1, #0x10
tst r0, r1
beq _02228C04
mov r1, #0
str r1, [sp]
ldrb r0, [r5, #9]
add r2, r1, #0
add r3, r1, #0
str r0, [sp, #4]
mov r0, #3
str r0, [sp, #8]
ldr r0, [r5, #4]
bl sub_0201E028
add r4, r0, #0
mov r6, #3
b _02228C06
_02228C04:
mov r4, #0xff
_02228C06:
cmp r4, #0xff
beq _02228CC6
mov r0, #1
str r0, [sp, #0xc]
mov r0, #0x80
add r1, r4, #0
tst r1, r0
beq _02228C26
ldrb r1, [r5, #0xa]
cmp r1, #0xff
beq _02228C20
add r4, r1, #0
b _02228C26
_02228C20:
eor r0, r4
lsl r0, r0, #0x18
lsr r4, r0, #0x18
_02228C26:
mov r7, #0
_02228C28:
mov r0, #1
ldr r1, [r5, #0xc]
lsl r0, r4
tst r0, r1
bne _02228C60
str r7, [sp, #0xc]
str r7, [sp]
str r4, [sp, #4]
str r6, [sp, #8]
ldr r0, [r5, #4]
add r1, r7, #0
add r2, r7, #0
add r3, r7, #0
bl sub_0201E028
mov r1, #0x7f
and r0, r1
lsl r0, r0, #0x18
lsr r1, r0, #0x18
cmp r1, r4
beq _02228C58
ldrb r0, [r5, #9]
cmp r1, r0
bne _02228C5C
_02228C58:
ldrb r4, [r5, #9]
b _02228C60
_02228C5C:
add r4, r1, #0
b _02228C28
_02228C60:
ldrb r0, [r5, #9]
cmp r0, r4
beq _02228CBE
ldr r0, [r5, #4]
lsl r7, r4, #3
add r1, sp, #0x10
add r2, sp, #0x10
add r0, r0, r7
add r1, #3
add r2, #2
bl sub_0201E010
ldr r0, [r5, #4]
add r1, sp, #0x10
add r0, r0, r7
add r1, #1
add r2, sp, #0x10
bl sub_0201E01C
ldr r0, [r5, #4]
add r1, r6, #0
add r0, r0, r7
bl ov13_02228B18
cmp r0, #1
bne _02228CA0
ldr r0, [sp, #0xc]
cmp r0, #0
beq _02228CA0
ldrb r0, [r5, #9]
strb r0, [r5, #0xa]
b _02228CA4
_02228CA0:
mov r0, #0xff
strb r0, [r5, #0xa]
_02228CA4:
strb r4, [r5, #9]
add r3, sp, #0x10
ldrb r0, [r3]
str r0, [sp]
ldrb r1, [r3, #3]
ldrb r2, [r3, #1]
ldrb r3, [r3, #2]
ldr r0, [r5, #0]
bl ov16_0226DD7C
ldr r0, _02228CF4 ; =0x000005DC
bl sub_02005748
_02228CBE:
mov r0, #0
add sp, #0x14
mvn r0, r0
pop {r4, r5, r6, r7, pc}
_02228CC6:
ldr r0, _02228CF0 ; =0x021BF67C
ldr r1, [r0, #0x48]
mov r0, #1
tst r0, r1
beq _02228CD6
add sp, #0x14
ldrb r0, [r5, #9]
pop {r4, r5, r6, r7, pc}
_02228CD6:
mov r0, #2
tst r1, r0
beq _02228CEA
ldr r0, _02228CF8 ; =0x000005DD
bl sub_02005748
mov r0, #1
add sp, #0x14
mvn r0, r0
pop {r4, r5, r6, r7, pc}
_02228CEA:
sub r0, r0, #3
add sp, #0x14
pop {r4, r5, r6, r7, pc}
; .align 2, 0
_02228CF0: .word 0x021BF67C
_02228CF4: .word 0x000005DC
_02228CF8: .word 0x000005DD
thumb_func_end ov13_02228B64

View File

@ -1,8 +1,11 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov14_0221FC20
ov14_0221FC20: ; 0x0221FC20
push {r3, r4, r5, r6, r7, lr}
@ -9956,12 +9959,26 @@ _02224898: .word 0x000003D3
_0222489C: .word 0x000003D1
_022248A0: .word 0x000003D6
thumb_func_end ov14_022244B0
; 0x022248A4
.rodata
.incbin "incbin/overlay14_rodata.bin"
.global Unk_ov14_022248A4
Unk_ov14_022248A4: ; 0x022248A4
.incbin "incbin/overlay14_rodata.bin", 0x0, 0xA5BC
.global Unk_ov14_0222EE60
Unk_ov14_0222EE60: ; 0x0222EE60
.incbin "incbin/overlay14_rodata.bin", 0xA5BC, 0x18 - 0x0
.global Unk_ov14_0222EE78
Unk_ov14_0222EE78: ; 0x0222EE78
.incbin "incbin/overlay14_rodata.bin", 0xA5BC + 0x18, 0x30 - 0x18
.global Unk_ov14_0222EE90
Unk_ov14_0222EE90: ; 0x0222EE90
.incbin "incbin/overlay14_rodata.bin", 0xA5BC + 0x30, 0x4C - 0x30
.global Unk_ov14_0222EEAC
Unk_ov14_0222EEAC: ; 0x0222EEAC
.incbin "incbin/overlay14_rodata.bin", 0xA5BC + 0x4C, 0x1B4
.bss
.space 0x0

5572
asm/ov16_0223B140.s Normal file

File diff suppressed because it is too large Load Diff

5414
asm/ov16_0223DF00.s Normal file

File diff suppressed because it is too large Load Diff

22919
asm/ov16_022405FC.s Normal file

File diff suppressed because it is too large Load Diff

12277
asm/ov16_0224B940.s Normal file

File diff suppressed because it is too large Load Diff

22366
asm/ov16_0225177C.s Normal file

File diff suppressed because it is too large Load Diff

1601
asm/ov16_0225BFFC.s Normal file

File diff suppressed because it is too large Load Diff

15561
asm/ov16_0225CBB8.s Normal file

File diff suppressed because it is too large Load Diff

111
asm/ov16_02264798.s Normal file
View File

@ -0,0 +1,111 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov16_02264798
ov16_02264798: ; 0x02264798
push {r4, lr}
add r4, r0, #0
mov r0, #0x66
lsl r0, r0, #2
ldr r0, [r4, r0]
cmp r0, #0
bne _022647CC
add r0, r1, #0
bl ov16_0223DF0C
mov r1, #0x22
lsl r1, r1, #4
tst r0, r1
bne _022647CC
mov r1, #0xb4
add r0, r1, #0
add r0, #0xe8
strh r1, [r4, r0]
ldr r0, _022647D0 ; =ov16_02264800
ldr r2, _022647D4 ; =0x000003F2
add r1, r4, #0
bl sub_0200D9E8
mov r1, #0x66
lsl r1, r1, #2
str r0, [r4, r1]
_022647CC:
pop {r4, pc}
nop
_022647D0: .word ov16_02264800
_022647D4: .word 0x000003F2
thumb_func_end ov16_02264798
thumb_func_start ov16_022647D8
ov16_022647D8: ; 0x022647D8
push {r4, lr}
add r4, r0, #0
mov r0, #0x66
lsl r0, r0, #2
ldr r0, [r4, r0]
cmp r0, #0
beq _022647FE
bl sub_0200DA58
mov r0, #0x66
mov r2, #0
lsl r0, r0, #2
str r2, [r4, r0]
add r0, r0, #4
strh r2, [r4, r0]
ldr r0, [r4, #0x20]
mov r1, #4
bl sub_02007DEC
_022647FE:
pop {r4, pc}
thumb_func_end ov16_022647D8
thumb_func_start ov16_02264800
ov16_02264800: ; 0x02264800
push {r3, r4, r5, lr}
add r4, r1, #0
mov r1, #0x67
lsl r1, r1, #2
ldrh r0, [r4, r1]
add r0, #0x14
strh r0, [r4, r1]
add r0, r1, #0
ldrh r2, [r4, r1]
sub r0, #0x34
cmp r2, r0
blo _02264820
add r0, r1, #0
sub r0, #0x34
sub r0, r2, r0
strh r0, [r4, r1]
_02264820:
mov r0, #0x67
lsl r0, r0, #2
ldrh r0, [r4, r0]
bl sub_0201D15C
mov r2, #6
asr r1, r0, #0x1f
lsl r2, r2, #0xa
mov r3, #0
bl sub_020E1F1C
add r2, r1, #0
mov r1, #4
add r5, r0, #0
ldr r0, [r4, #0x20]
mov r4, #0
lsl r3, r1, #9
add r3, r5, r3
adc r2, r4
lsl r2, r2, #0x14
lsr r3, r3, #0xc
orr r3, r2
asr r2, r3, #0xb
lsr r2, r2, #0x14
add r2, r3, r2
asr r2, r2, #0xc
bl sub_02007DEC
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov16_02264800

5118
asm/ov16_0226485C.s Normal file

File diff suppressed because it is too large Load Diff

2976
asm/ov16_02266F1C.s Normal file

File diff suppressed because it is too large Load Diff

278
asm/ov16_02268520.s Normal file
View File

@ -0,0 +1,278 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov16_02268520
ov16_02268520: ; 0x02268520
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
add r5, r0, #0
mov r0, #0x1b
mov r1, #5
bl sub_02006C24
add r4, r0, #0
ldr r0, [r5, #4]
bl ov16_0223E010
str r0, [sp, #0x24]
ldr r0, [r5, #4]
bl ov16_0223E018
str r0, [sp, #0x20]
ldr r0, [r5, #4]
bl ov16_0223EC04
add r7, r0, #0
ldrb r0, [r5, #8]
cmp r0, #0
ldrb r0, [r5, #9]
bne _02268566
lsl r1, r0, #1
ldr r0, _02268614 ; =0x0227009C
ldrh r3, [r0, r1]
ldr r0, _02268618 ; =0x00004E2D
mov r1, #0x80
str r1, [sp, #0x1c]
add r6, r0, #0
mov r1, #0x81
sub r6, #8
str r1, [sp, #0x18]
b _0226857A
_02268566:
lsl r1, r0, #1
ldr r0, _0226861C ; =0x0227006C
ldrh r3, [r0, r1]
ldr r0, _02268620 ; =0x00004E2E
mov r1, #0x83
str r1, [sp, #0x1c]
add r6, r0, #0
mov r1, #0x84
sub r6, #8
str r1, [sp, #0x18]
_0226857A:
mov r1, #1
str r1, [sp]
str r1, [sp, #4]
str r0, [sp, #8]
ldr r0, [sp, #0x24]
ldr r1, [sp, #0x20]
add r2, r4, #0
bl sub_0200CC3C
ldr r0, [r5, #4]
bl ov16_0223E064
str r4, [sp]
ldrb r1, [r5, #9]
mov r2, #6
add r3, r1, #0
mul r3, r2
ldr r2, _02268624 ; =0x02270134
lsl r1, r7, #1
add r2, r2, r3
ldrh r1, [r1, r2]
ldr r2, [sp, #0x24]
ldr r3, [sp, #0x20]
str r1, [sp, #4]
mov r1, #0
str r1, [sp, #8]
mov r1, #1
str r1, [sp, #0xc]
str r1, [sp, #0x10]
ldr r1, _02268628 ; =0x00004E29
str r1, [sp, #0x14]
mov r1, #2
bl sub_0200CDC4
ldr r0, [r5, #4]
bl ov16_0223E064
mov r1, #0
str r1, [sp]
mov r1, #0x20
str r1, [sp, #4]
mov r1, #0x70
str r1, [sp, #8]
ldrb r2, [r5, #9]
mov r3, #6
lsl r5, r7, #1
mul r3, r2
ldr r2, _02268624 ; =0x02270134
mov r1, #0x1b
add r2, r2, r3
ldrh r2, [r5, r2]
mov r3, #5
bl sub_02003050
mov r0, #1
str r0, [sp]
ldr r0, [sp, #0x24]
ldr r1, [sp, #0x20]
ldr r3, [sp, #0x1c]
add r2, r4, #0
str r6, [sp, #4]
bl sub_0200CE24
mov r0, #1
str r0, [sp]
ldr r0, [sp, #0x24]
ldr r1, [sp, #0x20]
ldr r3, [sp, #0x18]
add r2, r4, #0
str r6, [sp, #4]
bl sub_0200CE54
add r0, r4, #0
bl sub_02006CA8
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
_02268614: .word 0x0227009C
_02268618: .word 0x00004E2D
_0226861C: .word 0x0227006C
_02268620: .word 0x00004E2E
_02268624: .word 0x02270134
_02268628: .word 0x00004E29
thumb_func_end ov16_02268520
thumb_func_start ov16_0226862C
ov16_0226862C: ; 0x0226862C
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4, #4]
bl ov16_0223E010
add r5, r0, #0
ldr r0, [r4, #4]
bl ov16_0223E018
add r1, r0, #0
add r0, r5, #0
ldrb r3, [r4, #8]
mov r2, #0x34
ldr r5, _0226865C ; =0x022700CC
mul r2, r3
add r2, r5, r2
bl sub_0200CE6C
str r0, [r4, #0]
ldr r0, [r0, #0]
bl sub_0200D324
pop {r3, r4, r5, pc}
nop
_0226865C: .word 0x022700CC
thumb_func_end ov16_0226862C
thumb_func_start ov16_02268660
ov16_02268660: ; 0x02268660
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0]
cmp r0, #0
beq _02268672
bl sub_0200D0F4
mov r0, #0
str r0, [r4, #0]
_02268672:
pop {r4, pc}
thumb_func_end ov16_02268660
thumb_func_start ov16_02268674
ov16_02268674: ; 0x02268674
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #4]
bl ov16_0223E018
add r4, r0, #0
ldrb r0, [r5, #8]
cmp r0, #0
bne _0226868A
ldr r1, _022686B0 ; =0x00004E2D
b _0226868C
_0226868A:
ldr r1, _022686B4 ; =0x00004E2E
_0226868C:
add r5, r1, #0
add r0, r4, #0
sub r5, #8
bl sub_0200D070
ldr r1, _022686B8 ; =0x00004E29
add r0, r4, #0
bl sub_0200D080
add r0, r4, #0
add r1, r5, #0
bl sub_0200D090
add r0, r4, #0
add r1, r5, #0
bl sub_0200D0A0
pop {r3, r4, r5, pc}
; .align 2, 0
_022686B0: .word 0x00004E2D
_022686B4: .word 0x00004E2E
_022686B8: .word 0x00004E29
thumb_func_end ov16_02268674
thumb_func_start ov16_022686BC
ov16_022686BC: ; 0x022686BC
push {r3, lr}
ldr r0, [r0, #0]
cmp r0, #0
beq _022686C8
bl sub_0200D3F4
_022686C8:
pop {r3, pc}
; .align 2, 0
thumb_func_end ov16_022686BC
thumb_func_start ov16_022686CC
ov16_022686CC: ; 0x022686CC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
mov r0, #0
add r1, r5, #0
mov r2, #0x10
add r7, r3, #0
bl sub_020C4BB8
str r4, [r5, #4]
strb r6, [r5, #8]
strb r7, [r5, #9]
cmp r7, #0x18
blt _022686F2
bl sub_02022974
mov r0, #0
strb r0, [r5, #9]
_022686F2:
add r0, r5, #0
bl ov16_02268520
add r0, r5, #0
bl ov16_0226862C
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov16_022686CC
thumb_func_start ov16_02268700
ov16_02268700: ; 0x02268700
push {r4, lr}
add r4, r0, #0
bl ov16_02268660
add r0, r4, #0
bl ov16_02268674
mov r0, #0
add r1, r4, #0
mov r2, #0x10
bl sub_020C4BB8
pop {r4, pc}
; .align 2, 0
thumb_func_end ov16_02268700
.rodata
.global Unk_ov16_0227006C
Unk_ov16_0227006C: ; 0x0227006C
.incbin "incbin/overlay16_rodata.bin", 0x1E10, 0x1E40 - 0x1E10
.global Unk_ov16_0227009C
Unk_ov16_0227009C: ; 0x0227009C
.incbin "incbin/overlay16_rodata.bin", 0x1E40, 0x1E70 - 0x1E40
.global Unk_ov16_022700CC
Unk_ov16_022700CC: ; 0x022700CC
.incbin "incbin/overlay16_rodata.bin", 0x1E70, 0x1ED8 - 0x1E70
.global Unk_ov16_02270134
Unk_ov16_02270134: ; 0x02270134
.incbin "incbin/overlay16_rodata.bin", 0x1ED8, 0x90

9582
asm/ov16_0226871C.s Normal file

File diff suppressed because it is too large Load Diff

1496
asm/ov16_0226D094.s Normal file

File diff suppressed because it is too large Load Diff

385
asm/ov16_0226DB7C.s Normal file
View File

@ -0,0 +1,385 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov16_0226DB7C
ov16_0226DB7C: ; 0x0226DB7C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
add r4, r1, #0
mov r0, #0x1b
add r1, r3, #0
add r7, r2, #0
bl sub_02006C24
add r6, r0, #0
str r6, [sp]
mov r0, #0x50
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
mov r0, #2
str r0, [sp, #0x10]
ldr r0, [sp, #0x34]
mov r1, #3
str r0, [sp, #0x14]
add r0, r7, #0
add r2, r5, #0
add r3, r4, #0
bl sub_0200CDC4
mov r0, #1
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, [sp, #0x30]
add r1, r4, #0
str r0, [sp, #8]
add r0, r5, #0
add r2, r6, #0
mov r3, #0xfa
bl sub_0200CC3C
mov r0, #1
str r0, [sp]
ldr r0, [sp, #0x38]
add r1, r4, #0
str r0, [sp, #4]
add r0, r5, #0
add r2, r6, #0
mov r3, #0xfb
bl sub_0200CE24
mov r0, #1
str r0, [sp]
ldr r0, [sp, #0x3c]
add r1, r4, #0
str r0, [sp, #4]
add r0, r5, #0
add r2, r6, #0
mov r3, #0xfc
bl sub_0200CE54
add r0, r6, #0
bl sub_02006CA8
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov16_0226DB7C
thumb_func_start ov16_0226DBFC
ov16_0226DBFC: ; 0x0226DBFC
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r2, #0
add r6, r3, #0
bl sub_0200D070
add r0, r5, #0
add r1, r4, #0
bl sub_0200D080
add r0, r5, #0
add r1, r6, #0
bl sub_0200D090
ldr r1, [sp, #0x10]
add r0, r5, #0
bl sub_0200D0A0
pop {r4, r5, r6, pc}
; .align 2, 0
thumb_func_end ov16_0226DBFC
thumb_func_start ov16_0226DC24
ov16_0226DC24: ; 0x0226DC24
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x38
add r5, r3, #0
mov ip, r2
ldr r3, _0226DC9C ; =0x02270AA4
add r6, r0, #0
add r7, r1, #0
add r2, sp, #4
mov r4, #6
_0226DC36:
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
sub r4, r4, #1
bne _0226DC36
ldr r0, [r3, #0]
mov r1, #0x18
str r0, [r2, #0]
ldr r0, [sp, #0x50]
str r5, [sp, #0x18]
str r0, [sp, #0x1c]
ldr r0, [sp, #0x54]
str r0, [sp, #0x20]
ldr r0, [sp, #0x58]
str r0, [sp, #0x24]
ldr r0, [sp, #0x5c]
str r0, [sp, #0xc]
ldr r0, [sp, #0x60]
str r0, [sp, #0x30]
mov r0, ip
bl sub_02018144
mov r1, #0
mov r2, #0x18
str r0, [sp]
bl sub_020C4CF4
ldr r5, [sp]
mov r4, #0
_0226DC6E:
add r0, r6, #0
add r1, r7, #0
add r2, sp, #4
bl sub_0200CE6C
mov r1, #0
stmia r5!, {r0}
bl sub_0200D3F4
add r4, r4, #1
cmp r4, #5
blt _0226DC6E
ldr r0, _0226DCA0 ; =ov16_0226DE10
ldr r1, [sp]
ldr r2, _0226DCA4 ; =0x00009C40
bl sub_0200D9E8
ldr r1, [sp]
str r0, [r1, #0x14]
add r0, r1, #0
add sp, #0x38
pop {r3, r4, r5, r6, r7, pc}
nop
_0226DC9C: .word 0x02270AA4
_0226DCA0: .word ov16_0226DE10
_0226DCA4: .word 0x00009C40
thumb_func_end ov16_0226DC24
thumb_func_start ov16_0226DCA8
ov16_0226DCA8: ; 0x0226DCA8
push {r4, r5, r6, lr}
add r6, r0, #0
mov r4, #0
add r5, r6, #0
_0226DCB0:
ldr r0, [r5, #0]
bl sub_0200D0F4
add r4, r4, #1
add r5, r5, #4
cmp r4, #5
blt _0226DCB0
ldr r0, [r6, #0x14]
bl sub_0200DA58
add r0, r6, #0
bl sub_020181C4
pop {r4, r5, r6, pc}
thumb_func_end ov16_0226DCA8
thumb_func_start ov16_0226DCCC
ov16_0226DCCC: ; 0x0226DCCC
push {r4, r5, r6, lr}
add r5, r0, #0
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r4, [sp, #0x24]
add r6, r3, #0
ldr r0, [r5, #0]
asr r1, r1, #0x10
asr r2, r2, #0x10
add r3, r4, #0
bl sub_0200D500
ldr r2, [sp, #0x10]
lsl r1, r6, #0x10
lsl r2, r2, #0x10
ldr r0, [r5, #4]
asr r1, r1, #0x10
asr r2, r2, #0x10
add r3, r4, #0
bl sub_0200D500
ldr r1, [sp, #0x14]
ldr r2, [sp, #0x18]
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r0, [r5, #8]
asr r1, r1, #0x10
asr r2, r2, #0x10
add r3, r4, #0
bl sub_0200D500
ldr r1, [sp, #0x1c]
ldr r2, [sp, #0x20]
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r0, [r5, #0xc]
asr r1, r1, #0x10
asr r2, r2, #0x10
add r3, r4, #0
bl sub_0200D500
ldr r0, [r5, #0]
mov r1, #0
bl sub_0200D364
ldr r0, [r5, #4]
mov r1, #1
bl sub_0200D364
ldr r0, [r5, #8]
mov r1, #2
bl sub_0200D364
ldr r0, [r5, #0xc]
mov r1, #3
bl sub_0200D364
mov r4, #0
mov r6, #1
_0226DD42:
ldr r0, [r5, #0]
add r1, r6, #0
bl sub_0200D3F4
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blt _0226DD42
pop {r4, r5, r6, pc}
thumb_func_end ov16_0226DCCC
thumb_func_start ov16_0226DD54
ov16_0226DD54: ; 0x0226DD54
push {r4, lr}
sub sp, #0x18
ldr r4, [sp, #0x20]
str r4, [sp]
ldr r4, [sp, #0x24]
str r4, [sp, #4]
ldr r4, [sp, #0x28]
str r4, [sp, #8]
ldr r4, [sp, #0x2c]
str r4, [sp, #0xc]
ldr r4, [sp, #0x30]
str r4, [sp, #0x10]
mov r4, #3
lsl r4, r4, #0x12
str r4, [sp, #0x14]
bl ov16_0226DCCC
add sp, #0x18
pop {r4, pc}
; .align 2, 0
thumb_func_end ov16_0226DD54
thumb_func_start ov16_0226DD7C
ov16_0226DD7C: ; 0x0226DD7C
push {r3, r4, lr}
sub sp, #0x14
add r4, r2, #0
str r3, [sp]
ldr r2, [sp, #0x20]
str r1, [sp, #4]
str r2, [sp, #8]
str r4, [sp, #0xc]
str r2, [sp, #0x10]
add r2, r3, #0
add r3, r4, #0
bl ov16_0226DD54
add sp, #0x14
pop {r3, r4, pc}
; .align 2, 0
thumb_func_end ov16_0226DD7C
thumb_func_start ov16_0226DD9C
ov16_0226DD9C: ; 0x0226DD9C
push {r4, lr}
sub sp, #0x18
add r4, r2, #0
str r3, [sp]
ldr r2, [sp, #0x20]
str r1, [sp, #4]
str r2, [sp, #8]
str r4, [sp, #0xc]
str r2, [sp, #0x10]
ldr r2, [sp, #0x24]
str r2, [sp, #0x14]
add r2, r3, #0
add r3, r4, #0
bl ov16_0226DCCC
add sp, #0x18
pop {r4, pc}
; .align 2, 0
thumb_func_end ov16_0226DD9C
thumb_func_start ov16_0226DDC0
ov16_0226DDC0: ; 0x0226DDC0
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r3, #0
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r0, [r5, #0x10]
ldr r3, [sp, #0x10]
asr r1, r1, #0x10
asr r2, r2, #0x10
bl sub_0200D500
ldr r0, [r5, #0x10]
add r1, r4, #0
bl sub_0200D364
ldr r0, [r5, #0x10]
mov r1, #1
bl sub_0200D3F4
pop {r3, r4, r5, pc}
thumb_func_end ov16_0226DDC0
thumb_func_start ov16_0226DDE8
ov16_0226DDE8: ; 0x0226DDE8
push {r4, r5, r6, lr}
mov r4, #0
add r5, r0, #0
add r6, r4, #0
_0226DDF0:
ldr r0, [r5, #0]
add r1, r6, #0
bl sub_0200D3F4
add r4, r4, #1
add r5, r5, #4
cmp r4, #5
blt _0226DDF0
pop {r4, r5, r6, pc}
; .align 2, 0
thumb_func_end ov16_0226DDE8
thumb_func_start ov16_0226DE04
ov16_0226DE04: ; 0x0226DE04
ldr r3, _0226DE0C ; =sub_0200D3F4
ldr r0, [r0, #0x10]
mov r1, #0
bx r3
; .align 2, 0
_0226DE0C: .word sub_0200D3F4
thumb_func_end ov16_0226DE04
thumb_func_start ov16_0226DE10
ov16_0226DE10: ; 0x0226DE10
push {r4, r5, r6, lr}
add r6, r1, #0
ldr r0, [r6, #0]
bl sub_0200D408
cmp r0, #0
beq _0226DE40
mov r4, #0
add r5, r6, #0
_0226DE22:
ldr r0, [r5, #0]
bl sub_0200D330
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blt _0226DE22
ldr r0, [r6, #0x10]
bl sub_0200D408
cmp r0, #1
bne _0226DE40
ldr r0, [r6, #0x10]
bl sub_0200D330
_0226DE40:
pop {r4, r5, r6, pc}
; .align 2, 0
thumb_func_end ov16_0226DE10
.rodata
.global Unk_ov16_02270AA4
Unk_ov16_02270AA4: ; 0x02270AA4
.incbin "incbin/overlay16_rodata.bin", 0x2848, 0x34

421
asm/ov16_0226DE44.s Normal file
View File

@ -0,0 +1,421 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov16_0226DE44
ov16_0226DE44: ; 0x0226DE44
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
add r4, r1, #0
mov r0, #0x52
add r1, r2, #0
add r7, r3, #0
bl sub_02006C24
add r6, r0, #0
str r6, [sp]
mov r0, #0xb
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
mov r0, #2
str r0, [sp, #0x10]
ldr r0, [sp, #0x34]
mov r1, #3
str r0, [sp, #0x14]
add r0, r7, #0
add r2, r5, #0
add r3, r4, #0
bl sub_0200CDC4
mov r0, #0
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, [sp, #0x30]
add r1, r4, #0
str r0, [sp, #8]
add r0, r5, #0
add r2, r6, #0
mov r3, #0xa
bl sub_0200CC3C
mov r0, #0
str r0, [sp]
ldr r0, [sp, #0x38]
add r1, r4, #0
str r0, [sp, #4]
add r0, r5, #0
add r2, r6, #0
mov r3, #0xc
bl sub_0200CE24
mov r0, #0
str r0, [sp]
ldr r0, [sp, #0x3c]
add r1, r4, #0
str r0, [sp, #4]
add r0, r5, #0
add r2, r6, #0
mov r3, #0xd
bl sub_0200CE54
add r0, r6, #0
bl sub_02006CA8
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov16_0226DE44
thumb_func_start ov16_0226DEC4
ov16_0226DEC4: ; 0x0226DEC4
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r2, #0
add r6, r3, #0
bl sub_0200D070
add r0, r5, #0
add r1, r4, #0
bl sub_0200D080
add r0, r5, #0
add r1, r6, #0
bl sub_0200D090
ldr r1, [sp, #0x10]
add r0, r5, #0
bl sub_0200D0A0
pop {r4, r5, r6, pc}
; .align 2, 0
thumb_func_end ov16_0226DEC4
thumb_func_start ov16_0226DEEC
ov16_0226DEEC: ; 0x0226DEEC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x38
ldr r5, _0226DF5C ; =0x02270AD8
add r6, r3, #0
add r7, r0, #0
str r1, [sp]
add r4, sp, #4
mov r3, #6
_0226DEFC:
ldmia r5!, {r0, r1}
stmia r4!, {r0, r1}
sub r3, r3, #1
bne _0226DEFC
ldr r0, [r5, #0]
mov r1, #0x20
str r0, [r4, #0]
ldr r0, [sp, #0x50]
str r6, [sp, #0x18]
str r0, [sp, #0x1c]
ldr r0, [sp, #0x54]
str r0, [sp, #0x20]
ldr r0, [sp, #0x58]
str r0, [sp, #0x24]
ldr r0, [sp, #0x5c]
str r0, [sp, #0xc]
ldr r0, [sp, #0x60]
str r0, [sp, #0x30]
add r0, r2, #0
bl sub_02018144
mov r1, #0
mov r2, #0x20
add r4, r0, #0
bl sub_020C4CF4
ldr r1, [sp]
add r0, r7, #0
add r2, sp, #4
bl sub_0200CE6C
mov r1, #0
str r0, [r4, #0]
bl sub_0200D3F4
mov r0, #3
lsl r0, r0, #0x12
str r0, [r4, #0x14]
ldr r0, _0226DF60 ; =ov16_0226DFD8
ldr r2, _0226DF64 ; =0x000003E7
add r1, r4, #0
bl sub_0200D9E8
str r0, [r4, #4]
add r0, r4, #0
add sp, #0x38
pop {r3, r4, r5, r6, r7, pc}
nop
_0226DF5C: .word 0x02270AD8
_0226DF60: .word ov16_0226DFD8
_0226DF64: .word 0x000003E7
thumb_func_end ov16_0226DEEC
thumb_func_start ov16_0226DF68
ov16_0226DF68: ; 0x0226DF68
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0]
bl sub_0200D0F4
ldr r0, [r4, #4]
bl sub_0200DA58
add r0, r4, #0
bl sub_020181C4
pop {r4, pc}
thumb_func_end ov16_0226DF68
thumb_func_start ov16_0226DF80
ov16_0226DF80: ; 0x0226DF80
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r7, r1, #0
add r4, r2, #0
add r6, r3, #0
bl ov16_0226E13C
str r7, [r5, #8]
str r4, [r5, #0xc]
str r6, [r5, #0x14]
lsl r1, r7, #0x10
lsl r2, r4, #0x10
ldr r0, [r5, #0]
asr r1, r1, #0x10
asr r2, r2, #0x10
add r3, r6, #0
bl sub_0200D500
ldr r0, [r5, #0]
mov r1, #1
bl sub_0200D3F4
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov16_0226DF80
thumb_func_start ov16_0226DFB0
ov16_0226DFB0: ; 0x0226DFB0
push {r3, lr}
mov r3, #3
lsl r3, r3, #0x12
bl ov16_0226DF80
pop {r3, pc}
thumb_func_end ov16_0226DFB0
thumb_func_start ov16_0226DFBC
ov16_0226DFBC: ; 0x0226DFBC
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0]
mov r1, #0
bl sub_0200D3F4
add r0, r4, #0
bl ov16_0226E13C
pop {r4, pc}
thumb_func_end ov16_0226DFBC
thumb_func_start ov16_0226DFD0
ov16_0226DFD0: ; 0x0226DFD0
strh r1, [r0, #0x18]
bx lr
thumb_func_end ov16_0226DFD0
thumb_func_start ov16_0226DFD4
ov16_0226DFD4: ; 0x0226DFD4
ldrb r0, [r0, #0x1b]
bx lr
thumb_func_end ov16_0226DFD4
thumb_func_start ov16_0226DFD8
ov16_0226DFD8: ; 0x0226DFD8
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
ldrb r0, [r4, #0x1b]
cmp r0, #1
bne _0226DFE6
mov r0, #0
strb r0, [r4, #0x1b]
_0226DFE6:
mov r0, #0x18
ldrsh r1, [r4, r0]
cmp r1, #0
ble _0226DFFC
sub r1, r1, #1
strh r1, [r4, #0x18]
ldrsh r0, [r4, r0]
cmp r0, #0
bne _0226DFFC
mov r0, #1
strb r0, [r4, #0x1a]
_0226DFFC:
ldr r0, [r4, #0]
bl sub_0200D408
cmp r0, #0
bne _0226E008
b _0226E134
_0226E008:
ldrb r0, [r4, #0x1c]
cmp r0, #0
bne _0226E08A
mov r1, #0xfa
ldr r2, [r4, #0x10]
lsl r1, r1, #2
add r2, r2, r1
add r0, r4, #0
ldr r1, _0226E138 ; =0x00004650
add r0, #0x10
str r2, [r4, #0x10]
cmp r2, r1
blt _0226E036
ldr r2, [r0, #0]
sub r1, r2, r1
str r1, [r0, #0]
ldrb r0, [r4, #0x1a]
cmp r0, #1
bne _0226E036
mov r0, #1
strb r0, [r4, #0x1c]
mov r0, #0
strb r0, [r4, #0x1a]
_0226E036:
ldrb r0, [r4, #0x1c]
cmp r0, #0
bne _0226E08A
ldr r0, [r4, #0x10]
mov r1, #0x64
bl sub_020E1F6C
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl sub_0201D15C
mov r2, #0xe
asr r1, r0, #0x1f
lsl r2, r2, #0xc
mov r3, #0
bl sub_020E1F1C
add r5, r1, #0
ldr r1, [r4, #8]
mov r2, #2
add r6, r0, #0
lsl r1, r1, #0x10
mov r7, #0
lsl r2, r2, #0xa
asr r1, r1, #0x10
add r2, r6, r2
adc r5, r7
lsl r5, r5, #0x14
lsr r2, r2, #0xc
orr r2, r5
asr r5, r2, #0xb
lsr r5, r5, #0x14
add r5, r2, r5
ldr r3, [r4, #0xc]
asr r2, r5, #0xc
sub r2, r3, r2
lsl r2, r2, #0x10
ldr r0, [r4, #0]
ldr r3, [r4, #0x14]
asr r2, r2, #0x10
bl sub_0200D500
_0226E08A:
ldrb r0, [r4, #0x1c]
cmp r0, #1
bne _0226E12E
ldrb r0, [r4, #0x1d]
cmp r0, #3
bhi _0226E12E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0226E0A2: ; jump table
.short _0226E0AA - _0226E0A2 - 2 ; case 0
.short _0226E0C2 - _0226E0A2 - 2 ; case 1
.short _0226E0E4 - _0226E0A2 - 2 ; case 2
.short _0226E112 - _0226E0A2 - 2 ; case 3
_0226E0AA:
ldrb r0, [r4, #0x1e]
add r0, r0, #1
strb r0, [r4, #0x1e]
ldrb r0, [r4, #0x1e]
cmp r0, #3
bls _0226E12E
mov r0, #0
strb r0, [r4, #0x1e]
ldrb r0, [r4, #0x1d]
add r0, r0, #1
strb r0, [r4, #0x1d]
b _0226E12E
_0226E0C2:
ldr r2, [r4, #0xc]
ldr r1, [r4, #8]
add r2, #8
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r0, [r4, #0]
ldr r3, [r4, #0x14]
asr r1, r1, #0x10
asr r2, r2, #0x10
bl sub_0200D500
mov r0, #1
strb r0, [r4, #0x1b]
ldrb r0, [r4, #0x1d]
add r0, r0, #1
strb r0, [r4, #0x1d]
b _0226E12E
_0226E0E4:
ldrb r0, [r4, #0x1e]
add r0, r0, #1
strb r0, [r4, #0x1e]
ldrb r0, [r4, #0x1e]
cmp r0, #2
bls _0226E12E
ldr r2, [r4, #0xc]
ldr r1, [r4, #8]
add r2, r2, #2
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r0, [r4, #0]
ldr r3, [r4, #0x14]
asr r1, r1, #0x10
asr r2, r2, #0x10
bl sub_0200D500
mov r0, #0
strb r0, [r4, #0x1e]
ldrb r0, [r4, #0x1d]
add r0, r0, #1
strb r0, [r4, #0x1d]
b _0226E12E
_0226E112:
ldrb r0, [r4, #0x1e]
add r0, r0, #1
strb r0, [r4, #0x1e]
ldrb r0, [r4, #0x1e]
cmp r0, #2
bls _0226E12E
add r0, r4, #0
bl ov16_0226DFBC
mov r0, #0
strb r0, [r4, #0x1e]
ldrb r0, [r4, #0x1d]
add r0, r0, #1
strb r0, [r4, #0x1d]
_0226E12E:
ldr r0, [r4, #0]
bl sub_0200D330
_0226E134:
pop {r3, r4, r5, r6, r7, pc}
nop
_0226E138: .word 0x00004650
thumb_func_end ov16_0226DFD8
thumb_func_start ov16_0226E13C
ov16_0226E13C: ; 0x0226E13C
mov r1, #0
str r1, [r0, #0x10]
strb r1, [r0, #0x1c]
strb r1, [r0, #0x1d]
strb r1, [r0, #0x1e]
bx lr
thumb_func_end ov16_0226E13C
.rodata
.global Unk_ov16_02270AD8
Unk_ov16_02270AD8: ; 0x02270AD8
.incbin "incbin/overlay16_rodata.bin", 0x287C, 0x34

144
asm/ov16_0226E148.s Normal file
View File

@ -0,0 +1,144 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov16_0226E148
ov16_0226E148: ; 0x0226E148
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #5
mov r1, #8
bl sub_02018144
mov r1, #0
mov r2, #8
add r4, r0, #0
bl sub_020C4CF4
mov r2, #0xfa
ldr r0, _0226E170 ; =ov16_0226E188
add r1, r4, #0
lsl r2, r2, #2
str r5, [r4, #0]
bl sub_0200D9E8
pop {r3, r4, r5, pc}
nop
_0226E170: .word ov16_0226E188
thumb_func_end ov16_0226E148
thumb_func_start ov16_0226E174
ov16_0226E174: ; 0x0226E174
push {r4, lr}
add r4, r0, #0
bl sub_0201CED0
bl sub_020181C4
add r0, r4, #0
bl sub_0200DA58
pop {r4, pc}
thumb_func_end ov16_0226E174
thumb_func_start ov16_0226E188
ov16_0226E188: ; 0x0226E188
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r1, #0
ldr r0, [r4, #0]
bl ov16_0223E02C
mov r1, #4
ldrsh r1, [r4, r1]
add r5, r0, #0
cmp r1, #4
bhi _0226E252
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0226E1AA: ; jump table
.short _0226E1B4 - _0226E1AA - 2 ; case 0
.short _0226E1FA - _0226E1AA - 2 ; case 1
.short _0226E20E - _0226E1AA - 2 ; case 2
.short _0226E234 - _0226E1AA - 2 ; case 3
.short _0226E252 - _0226E1AA - 2 ; case 4
_0226E1B4:
cmp r5, #0
bne _0226E1BC
bl sub_02022974
_0226E1BC:
mov r0, #7
mov r1, #5
bl sub_02006C24
add r6, r0, #0
mov r0, #0x1b
mov r1, #5
bl sub_02006C24
add r7, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
add r0, r6, #0
add r1, r7, #0
add r2, r5, #0
mov r3, #0x12
bl ov16_02268C04
add r0, r6, #0
bl sub_02006CA8
add r0, r7, #0
bl sub_02006CA8
mov r0, #4
ldrsh r0, [r4, r0]
add sp, #8
add r0, r0, #1
strh r0, [r4, #4]
pop {r3, r4, r5, r6, r7, pc}
_0226E1FA:
bl ov16_02269348
cmp r0, #1
bne _0226E252
mov r0, #4
ldrsh r0, [r4, r0]
add sp, #8
add r0, r0, #1
strh r0, [r4, #4]
pop {r3, r4, r5, r6, r7, pc}
_0226E20E:
ldr r0, [r4, #0]
bl ov16_0223F7A4
cmp r0, #1
bne _0226E252
add r0, r5, #0
bl ov16_0226925C
cmp r0, #1
bne _0226E252
ldr r0, _0226E258 ; =0x000005DD
bl sub_02005748
mov r0, #4
ldrsh r0, [r4, r0]
add sp, #8
add r0, r0, #1
strh r0, [r4, #4]
pop {r3, r4, r5, r6, r7, pc}
_0226E234:
mov r0, #6
ldrsh r1, [r4, r0]
add r1, r1, #1
strh r1, [r4, #6]
ldrsh r0, [r4, r0]
cmp r0, #8
ble _0226E252
ldr r0, [r4, #0]
mov r1, #0
bl ov16_0223F720
mov r0, #4
ldrsh r0, [r4, r0]
add r0, r0, #1
strh r0, [r4, #4]
_0226E252:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_0226E258: .word 0x000005DD
thumb_func_end ov16_0226E188

3273
asm/ov17_0223B140.s Normal file

File diff suppressed because it is too large Load Diff

1956
asm/ov17_0223CB1C.s Normal file

File diff suppressed because it is too large Load Diff

2779
asm/ov17_0223DAD0.s Normal file

File diff suppressed because it is too large Load Diff

919
asm/ov17_0223F118.s Normal file
View File

@ -0,0 +1,919 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov17_0223F118
ov17_0223F118: ; 0x0223F118
push {r3, lr}
ldr r0, _0223F134 ; =0x0000000B
mov r1, #2
bl sub_02006590
ldr r0, _0223F138 ; =0x0000000C
mov r1, #2
bl sub_02006590
ldr r0, _0223F13C ; =0x00000016
mov r1, #2
bl sub_02006590
pop {r3, pc}
; .align 2, 0
_0223F134: .word 0x0000000B
_0223F138: .word 0x0000000C
_0223F13C: .word 0x00000016
thumb_func_end ov17_0223F118
thumb_func_start ov17_0223F140
ov17_0223F140: ; 0x0223F140
push {r3, lr}
sub sp, #8
mov r2, #2
ldr r1, _0223F158 ; =ov17_0223F15C
str r2, [sp]
str r1, [sp, #4]
mov r1, #0
add r3, r1, #0
bl sub_02024220
add sp, #8
pop {r3, pc}
; .align 2, 0
_0223F158: .word ov17_0223F15C
thumb_func_end ov17_0223F140
thumb_func_start ov17_0223F15C
ov17_0223F15C: ; 0x0223F15C
push {r3, lr}
mov r0, #1
add r1, r0, #0
bl sub_0201FF0C
ldr r0, _0223F1C8 ; =0x04000008
mov r1, #3
ldrh r2, [r0]
bic r2, r1
mov r1, #1
orr r1, r2
strh r1, [r0]
add r0, #0x58
ldrh r2, [r0]
ldr r1, _0223F1CC ; =0xFFFFCFFD
and r2, r1
strh r2, [r0]
add r2, r1, #2
ldrh r3, [r0]
add r1, r1, #2
and r3, r2
mov r2, #0x10
orr r2, r3
strh r2, [r0]
ldrh r3, [r0]
ldr r2, _0223F1D0 ; =0x0000CFFB
and r3, r2
strh r3, [r0]
ldrh r3, [r0]
sub r2, #0x1c
and r3, r1
mov r1, #8
orr r1, r3
strh r1, [r0]
ldrh r1, [r0]
and r1, r2
strh r1, [r0]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl sub_020BFC74
mov r0, #0
ldr r2, _0223F1D4 ; =0x00007FFF
add r1, r0, #0
mov r3, #0x3f
str r0, [sp]
bl sub_020BFD58
ldr r1, _0223F1D8 ; =0xBFFF0000
ldr r0, _0223F1DC ; =0x04000580
str r1, [r0, #0]
pop {r3, pc}
; .align 2, 0
_0223F1C8: .word 0x04000008
_0223F1CC: .word 0xFFFFCFFD
_0223F1D0: .word 0x0000CFFB
_0223F1D4: .word 0x00007FFF
_0223F1D8: .word 0xBFFF0000
_0223F1DC: .word 0x04000580
thumb_func_end ov17_0223F15C
thumb_func_start ov17_0223F1E0
ov17_0223F1E0: ; 0x0223F1E0
ldr r3, _0223F1E4 ; =sub_020242C4
bx r3
; .align 2, 0
_0223F1E4: .word sub_020242C4
thumb_func_end ov17_0223F1E0
thumb_func_start ov17_0223F1E8
ov17_0223F1E8: ; 0x0223F1E8
push {r4, r5, r6, r7, lr}
sub sp, #0x74
str r0, [sp, #0x18]
str r1, [sp, #0x1c]
str r2, [sp, #0x20]
ldr r0, [sp, #0x90]
ldr r1, [sp, #0x8c]
mov r2, #0
str r3, [sp, #0x24]
ldr r5, [sp, #0x88]
ldr r4, [sp, #0xa0]
bl sub_02002D7C
add r7, r0, #0
asr r1, r7, #2
lsr r1, r1, #0x1d
add r1, r7, r1
asr r6, r1, #3
mov r1, #8
bl sub_020BD140
cmp r0, #0
beq _0223F218
add r6, r6, #1
_0223F218:
add r0, sp, #0x34
bl sub_0201A7A0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
lsl r2, r6, #0x18
ldr r0, [sp, #0x1c]
add r1, sp, #0x34
lsr r2, r2, #0x18
mov r3, #2
bl sub_0201A870
mov r3, #0
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, [sp, #0x94]
ldr r1, [sp, #0x90]
str r0, [sp, #8]
str r3, [sp, #0xc]
str r3, [sp, #0x10]
ldr r2, [sp, #0x8c]
add r0, sp, #0x34
str r3, [sp, #0x14]
bl sub_0201D7E0
ldr r2, [sp, #0x18]
add r0, sp, #0x34
mov r1, #1
bl sub_02012898
mov r1, #1
add r2, r1, #0
add r3, sp, #0x28
bl sub_0201ED94
ldr r0, [sp, #0xa8]
cmp r0, #1
bne _0223F270
lsr r0, r7, #0x1f
add r0, r7, r0
asr r0, r0, #1
sub r4, r4, r0
_0223F270:
ldr r0, [sp, #0x24]
str r0, [sp, #0x44]
add r0, sp, #0x34
str r0, [sp, #0x48]
ldr r0, [sp, #0x20]
bl sub_0200D9B0
str r0, [sp, #0x4c]
ldr r0, [sp, #0x20]
ldr r1, [sp, #0x9c]
bl sub_0200D04C
str r0, [sp, #0x50]
mov r0, #0
str r0, [sp, #0x54]
ldr r0, [sp, #0x2c]
str r4, [sp, #0x5c]
str r0, [sp, #0x58]
ldr r0, [sp, #0xa4]
sub r0, #8
str r0, [sp, #0x60]
ldr r0, [sp, #0xac]
str r0, [sp, #0x64]
ldr r0, [sp, #0xb0]
str r0, [sp, #0x68]
mov r0, #1
str r0, [sp, #0x6c]
ldr r0, [sp, #0x18]
str r0, [sp, #0x70]
add r0, sp, #0x44
bl sub_020127E8
ldr r1, [sp, #0x98]
add r6, r0, #0
cmp r1, #0
beq _0223F2BC
bl sub_02012A90
_0223F2BC:
ldr r2, [sp, #0xa4]
add r0, r6, #0
add r1, r4, #0
sub r2, #8
bl sub_020128C4
add r0, sp, #0x34
bl sub_0201A8FC
str r6, [r5, #0]
add r3, sp, #0x28
ldmia r3!, {r0, r1}
add r2, r5, #4
stmia r2!, {r0, r1}
ldr r0, [r3, #0]
str r0, [r2, #0]
strh r7, [r5, #0x10]
add sp, #0x74
pop {r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov17_0223F1E8
thumb_func_start ov17_0223F2E4
ov17_0223F2E4: ; 0x0223F2E4
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0]
bl sub_02012870
add r0, r4, #4
bl sub_0201EE28
pop {r4, pc}
; .align 2, 0
thumb_func_end ov17_0223F2E4
thumb_func_start ov17_0223F2F8
ov17_0223F2F8: ; 0x0223F2F8
cmp r3, #1
bne _0223F302
ldrh r3, [r0, #0x10]
lsr r3, r3, #1
sub r1, r1, r3
_0223F302:
ldr r3, _0223F30C ; =sub_020128C4
ldr r0, [r0, #0]
sub r2, #8
bx r3
nop
_0223F30C: .word sub_020128C4
thumb_func_end ov17_0223F2F8
thumb_func_start ov17_0223F310
ov17_0223F310: ; 0x0223F310
push {r3, r4, r5, lr}
add r4, r0, #0
add r3, r1, #0
mov r0, #1
mov r1, #0x1a
mov r2, #0xcf
bl sub_0200B144
add r5, r0, #0
add r1, r4, #0
bl sub_0200B1EC
add r4, r0, #0
add r0, r5, #0
bl sub_0200B190
add r0, r4, #0
pop {r3, r4, r5, pc}
thumb_func_end ov17_0223F310
thumb_func_start ov17_0223F334
ov17_0223F334: ; 0x0223F334
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, r1, #0
ldr r1, _0223F36C ; =0x00000122
ldrb r1, [r5, r1]
bl ov17_02252A9C
add r7, r0, #0
mov r6, #0
add r4, r5, #0
_0223F348:
add r0, r5, #0
add r0, #0xf8
ldr r0, [r0, #0]
add r1, r7, #0
bl ov17_02252A70
ldr r1, _0223F370 ; =0x0000012A
add r6, r6, #1
strh r0, [r4, r1]
add r5, r5, #4
add r4, #0xc
cmp r6, #4
blt _0223F348
add r0, r7, #0
bl sub_020181C4
pop {r3, r4, r5, r6, r7, pc}
nop
_0223F36C: .word 0x00000122
_0223F370: .word 0x0000012A
thumb_func_end ov17_0223F334
thumb_func_start ov17_0223F374
ov17_0223F374: ; 0x0223F374
push {r4, r5, r6, r7, lr}
sub sp, #0x14
str r0, [sp]
ldr r4, [sp]
mov r0, #0
str r0, [sp, #0x10]
add r0, r4, #0
str r0, [sp, #4]
_0223F384:
ldr r0, [r4, #0]
mov r1, #6
mov r2, #0
bl sub_02074470
mov r6, #0x64
add r5, r0, #0
add r0, r6, #0
ldr r1, [sp]
add r0, #0xbb
ldrb r0, [r1, r0]
cmp r0, #4
bls _0223F3A0
b _0223F512
_0223F3A0:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0223F3AC: ; jump table
.short _0223F3B6 - _0223F3AC - 2 ; case 0
.short _0223F3FC - _0223F3AC - 2 ; case 1
.short _0223F442 - _0223F3AC - 2 ; case 2
.short _0223F488 - _0223F3AC - 2 ; case 3
.short _0223F4CE - _0223F3AC - 2 ; case 4
_0223F3B6:
ldr r0, [r4, #0]
mov r1, #0x13
mov r2, #0
bl sub_02074470
str r0, [sp, #0xc]
ldr r0, [r4, #0]
mov r1, #0x17
mov r2, #0
bl sub_02074470
str r0, [sp, #8]
ldr r0, [r4, #0]
mov r1, #0x14
mov r2, #0
bl sub_02074470
add r7, r0, #0
add r0, r6, #0
add r0, #0xa0
cmp r5, r0
beq _0223F3F4
add r0, r6, #0
add r0, #0xa1
cmp r5, r0
beq _0223F3F8
add r0, r6, #0
add r0, #0xa4
cmp r5, r0
beq _0223F3F8
b _0223F51A
_0223F3F4:
mov r6, #0x6e
b _0223F51A
_0223F3F8:
mov r6, #0x69
b _0223F51A
_0223F3FC:
ldr r0, [r4, #0]
mov r1, #0x14
mov r2, #0
bl sub_02074470
str r0, [sp, #0xc]
ldr r0, [r4, #0]
mov r1, #0x13
mov r2, #0
bl sub_02074470
str r0, [sp, #8]
ldr r0, [r4, #0]
mov r1, #0x15
mov r2, #0
bl sub_02074470
add r7, r0, #0
add r0, r6, #0
add r0, #0xa0
cmp r5, r0
beq _0223F43E
add r0, r6, #0
add r0, #0xa1
cmp r5, r0
beq _0223F43A
add r0, r6, #0
add r0, #0xa2
cmp r5, r0
beq _0223F43E
b _0223F51A
_0223F43A:
mov r6, #0x6e
b _0223F51A
_0223F43E:
mov r6, #0x69
b _0223F51A
_0223F442:
ldr r0, [r4, #0]
mov r1, #0x15
mov r2, #0
bl sub_02074470
str r0, [sp, #0xc]
ldr r0, [r4, #0]
mov r1, #0x14
mov r2, #0
bl sub_02074470
str r0, [sp, #8]
ldr r0, [r4, #0]
mov r1, #0x16
mov r2, #0
bl sub_02074470
add r7, r0, #0
add r0, r6, #0
add r0, #0xa1
cmp r5, r0
beq _0223F484
add r0, r6, #0
add r0, #0xa2
cmp r5, r0
beq _0223F480
add r0, r6, #0
add r0, #0xa3
cmp r5, r0
beq _0223F484
b _0223F51A
_0223F480:
mov r6, #0x6e
b _0223F51A
_0223F484:
mov r6, #0x69
b _0223F51A
_0223F488:
ldr r0, [r4, #0]
mov r1, #0x16
mov r2, #0
bl sub_02074470
str r0, [sp, #0xc]
ldr r0, [r4, #0]
mov r1, #0x15
mov r2, #0
bl sub_02074470
str r0, [sp, #8]
ldr r0, [r4, #0]
mov r1, #0x17
mov r2, #0
bl sub_02074470
add r7, r0, #0
add r0, r6, #0
add r0, #0xa2
cmp r5, r0
beq _0223F4CA
add r0, r6, #0
add r0, #0xa3
cmp r5, r0
beq _0223F4C6
add r0, r6, #0
add r0, #0xa4
cmp r5, r0
beq _0223F4CA
b _0223F51A
_0223F4C6:
mov r6, #0x6e
b _0223F51A
_0223F4CA:
mov r6, #0x69
b _0223F51A
_0223F4CE:
ldr r0, [r4, #0]
mov r1, #0x17
mov r2, #0
bl sub_02074470
str r0, [sp, #0xc]
ldr r0, [r4, #0]
mov r1, #0x16
mov r2, #0
bl sub_02074470
str r0, [sp, #8]
ldr r0, [r4, #0]
mov r1, #0x13
mov r2, #0
bl sub_02074470
add r7, r0, #0
add r0, r6, #0
add r0, #0xa0
cmp r5, r0
beq _0223F50E
add r0, r6, #0
add r0, #0xa3
cmp r5, r0
beq _0223F50E
add r0, r6, #0
add r0, #0xa4
cmp r5, r0
bne _0223F51A
mov r6, #0x6e
b _0223F51A
_0223F50E:
mov r6, #0x69
b _0223F51A
_0223F512:
bl sub_02022974
add sp, #0x14
pop {r4, r5, r6, r7, pc}
_0223F51A:
ldr r0, [r4, #0]
mov r1, #0x18
mov r2, #0
bl sub_02074470
ldr r1, [sp, #8]
add r1, r1, r7
add r1, r0, r1
lsr r0, r1, #0x1f
add r0, r1, r0
asr r1, r0, #1
ldr r0, [sp, #0xc]
add r1, r0, r1
add r0, r1, #0
mul r0, r6
mov r1, #0x64
bl sub_020E1F6C
mov r1, #0x4a
ldr r2, [sp, #4]
lsl r1, r1, #2
strh r0, [r2, r1]
add r0, r2, #0
add r0, #0xc
str r0, [sp, #4]
ldr r0, [sp, #0x10]
add r4, r4, #4
add r0, r0, #1
str r0, [sp, #0x10]
cmp r0, #4
bge _0223F55A
b _0223F384
_0223F55A:
add sp, #0x14
pop {r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov17_0223F374
thumb_func_start ov17_0223F560
ov17_0223F560: ; 0x0223F560
push {r4, r5, r6, lr}
sub sp, #0x18
add r6, r2, #0
mov r2, #0
mvn r2, r2
add r5, r0, #0
add r4, r1, #0
cmp r3, r2
beq _0223F582
mov r2, #1
str r2, [sp]
str r2, [sp, #4]
str r3, [sp, #8]
mov r2, #0x2e
mov r3, #0x49
bl sub_0200CBDC
_0223F582:
mov r1, #0
ldr r0, [sp, #0x28]
mvn r1, r1
cmp r0, r1
beq _0223F5AC
mov r1, #0x2e
str r1, [sp]
mov r1, #7
str r1, [sp, #4]
mov r1, #0
str r1, [sp, #8]
mov r1, #1
str r1, [sp, #0xc]
str r1, [sp, #0x10]
str r0, [sp, #0x14]
add r0, r6, #0
mov r1, #2
add r2, r5, #0
add r3, r4, #0
bl sub_0200CD7C
_0223F5AC:
mov r0, #0
ldr r1, [sp, #0x2c]
mvn r0, r0
cmp r1, r0
beq _0223F5C8
mov r0, #1
str r0, [sp]
str r1, [sp, #4]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x2e
mov r3, #0x4a
bl sub_0200CE0C
_0223F5C8:
mov r0, #0
ldr r1, [sp, #0x30]
mvn r0, r0
cmp r1, r0
beq _0223F5E4
mov r0, #1
str r0, [sp]
str r1, [sp, #4]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x2e
mov r3, #0x4b
bl sub_0200CE3C
_0223F5E4:
add sp, #0x18
pop {r4, r5, r6, pc}
thumb_func_end ov17_0223F560
thumb_func_start ov17_0223F5E8
ov17_0223F5E8: ; 0x0223F5E8
push {r4, r5, r6, lr}
add r4, r2, #0
mov r2, #0
mvn r2, r2
add r5, r0, #0
add r6, r3, #0
cmp r1, r2
beq _0223F5FC
bl sub_0200D070
_0223F5FC:
mov r0, #0
mvn r0, r0
cmp r4, r0
beq _0223F60C
add r0, r5, #0
add r1, r4, #0
bl sub_0200D080
_0223F60C:
mov r0, #0
mvn r0, r0
cmp r6, r0
beq _0223F61C
add r0, r5, #0
add r1, r6, #0
bl sub_0200D090
_0223F61C:
mov r0, #0
ldr r1, [sp, #0x10]
mvn r0, r0
cmp r1, r0
beq _0223F62C
add r0, r5, #0
bl sub_0200D0A0
_0223F62C:
pop {r4, r5, r6, pc}
; .align 2, 0
thumb_func_end ov17_0223F5E8
thumb_func_start ov17_0223F630
ov17_0223F630: ; 0x0223F630
push {r4, r5, r6, r7, lr}
sub sp, #0x3c
ldr r5, _0223F6B8 ; =0x022531FC
str r2, [sp, #4]
str r0, [sp]
add r7, r1, #0
add r4, sp, #8
mov r2, #6
_0223F640:
ldmia r5!, {r0, r1}
stmia r4!, {r0, r1}
sub r2, r2, #1
bne _0223F640
ldr r0, [r5, #0]
ldr r5, _0223F6BC ; =0x022531CC
str r0, [r4, #0]
ldr r0, [sp, #0x50]
ldr r4, [sp]
str r0, [sp, #0x20]
ldr r0, [sp, #0x54]
str r3, [sp, #0x1c]
str r0, [sp, #0x24]
ldr r0, [sp, #0x58]
mov r6, #0
str r0, [sp, #0x28]
ldr r0, [sp, #0x5c]
str r0, [sp, #0x14]
ldr r0, [sp, #0x60]
str r0, [sp, #0x10]
ldr r0, [sp, #0x64]
str r0, [sp, #0x34]
_0223F66C:
ldr r1, [sp, #4]
add r0, r7, #0
add r2, sp, #8
bl sub_0200CE6C
str r0, [r4, #0]
mov r1, #0
mov r2, #2
ldrsh r1, [r5, r1]
ldrsh r2, [r5, r2]
bl sub_0200D4C4
ldrb r1, [r5, #6]
ldr r0, [r4, #0]
bl sub_0200D364
ldr r0, [r4, #0]
mov r1, #1
bl sub_0200D6A4
ldr r0, [r4, #0]
ldr r0, [r0, #0]
bl sub_0200D324
add r6, r6, #1
add r4, r4, #4
add r5, #8
cmp r6, #6
blt _0223F66C
ldr r0, _0223F6C0 ; =ov17_0223F6E8
ldr r1, [sp]
ldr r2, [sp, #0x68]
bl sub_0200D9E8
ldr r1, [sp]
str r0, [r1, #0x18]
add sp, #0x3c
pop {r4, r5, r6, r7, pc}
; .align 2, 0
_0223F6B8: .word 0x022531FC
_0223F6BC: .word 0x022531CC
_0223F6C0: .word ov17_0223F6E8
thumb_func_end ov17_0223F630
thumb_func_start ov17_0223F6C4
ov17_0223F6C4: ; 0x0223F6C4
push {r4, r5, r6, lr}
add r6, r0, #0
mov r4, #0
add r5, r6, #0
_0223F6CC:
ldr r0, [r5, #0]
bl sub_0200D0F4
add r4, r4, #1
add r5, r5, #4
cmp r4, #6
blt _0223F6CC
ldr r0, [r6, #0x18]
bl sub_0200DA58
mov r0, #0
str r0, [r6, #0x18]
pop {r4, r5, r6, pc}
; .align 2, 0
thumb_func_end ov17_0223F6C4
thumb_func_start ov17_0223F6E8
ov17_0223F6E8: ; 0x0223F6E8
push {r3, r4, r5, r6, r7, lr}
ldr r4, _0223F708 ; =0x022531CC
add r5, r1, #0
mov r6, #0
mov r7, #4
_0223F6F2:
ldrsh r1, [r4, r7]
ldr r0, [r5, #0]
bl sub_0200D7C0
add r6, r6, #1
add r4, #8
add r5, r5, #4
cmp r6, #6
blt _0223F6F2
pop {r3, r4, r5, r6, r7, pc}
nop
_0223F708: .word 0x022531CC
thumb_func_end ov17_0223F6E8
thumb_func_start ov17_0223F70C
ov17_0223F70C: ; 0x0223F70C
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
mov r1, #0x14
add r6, r2, #0
add r7, r3, #0
bl sub_02018144
add r4, r0, #0
mov r1, #0
mov r2, #0x14
bl sub_020C4CF4
str r5, [r4, #4]
str r6, [r4, #0xc]
ldr r0, [sp, #0x18]
strb r7, [r4, #0x10]
strb r0, [r4, #0x12]
ldr r0, _0223F740 ; =ov17_0223F774
ldr r2, [sp, #0x1c]
add r1, r4, #0
bl sub_0200D9E8
str r0, [r4, #0]
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_0223F740: .word ov17_0223F774
thumb_func_end ov17_0223F70C
thumb_func_start ov17_0223F744
ov17_0223F744: ; 0x0223F744
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0]
cmp r0, #0
bne _0223F752
bl sub_02022974
_0223F752:
ldr r0, [r4, #0]
bl sub_0200DA58
add r0, r4, #0
bl sub_020181C4
pop {r4, pc}
thumb_func_end ov17_0223F744
thumb_func_start ov17_0223F760
ov17_0223F760: ; 0x0223F760
push {r3, lr}
mov r0, #1
bl sub_0200AC1C
cmp r0, #1
bne _0223F770
mov r0, #1
pop {r3, pc}
_0223F770:
mov r0, #0
pop {r3, pc}
thumb_func_end ov17_0223F760
thumb_func_start ov17_0223F774
ov17_0223F774: ; 0x0223F774
push {r3, r4, lr}
sub sp, #4
mov r0, #1
add r4, r1, #0
bl sub_0200AC1C
cmp r0, #0
beq _0223F7DA
ldr r0, [r4, #8]
add r2, r0, #1
str r2, [r4, #8]
ldrb r0, [r4, #0x11]
ldr r1, [r4, #0xc]
lsl r0, r0, #1
ldrh r0, [r1, r0]
cmp r2, r0
ble _0223F7DA
mov r0, #1
str r0, [sp]
mov r0, #6
mov r1, #0
mov r2, #4
mov r3, #0x3f
bl sub_0200AAE0
ldr r0, _0223F7E0 ; =0x000005F8
bl sub_02005748
mov r0, #0
str r0, [r4, #8]
ldrb r0, [r4, #0x11]
add r0, r0, #1
strb r0, [r4, #0x11]
ldrb r1, [r4, #0x11]
ldrb r0, [r4, #0x10]
cmp r1, r0
blo _0223F7DA
ldrb r0, [r4, #0x12]
cmp r0, #0
bne _0223F7CE
add r0, r4, #0
bl ov17_0223F744
add sp, #4
pop {r3, r4, pc}
_0223F7CE:
cmp r0, #0xff
beq _0223F7D6
sub r0, r0, #1
strb r0, [r4, #0x12]
_0223F7D6:
mov r0, #0
strb r0, [r4, #0x11]
_0223F7DA:
add sp, #4
pop {r3, r4, pc}
nop
_0223F7E0: .word 0x000005F8
thumb_func_end ov17_0223F774
.rodata
.global Unk_ov17_022531CC
Unk_ov17_022531CC: ; 0x022531CC
.incbin "incbin/overlay17_rodata.bin", 0x440, 0x470 - 0x440
.global Unk_ov17_022531FC
Unk_ov17_022531FC: ; 0x022531FC
.incbin "incbin/overlay17_rodata.bin", 0x470, 0x34
.section .sinit, 4
.word ov17_0223F118

3639
asm/ov17_0223F7E4.s Normal file

File diff suppressed because it is too large Load Diff

212
asm/ov17_02241270.s Normal file
View File

@ -0,0 +1,212 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov17_02241270
ov17_02241270: ; 0x02241270
push {r3, r4, r5, r6, lr}
sub sp, #0xc
mov r3, #1
str r3, [sp]
mov r3, #2
str r3, [sp, #4]
ldr r3, _022412B8 ; =0x000080FB
add r5, r0, #0
str r3, [sp, #8]
mov r3, #0x2a
add r4, r1, #0
add r6, r2, #0
bl sub_0200CC3C
mov r0, #1
str r0, [sp]
ldr r0, _022412BC ; =0x000080F6
add r1, r4, #0
str r0, [sp, #4]
add r0, r5, #0
add r2, r6, #0
mov r3, #0x2b
bl sub_0200CE24
mov r0, #1
str r0, [sp]
ldr r0, _022412BC ; =0x000080F6
add r1, r4, #0
str r0, [sp, #4]
add r0, r5, #0
add r2, r6, #0
mov r3, #0x2c
bl sub_0200CE54
add sp, #0xc
pop {r3, r4, r5, r6, pc}
; .align 2, 0
_022412B8: .word 0x000080FB
_022412BC: .word 0x000080F6
thumb_func_end ov17_02241270
thumb_func_start ov17_022412C0
ov17_022412C0: ; 0x022412C0
push {r3, r4, r5, lr}
add r5, r2, #0
ldr r2, _022412EC ; =0x0225364C
bl sub_0200CE6C
mov r1, #0x58
mul r1, r5
add r1, #0x28
lsl r1, r1, #0x10
mov r3, #0x11
add r4, r0, #0
asr r1, r1, #0x10
mov r2, #0x60
lsl r3, r3, #0x10
bl sub_0200D500
ldr r0, [r4, #0]
bl sub_0200D324
add r0, r4, #0
pop {r3, r4, r5, pc}
nop
_022412EC: .word 0x0225364C
thumb_func_end ov17_022412C0
thumb_func_start ov17_022412F0
ov17_022412F0: ; 0x022412F0
push {r4, lr}
ldr r1, _0224130C ; =0x000080FB
add r4, r0, #0
bl sub_0200D070
ldr r1, _02241310 ; =0x000080F6
add r0, r4, #0
bl sub_0200D090
ldr r1, _02241310 ; =0x000080F6
add r0, r4, #0
bl sub_0200D0A0
pop {r4, pc}
; .align 2, 0
_0224130C: .word 0x000080FB
_02241310: .word 0x000080F6
thumb_func_end ov17_022412F0
thumb_func_start ov17_02241314
ov17_02241314: ; 0x02241314
ldr r3, _02241318 ; =sub_0200D0F4
bx r3
; .align 2, 0
_02241318: .word sub_0200D0F4
thumb_func_end ov17_02241314
thumb_func_start ov17_0224131C
ov17_0224131C: ; 0x0224131C
push {r3, r4, r5, r6, lr}
sub sp, #0xc
mov r3, #1
str r3, [sp]
mov r3, #2
str r3, [sp, #4]
ldr r3, _02241364 ; =0x000080FA
add r5, r0, #0
str r3, [sp, #8]
mov r3, #0x2d
add r4, r1, #0
add r6, r2, #0
bl sub_0200CC3C
mov r0, #1
str r0, [sp]
ldr r0, _02241368 ; =0x000080F5
add r1, r4, #0
str r0, [sp, #4]
add r0, r5, #0
add r2, r6, #0
mov r3, #0x2e
bl sub_0200CE24
mov r0, #1
str r0, [sp]
ldr r0, _02241368 ; =0x000080F5
add r1, r4, #0
str r0, [sp, #4]
add r0, r5, #0
add r2, r6, #0
mov r3, #0x2f
bl sub_0200CE54
add sp, #0xc
pop {r3, r4, r5, r6, pc}
; .align 2, 0
_02241364: .word 0x000080FA
_02241368: .word 0x000080F5
thumb_func_end ov17_0224131C
thumb_func_start ov17_0224136C
ov17_0224136C: ; 0x0224136C
push {r4, r5, r6, lr}
add r5, r2, #0
ldr r2, [sp, #0x10]
add r6, r3, #0
cmp r2, #0
blt _02241380
ldr r2, _022413A4 ; =0x02253618
bl sub_0200CE6C
b _02241386
_02241380:
ldr r2, _022413A8 ; =0x02253680
bl sub_0200CE6C
_02241386:
add r4, r0, #0
lsl r1, r5, #0x10
lsl r2, r6, #0x10
mov r3, #0x11
add r0, r4, #0
asr r1, r1, #0x10
asr r2, r2, #0x10
lsl r3, r3, #0x10
bl sub_0200D500
ldr r0, [r4, #0]
bl sub_0200D324
add r0, r4, #0
pop {r4, r5, r6, pc}
; .align 2, 0
_022413A4: .word 0x02253618
_022413A8: .word 0x02253680
thumb_func_end ov17_0224136C
thumb_func_start ov17_022413AC
ov17_022413AC: ; 0x022413AC
ldr r3, _022413B0 ; =sub_0200D0F4
bx r3
; .align 2, 0
_022413B0: .word sub_0200D0F4
thumb_func_end ov17_022413AC
thumb_func_start ov17_022413B4
ov17_022413B4: ; 0x022413B4
push {r4, lr}
ldr r1, _022413D0 ; =0x000080FA
add r4, r0, #0
bl sub_0200D070
ldr r1, _022413D4 ; =0x000080F5
add r0, r4, #0
bl sub_0200D090
ldr r1, _022413D4 ; =0x000080F5
add r0, r4, #0
bl sub_0200D0A0
pop {r4, pc}
; .align 2, 0
_022413D0: .word 0x000080FA
_022413D4: .word 0x000080F5
thumb_func_end ov17_022413B4
.rodata
.global Unk_ov17_02253618
Unk_ov17_02253618: ; 0x02253618
.incbin "incbin/overlay17_rodata.bin", 0x88C, 0x8C0 - 0x88C
.global Unk_ov17_0225364C
Unk_ov17_0225364C: ; 0x0225364C
.incbin "incbin/overlay17_rodata.bin", 0x8C0, 0x8F4 - 0x8C0
.global Unk_ov17_02253680
Unk_ov17_02253680: ; 0x02253680
.incbin "incbin/overlay17_rodata.bin", 0x8F4, 0x34

5148
asm/ov17_022413D8.s Normal file

File diff suppressed because it is too large Load Diff

243
asm/ov17_02243AC4.s Normal file
View File

@ -0,0 +1,243 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov17_02243AC4
ov17_02243AC4: ; 0x02243AC4
push {r3, r4}
add r1, r0, r1
ldrb r4, [r1, #0xe]
mov r3, #0
add r2, r3, #0
_02243ACE:
add r1, r0, r2
ldrb r1, [r1, #0xe]
cmp r1, r4
bne _02243AD8
add r3, r3, #1
_02243AD8:
add r2, r2, #1
cmp r2, #4
blt _02243ACE
sub r0, r3, #1
pop {r3, r4}
bx lr
thumb_func_end ov17_02243AC4
thumb_func_start ov17_02243AE4
ov17_02243AE4: ; 0x02243AE4
ldr r1, _02243AEC ; =0x022539AC
ldrb r0, [r1, r0]
bx lr
nop
_02243AEC: .word 0x022539AC
thumb_func_end ov17_02243AE4
thumb_func_start ov17_02243AF0
ov17_02243AF0: ; 0x02243AF0
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
mov r1, #0xb
bl sub_020790C4
lsl r1, r4, #2
add r2, r4, r1
ldr r1, _02243B08 ; =0x022539C8
add r1, r1, r2
ldrsb r0, [r0, r1]
pop {r4, pc}
; .align 2, 0
_02243B08: .word 0x022539C8
thumb_func_end ov17_02243AF0
thumb_func_start ov17_02243B0C
ov17_02243B0C: ; 0x02243B0C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
mov r3, #0
mov lr, r0
add r2, sp, #8
add r1, sp, #4
add r7, r3, #0
add r0, sp, #0
mov r6, #0x1a
b _02243B46
_02243B20:
lsl r4, r3, #1
mov r5, lr
add r5, r5, r4
ldrsh r5, [r5, r6]
strb r3, [r1, r3]
strh r5, [r2, r4]
add r4, r7, #0
b _02243B40
_02243B30:
mov r5, lr
add r5, r5, r4
ldrb r5, [r5, #1]
cmp r3, r5
bne _02243B3E
strb r4, [r0, r3]
b _02243B44
_02243B3E:
add r4, r4, #1
_02243B40:
cmp r4, #4
blt _02243B30
_02243B44:
add r3, r3, #1
_02243B46:
cmp r3, #4
blt _02243B20
mov r3, #0
ldr r6, _02243C1C ; =0x022539B8
add r1, sp, #8
ldr r0, _02243C20 ; =0x022539B0
ldr r2, _02243C24 ; =0x022539C0
mov r7, #0x2c
b _02243BA8
_02243B58:
add r5, r3, #0
mul r5, r7
mov r4, lr
add r4, r4, r5
ldr r4, [r4, #0x58]
lsl r5, r4, #0x1a
lsr r5, r5, #0x1e
cmp r5, #3
bhi _02243BA6
add r5, r5, r5
add r5, pc
ldrh r5, [r5, #6]
lsl r5, r5, #0x10
asr r5, r5, #0x10
add pc, r5
_02243B76: ; jump table
.short _02243BA6 - _02243B76 - 2 ; case 0
.short _02243B7E - _02243B76 - 2 ; case 1
.short _02243B8C - _02243B76 - 2 ; case 2
.short _02243B9A - _02243B76 - 2 ; case 3
_02243B7E:
lsl r4, r4, #0x18
lsr r4, r4, #0x1e
lsl r4, r4, #1
ldrsh r5, [r2, r4]
lsl r4, r3, #1
strh r5, [r1, r4]
b _02243BA6
_02243B8C:
lsl r4, r4, #0x18
lsr r4, r4, #0x1e
lsl r4, r4, #1
ldrsh r5, [r0, r4]
lsl r4, r3, #1
strh r5, [r1, r4]
b _02243BA6
_02243B9A:
lsl r4, r4, #0x18
lsr r4, r4, #0x1e
lsl r4, r4, #1
ldrsh r5, [r6, r4]
lsl r4, r3, #1
strh r5, [r1, r4]
_02243BA6:
add r3, r3, #1
_02243BA8:
cmp r3, #4
blt _02243B58
mov r3, #0
b _02243BFE
_02243BB0:
mov r4, #3
add r2, sp, #8
add r7, sp, #0
b _02243BF8
_02243BB8:
sub r1, r4, #1
lsl r0, r1, #1
lsl r5, r4, #1
ldrsh r0, [r2, r0]
ldrsh r5, [r2, r5]
cmp r0, r5
bgt _02243BD2
cmp r0, r5
bne _02243BF6
ldrb r1, [r7, r1]
ldrb r0, [r7, r4]
cmp r1, r0
bhs _02243BF6
_02243BD2:
sub r0, r4, #1
lsl r1, r4, #1
lsl r5, r0, #1
mov ip, r5
ldrsh r6, [r2, r1]
ldrsh r5, [r2, r5]
strh r5, [r2, r1]
mov r1, ip
strh r6, [r2, r1]
add r1, sp, #4
ldrb r6, [r1, r4]
ldrb r5, [r1, r0]
strb r5, [r1, r4]
strb r6, [r1, r0]
ldrb r5, [r7, r4]
ldrb r1, [r7, r0]
strb r1, [r7, r4]
strb r5, [r7, r0]
_02243BF6:
sub r4, r4, #1
_02243BF8:
cmp r4, r3
bgt _02243BB8
add r3, r3, #1
_02243BFE:
cmp r3, #3
blt _02243BB0
mov r3, #0
add r2, sp, #4
b _02243C12
_02243C08:
ldrb r1, [r2, r3]
mov r0, lr
add r0, r0, r3
strb r1, [r0, #1]
add r3, r3, #1
_02243C12:
cmp r3, #4
blt _02243C08
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_02243C1C: .word 0x022539B8
_02243C20: .word 0x022539B0
_02243C24: .word 0x022539C0
thumb_func_end ov17_02243B0C
.rodata
.global Unk_ov17_022539AC
Unk_ov17_022539AC: ; 0x022539AC
.incbin "incbin/overlay17_rodata.bin", 0xC20, 0xC24 - 0xC20
.global Unk_ov17_022539B0
Unk_ov17_022539B0: ; 0x022539B0
.incbin "incbin/overlay17_rodata.bin", 0xC24, 0xC2C - 0xC24
.global Unk_ov17_022539B8
Unk_ov17_022539B8: ; 0x022539B8
.incbin "incbin/overlay17_rodata.bin", 0xC2C, 0xC34 - 0xC2C
.global Unk_ov17_022539C0
Unk_ov17_022539C0: ; 0x022539C0
.incbin "incbin/overlay17_rodata.bin", 0xC34, 0xC3C - 0xC34
.global Unk_ov17_022539C8
Unk_ov17_022539C8: ; 0x022539C8
.incbin "incbin/overlay17_rodata.bin", 0xC3C, 0x19

4716
asm/ov17_02243C28.s Normal file

File diff suppressed because it is too large Load Diff

2202
asm/ov17_02245F14.s Normal file

File diff suppressed because it is too large Load Diff

1299
asm/ov17_02246ECC.s Normal file

File diff suppressed because it is too large Load Diff

459
asm/ov17_022476F8.s Normal file
View File

@ -0,0 +1,459 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov17_022476F8
ov17_022476F8: ; 0x022476F8
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r5, r0, #0
lsl r0, r4, #2
add r0, r5, r0
ldr r0, [r0, #8]
cmp r0, #0
bne _02247718
lsl r0, r4, #4
add r0, r5, r0
ldr r0, [r0, #0x48]
cmp r0, #0
beq _02247732
bl sub_02022974
pop {r3, r4, r5, r6, r7, pc}
_02247718:
bl sub_02007DC8
add r6, r5, #0
add r6, #0x48
lsl r7, r4, #4
ldr r0, [r6, r7]
bl sub_020181C4
lsl r0, r4, #2
mov r1, #0
add r0, r5, r0
str r1, [r0, #8]
str r1, [r6, r7]
_02247732:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov17_022476F8
thumb_func_start ov17_02247734
ov17_02247734: ; 0x02247734
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_0224773A:
add r0, r5, #0
add r1, r4, #0
bl ov17_022476F8
add r4, r4, #1
cmp r4, #4
blt _0224773A
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov17_02247734
thumb_func_start ov17_0224774C
ov17_0224774C: ; 0x0224774C
push {r3, r4, r5, r6, lr}
sub sp, #0xc
mov r3, #1
str r3, [sp]
mov r3, #2
str r3, [sp, #4]
ldr r3, _02247794 ; =0x000080EA
add r5, r0, #0
str r3, [sp, #8]
mov r3, #0x43
add r4, r1, #0
add r6, r2, #0
bl sub_0200CC3C
mov r0, #1
str r0, [sp]
ldr r0, _02247794 ; =0x000080EA
add r1, r4, #0
str r0, [sp, #4]
add r0, r5, #0
add r2, r6, #0
mov r3, #0x44
bl sub_0200CE24
mov r0, #1
str r0, [sp]
ldr r0, _02247794 ; =0x000080EA
add r1, r4, #0
str r0, [sp, #4]
add r0, r5, #0
add r2, r6, #0
mov r3, #0x45
bl sub_0200CE54
add sp, #0xc
pop {r3, r4, r5, r6, pc}
; .align 2, 0
_02247794: .word 0x000080EA
thumb_func_end ov17_0224774C
thumb_func_start ov17_02247798
ov17_02247798: ; 0x02247798
push {r4, lr}
ldr r1, _022477B4 ; =0x000080EA
add r4, r0, #0
bl sub_0200D070
ldr r1, _022477B4 ; =0x000080EA
add r0, r4, #0
bl sub_0200D090
ldr r1, _022477B4 ; =0x000080EA
add r0, r4, #0
bl sub_0200D0A0
pop {r4, pc}
; .align 2, 0
_022477B4: .word 0x000080EA
thumb_func_end ov17_02247798
thumb_func_start ov17_022477B8
ov17_022477B8: ; 0x022477B8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
mov r0, #0x16
mov r1, #0x18
add r7, r2, #0
bl sub_02018144
mov r1, #0
mov r2, #0x18
add r4, r0, #0
bl sub_020C4CF4
ldr r0, [r5, #0x28]
ldr r1, [r5, #0x2c]
ldr r2, _0224782C ; =0x022543F8
bl sub_0200CE6C
lsl r1, r6, #0x10
lsl r2, r7, #0x10
mov r3, #1
asr r1, r1, #0x10
asr r2, r2, #0x10
lsl r3, r3, #0x14
str r0, [r4, #4]
bl sub_0200D500
ldr r0, [sp, #0x18]
cmp r0, #1
bne _022477FC
ldr r0, [r4, #4]
mov r1, #1
bl sub_0200D364
_022477FC:
ldr r0, [r4, #4]
ldr r0, [r0, #0]
bl sub_0200D324
lsl r0, r6, #8
str r0, [r4, #8]
lsl r0, r7, #8
str r0, [r4, #0xc]
ldr r0, _02247830 ; =0x000004F9
ldr r2, _02247834 ; =0x0000C350
add r1, r5, r0
str r1, [r4, #0]
ldrb r0, [r1]
add r0, r0, #1
strb r0, [r1]
ldr r0, _02247838 ; =ov17_02247840
add r1, r4, #0
bl sub_0200D9E8
ldr r0, _0224783C ; =0x000006E1
bl sub_02005748
pop {r3, r4, r5, r6, r7, pc}
nop
_0224782C: .word 0x022543F8
_02247830: .word 0x000004F9
_02247834: .word 0x0000C350
_02247838: .word ov17_02247840
_0224783C: .word 0x000006E1
thumb_func_end ov17_022477B8
thumb_func_start ov17_02247840
ov17_02247840: ; 0x02247840
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
ldrb r0, [r4, #0x14]
cmp r0, #0
bne _022478AE
ldr r0, [r4, #0x10]
bl sub_0201D2B8
lsl r1, r0, #3
asr r0, r1, #0xb
lsr r0, r0, #0x14
add r0, r1, r0
asr r5, r0, #0xc
mov r0, #6
mov r3, #1
ldr r1, [r4, #0x10]
lsl r0, r0, #0xc
add r0, r1, r0
str r0, [r4, #0x10]
ldr r0, [r4, #0xc]
lsl r3, r3, #8
sub r2, r0, r3
str r2, [r4, #0xc]
ldr r1, [r4, #8]
ldr r0, [r4, #4]
asr r6, r1, #7
lsr r6, r6, #0x18
add r6, r1, r6
asr r1, r6, #8
add r1, r1, r5
asr r5, r2, #7
lsr r5, r5, #0x18
add r5, r2, r5
lsl r1, r1, #0x10
lsl r2, r5, #8
asr r1, r1, #0x10
asr r2, r2, #0x10
lsl r3, r3, #0xc
bl sub_0200D500
ldrh r0, [r4, #0x16]
add r0, r0, #1
strh r0, [r4, #0x16]
ldrh r0, [r4, #0x16]
cmp r0, #0x3c
bhs _022478A6
ldr r1, [r4, #0xc]
ldr r0, _022478CC ; =0xFFFFE000
cmp r1, r0
bgt _022478C8
_022478A6:
ldrb r0, [r4, #0x14]
add r0, r0, #1
strb r0, [r4, #0x14]
pop {r4, r5, r6, pc}
_022478AE:
ldr r0, [r4, #4]
bl sub_0200D0F4
ldr r1, [r4, #0]
ldrb r0, [r1]
sub r0, r0, #1
strb r0, [r1]
add r0, r4, #0
bl sub_020181C4
add r0, r5, #0
bl sub_0200DA58
_022478C8:
pop {r4, r5, r6, pc}
nop
_022478CC: .word 0xFFFFE000
thumb_func_end ov17_02247840
thumb_func_start ov17_022478D0
ov17_022478D0: ; 0x022478D0
push {r3, r4, r5, lr}
sub sp, #0x20
add r5, r0, #0
ldr r0, [r5, #0x24]
add r4, r1, #0
cmp r0, #0
beq _022478E2
bl sub_02022974
_022478E2:
mov r1, #0x30
ldr r2, [r5, #0]
mul r1, r4
add r1, r2, r1
ldrh r1, [r1, #0x1a]
add r0, sp, #0x10
bl sub_0207697C
ldr r0, _02247914 ; =0xFFFFFDC0
mov r2, #5
str r0, [sp]
mov r0, #3
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
str r0, [sp, #0xc]
ldr r0, [r5, #0x10]
add r1, sp, #0x10
lsl r2, r2, #6
mov r3, #0x20
bl sub_02007C34
str r0, [r5, #0x24]
add sp, #0x20
pop {r3, r4, r5, pc}
; .align 2, 0
_02247914: .word 0xFFFFFDC0
thumb_func_end ov17_022478D0
thumb_func_start ov17_02247918
ov17_02247918: ; 0x02247918
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x24]
cmp r0, #0
beq _0224792A
bl sub_02007DC8
mov r0, #0
str r0, [r4, #0x24]
_0224792A:
pop {r4, pc}
thumb_func_end ov17_02247918
thumb_func_start ov17_0224792C
ov17_0224792C: ; 0x0224792C
push {r4, r5, r6, lr}
sub sp, #8
add r4, r1, #0
add r5, r0, #0
add r6, r2, #0
cmp r4, #0
beq _02247942
cmp r6, #0
bne _02247942
bl sub_02022974
_02247942:
cmp r4, #0
beq _0224798C
cmp r4, #1
bne _02247988
ldrb r4, [r6]
ldr r3, [r5, #0]
mov r0, #1
lsl r2, r4, #2
str r0, [sp]
mov r0, #2
add r2, r3, r2
add r4, r3, r4
mov r3, #0x42
str r0, [sp, #4]
lsl r3, r3, #2
add r2, #0xe8
ldrb r3, [r4, r3]
ldr r0, [r5, #0x48]
ldr r2, [r2, #0]
mov r1, #0
bl sub_0200B48C
ldrb r0, [r6]
ldr r1, [r5, #0xc]
lsl r0, r0, #2
ldr r0, [r1, r0]
bl sub_02076B10
add r2, r0, #0
ldr r0, [r5, #0x48]
mov r1, #1
bl sub_0200B5CC
add sp, #8
pop {r4, r5, r6, pc}
_02247988:
bl sub_02022974
_0224798C:
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end ov17_0224792C
thumb_func_start ov17_02247990
ov17_02247990: ; 0x02247990
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
add r6, r1, #0
ldr r1, [r5, #0]
ldr r0, _02247A00 ; =0x00000171
add r7, r2, #0
ldrb r0, [r1, r0]
str r3, [sp, #0xc]
cmp r0, #0
bne _022479B2
ldr r0, _02247A04 ; =0x00001988
ldr r0, [r1, r0]
bl sub_02027AC0
add r4, r0, #0
b _022479B4
_022479B2:
mov r4, #1
_022479B4:
add r0, r6, #0
add r1, r7, #0
bl sub_0200B1EC
add r6, r0, #0
ldr r1, [sp, #0xc]
ldr r2, [sp, #0x28]
add r0, r5, #0
bl ov17_0224792C
ldr r0, [r5, #0x48]
ldr r1, [r5, #0x4c]
add r2, r6, #0
bl sub_0200C388
add r0, r5, #0
add r0, #0x34
mov r1, #0xff
bl sub_0201ADA4
mov r3, #0
str r3, [sp]
str r4, [sp, #4]
str r3, [sp, #8]
add r0, r5, #0
ldr r2, [r5, #0x4c]
add r0, #0x34
mov r1, #1
bl sub_0201D738
add r5, #0xd0
strb r0, [r5]
add r0, r6, #0
bl sub_020237BC
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_02247A00: .word 0x00000171
_02247A04: .word 0x00001988
thumb_func_end ov17_02247990
thumb_func_start ov17_02247A08
ov17_02247A08: ; 0x02247A08
push {r3, r4, r5, r6, lr}
sub sp, #4
add r5, r1, #0
add r6, r0, #0
add r4, r2, #0
cmp r5, #0xf
blo _02247A1A
bl sub_02022974
_02247A1A:
str r4, [sp]
ldr r2, _02247A34 ; =0x0225442C
lsl r3, r5, #2
ldr r4, _02247A38 ; =0x0225442E
ldrh r2, [r2, r3]
ldrb r3, [r4, r3]
ldr r1, [r6, #0x44]
add r0, r6, #0
bl ov17_02247990
add sp, #4
pop {r3, r4, r5, r6, pc}
nop
_02247A34: .word 0x0225442C
_02247A38: .word 0x0225442E
thumb_func_end ov17_02247A08
thumb_func_start ov17_02247A3C
ov17_02247A3C: ; 0x02247A3C
ldr r3, _02247A44 ; =sub_0201D724
add r0, #0xd0
ldrb r0, [r0]
bx r3
; .align 2, 0
_02247A44: .word sub_0201D724
thumb_func_end ov17_02247A3C
.rodata
.global Unk_ov17_022543EC
Unk_ov17_022543EC: ; 0x022543EC
.incbin "incbin/overlay17_rodata.bin", 0x1660, 0x166C - 0x1660
.global Unk_ov17_022543F8
Unk_ov17_022543F8: ; 0x022543F8
.incbin "incbin/overlay17_rodata.bin", 0x166C, 0x16A0 - 0x166C
.global Unk_ov17_0225442C
Unk_ov17_0225442C: ; 0x0225442C
.incbin "incbin/overlay17_rodata.bin", 0x16A0, 0x3C

3264
asm/ov17_02247A48.s Normal file

File diff suppressed because it is too large Load Diff

1876
asm/ov17_022492DC.s Normal file

File diff suppressed because it is too large Load Diff

6276
asm/ov17_0224A0FC.s Normal file

File diff suppressed because it is too large Load Diff

3390
asm/ov17_0224CFB8.s Normal file

File diff suppressed because it is too large Load Diff

1012
asm/ov17_0224E930.s Normal file

File diff suppressed because it is too large Load Diff

184
asm/ov17_0224F080.s Normal file
View File

@ -0,0 +1,184 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov17_0224F080
ov17_0224F080: ; 0x0224F080
push {r4, lr}
add r4, r0, #0
cmp r4, #5
blo _0224F08C
bl sub_02022974
_0224F08C:
ldr r0, _0224F094 ; =0x02254A90
lsl r1, r4, #2
ldr r0, [r0, r1]
pop {r4, pc}
; .align 2, 0
_0224F094: .word 0x02254A90
thumb_func_end ov17_0224F080
thumb_func_start ov17_0224F098
ov17_0224F098: ; 0x0224F098
mov r0, #0x31
bx lr
thumb_func_end ov17_0224F098
thumb_func_start ov17_0224F09C
ov17_0224F09C: ; 0x0224F09C
mov r0, #0x32
bx lr
thumb_func_end ov17_0224F09C
thumb_func_start ov17_0224F0A0
ov17_0224F0A0: ; 0x0224F0A0
push {r4, lr}
add r4, r0, #0
cmp r4, #5
blo _0224F0AC
bl sub_02022974
_0224F0AC:
ldr r0, _0224F0B4 ; =0x02254A88
ldrb r0, [r0, r4]
pop {r4, pc}
nop
_0224F0B4: .word 0x02254A88
thumb_func_end ov17_0224F0A0
thumb_func_start ov17_0224F0B8
ov17_0224F0B8: ; 0x0224F0B8
mov r0, #0x2e
bx lr
thumb_func_end ov17_0224F0B8
thumb_func_start ov17_0224F0BC
ov17_0224F0BC: ; 0x0224F0BC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r7, r3, #0
add r5, r0, #0
add r6, r1, #0
add r4, r2, #0
bl ov17_0224F0B8
str r0, [sp, #0xc]
add r0, r7, #0
bl ov17_0224F080
add r3, r0, #0
mov r0, #1
str r0, [sp]
ldr r0, [sp, #0x28]
str r4, [sp, #4]
str r0, [sp, #8]
ldr r2, [sp, #0xc]
add r0, r5, #0
add r1, r6, #0
bl sub_0200CBDC
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov17_0224F0BC
thumb_func_start ov17_0224F0F0
ov17_0224F0F0: ; 0x0224F0F0
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
add r7, r3, #0
bl ov17_0224F0B8
str r0, [sp, #8]
bl ov17_0224F098
add r3, r0, #0
mov r0, #1
str r0, [sp]
ldr r2, [sp, #8]
add r0, r5, #0
add r1, r4, #0
str r6, [sp, #4]
bl sub_0200CE0C
bl ov17_0224F0B8
add r6, r0, #0
bl ov17_0224F09C
add r3, r0, #0
mov r0, #1
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
str r7, [sp, #4]
bl sub_0200CE3C
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end ov17_0224F0F0
thumb_func_start ov17_0224F138
ov17_0224F138: ; 0x0224F138
ldr r3, _0224F13C ; =sub_0200D070
bx r3
; .align 2, 0
_0224F13C: .word sub_0200D070
thumb_func_end ov17_0224F138
thumb_func_start ov17_0224F140
ov17_0224F140: ; 0x0224F140
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r2, #0
bl sub_0200D090
add r0, r5, #0
add r1, r4, #0
bl sub_0200D0A0
pop {r3, r4, r5, pc}
thumb_func_end ov17_0224F140
thumb_func_start ov17_0224F154
ov17_0224F154: ; 0x0224F154
push {r4, r5, r6, r7, lr}
sub sp, #0x34
add r6, r3, #0
add r4, r0, #0
add r7, r1, #0
add r5, sp, #0
mov r3, #6
_0224F162:
ldmia r6!, {r0, r1}
stmia r5!, {r0, r1}
sub r3, r3, #1
bne _0224F162
ldr r0, [r6, #0]
str r0, [r5, #0]
add r0, r2, #0
bl ov17_0224F0A0
str r0, [sp, #0xc]
add r0, r4, #0
add r1, r7, #0
add r2, sp, #0
bl sub_0200CE6C
add sp, #0x34
pop {r4, r5, r6, r7, pc}
thumb_func_end ov17_0224F154
thumb_func_start ov17_0224F184
ov17_0224F184: ; 0x0224F184
ldr r3, _0224F188 ; =sub_0200D0F4
bx r3
; .align 2, 0
_0224F188: .word sub_0200D0F4
thumb_func_end ov17_0224F184
.rodata
.global Unk_ov17_02254A88
Unk_ov17_02254A88: ; 0x02254A88
.incbin "incbin/overlay17_rodata.bin", 0x1CFC, 0x1D04 - 0x1CFC
.global Unk_ov17_02254A90
Unk_ov17_02254A90: ; 0x02254A90
.incbin "incbin/overlay17_rodata.bin", 0x1D04, 0x14

475
asm/ov17_0224F18C.s Normal file
View File

@ -0,0 +1,475 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov17_0224F18C
ov17_0224F18C: ; 0x0224F18C
push {r3, r4, r5, lr}
ldr r2, _0224F1B0 ; =0x00000A18
add r4, r1, #0
mov r1, #0
add r5, r0, #0
bl sub_020C4CF4
ldr r0, [r4, #0]
str r0, [r5, #0]
ldrh r0, [r4, #4]
strh r0, [r5, #4]
ldrb r0, [r4, #6]
strb r0, [r5, #6]
ldrb r0, [r4, #7]
strb r0, [r5, #7]
ldrb r0, [r4, #8]
strb r0, [r5, #8]
pop {r3, r4, r5, pc}
; .align 2, 0
_0224F1B0: .word 0x00000A18
thumb_func_end ov17_0224F18C
thumb_func_start ov17_0224F1B4
ov17_0224F1B4: ; 0x0224F1B4
push {r3, r4, r5, lr}
ldr r5, [r0, #0xc]
mov r4, #0
mov r2, #1
_0224F1BC:
add r3, r2, #0
lsl r3, r4
add r1, r5, #0
tst r1, r3
bne _0224F1D0
ldr r1, [r0, #0xc]
orr r1, r3
str r1, [r0, #0xc]
add r0, r4, #0
pop {r3, r4, r5, pc}
_0224F1D0:
add r4, r4, #1
cmp r4, #0x20
blt _0224F1BC
bl sub_02022974
mov r0, #0
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov17_0224F1B4
thumb_func_start ov17_0224F1E0
ov17_0224F1E0: ; 0x0224F1E0
push {r3, r4}
mov r2, #1
add r3, r2, #0
lsl r3, r1
sub r1, r2, #2
ldr r4, [r0, #0xc]
eor r1, r3
and r1, r4
str r1, [r0, #0xc]
pop {r3, r4}
bx lr
; .align 2, 0
thumb_func_end ov17_0224F1E0
thumb_func_start ov17_0224F1F8
ov17_0224F1F8: ; 0x0224F1F8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
ldr r4, [sp, #0x28]
add r5, r0, #0
mov r0, #2
str r4, [sp, #4]
add r4, #8
lsl r0, r0, #8
add r6, r1, #0
add r7, r2, #0
str r3, [sp]
cmp r4, r0
bls _0224F216
bl sub_02022974
_0224F216:
add r0, r5, #0
mov r2, #2
add r0, #0x10
mov r1, #0
lsl r2, r2, #8
bl sub_020C4CF4
add r0, sp, #8
strb r6, [r0, #4]
strh r7, [r0, #2]
add r0, r5, #0
bl ov17_0224F1B4
add r1, sp, #8
strb r0, [r1, #5]
mov r0, #0
strb r0, [r1, #6]
strh r4, [r1]
add r1, r5, #0
add r0, sp, #8
add r1, #0x10
mov r2, #8
bl sub_020C4B68
add r1, r5, #0
ldr r0, [sp]
ldr r2, [sp, #4]
add r1, #0x18
bl sub_020C4DB0
ldr r0, _0224F268 ; =0x00000A15
mov r1, #0
strb r1, [r5, r0]
mov r1, #1
sub r0, r0, #5
strb r1, [r5, r0]
add r0, sp, #8
ldrb r0, [r0, #5]
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_0224F268: .word 0x00000A15
thumb_func_end ov17_0224F1F8
thumb_func_start ov17_0224F26C
ov17_0224F26C: ; 0x0224F26C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0
add r7, r3, #0
mov r0, #2
add r7, #8
lsl r0, r0, #8
add r4, r1, #0
add r6, r2, #0
str r3, [sp]
cmp r7, r0
bls _0224F288
bl sub_02022974
_0224F288:
add r0, r5, #0
mov r2, #2
add r0, #0x10
mov r1, #0
lsl r2, r2, #8
bl sub_020C4CF4
ldrh r2, [r4]
add r1, sp, #4
add r0, sp, #4
strh r2, [r1]
ldrh r2, [r4, #2]
strh r2, [r1, #2]
ldrh r2, [r4, #4]
strh r2, [r1, #4]
ldrh r2, [r4, #6]
strh r2, [r1, #6]
mov r2, #0xfe
strb r2, [r1, #4]
mov r2, #1
strb r2, [r1, #6]
strh r7, [r1]
add r1, r5, #0
add r1, #0x10
mov r2, #8
bl sub_020C4B68
cmp r6, #0
beq _0224F2CE
add r1, r5, #0
ldr r2, [sp]
add r0, r6, #0
add r1, #0x18
bl sub_020C4DB0
_0224F2CE:
mov r0, #0xa1
mov r1, #1
lsl r0, r0, #4
strb r1, [r5, r0]
add sp, #0xc
pop {r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov17_0224F26C
thumb_func_start ov17_0224F2DC
ov17_0224F2DC: ; 0x0224F2DC
push {r4, r5}
lsl r5, r1, #9
mov r1, #0x21
lsl r1, r1, #4
add r4, r0, r1
add r1, #8
add r4, r4, r5
add r0, r0, r1
str r4, [r2, #0]
add r0, r0, r5
str r0, [r3, #0]
pop {r4, r5}
bx lr
; .align 2, 0
thumb_func_end ov17_0224F2DC
thumb_func_start ov17_0224F2F8
ov17_0224F2F8: ; 0x0224F2F8
mov r1, #0xa1
lsl r1, r1, #4
ldrb r0, [r0, r1]
cmp r0, #1
bne _0224F306
mov r0, #0
bx lr
_0224F306:
mov r0, #1
bx lr
; .align 2, 0
thumb_func_end ov17_0224F2F8
thumb_func_start ov17_0224F30C
ov17_0224F30C: ; 0x0224F30C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
add r4, r2, #0
add r7, r3, #0
bl ov17_0224F2F8
cmp r0, #0
bne _0224F322
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0224F322:
ldrh r0, [r5, #4]
cmp r4, r0
blt _0224F32C
bl sub_02022974
_0224F32C:
add r0, r5, #0
add r1, r6, #0
mov r6, #0xc
ldr r5, [r5, #0]
mul r6, r4
add r2, r4, #0
ldr r4, [r5, r6]
add r3, r7, #0
blx r4
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov17_0224F30C
thumb_func_start ov17_0224F344
ov17_0224F344: ; 0x0224F344
cmp r0, r2
beq _0224F354
cmp r2, #0xff
beq _0224F354
cmp r2, #0xfe
bne _0224F358
cmp r1, r0
bne _0224F358
_0224F354:
mov r0, #1
bx lr
_0224F358:
mov r0, #0
bx lr
thumb_func_end ov17_0224F344
thumb_func_start ov17_0224F35C
ov17_0224F35C: ; 0x0224F35C
push {r4, lr}
add r4, r0, #0
mov r0, #0xa1
lsl r0, r0, #4
ldrb r0, [r4, r0]
cmp r0, #0
bne _0224F36E
mov r0, #0
pop {r4, pc}
_0224F36E:
ldrb r0, [r4, #7]
cmp r0, #0
bne _0224F3AC
ldrb r1, [r4, #6]
mov r2, #0x21
lsl r2, r2, #4
add r0, r4, #0
add r3, r4, r2
lsl r1, r1, #9
add r0, #0x10
add r1, r3, r1
sub r2, #0x10
bl sub_020C4DB0
ldrb r0, [r4, #6]
mov r2, #1
add r1, r4, r0
ldr r0, _0224F3CC ; =0x00000A11
strb r2, [r1, r0]
add r0, r4, #0
add r0, #0x10
mov r1, #0
lsl r2, r2, #9
bl sub_020C4CF4
mov r0, #0xa1
mov r1, #0
lsl r0, r0, #4
strb r1, [r4, r0]
mov r0, #1
pop {r4, pc}
_0224F3AC:
ldrh r2, [r4, #0x10]
add r1, r4, #0
mov r0, #0x18
add r1, #0x10
bl sub_0203597C
cmp r0, #1
bne _0224F3C8
mov r0, #0xa1
mov r1, #0
lsl r0, r0, #4
strb r1, [r4, r0]
mov r0, #1
pop {r4, pc}
_0224F3C8:
mov r0, #0
pop {r4, pc}
; .align 2, 0
_0224F3CC: .word 0x00000A11
thumb_func_end ov17_0224F35C
thumb_func_start ov17_0224F3D0
ov17_0224F3D0: ; 0x0224F3D0
mov r1, #0xa1
lsl r1, r1, #4
ldrb r0, [r0, r1]
bx lr
thumb_func_end ov17_0224F3D0
thumb_func_start ov17_0224F3D8
ov17_0224F3D8: ; 0x0224F3D8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
add r7, r0, #0
add r4, r1, #0
add r0, sp, #0x18
mov r1, #0
mov r2, #0x10
bl sub_020C4CF4
ldr r0, _0224F4B0 ; =0x00000A11
mov r6, #0
_0224F3EE:
add r1, r7, r6
ldrb r1, [r1, r0]
cmp r1, #1
bne _0224F4A2
add r0, r7, #0
add r1, r6, #0
add r2, sp, #0x14
add r3, sp, #0x10
bl ov17_0224F2DC
ldr r2, [sp, #0x14]
ldrb r0, [r7, #6]
ldrb r1, [r7, #8]
ldrb r2, [r2, #4]
bl ov17_0224F344
cmp r0, #1
bne _0224F484
ldr r2, [sp, #0x14]
ldrh r1, [r7, #4]
ldrh r0, [r2, #2]
str r0, [sp, #8]
cmp r0, r1
bhs _0224F484
ldrb r0, [r2, #6]
cmp r0, #0
bne _0224F43E
add r1, r4, #0
ldr r4, [r7, #0]
ldr r5, [sp, #8]
str r4, [sp, #4]
mov r4, #0xc
mul r4, r5
ldr r5, [sp, #4]
ldr r3, [sp, #0x10]
add r4, r5, r4
ldr r4, [r4, #4]
add r0, r7, #0
blx r4
b _0224F484
_0224F43E:
ldr r1, [sp, #8]
mov r3, #0xc
ldr r0, [r7, #0]
mul r3, r1
add r0, r0, r3
ldr r0, [r0, #8]
cmp r0, #0
beq _0224F472
ldr r1, [sp, #0x10]
lsl r0, r6, #2
add r3, sp, #0x18
str r1, [r3, r0]
str r6, [sp]
add r1, r4, #0
ldr r4, [r7, #0]
mov r5, #0xc
mov ip, r4
ldrh r4, [r2, #2]
add r0, r7, #0
mul r5, r4
str r5, [sp, #0xc]
ldr r4, [sp, #0xc]
mov r5, ip
add r4, r5, r4
ldr r4, [r4, #8]
blx r4
_0224F472:
ldr r1, [sp, #0x14]
add r0, r7, #0
ldrb r1, [r1, #5]
bl ov17_0224F1E0
ldr r0, _0224F4B4 ; =0x00000A15
ldrb r1, [r7, r0]
add r1, r1, #1
strb r1, [r7, r0]
_0224F484:
ldr r0, _0224F4B0 ; =0x00000A11
mov r1, #0
add r2, r7, r6
strb r1, [r2, r0]
mov r2, #0x21
lsl r2, r2, #4
add r3, r7, r2
lsl r0, r6, #9
add r0, r3, r0
sub r2, #0x10
bl sub_020C4CF4
add sp, #0x28
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0224F4A2:
add r6, r6, #1
cmp r6, #4
blt _0224F3EE
mov r0, #0
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
nop
_0224F4B0: .word 0x00000A11
_0224F4B4: .word 0x00000A15
thumb_func_end ov17_0224F3D8
thumb_func_start ov17_0224F4B8
ov17_0224F4B8: ; 0x0224F4B8
cmp r2, r3
beq _0224F4C0
mov r0, #1
bx lr
_0224F4C0:
ldr r2, _0224F4D0 ; =0x00000A15
ldrb r0, [r0, r2]
cmp r0, r1
blt _0224F4CC
mov r0, #1
bx lr
_0224F4CC:
mov r0, #0
bx lr
; .align 2, 0
_0224F4D0: .word 0x00000A15
thumb_func_end ov17_0224F4B8

2333
asm/ov17_0224F4D4.s Normal file

File diff suppressed because it is too large Load Diff

2889
asm/ov17_02250744.s Normal file

File diff suppressed because it is too large Load Diff

1775
asm/ov17_02251D6C.s Normal file

File diff suppressed because it is too large Load Diff

46
asm/ov17_02252A70.s Normal file
View File

@ -0,0 +1,46 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov17_02252A70
ov17_02252A70: ; 0x02252A70
push {r3, r4, r5, r6, r7, lr}
mov r6, #0
add r5, r0, #0
add r7, r1, #0
add r4, r6, #0
_02252A7A:
add r0, r5, #0
add r1, r4, #0
bl sub_0202A488
cmp r0, #1
bne _02252A92
add r0, r5, #0
add r1, r4, #0
bl sub_0202A580
ldrb r0, [r7, r0]
add r6, r6, r0
_02252A92:
add r4, r4, #1
cmp r4, #0x14
blt _02252A7A
add r0, r6, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov17_02252A70
thumb_func_start ov17_02252A9C
ov17_02252A9C: ; 0x02252A9C
push {r3, lr}
add r3, r0, #0
mov r2, #0
mov r0, #0x5a
add r1, r1, #3
str r2, [sp]
bl sub_02006FE8
pop {r3, pc}
; .align 2, 0
thumb_func_end ov17_02252A9C

306
asm/ov17_02252AB0.s Normal file
View File

@ -0,0 +1,306 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov17_02252AB0
ov17_02252AB0: ; 0x02252AB0
push {r4, r5, r6, lr}
sub sp, #0x18
add r5, r0, #0
mov r0, #0x1b
str r0, [sp]
mov r0, #0x50
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
mov r0, #2
str r0, [sp, #0x10]
ldr r0, [sp, #0x28]
add r4, r1, #0
add r6, r3, #0
str r0, [sp, #0x14]
add r0, r2, #0
mov r1, #3
add r2, r5, #0
add r3, r4, #0
bl sub_0200CD7C
mov r0, #1
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
add r0, r5, #0
add r1, r4, #0
mov r2, #0x1b
mov r3, #0xfa
str r6, [sp, #8]
bl sub_0200CBDC
mov r0, #1
str r0, [sp]
ldr r0, [sp, #0x2c]
add r1, r4, #0
str r0, [sp, #4]
add r0, r5, #0
mov r2, #0x1b
mov r3, #0xfb
bl sub_0200CE0C
mov r0, #1
str r0, [sp]
ldr r0, [sp, #0x30]
add r1, r4, #0
str r0, [sp, #4]
add r0, r5, #0
mov r2, #0x1b
mov r3, #0xfc
bl sub_0200CE3C
add sp, #0x18
pop {r4, r5, r6, pc}
thumb_func_end ov17_02252AB0
thumb_func_start ov17_02252B20
ov17_02252B20: ; 0x02252B20
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r2, #0
add r6, r3, #0
bl sub_0200D070
add r0, r5, #0
add r1, r4, #0
bl sub_0200D080
add r0, r5, #0
add r1, r6, #0
bl sub_0200D090
ldr r1, [sp, #0x10]
add r0, r5, #0
bl sub_0200D0A0
pop {r4, r5, r6, pc}
; .align 2, 0
thumb_func_end ov17_02252B20
thumb_func_start ov17_02252B48
ov17_02252B48: ; 0x02252B48
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x38
add r5, r3, #0
mov ip, r2
ldr r3, _02252BC0 ; =0x02254D9C
add r6, r0, #0
add r7, r1, #0
add r2, sp, #4
mov r4, #6
_02252B5A:
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
sub r4, r4, #1
bne _02252B5A
ldr r0, [r3, #0]
mov r1, #0x18
str r0, [r2, #0]
ldr r0, [sp, #0x50]
str r5, [sp, #0x18]
str r0, [sp, #0x1c]
ldr r0, [sp, #0x54]
str r0, [sp, #0x20]
ldr r0, [sp, #0x58]
str r0, [sp, #0x24]
ldr r0, [sp, #0x5c]
str r0, [sp, #0xc]
ldr r0, [sp, #0x60]
str r0, [sp, #0x30]
mov r0, ip
bl sub_02018144
mov r1, #0
mov r2, #0x18
str r0, [sp]
bl sub_020C4CF4
ldr r5, [sp]
mov r4, #0
_02252B92:
add r0, r6, #0
add r1, r7, #0
add r2, sp, #4
bl sub_0200CE6C
mov r1, #0
stmia r5!, {r0}
bl sub_0200D3F4
add r4, r4, #1
cmp r4, #5
blt _02252B92
ldr r0, _02252BC4 ; =ov17_02252CB8
ldr r1, [sp]
ldr r2, _02252BC8 ; =0x00009C40
bl sub_0200D9E8
ldr r1, [sp]
str r0, [r1, #0x14]
add r0, r1, #0
add sp, #0x38
pop {r3, r4, r5, r6, r7, pc}
nop
_02252BC0: .word 0x02254D9C
_02252BC4: .word ov17_02252CB8
_02252BC8: .word 0x00009C40
thumb_func_end ov17_02252B48
thumb_func_start ov17_02252BCC
ov17_02252BCC: ; 0x02252BCC
push {r4, r5, r6, lr}
add r6, r0, #0
mov r4, #0
add r5, r6, #0
_02252BD4:
ldr r0, [r5, #0]
bl sub_0200D0F4
add r4, r4, #1
add r5, r5, #4
cmp r4, #5
blt _02252BD4
ldr r0, [r6, #0x14]
bl sub_0200DA58
add r0, r6, #0
bl sub_020181C4
pop {r4, r5, r6, pc}
thumb_func_end ov17_02252BCC
thumb_func_start ov17_02252BF0
ov17_02252BF0: ; 0x02252BF0
push {r4, r5, r6, lr}
add r5, r0, #0
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r4, [sp, #0x24]
add r6, r3, #0
ldr r0, [r5, #0]
asr r1, r1, #0x10
asr r2, r2, #0x10
add r3, r4, #0
bl sub_0200D500
ldr r2, [sp, #0x10]
lsl r1, r6, #0x10
lsl r2, r2, #0x10
ldr r0, [r5, #4]
asr r1, r1, #0x10
asr r2, r2, #0x10
add r3, r4, #0
bl sub_0200D500
ldr r1, [sp, #0x14]
ldr r2, [sp, #0x18]
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r0, [r5, #8]
asr r1, r1, #0x10
asr r2, r2, #0x10
add r3, r4, #0
bl sub_0200D500
ldr r1, [sp, #0x1c]
ldr r2, [sp, #0x20]
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r0, [r5, #0xc]
asr r1, r1, #0x10
asr r2, r2, #0x10
add r3, r4, #0
bl sub_0200D500
ldr r0, [r5, #0]
mov r1, #0
bl sub_0200D364
ldr r0, [r5, #4]
mov r1, #1
bl sub_0200D364
ldr r0, [r5, #8]
mov r1, #2
bl sub_0200D364
ldr r0, [r5, #0xc]
mov r1, #3
bl sub_0200D364
mov r4, #0
mov r6, #1
_02252C66:
ldr r0, [r5, #0]
add r1, r6, #0
bl sub_0200D3F4
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blt _02252C66
pop {r4, r5, r6, pc}
thumb_func_end ov17_02252BF0
thumb_func_start ov17_02252C78
ov17_02252C78: ; 0x02252C78
push {r4, lr}
sub sp, #0x18
add r4, r2, #0
str r3, [sp]
ldr r2, [sp, #0x20]
str r1, [sp, #4]
str r2, [sp, #8]
str r4, [sp, #0xc]
str r2, [sp, #0x10]
ldr r2, [sp, #0x24]
str r2, [sp, #0x14]
add r2, r3, #0
add r3, r4, #0
bl ov17_02252BF0
add sp, #0x18
pop {r4, pc}
; .align 2, 0
thumb_func_end ov17_02252C78
thumb_func_start ov17_02252C9C
ov17_02252C9C: ; 0x02252C9C
push {r4, r5, r6, lr}
mov r4, #0
add r5, r0, #0
add r6, r4, #0
_02252CA4:
ldr r0, [r5, #0]
add r1, r6, #0
bl sub_0200D3F4
add r4, r4, #1
add r5, r5, #4
cmp r4, #5
blt _02252CA4
pop {r4, r5, r6, pc}
; .align 2, 0
thumb_func_end ov17_02252C9C
thumb_func_start ov17_02252CB8
ov17_02252CB8: ; 0x02252CB8
push {r4, r5, r6, lr}
add r6, r1, #0
ldr r0, [r6, #0]
bl sub_0200D408
cmp r0, #0
beq _02252CE8
mov r4, #0
add r5, r6, #0
_02252CCA:
ldr r0, [r5, #0]
bl sub_0200D330
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blt _02252CCA
ldr r0, [r6, #0x10]
bl sub_0200D408
cmp r0, #1
bne _02252CE8
ldr r0, [r6, #0x10]
bl sub_0200D330
_02252CE8:
pop {r4, r5, r6, pc}
; .align 2, 0
thumb_func_end ov17_02252CB8
.rodata
.global Unk_ov17_02254D9C
Unk_ov17_02254D9C: ; 0x02254D9C
.incbin "incbin/overlay17_rodata.bin", 0x2010, 0x34

95
asm/ov17_02252CEC.s Normal file
View File

@ -0,0 +1,95 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov17_02252CEC
ov17_02252CEC: ; 0x02252CEC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #0x17
lsl r0, r0, #4
add r6, r1, #0
ldrb r1, [r3, r0]
str r2, [sp]
cmp r1, #0
bne _02252D08
sub r0, r0, #4
ldr r1, [r3, r0]
ldr r0, _02252D6C ; =0x000004FC
add r4, r1, r0
b _02252D3A
_02252D08:
cmp r1, #1
bne _02252D16
sub r0, r0, #4
ldr r1, [r3, r0]
ldr r0, _02252D70 ; =0x00001174
add r4, r1, r0
b _02252D3A
_02252D16:
cmp r1, #2
bne _02252D26
sub r0, r0, #4
ldr r1, [r3, r0]
mov r0, #0xc3
lsl r0, r0, #4
add r4, r1, r0
b _02252D3A
_02252D26:
cmp r1, #3
bne _02252D34
sub r0, r0, #4
ldr r1, [r3, r0]
ldr r0, _02252D74 ; =0x0000085C
add r4, r1, r0
b _02252D3A
_02252D34:
bl sub_02022974
pop {r3, r4, r5, r6, r7, pc}
_02252D3A:
mov r0, #2
lsl r0, r0, #8
cmp r6, r0
ble _02252D46
bl sub_02022974
_02252D46:
ldr r0, _02252D78 ; =0x00000A11
add r7, r4, r0
ldrb r0, [r7, r5]
cmp r0, #0
beq _02252D54
bl sub_02022974
_02252D54:
mov r1, #0x21
lsl r1, r1, #4
add r2, r4, r1
lsl r1, r5, #9
add r1, r2, r1
ldr r0, [sp]
add r2, r6, #0
bl sub_020C4DB0
mov r0, #1
strb r0, [r7, r5]
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
_02252D6C: .word 0x000004FC
_02252D70: .word 0x00001174
_02252D74: .word 0x0000085C
_02252D78: .word 0x00000A11
thumb_func_end ov17_02252CEC
thumb_func_start ov17_02252D7C
ov17_02252D7C: ; 0x02252D7C
mov r0, #0x5b
lsl r0, r0, #2
ldr r0, [r3, r0]
ldr r3, _02252D88 ; =ov17_0224B20C
add r1, r2, #0
bx r3
; .align 2, 0
_02252D88: .word ov17_0224B20C
thumb_func_end ov17_02252D7C

10648
asm/ov19_021D0D80.s Normal file

File diff suppressed because it is too large Load Diff

233
asm/ov19_021D603C.s Normal file
View File

@ -0,0 +1,233 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov19_021D603C
ov19_021D603C: ; 0x021D603C
push {r3, r4, r5, r6}
ldr r4, _021D60A4 ; =ov19_021D6104
add r6, r0, #0
str r4, [r0, #0x30]
mov r4, #0
str r4, [r0, #0x1c]
str r1, [r0, #0xc]
str r2, [r0, #0x10]
str r1, [r0, #0x14]
str r2, [r0, #0x18]
str r1, [r0, #4]
add r4, r0, #0
str r2, [r0, #8]
lsl r2, r2, #0x18
mov r5, #0xfe
add r4, #0x28
strb r5, [r4]
lsl r4, r1, #0x18
lsr r4, r4, #0x18
add r6, #0x29
strb r4, [r6]
add r6, r0, #0
lsr r2, r2, #0x18
add r6, #0x2a
strb r2, [r6]
add r6, r0, #0
add r6, #0x2b
strb r3, [r6]
add r3, r0, #0
add r3, #0x2c
strb r5, [r3]
add r3, r0, #0
add r3, #0x2d
strb r4, [r3]
add r3, r0, #0
add r3, #0x2e
strb r2, [r3]
add r2, r0, #0
add r2, #0x2f
ldr r3, [sp, #0x10]
cmp r1, #0x80
strb r3, [r2]
bge _021D609A
mov r1, #1
str r1, [r0, #0x24]
pop {r3, r4, r5, r6}
bx lr
_021D609A:
sub r5, #0xff
str r5, [r0, #0x24]
pop {r3, r4, r5, r6}
bx lr
nop
_021D60A4: .word ov19_021D6104
thumb_func_end ov19_021D603C
thumb_func_start ov19_021D60A8
ov19_021D60A8: ; 0x021D60A8
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
add r0, #0x2c
bl sub_02022734
cmp r0, #1
bne _021D60E8
add r0, r5, #0
add r0, #0x28
bl sub_02022734
cmp r0, #0
bne _021D60E8
ldr r0, [r5, #0x1c]
mov r4, #1
cmp r0, #0
bne _021D60D0
add r6, r4, #0
b _021D60D2
_021D60D0:
mov r6, #0
_021D60D2:
add r0, sp, #4
add r1, sp, #0
bl sub_020227A4
cmp r0, #0
beq _021D60EC
ldr r0, [sp, #4]
str r0, [r5, #0x14]
ldr r0, [sp]
str r0, [r5, #0x18]
b _021D60EC
_021D60E8:
mov r4, #0
add r6, r4, #0
_021D60EC:
str r4, [r5, #0x1c]
ldr r3, [r5, #0x30]
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
blx r3
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end ov19_021D60A8
thumb_func_start ov19_021D60FC
ov19_021D60FC: ; 0x021D60FC
mov r2, #0
str r2, [r0, #0]
str r1, [r0, #0x30]
bx lr
thumb_func_end ov19_021D60FC
thumb_func_start ov19_021D6104
ov19_021D6104: ; 0x021D6104
push {r4, lr}
add r4, r0, #0
cmp r1, #0
beq _021D612C
cmp r2, #0
beq _021D612C
ldr r1, [r4, #0x14]
str r1, [r4, #4]
ldr r2, [r4, #0x18]
str r2, [r4, #8]
ldr r1, [r4, #4]
bl ov19_021D6164
strh r0, [r4, #0x20]
ldr r1, _021D6130 ; =ov19_021D6134
add r0, r4, #0
bl ov19_021D60FC
mov r0, #1
pop {r4, pc}
_021D612C:
mov r0, #0
pop {r4, pc}
; .align 2, 0
_021D6130: .word ov19_021D6134
thumb_func_end ov19_021D6104
thumb_func_start ov19_021D6134
ov19_021D6134: ; 0x021D6134
push {r3, lr}
cmp r1, #0
bne _021D6144
ldr r1, _021D6148 ; =ov19_021D6104
bl ov19_021D60FC
mov r0, #3
pop {r3, pc}
_021D6144:
mov r0, #2
pop {r3, pc}
; .align 2, 0
_021D6148: .word ov19_021D6104
thumb_func_end ov19_021D6134
thumb_func_start ov19_021D614C
ov19_021D614C: ; 0x021D614C
push {r4, lr}
add r4, r0, #0
ldr r1, [r4, #0x14]
ldr r2, [r4, #0x18]
bl ov19_021D6164
add r2, r0, #0
ldrh r1, [r4, #0x20]
add r0, r4, #0
bl ov19_021D617C
pop {r4, pc}
thumb_func_end ov19_021D614C
thumb_func_start ov19_021D6164
ov19_021D6164: ; 0x021D6164
add r3, r0, #0
ldr r0, [r3, #0x10]
sub r0, r2, r0
ldr r2, [r3, #0xc]
ldr r3, _021D6178 ; =sub_020BDA20
sub r1, r1, r2
lsl r0, r0, #0xc
lsl r1, r1, #0xc
bx r3
nop
_021D6178: .word sub_020BDA20
thumb_func_end ov19_021D6164
thumb_func_start ov19_021D617C
ov19_021D617C: ; 0x021D617C
push {r4, r5}
sub r2, r2, r1
bpl _021D618A
mov r4, #0
mvn r4, r4
mul r2, r4
b _021D618C
_021D618A:
mov r4, #1
_021D618C:
ldr r5, _021D61AC ; =0x021DFE44
mov r3, #0
_021D6190:
ldrh r1, [r5]
cmp r2, r1
blt _021D619E
add r3, r3, #1
add r5, r5, #2
cmp r3, #2
blo _021D6190
_021D619E:
ldr r1, [r0, #0x24]
add r0, r3, #0
mul r0, r4
mul r0, r1
pop {r4, r5}
bx lr
nop
_021D61AC: .word 0x021DFE44
thumb_func_end ov19_021D617C
.rodata
.global Unk_ov19_021DFE44
Unk_ov19_021DFE44: ; 0x021DFE44
.incbin "incbin/overlay19_rodata.bin", 0x54, 0x4

3220
asm/ov19_021D61B0.s Normal file

File diff suppressed because it is too large Load Diff

2333
asm/ov19_021D79F8.s Normal file

File diff suppressed because it is too large Load Diff

2998
asm/ov19_021D8B54.s Normal file

File diff suppressed because it is too large Load Diff

747
asm/ov19_021DA270.s Normal file
View File

@ -0,0 +1,747 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov19_021DA270
ov19_021DA270: ; 0x021DA270
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
add r5, r0, #0
add r6, r1, #0
mov r0, #0x13
mov r1, #0xa
str r2, [sp, #8]
str r3, [sp, #0xc]
ldr r4, [sp, #0x48]
bl sub_02006C24
str r0, [r5, #0x48]
add r0, sp, #0x1c
bl sub_020A81D0
bl sub_02079FD0
add r1, r0, #0
mov r0, #0xa
str r0, [sp]
add r0, sp, #0x1c
str r0, [sp, #4]
ldr r0, [r5, #0x48]
mov r2, #1
mov r3, #0x40
bl sub_0200716C
bl sub_02079FD0
add r1, r0, #0
ldr r0, [r5, #0x48]
add r2, sp, #0x18
mov r3, #0xa
bl sub_020071EC
str r0, [sp, #0x10]
cmp r0, #0
beq _021DA308
add r0, sp, #0x1c
bl sub_020A81D0
ldr r0, [sp, #0x10]
add r1, sp, #0x14
bl sub_020A71EC
ldr r2, [sp, #0x18]
add r7, r0, #0
ldr r0, [r2, #0xc]
mov r1, #8
str r1, [sp]
ldr r2, [r2, #8]
ldr r3, _021DA380 ; =0x0000057F
add r1, r0, #0
lsr r2, r2, #1
bl ov19_021D78C8
cmp r7, #0
beq _021DA2F6
add r0, sp, #0x1c
str r0, [sp]
ldr r0, [sp, #0x18]
ldr r1, [sp, #0x14]
mov r2, #0xc0
mov r3, #1
bl sub_020A8948
b _021DA302
_021DA2F6:
ldr r0, [sp, #0x18]
mov r1, #0xc0
mov r2, #1
add r3, sp, #0x1c
bl sub_020A8850
_021DA302:
ldr r0, [sp, #0x10]
bl sub_020181C4
_021DA308:
mov r0, #0xa
add r3, r5, #0
str r0, [sp]
add r0, r4, #0
mov r1, #0x15
mov r2, #1
add r3, #0x10
bl sub_02007204
str r0, [r5, #8]
mov r0, #0xa
str r0, [sp]
add r0, r4, #0
mov r1, #0x16
mov r2, #1
add r3, r5, #4
bl sub_02007220
str r0, [r5, #0]
mov r0, #0xa
add r3, r5, #0
str r0, [sp]
add r0, r4, #0
mov r1, #0x17
mov r2, #1
add r3, #0x1c
bl sub_02007204
str r0, [r5, #0x14]
mov r0, #0xa
add r3, r5, #0
str r0, [sp]
add r0, r4, #0
mov r1, #0x18
mov r2, #1
add r3, #0x20
bl sub_02007220
str r0, [r5, #0x18]
ldr r0, [r5, #8]
cmp r0, #0
beq _021DA368
ldr r0, [r5, #0]
cmp r0, #0
beq _021DA368
ldr r0, [r5, #0x48]
cmp r0, #0
bne _021DA36E
_021DA368:
add sp, #0x30
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_021DA36E:
ldr r0, [sp, #0xc]
str r0, [r5, #0x24]
ldr r0, [sp, #8]
str r0, [r5, #0x40]
str r6, [r5, #0x44]
mov r0, #1
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
nop
_021DA380: .word 0x0000057F
thumb_func_end ov19_021DA270
thumb_func_start ov19_021DA384
ov19_021DA384: ; 0x021DA384
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #8]
cmp r0, #0
beq _021DA396
bl sub_020181C4
mov r0, #0
str r0, [r4, #8]
_021DA396:
ldr r0, [r4, #0]
cmp r0, #0
beq _021DA3A4
bl sub_020181C4
mov r0, #0
str r0, [r4, #0]
_021DA3A4:
ldr r0, [r4, #0x14]
cmp r0, #0
beq _021DA3B2
bl sub_020181C4
mov r0, #0
str r0, [r4, #0x14]
_021DA3B2:
ldr r0, [r4, #0x18]
cmp r0, #0
beq _021DA3C0
bl sub_020181C4
mov r0, #0
str r0, [r4, #0x18]
_021DA3C0:
ldr r0, [r4, #0x48]
cmp r0, #0
beq _021DA3CA
bl sub_02006CA8
_021DA3CA:
pop {r4, pc}
thumb_func_end ov19_021DA384
thumb_func_start ov19_021DA3CC
ov19_021DA3CC: ; 0x021DA3CC
push {r4, r5, r6, lr}
add r4, r2, #0
add r0, r4, #0
add r5, r1, #0
sub r4, r4, #1
cmp r0, #0
beq _021DA3EE
mov r6, #0
_021DA3DC:
add r0, r5, #4
str r6, [r5, #0]
bl sub_020A818C
add r0, r4, #0
add r5, #0x34
sub r4, r4, #1
cmp r0, #0
bne _021DA3DC
_021DA3EE:
pop {r4, r5, r6, pc}
thumb_func_end ov19_021DA3CC
thumb_func_start ov19_021DA3F0
ov19_021DA3F0: ; 0x021DA3F0
push {r4, r5, r6, lr}
add r4, r2, #0
add r0, r4, #0
add r5, r1, #0
sub r4, r4, #1
cmp r0, #0
beq _021DA416
mov r6, #0
_021DA400:
ldr r0, [r5, #0]
cmp r0, #0
beq _021DA40C
bl sub_02021BD4
str r6, [r5, #0]
_021DA40C:
add r0, r4, #0
add r5, #0x34
sub r4, r4, #1
cmp r0, #0
bne _021DA400
_021DA416:
pop {r4, r5, r6, pc}
thumb_func_end ov19_021DA3F0
thumb_func_start ov19_021DA418
ov19_021DA418: ; 0x021DA418
mov r3, #0x34
mul r3, r2
add r2, r3, #0
ldr r3, _021DA424 ; =sub_020C4B68
bx r3
nop
_021DA424: .word sub_020C4B68
thumb_func_end ov19_021DA418
thumb_func_start ov19_021DA428
ov19_021DA428: ; 0x021DA428
push {r4, r5, r6, r7, lr}
sub sp, #0x44
add r6, r1, #0
add r5, r0, #0
add r0, r6, #0
str r2, [sp, #8]
str r3, [sp, #0xc]
ldr r4, [sp, #0x64]
bl sub_02073D20
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x10]
ldr r0, [r5, #0x44]
bl ov19_021D77D0
add r2, r0, #0
ldr r0, [r5, #4]
mov r1, #0
str r0, [sp]
ldr r0, [sp, #0x58]
str r0, [sp, #4]
ldr r3, [r5, #0x10]
add r0, sp, #0x20
bl ov19_021D783C
add r0, r6, #0
mov r1, #5
mov r2, #0
bl sub_02074570
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x18]
add r0, r6, #0
mov r1, #0x4c
mov r2, #0
bl sub_02074570
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x14]
add r0, r6, #0
mov r1, #0x70
mov r2, #0
bl sub_02074570
lsl r0, r0, #0x18
lsr r7, r0, #0x18
add r0, r6, #0
bl sub_02079D40
str r0, [r4, #0x28]
ldr r0, [sp, #0x18]
ldr r2, [sp, #0x14]
add r1, r7, #0
bl sub_02079EDC
strh r0, [r4, #0x2c]
add r0, r6, #0
mov r1, #6
mov r2, #0
bl sub_02074570
strh r0, [r4, #0x30]
add r0, r6, #0
mov r1, #0xb
mov r2, #0
bl sub_02074570
strh r0, [r4, #0x2e]
add r0, r4, #4
bl sub_020A818C
add r0, r5, #0
add r0, #0x4c
str r0, [sp]
mov r3, #0xa
ldr r0, [r5, #0x48]
ldr r1, [r4, #0x28]
mov r2, #0
lsl r3, r3, #6
bl sub_02006DC8
add r0, r5, #0
add r0, #0x4c
add r1, sp, #0x1c
bl sub_020A7118
mov r2, #1
lsl r2, r2, #0x1a
ldr r1, [r2, #0]
ldr r0, _021DA544 ; =0x00300010
add r3, r4, #4
and r1, r0
ldr r0, [sp, #0x1c]
str r1, [r0, #8]
lsr r1, r2, #0x11
ldr r0, [sp, #0x1c]
mov r2, #1
str r1, [r0, #0x10]
ldr r1, [sp, #0x60]
ldr r0, [sp, #0x1c]
lsl r1, r1, #5
bl sub_020A8224
add r0, r4, #4
str r0, [sp, #0x20]
ldr r0, [sp, #0x5c]
ldr r2, [sp, #8]
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r5, #0x24]
ldr r3, [sp, #0xc]
add r1, sp, #0x20
bl ov19_021D785C
str r0, [r4, #0]
cmp r0, #0
bne _021DA51E
bl sub_02022974
_021DA51E:
ldrh r1, [r4, #0x2c]
ldr r0, [r4, #0]
add r1, r1, #2
bl sub_02021E90
ldr r0, [r5, #0x40]
bl ov19_021D5EC8
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl ov19_021DA63C
ldr r1, [sp, #0x10]
add r0, r6, #0
bl sub_02073D48
add sp, #0x44
pop {r4, r5, r6, r7, pc}
; .align 2, 0
_021DA544: .word 0x00300010
thumb_func_end ov19_021DA428
thumb_func_start ov19_021DA548
ov19_021DA548: ; 0x021DA548
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x40
add r6, r1, #0
add r5, r0, #0
add r0, r6, #0
str r2, [sp, #8]
add r7, r3, #0
ldr r4, [sp, #0x70]
bl sub_02073D20
str r0, [sp, #0x14]
add r0, r6, #0
mov r1, #0x4c
mov r2, #0
bl sub_02074570
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x10]
add r0, r6, #0
mov r1, #0x70
mov r2, #0
bl sub_02074570
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0xc]
ldr r0, [r5, #0x44]
bl ov19_021D77D0
add r2, r0, #0
ldr r0, [r5, #4]
mov r1, #0
str r0, [sp]
ldr r0, [sp, #0x64]
str r0, [sp, #4]
ldr r3, [r5, #0x10]
add r0, sp, #0x1c
bl ov19_021D783C
str r7, [r4, #0x28]
ldr r0, [sp, #8]
ldr r1, [sp, #0xc]
ldr r2, [sp, #0x10]
bl sub_02079EDC
strh r0, [r4, #0x2c]
add r0, r6, #0
mov r1, #6
mov r2, #0
bl sub_02074570
strh r0, [r4, #0x30]
add r0, r6, #0
mov r1, #0xb
mov r2, #0
bl sub_02074570
strh r0, [r4, #0x2e]
add r0, r4, #4
bl sub_020A818C
ldr r0, [sp, #0x58]
add r1, sp, #0x18
bl sub_020A7118
mov r2, #1
lsl r2, r2, #0x1a
ldr r1, [r2, #0]
ldr r0, _021DA638 ; =0x00300010
add r3, r4, #4
and r1, r0
ldr r0, [sp, #0x18]
str r1, [r0, #8]
lsr r1, r2, #0x11
ldr r0, [sp, #0x18]
mov r2, #1
str r1, [r0, #0x10]
ldr r1, [sp, #0x6c]
ldr r0, [sp, #0x18]
lsl r1, r1, #5
bl sub_020A8224
add r0, r4, #4
str r0, [sp, #0x1c]
ldr r0, [sp, #0x68]
ldr r2, [sp, #0x5c]
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r5, #0x24]
ldr r3, [sp, #0x60]
add r1, sp, #0x1c
bl ov19_021D785C
str r0, [r4, #0]
cmp r0, #0
bne _021DA610
bl sub_02022974
_021DA610:
ldrh r1, [r4, #0x2c]
ldr r0, [r4, #0]
add r1, r1, #2
bl sub_02021E90
ldr r0, [r5, #0x40]
bl ov19_021D5EC8
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl ov19_021DA63C
ldr r1, [sp, #0x14]
add r0, r6, #0
bl sub_02073D48
add sp, #0x40
pop {r3, r4, r5, r6, r7, pc}
nop
_021DA638: .word 0x00300010
thumb_func_end ov19_021DA548
thumb_func_start ov19_021DA63C
ov19_021DA63C: ; 0x021DA63C
push {r4, r5, r6, lr}
cmp r2, #0
beq _021DA682
mov r3, #1
add r0, r2, #0
tst r0, r3
beq _021DA65A
ldrh r0, [r1, #0x30]
cmp r0, #0
bne _021DA65A
ldr r0, [r1, #0]
add r1, r3, #0
bl sub_02021FE0
pop {r4, r5, r6, pc}
_021DA65A:
mov r3, #0
mov r4, #1
mov r0, #2
_021DA660:
add r5, r0, #0
lsl r5, r3
tst r5, r2
beq _021DA67C
add r5, r4, #0
ldrh r6, [r1, #0x2e]
lsl r5, r3
tst r5, r6
bne _021DA67C
ldr r0, [r1, #0]
add r1, r4, #0
bl sub_02021FE0
pop {r4, r5, r6, pc}
_021DA67C:
add r3, r3, #1
cmp r3, #6
blt _021DA660
_021DA682:
ldr r0, [r1, #0]
mov r1, #0
bl sub_02021FE0
pop {r4, r5, r6, pc}
thumb_func_end ov19_021DA63C
thumb_func_start ov19_021DA68C
ov19_021DA68C: ; 0x021DA68C
strh r2, [r1, #0x2e]
bx lr
thumb_func_end ov19_021DA68C
thumb_func_start ov19_021DA690
ov19_021DA690: ; 0x021DA690
strh r2, [r1, #0x30]
bx lr
thumb_func_end ov19_021DA690
thumb_func_start ov19_021DA694
ov19_021DA694: ; 0x021DA694
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r1, #0
add r5, r0, #0
ldrh r0, [r4, #0x30]
add r6, r2, #0
cmp r0, #0x70
bne _021DA6C2
mov r1, #0
ldr r0, _021DA740 ; =0x000001E7
add r2, r1, #0
bl sub_02079D8C
ldr r1, [r4, #0x28]
cmp r1, r0
bne _021DA6C2
ldr r0, _021DA740 ; =0x000001E7
mov r1, #0
mov r2, #1
bl sub_02079D8C
str r0, [r4, #0x28]
b _021DA70A
_021DA6C2:
ldrh r0, [r4, #0x30]
cmp r0, #0x70
beq _021DA6E6
ldr r0, _021DA740 ; =0x000001E7
mov r1, #0
mov r2, #1
bl sub_02079D8C
ldr r1, [r4, #0x28]
cmp r1, r0
bne _021DA6E6
mov r1, #0
ldr r0, _021DA740 ; =0x000001E7
add r2, r1, #0
bl sub_02079D8C
str r0, [r4, #0x28]
b _021DA70A
_021DA6E6:
cmp r6, #1
bne _021DA73C
mov r0, #0x7b
lsl r0, r0, #2
mov r1, #0
mov r2, #1
bl sub_02079D8C
ldr r1, [r4, #0x28]
cmp r1, r0
bne _021DA73C
mov r0, #0x7b
mov r1, #0
lsl r0, r0, #2
add r2, r1, #0
bl sub_02079D8C
str r0, [r4, #0x28]
_021DA70A:
add r0, r5, #0
ldr r6, [r4, #8]
add r0, #0x4c
str r0, [sp]
mov r3, #0xa
mov r7, #0x19
ldr r0, [r5, #0x48]
ldr r1, [r4, #0x28]
mov r2, #0
lsl r3, r3, #6
lsl r7, r7, #0x16
bl sub_02006DC8
add r5, #0x4c
add r0, r5, #0
add r1, sp, #4
bl sub_020A7118
ldr r0, [sp, #4]
mov r2, #2
ldr r0, [r0, #0x14]
add r1, r6, r7
lsl r2, r2, #8
bl sub_020C4B68
_021DA73C:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
_021DA740: .word 0x000001E7
thumb_func_end ov19_021DA694
thumb_func_start ov19_021DA744
ov19_021DA744: ; 0x021DA744
push {r3, lr}
str r1, [sp]
ldr r0, [r0, #0x48]
add r1, r2, #0
mov r2, #0
bl sub_02006DC8
pop {r3, pc}
thumb_func_end ov19_021DA744
thumb_func_start ov19_021DA754
ov19_021DA754: ; 0x021DA754
push {r4, r5, r6, lr}
sub sp, #8
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #0]
add r6, r2, #0
cmp r0, #0
beq _021DA7B0
add r0, r4, #4
bl sub_020A818C
add r0, r5, #0
add r0, #0x4c
str r0, [sp]
mov r3, #0xa
ldr r0, [r5, #0x48]
ldr r1, [r4, #0x28]
mov r2, #0
lsl r3, r3, #6
bl sub_02006DC8
add r5, #0x4c
add r0, r5, #0
add r1, sp, #4
bl sub_020A7118
mov r2, #1
lsl r2, r2, #0x1a
ldr r1, [r2, #0]
ldr r0, _021DA7B4 ; =0x00300010
add r3, r4, #4
and r1, r0
ldr r0, [sp, #4]
str r1, [r0, #8]
lsr r1, r2, #0x11
ldr r0, [sp, #4]
mov r2, #1
str r1, [r0, #0x10]
ldr r0, [sp, #4]
lsl r1, r6, #5
bl sub_020A8224
ldr r0, [r4, #0]
add r1, r4, #4
bl sub_02021F7C
_021DA7B0:
add sp, #8
pop {r4, r5, r6, pc}
; .align 2, 0
_021DA7B4: .word 0x00300010
thumb_func_end ov19_021DA754
thumb_func_start ov19_021DA7B8
ov19_021DA7B8: ; 0x021DA7B8
push {r3, r4, r5, lr}
add r4, r2, #0
add r5, r1, #0
sub r0, r4, #1
cmp r0, #1
ldr r0, [r5, #0]
bhi _021DA7CE
mov r1, #1
bl sub_02021CF8
b _021DA7D4
_021DA7CE:
mov r1, #0
bl sub_02021CF8
_021DA7D4:
ldr r0, [r5, #0]
add r1, r4, #0
bl sub_02021D6C
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov19_021DA7B8
thumb_func_start ov19_021DA7E0
ov19_021DA7E0: ; 0x021DA7E0
push {r3, lr}
ldr r0, [r1, #0]
bl sub_02021FD0
cmp r0, #0
bne _021DA7F0
mov r0, #1
pop {r3, pc}
_021DA7F0:
mov r0, #0
pop {r3, pc}
thumb_func_end ov19_021DA7E0
thumb_func_start ov19_021DA7F4
ov19_021DA7F4: ; 0x021DA7F4
cmp r2, #0
beq _021DA7FC
mov r2, #6
b _021DA7FE
_021DA7FC:
mov r2, #2
_021DA7FE:
ldr r0, [r1, #0]
ldrh r1, [r1, #0x2c]
ldr r3, _021DA808 ; =sub_02021E90
add r1, r1, r2
bx r3
; .align 2, 0
_021DA808: .word sub_02021E90
thumb_func_end ov19_021DA7F4
thumb_func_start ov19_021DA80C
ov19_021DA80C: ; 0x021DA80C
ldr r0, [r0, #0x10]
bx lr
thumb_func_end ov19_021DA80C
thumb_func_start ov19_021DA810
ov19_021DA810: ; 0x021DA810
ldr r0, [r0, #4]
bx lr
thumb_func_end ov19_021DA810

156
asm/ov19_021DA814.s Normal file
View File

@ -0,0 +1,156 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov19_021DA814
ov19_021DA814: ; 0x021DA814
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
str r1, [r4, #0x44]
str r3, [r4, #0x3c]
str r2, [r4, #0x40]
str r3, [r4, #0]
mov r0, #0
str r0, [r4, #4]
mov r1, #0xa
add r3, r4, #0
ldr r0, [sp, #0x10]
str r1, [sp]
mov r2, #1
add r3, #0x10
bl sub_02007204
str r0, [r4, #8]
mov r0, #0xa
str r0, [sp]
add r3, r4, #0
ldr r0, [sp, #0x10]
mov r1, #0xb
mov r2, #1
add r3, #0x14
bl sub_02007220
str r0, [r4, #0xc]
ldr r0, [r4, #8]
cmp r0, #0
beq _021DA858
ldr r0, [r4, #0xc]
cmp r0, #0
bne _021DA85E
_021DA858:
add sp, #4
mov r0, #0
pop {r3, r4, pc}
_021DA85E:
mov r0, #1
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov19_021DA814
thumb_func_start ov19_021DA864
ov19_021DA864: ; 0x021DA864
push {r3, r4, r5, lr}
sub sp, #0x38
add r5, r0, #0
add r0, #0x18
add r4, r1, #0
bl sub_020A818C
mov r3, #0
mov r0, #0x9d
str r3, [sp]
mov r2, #1
str r2, [sp, #4]
lsl r0, r0, #8
str r0, [sp, #8]
mov r0, #0xa
str r0, [sp, #0xc]
add r0, r5, #0
add r0, #0x18
str r0, [sp, #0x10]
add r0, r4, #0
mov r1, #9
bl sub_0200718C
ldr r0, [r5, #0x44]
bl ov19_021D77D0
add r2, r0, #0
ldr r0, [r5, #0x14]
add r1, r5, #0
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r3, [r5, #0x10]
add r0, sp, #0x14
add r1, #0x18
bl ov19_021D783C
ldr r0, [r5, #0x44]
bl ov19_021D7820
add r2, r0, #0
mov r0, #0x2c
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r5, #0]
add r1, sp, #0x14
add r2, #0xb7
mov r3, #0xb0
bl ov19_021D785C
mov r1, #1
str r0, [r5, #4]
bl sub_02021E90
add sp, #0x38
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov19_021DA864
thumb_func_start ov19_021DA8D8
ov19_021DA8D8: ; 0x021DA8D8
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #8]
cmp r0, #0
beq _021DA8EA
bl sub_020181C4
mov r0, #0
str r0, [r4, #8]
_021DA8EA:
ldr r0, [r4, #0xc]
cmp r0, #0
beq _021DA8F8
bl sub_020181C4
mov r0, #0
str r0, [r4, #0xc]
_021DA8F8:
pop {r4, pc}
; .align 2, 0
thumb_func_end ov19_021DA8D8
thumb_func_start ov19_021DA8FC
ov19_021DA8FC: ; 0x021DA8FC
push {r3, lr}
cmp r1, #0
beq _021DA90C
cmp r1, #1
beq _021DA916
cmp r1, #2
beq _021DA920
pop {r3, pc}
_021DA90C:
ldr r0, [r0, #4]
mov r1, #0
bl sub_02021D6C
pop {r3, pc}
_021DA916:
ldr r0, [r0, #4]
mov r1, #1
bl sub_02021D6C
pop {r3, pc}
_021DA920:
ldr r0, [r0, #4]
mov r1, #2
bl sub_02021D6C
pop {r3, pc}
; .align 2, 0
thumb_func_end ov19_021DA8FC

1282
asm/ov19_021DA92C.s Normal file

File diff suppressed because it is too large Load Diff

812
asm/ov19_021DB2FC.s Normal file
View File

@ -0,0 +1,812 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov19_021DB2FC
ov19_021DB2FC: ; 0x021DB2FC
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
str r1, [r4, #0xc]
str r3, [r4, #0]
str r2, [r4, #8]
ldr r0, [sp, #0x18]
mov r1, #0x1a
str r0, [r4, #0x2c]
ldr r0, [sp, #0x1c]
mov r2, #0x12
str r0, [r4, #0x20]
ldr r0, [sp, #0x14]
mov r3, #0xa
str r0, [r4, #0x10]
mov r0, #0
bl sub_0200B144
str r0, [r4, #0x14]
mov r0, #0x40
mov r1, #0xa
bl sub_02023790
str r0, [r4, #0x30]
mov r0, #0x40
mov r1, #0xa
bl sub_02023790
str r0, [r4, #0x34]
mov r0, #0
strh r0, [r4, #0x1c]
strh r0, [r4, #0x1e]
str r0, [r4, #0x18]
mov r0, #0xa
str r0, [sp]
add r3, r4, #0
ldr r0, [sp, #0x20]
mov r1, #0x19
mov r2, #1
add r3, #0x28
bl sub_020071B4
str r0, [r4, #0x24]
cmp r0, #0
beq _021DB362
ldr r0, [r4, #0x30]
cmp r0, #0
beq _021DB362
ldr r0, [r4, #0x34]
cmp r0, #0
bne _021DB368
_021DB362:
add sp, #4
mov r0, #0
pop {r3, r4, pc}
_021DB368:
mov r0, #1
add sp, #4
pop {r3, r4, pc}
; .align 2, 0
thumb_func_end ov19_021DB2FC
thumb_func_start ov19_021DB370
ov19_021DB370: ; 0x021DB370
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0x18]
cmp r0, #0
beq _021DB3C0
mov r6, #0
add r4, r6, #0
_021DB37E:
ldr r0, [r5, #0x18]
add r0, r0, r4
bl sub_0201A8FC
add r6, r6, #1
add r4, #0x10
cmp r6, #2
blt _021DB37E
ldr r0, [r5, #0x24]
cmp r0, #0
beq _021DB398
bl sub_020181C4
_021DB398:
ldr r0, [r5, #0x14]
cmp r0, #0
beq _021DB3A2
bl sub_0200B190
_021DB3A2:
ldr r0, [r5, #0x30]
cmp r0, #0
beq _021DB3AC
bl sub_020237BC
_021DB3AC:
ldr r0, [r5, #0x34]
cmp r0, #0
beq _021DB3B6
bl sub_020237BC
_021DB3B6:
ldr r0, [r5, #0x18]
bl sub_020181C4
mov r0, #0
str r0, [r5, #0x18]
_021DB3C0:
pop {r4, r5, r6, pc}
; .align 2, 0
thumb_func_end ov19_021DB370
thumb_func_start ov19_021DB3C4
ov19_021DB3C4: ; 0x021DB3C4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r6, r0, #0
mov r0, #0xa
mov r1, #2
bl sub_0201A778
str r0, [r6, #0x18]
cmp r0, #0
beq _021DB3F4
mov r7, #0
ldr r4, _021DB440 ; =0x021E01F8
add r5, r7, #0
_021DB3DE:
ldr r1, [r6, #0x18]
ldr r0, [r6, #0]
add r1, r1, r5
add r2, r4, #0
bl sub_0201A8D4
add r7, r7, #1
add r4, #8
add r5, #0x10
cmp r7, #2
blt _021DB3DE
_021DB3F4:
mov r0, #2
lsl r0, r0, #8
str r0, [sp]
mov r1, #0
str r1, [sp, #4]
str r1, [sp, #8]
mov r0, #0xa
str r0, [sp, #0xc]
ldr r2, [r6, #0]
mov r0, #0x26
mov r3, #1
bl sub_02006E3C
mov r0, #0x20
str r0, [sp]
mov r0, #0xa
str r0, [sp, #4]
mov r0, #0x26
mov r1, #0x18
mov r2, #0
mov r3, #0xe0
bl sub_02006E84
ldr r0, [r6, #0x20]
ldr r2, _021DB444 ; =0x00000209
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #0xa
str r0, [sp, #4]
ldr r0, [r6, #0]
mov r1, #1
mov r3, #8
bl sub_0200DD0C
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
_021DB440: .word 0x021E01F8
_021DB444: .word 0x00000209
thumb_func_end ov19_021DB3C4
thumb_func_start ov19_021DB448
ov19_021DB448: ; 0x021DB448
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
ldr r0, [r5, #0x18]
add r4, r1, #0
bl sub_0201A9F4
ldr r3, [r5, #0x18]
ldrb r0, [r3, #7]
str r0, [sp]
ldrb r0, [r3, #8]
str r0, [sp, #4]
ldrb r1, [r3, #4]
ldrb r2, [r3, #5]
ldrb r3, [r3, #6]
ldr r0, [r5, #0]
bl ov19_021DB4B4
ldr r0, [r5, #0x18]
mov r1, #0xf
bl sub_0201ADA4
ldr r0, [r5, #0x10]
ldr r2, [r5, #0x30]
add r1, r4, #0
bl sub_0200B1B8
ldr r0, [r5, #0x2c]
ldr r1, [r5, #0x34]
ldr r2, [r5, #0x30]
bl sub_0200C388
mov r3, #0
str r3, [sp]
mov r0, #0xff
str r0, [sp, #4]
str r3, [sp, #8]
ldr r0, [r5, #0x18]
ldr r2, [r5, #0x34]
mov r1, #1
bl sub_0201D738
ldr r0, [r5, #0x18]
bl sub_0201ACCC
ldr r0, [r5, #0]
mov r1, #1
bl sub_02019448
mov r0, #1
strh r0, [r5, #0x1c]
add sp, #0xc
pop {r4, r5, pc}
; .align 2, 0
thumb_func_end ov19_021DB448
thumb_func_start ov19_021DB4B4
ov19_021DB4B4: ; 0x021DB4B4
push {r3, r4, r5, r6, r7, lr}
lsl r1, r1, #0x18
add r7, r3, #0
lsr r1, r1, #0x18
add r6, r2, #0
ldr r4, [sp, #0x18]
ldr r5, [sp, #0x1c]
bl sub_02019FE4
sub r1, r7, #1
sub r2, r6, #2
lsl r1, r1, #5
add r1, r2, r1
lsl r3, r1, #1
ldr r2, _021DB558 ; =0x00008209
add r1, r0, r3
strh r2, [r0, r3]
add r0, r2, #1
mov r2, #0
strh r0, [r1, #2]
cmp r4, #0
bls _021DB4EE
ldr r0, _021DB55C ; =0x0000820B
add r3, r1, #0
_021DB4E4:
add r2, r2, #1
strh r0, [r3, #4]
add r3, r3, #2
cmp r2, r4
blo _021DB4E4
_021DB4EE:
lsl r0, r4, #1
add r2, r1, r0
ldr r3, _021DB560 ; =0x0000820C
mov ip, r0
strh r3, [r2, #4]
add r0, r3, #1
strh r0, [r2, #6]
add r0, r3, #2
strh r0, [r2, #8]
add r1, #0x40
mov r3, #0
cmp r5, #0
bls _021DB52A
mov r0, ip
add r2, r0, r1
ldr r0, _021DB564 ; =0x0000820F
add r7, r0, #1
_021DB510:
strh r0, [r1]
strh r7, [r1, #2]
ldr r6, _021DB568 ; =0x00008212
add r3, r3, #1
strh r6, [r2, #4]
add r6, r6, #1
strh r6, [r2, #6]
ldr r6, _021DB56C ; =0x00008214
add r1, #0x40
strh r6, [r2, #8]
add r2, #0x40
cmp r3, r5
blo _021DB510
_021DB52A:
ldr r0, _021DB570 ; =0x00008215
mov r3, #0
strh r0, [r1]
add r0, r0, #1
strh r0, [r1, #2]
cmp r4, #0
bls _021DB546
ldr r0, _021DB574 ; =0x00008217
add r2, r1, #0
_021DB53C:
add r3, r3, #1
strh r0, [r2, #4]
add r2, r2, #2
cmp r3, r4
blo _021DB53C
_021DB546:
mov r0, ip
ldr r2, _021DB578 ; =0x00008218
add r1, r1, r0
strh r2, [r1, #4]
add r0, r2, #1
strh r0, [r1, #6]
add r0, r2, #2
strh r0, [r1, #8]
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
_021DB558: .word 0x00008209
_021DB55C: .word 0x0000820B
_021DB560: .word 0x0000820C
_021DB564: .word 0x0000820F
_021DB568: .word 0x00008212
_021DB56C: .word 0x00008214
_021DB570: .word 0x00008215
_021DB574: .word 0x00008217
_021DB578: .word 0x00008218
thumb_func_end ov19_021DB4B4
thumb_func_start ov19_021DB57C
ov19_021DB57C: ; 0x021DB57C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
ldrh r0, [r5, #0x1e]
str r1, [sp, #0x10]
cmp r0, #0
beq _021DB594
ldr r1, [r5, #0x18]
ldr r0, [r5, #0]
add r1, #0x10
bl ov19_021DB84C
_021DB594:
ldr r0, [r5, #0x18]
mov r1, #0xf
str r0, [sp, #0x14]
add r0, #0x10
str r0, [sp, #0x14]
bl sub_0201ADA4
ldr r0, [sp, #0x10]
mov r6, #0
add r0, #0x21
ldrb r1, [r0]
mov r0, #8
sub r0, r0, r1
lsl r7, r0, #4
cmp r1, #0
bls _021DB608
ldr r4, [sp, #0x10]
_021DB5B6:
ldr r3, [r4, #0]
cmp r3, #0x38
blt _021DB5D2
cmp r3, #0x3d
bgt _021DB5D2
ldr r2, [sp, #0x10]
ldr r1, [sp, #0x14]
add r2, #0x22
ldrb r2, [r2]
add r0, r5, #0
sub r3, #0x38
bl ov19_021DB638
b _021DB5F8
_021DB5D2:
add r3, #0x18
ldr r0, [r5, #0x14]
ldr r2, [r5, #0x30]
add r1, r3, #0
bl sub_0200B1B8
str r7, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _021DB634 ; =0x000B0C0F
mov r1, #0
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r0, [sp, #0x14]
ldr r2, [r5, #0x30]
mov r3, #0xa
bl sub_0201D78C
_021DB5F8:
ldr r0, [sp, #0x10]
add r6, r6, #1
add r0, #0x21
ldrb r0, [r0]
add r7, #0x10
add r4, r4, #4
cmp r6, r0
blo _021DB5B6
_021DB608:
ldr r1, [sp, #0x10]
add r0, r5, #0
bl ov19_021DB748
ldr r1, [sp, #0x10]
add r0, r5, #0
add r1, #0x21
str r1, [sp, #0x10]
ldrb r1, [r1]
bl ov19_021DB684
ldr r0, [sp, #0x14]
bl sub_0201ACCC
ldr r0, [r5, #0]
mov r1, #1
bl sub_02019448
mov r0, #1
strh r0, [r5, #0x1e]
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
_021DB634: .word 0x000B0C0F
thumb_func_end ov19_021DB57C
thumb_func_start ov19_021DB638
ov19_021DB638: ; 0x021DB638
push {r4, r5, lr}
sub sp, #0x1c
add r5, r0, #0
mov r0, #1
lsl r0, r3
tst r0, r2
beq _021DB64A
mov r4, #0
b _021DB64C
_021DB64A:
mov r4, #8
_021DB64C:
mov r0, #0x30
str r0, [sp]
mov r0, #0x10
str r0, [sp, #4]
mov r0, #0x2c
str r0, [sp, #8]
lsl r0, r3, #4
add r0, r0, #4
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0xc]
mov r0, #8
str r0, [sp, #0x10]
lsl r2, r3, #0x13
str r0, [sp, #0x14]
mov r0, #0xff
str r0, [sp, #0x18]
add r0, r1, #0
ldr r1, [r5, #0x28]
lsl r3, r4, #0x10
ldr r1, [r1, #0x14]
lsr r2, r2, #0x10
lsr r3, r3, #0x10
bl sub_0201AE08
add sp, #0x1c
pop {r4, r5, pc}
; .align 2, 0
thumb_func_end ov19_021DB638
thumb_func_start ov19_021DB684
ov19_021DB684: ; 0x021DB684
push {r4, r5, r6, r7, lr}
sub sp, #0xc
str r0, [sp, #8]
add r5, r1, #0
ldr r0, [r0, #0]
mov r1, #1
bl sub_02019FE4
mov r2, #8
sub r2, r2, r5
mov ip, r2
add r0, #0xe6
lsl r2, r2, #7
add r2, r0, r2
ldr r1, _021DB6EC ; =0x00000251
mov r3, #0x18
mov r0, ip
mul r3, r0
add r4, r1, r3
mov r6, #0
lsl r7, r5, #1
beq _021DB6D0
mov r0, #1
lsl r0, r0, #0xe
_021DB6B4:
mov r3, #0
add r5, r2, #0
_021DB6B8:
add r1, r4, #0
orr r1, r0
strh r1, [r5]
add r3, r3, #1
add r4, r4, #1
add r5, r5, #2
cmp r3, #0xc
blo _021DB6B8
add r6, r6, #1
add r2, #0x40
cmp r6, r7
blo _021DB6B4
_021DB6D0:
mov r0, #0xc
str r0, [sp]
mov r3, ip
lsl r3, r3, #1
ldr r0, [sp, #8]
str r7, [sp, #4]
ldr r0, [r0, #0]
mov r1, #1
mov r2, #0x13
add r3, r3, #3
bl ov19_021DB7BC
add sp, #0xc
pop {r4, r5, r6, r7, pc}
; .align 2, 0
_021DB6EC: .word 0x00000251
thumb_func_end ov19_021DB684
thumb_func_start ov19_021DB6F0
ov19_021DB6F0: ; 0x021DB6F0
push {r4, lr}
add r4, r0, #0
ldrh r0, [r4, #0x1c]
cmp r0, #0
beq _021DB706
ldr r0, [r4, #0]
ldr r1, [r4, #0x18]
bl ov19_021DB898
mov r0, #0
strh r0, [r4, #0x1c]
_021DB706:
ldrh r0, [r4, #0x1e]
cmp r0, #0
beq _021DB71A
ldr r1, [r4, #0x18]
ldr r0, [r4, #0]
add r1, #0x10
bl ov19_021DB84C
mov r0, #0
strh r0, [r4, #0x1e]
_021DB71A:
ldr r0, [r4, #0]
mov r1, #1
bl sub_02019448
pop {r4, pc}
thumb_func_end ov19_021DB6F0
thumb_func_start ov19_021DB724
ov19_021DB724: ; 0x021DB724
push {r4, lr}
add r4, r0, #0
ldrh r0, [r4, #0x1e]
cmp r0, #0
beq _021DB73C
ldr r1, [r4, #0x18]
ldr r0, [r4, #0]
add r1, #0x10
bl ov19_021DB84C
mov r0, #0
strh r0, [r4, #0x1e]
_021DB73C:
ldr r0, [r4, #0]
mov r1, #1
bl sub_02019448
pop {r4, pc}
; .align 2, 0
thumb_func_end ov19_021DB724
thumb_func_start ov19_021DB748
ov19_021DB748: ; 0x021DB748
push {r4, r5, r6, lr}
sub sp, #8
add r6, r1, #0
ldr r4, [r0, #0x18]
add r0, r6, #0
add r0, #0x21
ldrb r1, [r0]
mov r0, #8
add r4, #0x10
sub r0, r0, r1
lsl r5, r0, #4
mov r0, #0xa
str r0, [sp]
lsl r0, r1, #0x14
lsr r0, r0, #0x10
lsl r3, r5, #0x10
str r0, [sp, #4]
add r0, r4, #0
mov r1, #0xf
mov r2, #0
lsr r3, r3, #0x10
bl sub_0201AE78
add r6, #0x20
ldrb r2, [r6]
add r0, r4, #0
mov r1, #0
lsl r2, r2, #4
add r2, r5, r2
bl sub_02002180
add r0, r4, #0
bl sub_0201ACCC
add sp, #8
pop {r4, r5, r6, pc}
thumb_func_end ov19_021DB748
thumb_func_start ov19_021DB790
ov19_021DB790: ; 0x021DB790
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
ldr r4, [r6, #0x18]
add r7, r1, #0
add r4, #0x10
mov r5, #0
_021DB79C:
add r2, r7, #0
add r2, #0x22
ldrb r2, [r2]
add r0, r6, #0
add r1, r4, #0
add r3, r5, #0
bl ov19_021DB638
add r5, r5, #1
cmp r5, #6
blt _021DB79C
add r0, r4, #0
bl sub_0201ACCC
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov19_021DB790
thumb_func_start ov19_021DB7BC
ov19_021DB7BC: ; 0x021DB7BC
push {r3, r4, r5, r6, r7, lr}
lsl r1, r1, #0x18
add r7, r3, #0
lsr r1, r1, #0x18
add r6, r2, #0
ldr r5, [sp, #0x18]
ldr r4, [sp, #0x1c]
bl sub_02019FE4
sub r1, r7, #1
sub r2, r6, #1
lsl r1, r1, #5
add r1, r2, r1
mov r2, #0x72
lsl r3, r1, #1
lsl r2, r2, #8
strh r2, [r0, r3]
add r1, r0, r3
mov r2, #0
cmp r5, #0
bls _021DB7F4
ldr r0, _021DB838 ; =0x00007201
add r3, r1, #0
_021DB7EA:
add r2, r2, #1
strh r0, [r3, #2]
add r3, r3, #2
cmp r2, r5
blo _021DB7EA
_021DB7F4:
lsl r0, r5, #1
add r2, r1, r0
ldr r3, _021DB83C ; =0x00007202
add r1, #0x40
mov r7, #0
strh r3, [r2, #2]
cmp r4, #0
bls _021DB818
ldr r2, _021DB840 ; =0x00007205
add r6, r0, r1
add r3, r3, #1
_021DB80A:
strh r3, [r1]
strh r2, [r6, #2]
add r7, r7, #1
add r6, #0x40
add r1, #0x40
cmp r7, r4
blo _021DB80A
_021DB818:
ldr r2, _021DB844 ; =0x00007206
mov r4, #0
strh r2, [r1]
cmp r5, #0
bls _021DB830
add r3, r1, #0
add r2, r2, #1
_021DB826:
add r4, r4, #1
strh r2, [r3, #2]
add r3, r3, #2
cmp r4, r5
blo _021DB826
_021DB830:
ldr r2, _021DB848 ; =0x00007208
add r0, r1, r0
strh r2, [r0, #2]
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
_021DB838: .word 0x00007201
_021DB83C: .word 0x00007202
_021DB840: .word 0x00007205
_021DB844: .word 0x00007206
_021DB848: .word 0x00007208
thumb_func_end ov19_021DB7BC
thumb_func_start ov19_021DB84C
ov19_021DB84C: ; 0x021DB84C
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
ldrb r1, [r4, #4]
bl sub_02019FE4
ldrb r1, [r4, #5]
mov r5, #0
sub r2, r1, #1
ldrb r1, [r4, #6]
sub r1, r1, #1
lsl r1, r1, #5
add r1, r2, r1
lsl r1, r1, #1
add r2, r0, r1
ldrb r0, [r4, #8]
add r0, r0, #2
beq _021DB896
add r0, r5, #0
add r1, r5, #0
_021DB872:
ldrb r6, [r4, #7]
add r3, r1, #0
add r6, r6, #2
beq _021DB88A
add r6, r2, #0
_021DB87C:
strh r0, [r6]
ldrb r7, [r4, #7]
add r3, r3, #1
add r6, r6, #2
add r7, r7, #2
cmp r3, r7
blo _021DB87C
_021DB88A:
ldrb r3, [r4, #8]
add r5, r5, #1
add r2, #0x40
add r3, r3, #2
cmp r5, r3
blo _021DB872
_021DB896:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov19_021DB84C
thumb_func_start ov19_021DB898
ov19_021DB898: ; 0x021DB898
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
ldrb r1, [r4, #4]
bl sub_02019FE4
ldrb r1, [r4, #5]
mov r5, #0
sub r2, r1, #2
ldrb r1, [r4, #6]
sub r1, r1, #1
lsl r1, r1, #5
add r1, r2, r1
lsl r1, r1, #1
add r2, r0, r1
ldrb r0, [r4, #8]
add r0, r0, #2
beq _021DB8E2
add r0, r5, #0
add r1, r5, #0
_021DB8BE:
ldrb r6, [r4, #7]
add r3, r1, #0
add r6, r6, #5
beq _021DB8D6
add r6, r2, #0
_021DB8C8:
strh r0, [r6]
ldrb r7, [r4, #7]
add r3, r3, #1
add r6, r6, #2
add r7, r7, #5
cmp r3, r7
blo _021DB8C8
_021DB8D6:
ldrb r3, [r4, #8]
add r5, r5, #1
add r2, #0x40
add r3, r3, #2
cmp r5, r3
blo _021DB8BE
_021DB8E2:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov19_021DB898
.rodata
.global Unk_ov19_021E01F8
Unk_ov19_021E01F8: ; 0x021E01F8
.incbin "incbin/overlay19_rodata.bin", 0x408, 0x10

1731
asm/ov19_021DB8E4.s Normal file

File diff suppressed because it is too large Load Diff

1335
asm/ov19_021DC5F0.s Normal file

File diff suppressed because it is too large Load Diff

2800
asm/ov19_021DCF88.s Normal file

File diff suppressed because it is too large Load Diff

1094
asm/ov19_021DE3E8.s Normal file

File diff suppressed because it is too large Load Diff

1739
asm/ov19_021DEC04.s Normal file

File diff suppressed because it is too large Load Diff

607
asm/ov19_021DF964.s Normal file
View File

@ -0,0 +1,607 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov19_021DF964
ov19_021DF964: ; 0x021DF964
push {r3, r4, r5, lr}
add r4, r0, #0
add r4, #0x74
add r0, r4, #0
add r5, r1, #0
bl ov19_021DFCF8
add r0, r4, #0
mov r1, #0x36
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x37
bl ov19_021DFD08
add r0, r4, #0
add r0, #0x20
strb r5, [r0]
mov r0, #0
add r4, #0x23
strb r0, [r4]
pop {r3, r4, r5, pc}
thumb_func_end ov19_021DF964
thumb_func_start ov19_021DF990
ov19_021DF990: ; 0x021DF990
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r5, #0
add r4, #0x74
add r0, r4, #0
bl ov19_021DFCF8
add r0, r4, #0
mov r1, #1
add r0, #0x23
strb r1, [r0]
add r0, r5, #0
bl ov19_021D5E08
cmp r0, #4
bhi _021DF9C6
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021DF9BC: ; jump table
.short _021DFA3C - _021DF9BC - 2 ; case 0
.short _021DFA66 - _021DF9BC - 2 ; case 1
.short _021DF9C6 - _021DF9BC - 2 ; case 2
.short _021DF9C6 - _021DF9BC - 2 ; case 3
.short _021DFA90 - _021DF9BC - 2 ; case 4
_021DF9C6:
add r0, r5, #0
bl ov19_021D5E38
cmp r0, #2
bne _021DF9E8
add r0, r5, #0
bl ov19_021D5E34
cmp r0, #0
beq _021DF9DE
mov r1, #0x24
b _021DF9E0
_021DF9DE:
mov r1, #0x23
_021DF9E0:
add r0, r4, #0
bl ov19_021DFD08
b _021DF9F0
_021DF9E8:
add r0, r4, #0
mov r1, #0x22
bl ov19_021DFD08
_021DF9F0:
add r0, r4, #0
mov r1, #0x25
bl ov19_021DFD08
add r0, r5, #0
bl ov19_021D5E70
ldrb r0, [r0, #0xf]
cmp r0, #0
bne _021DFA0C
add r0, r4, #0
mov r1, #0x28
bl ov19_021DFD08
_021DFA0C:
add r0, r5, #0
bl ov19_021D5E10
cmp r0, #0
bne _021DFA1A
mov r1, #0x26
b _021DFA1C
_021DFA1A:
mov r1, #0x27
_021DFA1C:
add r0, r4, #0
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x29
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x2a
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x2b
bl ov19_021DFD08
pop {r3, r4, r5, pc}
_021DFA3C:
add r0, r4, #0
mov r1, #0x27
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x25
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x29
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x2a
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x2b
bl ov19_021DFD08
pop {r3, r4, r5, pc}
_021DFA66:
add r0, r4, #0
mov r1, #0x26
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x25
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x29
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x2a
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x2b
bl ov19_021DFD08
pop {r3, r4, r5, pc}
_021DFA90:
add r0, r5, #0
bl ov19_021D5F9C
cmp r0, #0
bne _021DFA9E
mov r1, #0x34
b _021DFAA0
_021DFA9E:
mov r1, #0x35
_021DFAA0:
add r0, r4, #0
bl ov19_021DFD08
add r0, r5, #0
bl ov19_021D5E10
cmp r0, #0
bne _021DFAB4
mov r1, #0x26
b _021DFAB6
_021DFAB4:
mov r1, #0x27
_021DFAB6:
add r0, r4, #0
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x29
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x2b
bl ov19_021DFD08
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov19_021DF990
thumb_func_start ov19_021DFAD0
ov19_021DFAD0: ; 0x021DFAD0
push {r4, r5, r6, lr}
add r4, r0, #0
add r5, r4, #0
add r5, #0x74
bl ov19_021D5F7C
add r6, r0, #0
add r0, r4, #0
bl ov19_021D5E74
add r4, r0, #0
add r0, r5, #0
bl ov19_021DFCF8
add r0, r5, #0
mov r1, #1
add r0, #0x23
strb r1, [r0]
cmp r6, #0
beq _021DFB20
cmp r4, #0
beq _021DFB06
add r0, r5, #0
mov r1, #0x31
bl ov19_021DFD08
b _021DFB0E
_021DFB06:
add r0, r5, #0
mov r1, #0x2e
bl ov19_021DFD08
_021DFB0E:
add r0, r5, #0
mov r1, #0x32
bl ov19_021DFD08
add r0, r5, #0
mov r1, #0x30
bl ov19_021DFD08
b _021DFB46
_021DFB20:
cmp r4, #0
beq _021DFB3E
add r0, r5, #0
mov r1, #0x2f
bl ov19_021DFD08
add r0, r5, #0
mov r1, #0x32
bl ov19_021DFD08
add r0, r5, #0
mov r1, #0x30
bl ov19_021DFD08
b _021DFB46
_021DFB3E:
add r0, r5, #0
mov r1, #0x2e
bl ov19_021DFD08
_021DFB46:
add r0, r5, #0
mov r1, #0x33
bl ov19_021DFD08
pop {r4, r5, r6, pc}
thumb_func_end ov19_021DFAD0
thumb_func_start ov19_021DFB50
ov19_021DFB50: ; 0x021DFB50
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r5, #0
add r4, #0x74
bl ov19_021D5E90
add r0, r4, #0
bl ov19_021DFCF8
add r0, r4, #0
mov r1, #0
bl ov19_021DFD08
add r0, r5, #0
bl ov19_021D5E08
cmp r0, #4
beq _021DFB84
add r0, r4, #0
mov r1, #1
bl ov19_021DFD08
add r0, r4, #0
mov r1, #2
bl ov19_021DFD08
_021DFB84:
add r0, r4, #0
mov r1, #3
bl ov19_021DFD08
mov r0, #2
add r4, #0x23
strb r0, [r4]
pop {r3, r4, r5, pc}
thumb_func_end ov19_021DFB50
thumb_func_start ov19_021DFB94
ov19_021DFB94: ; 0x021DFB94
push {r4, r5, r6, lr}
add r4, r0, #0
add r4, #0x74
add r5, r1, #0
bl ov19_021D5E90
add r6, r0, #0
add r0, r4, #0
bl ov19_021DFCF8
add r0, r4, #0
mov r1, #4
bl ov19_021DFD08
add r0, r4, #0
mov r1, #5
bl ov19_021DFD08
add r0, r4, #0
mov r1, #6
bl ov19_021DFD08
add r0, r4, #0
mov r1, #7
bl ov19_021DFD08
add r0, r6, #0
bl sub_02079D20
add r6, r0, #0
beq _021DFBDA
add r0, r4, #0
mov r1, #8
bl ov19_021DFD08
_021DFBDA:
cmp r6, #4
bls _021DFBE6
add r0, r4, #0
mov r1, #9
bl ov19_021DFD08
_021DFBE6:
add r0, r4, #0
mov r1, #3
add r0, #0x23
strb r1, [r0]
cmp r5, #4
blt _021DFBFE
cmp r5, #9
bgt _021DFBFE
sub r0, r5, #4
add r4, #0x20
strb r0, [r4]
pop {r4, r5, r6, pc}
_021DFBFE:
bl sub_02022974
pop {r4, r5, r6, pc}
thumb_func_end ov19_021DFB94
thumb_func_start ov19_021DFC04
ov19_021DFC04: ; 0x021DFC04
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
add r6, #0x74
add r5, r1, #0
bl ov19_021D5E90
str r0, [sp]
add r0, r6, #0
bl ov19_021DFCF8
cmp r5, #4
blt _021DFC3C
cmp r5, #7
bgt _021DFC3C
sub r0, r5, #4
ldr r1, _021DFC7C ; =0x021E058C
lsl r0, r0, #3
mov r5, #0
add r4, r1, r0
_021DFC2A:
ldrh r1, [r4]
add r0, r6, #0
bl ov19_021DFD08
add r5, r5, #1
add r4, r4, #2
cmp r5, #4
blt _021DFC2A
b _021DFC72
_021DFC3C:
mov r4, #0
add r7, r4, #0
cmp r5, #9
bne _021DFC46
mov r4, #4
_021DFC46:
mov r5, #0
_021DFC48:
ldr r0, [sp]
add r1, r5, #0
bl sub_02079CFC
cmp r0, #0
beq _021DFC6C
cmp r4, #0
beq _021DFC5C
sub r4, r4, #1
b _021DFC6C
_021DFC5C:
add r1, r5, #0
add r0, r6, #0
add r1, #0x1a
bl ov19_021DFD08
add r7, r7, #1
cmp r7, #4
bge _021DFC72
_021DFC6C:
add r5, r5, #1
cmp r5, #8
blt _021DFC48
_021DFC72:
mov r0, #3
add r6, #0x23
strb r0, [r6]
pop {r3, r4, r5, r6, r7, pc}
nop
_021DFC7C: .word 0x021E058C
thumb_func_end ov19_021DFC04
thumb_func_start ov19_021DFC80
ov19_021DFC80: ; 0x021DFC80
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r5, #0
add r4, #0x74
add r0, r4, #0
bl ov19_021DFCF8
add r0, r4, #0
mov r1, #4
add r0, #0x23
strb r1, [r0]
add r5, #0x57
add r0, r4, #0
ldrb r1, [r5]
add r0, #0x22
strb r1, [r0]
add r0, r4, #0
mov r1, #0x38
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x39
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x3a
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x3b
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x3c
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x3d
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x2c
bl ov19_021DFD08
add r0, r4, #0
mov r1, #0x2d
bl ov19_021DFD08
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov19_021DFC80
thumb_func_start ov19_021DFCE4
ov19_021DFCE4: ; 0x021DFCE4
add r2, r0, #0
add r2, #0x96
ldrb r3, [r2]
mov r2, #1
lsl r2, r1
add r1, r3, #0
eor r1, r2
add r0, #0x96
strb r1, [r0]
bx lr
thumb_func_end ov19_021DFCE4
thumb_func_start ov19_021DFCF8
ov19_021DFCF8: ; 0x021DFCF8
add r1, r0, #0
mov r2, #0
add r1, #0x21
strb r2, [r1]
add r0, #0x20
strb r2, [r0]
bx lr
; .align 2, 0
thumb_func_end ov19_021DFCF8
thumb_func_start ov19_021DFD08
ov19_021DFD08: ; 0x021DFD08
push {r3, r4}
add r2, r0, #0
add r2, #0x21
ldrb r4, [r2]
cmp r4, #8
bhs _021DFD26
add r2, r0, #0
add r2, #0x21
ldrb r2, [r2]
add r3, r2, #1
add r2, r0, #0
add r2, #0x21
strb r3, [r2]
lsl r2, r4, #2
str r1, [r0, r2]
_021DFD26:
pop {r3, r4}
bx lr
; .align 2, 0
thumb_func_end ov19_021DFD08
thumb_func_start ov19_021DFD2C
ov19_021DFD2C: ; 0x021DFD2C
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, _021DFDD4 ; =0x021BF67C
add r4, #0x74
ldr r1, [r0, #0x48]
mov r0, #0x40
add r2, r1, #0
tst r2, r0
beq _021DFD6C
add r2, r4, #0
add r2, #0x20
ldrb r2, [r2]
cmp r2, #0
beq _021DFD58
add r1, r4, #0
add r1, #0x20
ldrb r1, [r1]
add r4, #0x20
sub r0, #0x42
sub r1, r1, #1
strb r1, [r4]
pop {r3, r4, r5, pc}
_021DFD58:
add r2, r4, #0
add r2, #0x21
ldrb r2, [r2]
cmp r2, #3
blo _021DFD6C
sub r1, r2, #1
add r4, #0x20
strb r1, [r4]
sub r0, #0x42
pop {r3, r4, r5, pc}
_021DFD6C:
mov r0, #0x80
add r2, r1, #0
tst r2, r0
beq _021DFDA4
add r2, r4, #0
add r2, #0x21
ldrb r5, [r2]
add r2, r4, #0
add r2, #0x20
ldrb r3, [r2]
sub r2, r5, #1
cmp r3, r2
bge _021DFD96
add r1, r4, #0
add r1, #0x20
ldrb r1, [r1]
add r4, #0x20
sub r0, #0x82
add r1, r1, #1
strb r1, [r4]
pop {r3, r4, r5, pc}
_021DFD96:
cmp r5, #3
blo _021DFDA4
mov r0, #0
add r4, #0x20
strb r0, [r4]
sub r0, r0, #2
pop {r3, r4, r5, pc}
_021DFDA4:
mov r0, #2
tst r0, r1
beq _021DFDB6
ldr r0, _021DFDD8 ; =0x000005DD
bl sub_02005748
mov r0, #0
mvn r0, r0
pop {r3, r4, r5, pc}
_021DFDB6:
mov r0, #1
tst r1, r0
beq _021DFDCE
ldr r0, _021DFDD8 ; =0x000005DD
bl sub_02005748
add r0, r4, #0
add r0, #0x20
ldrb r0, [r0]
lsl r0, r0, #2
ldr r0, [r4, r0]
pop {r3, r4, r5, pc}
_021DFDCE:
sub r0, r0, #4
pop {r3, r4, r5, pc}
nop
_021DFDD4: .word 0x021BF67C
_021DFDD8: .word 0x000005DD
thumb_func_end ov19_021DFD2C
thumb_func_start ov19_021DFDDC
ov19_021DFDDC: ; 0x021DFDDC
add r0, #0x74
add r1, r0, #0
add r1, #0x20
ldrb r1, [r1]
lsl r1, r1, #2
ldr r0, [r0, r1]
bx lr
; .align 2, 0
thumb_func_end ov19_021DFDDC
thumb_func_start ov19_021DFDEC
ov19_021DFDEC: ; 0x021DFDEC
ldr r0, [r0, #0x74]
bx lr
thumb_func_end ov19_021DFDEC
.rodata
.global Unk_ov19_021E058C
Unk_ov19_021E058C: ; 0x021E058C
.incbin "incbin/overlay19_rodata.bin", 0x79C, 0x20

View File

@ -1,8 +1,11 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov1_021D0D80
ov1_021D0D80: ; 0x021D0D80
ldr r0, _021D0D8C ; =0x021D0DA0
@ -14,11 +17,17 @@ ov1_021D0D80: ; 0x021D0D80
_021D0D8C: .word 0x021D0DA0
thumb_func_end ov1_021D0D80
.section .sinit, 4
.word ov1_021D0D80
.bss
.space 0x20
.global Unk_ov1_021D0DA0
Unk_ov1_021D0DA0: ; 0x021D0DA0
.space 0x4
.global Unk_ov1_021D0DA4
Unk_ov1_021D0DA4: ; 0x021D0DA4
.space 0x4

2658
asm/ov20_021D0D80.s Normal file

File diff suppressed because it is too large Load Diff

1841
asm/ov20_021D2098.s Normal file

File diff suppressed because it is too large Load Diff

1279
asm/ov20_021D2EA4.s Normal file

File diff suppressed because it is too large Load Diff

284
asm/ov20_021D3864.s Normal file
View File

@ -0,0 +1,284 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov20_021D3864
ov20_021D3864: ; 0x021D3864
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
mov r0, #0x23
mov r1, #0x10
add r6, r2, #0
bl sub_02018144
str r5, [r0, #0]
str r4, [r0, #4]
str r6, [r0, #8]
mov r1, #0
str r1, [r0, #0xc]
pop {r4, r5, r6, pc}
thumb_func_end ov20_021D3864
thumb_func_start ov20_021D3880
ov20_021D3880: ; 0x021D3880
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0xc]
cmp r0, #0
beq _021D388E
bl sub_02021BD4
_021D388E:
add r0, r4, #0
bl sub_020181C4
pop {r4, pc}
; .align 2, 0
thumb_func_end ov20_021D3880
thumb_func_start ov20_021D3898
ov20_021D3898: ; 0x021D3898
push {r4, r5, r6, lr}
sub sp, #0x10
add r5, r0, #0
ldr r0, [r5, #0]
add r6, r1, #0
bl ov20_021D2E04
add r4, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x23
str r0, [sp, #0xc]
add r0, r6, #0
mov r1, #4
add r2, r4, #0
mov r3, #3
bl sub_0200710C
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x23
str r0, [sp, #0xc]
add r0, r6, #0
mov r1, #5
add r2, r4, #0
mov r3, #3
bl sub_020070E8
ldr r1, _021D3904 ; =0x021D52D4
add r0, r4, #0
mov r2, #0
bl ov20_021D390C
ldr r1, _021D3908 ; =0x021D52DC
add r0, r4, #0
mov r2, #1
bl ov20_021D390C
add r0, r5, #0
bl ov20_021D3980
add r0, r4, #0
mov r1, #3
bl sub_02019448
add sp, #0x10
pop {r4, r5, r6, pc}
nop
_021D3904: .word 0x021D52D4
_021D3908: .word 0x021D52DC
thumb_func_end ov20_021D3898
thumb_func_start ov20_021D390C
ov20_021D390C: ; 0x021D390C
push {r3, r4, r5, lr}
sub sp, #0x20
add r5, r1, #0
add r4, r2, #0
add r1, sp, #0x10
add r2, r5, #0
bl sub_0201A8D4
add r0, sp, #0x10
bl sub_0201A9F4
add r0, sp, #0x10
mov r1, #0xe
bl sub_0201ADA4
ldr r1, _021D3978 ; =0x000001B6
mov r0, #0x1a
add r2, r4, #0
mov r3, #0x23
bl sub_0200B010
add r4, r0, #0
mov r0, #0
add r1, r4, #0
add r2, r0, #0
bl sub_02002D7C
ldrb r1, [r5, #3]
add r2, r4, #0
lsl r1, r1, #3
sub r0, r1, r0
mov r1, #0
lsr r3, r0, #1
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _021D397C ; =0x0001020E
str r0, [sp, #8]
add r0, sp, #0x10
str r1, [sp, #0xc]
bl sub_0201D78C
add r0, sp, #0x10
bl sub_0201ACCC
add r0, r4, #0
bl sub_020237BC
add r0, sp, #0x10
bl sub_0201A8FC
add sp, #0x20
pop {r3, r4, r5, pc}
nop
_021D3978: .word 0x000001B6
_021D397C: .word 0x0001020E
thumb_func_end ov20_021D390C
thumb_func_start ov20_021D3980
ov20_021D3980: ; 0x021D3980
push {r3, r4, lr}
sub sp, #0x2c
add r4, r0, #0
ldr r0, [r4, #0]
add r1, sp, #8
mov r2, #0
mov r3, #3
bl ov20_021D2E0C
mov r0, #5
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r4, #0]
add r1, sp, #8
mov r2, #0x40
mov r3, #0x38
bl ov20_021D2E50
str r0, [r4, #0xc]
mov r1, #2
bl sub_02021D6C
ldr r0, [r4, #0xc]
mov r1, #0
bl sub_02021CAC
add sp, #0x2c
pop {r3, r4, pc}
; .align 2, 0
thumb_func_end ov20_021D3980
thumb_func_start ov20_021D39BC
ov20_021D39BC: ; 0x021D39BC
ldr r3, _021D39C4 ; =sub_02021D6C
ldr r0, [r0, #0xc]
mov r1, #3
bx r3
; .align 2, 0
_021D39C4: .word sub_02021D6C
thumb_func_end ov20_021D39BC
thumb_func_start ov20_021D39C8
ov20_021D39C8: ; 0x021D39C8
ldr r3, _021D39D0 ; =sub_02021D6C
ldr r0, [r0, #0xc]
mov r1, #2
bx r3
; .align 2, 0
_021D39D0: .word sub_02021D6C
thumb_func_end ov20_021D39C8
thumb_func_start ov20_021D39D4
ov20_021D39D4: ; 0x021D39D4
ldr r3, _021D39DC ; =sub_02021CAC
ldr r0, [r0, #0xc]
bx r3
nop
_021D39DC: .word sub_02021CAC
thumb_func_end ov20_021D39D4
thumb_func_start ov20_021D39E0
ov20_021D39E0: ; 0x021D39E0
ldr r3, _021D39E8 ; =sub_02021D34
ldr r0, [r0, #0xc]
bx r3
nop
_021D39E8: .word sub_02021D34
thumb_func_end ov20_021D39E0
thumb_func_start ov20_021D39EC
ov20_021D39EC: ; 0x021D39EC
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
mov r0, #0
str r0, [sp, #8]
cmp r1, #0
beq _021D39FE
cmp r1, #1
beq _021D3A0C
_021D39FE:
mov r0, #1
lsl r0, r0, #0x12
str r0, [sp]
mov r0, #0xe
lsl r0, r0, #0xe
str r0, [sp, #4]
b _021D3A18
_021D3A0C:
mov r0, #3
lsl r0, r0, #0x12
str r0, [sp]
mov r0, #0xe
lsl r0, r0, #0xe
str r0, [sp, #4]
_021D3A18:
ldr r0, [r4, #0xc]
add r1, sp, #0
bl sub_02021C50
ldr r0, [r4, #0xc]
mov r1, #2
bl sub_02021D6C
add sp, #0xc
pop {r3, r4, pc}
thumb_func_end ov20_021D39EC
thumb_func_start ov20_021D3A2C
ov20_021D3A2C: ; 0x021D3A2C
push {r3, lr}
ldr r0, [r0, #0]
bl ov20_021D2E04
mov r1, #3
add r2, r1, #0
mov r3, #0x40
bl sub_02019184
pop {r3, pc}
thumb_func_end ov20_021D3A2C
thumb_func_start ov20_021D3A40
ov20_021D3A40: ; 0x021D3A40
push {r3, lr}
ldr r0, [r0, #0]
bl ov20_021D2E04
mov r1, #3
add r2, r1, #0
mov r3, #0
bl sub_02019184
pop {r3, pc}
thumb_func_end ov20_021D3A40
.rodata
.global Unk_ov20_021D52D4
Unk_ov20_021D52D4: ; 0x021D52D4
.incbin "incbin/overlay20_rodata.bin", 0x194, 0x19C - 0x194
.global Unk_ov20_021D52DC
Unk_ov20_021D52DC: ; 0x021D52DC
.incbin "incbin/overlay20_rodata.bin", 0x19C, 0x8

879
asm/ov20_021D3A54.s Normal file
View File

@ -0,0 +1,879 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov20_021D3A54
ov20_021D3A54: ; 0x021D3A54
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
mov r0, #0x23
mov r1, #0x60
add r7, r2, #0
bl sub_02018144
add r4, r0, #0
str r5, [r4, #0]
str r6, [r4, #4]
str r7, [r4, #8]
add r0, r5, #0
bl ov20_021D2E04
str r0, [r4, #0xc]
mov r0, #0
str r0, [r4, #0x10]
str r0, [r4, #0x18]
str r0, [r4, #0x5c]
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov20_021D3A54
thumb_func_start ov20_021D3A80
ov20_021D3A80: ; 0x021D3A80
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x5c]
cmp r0, #0
beq _021D3A8E
bl sub_02021BD4
_021D3A8E:
add r0, r4, #0
bl sub_020181C4
pop {r4, pc}
; .align 2, 0
thumb_func_end ov20_021D3A80
thumb_func_start ov20_021D3A98
ov20_021D3A98: ; 0x021D3A98
push {r4, r5, r6, lr}
sub sp, #0x10
add r5, r0, #0
ldr r0, [r5, #0]
add r6, r1, #0
bl ov20_021D2E04
add r4, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0x23
str r0, [sp, #0xc]
add r0, r6, #0
mov r1, #2
add r2, r4, #0
bl sub_0200710C
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
mov r3, #1
str r3, [sp, #8]
mov r0, #0x23
str r0, [sp, #0xc]
add r0, r6, #0
mov r1, #3
add r2, r4, #0
bl sub_020070E8
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
lsr r2, r2, #5
bl ov20_021D3B74
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl ov20_021D3C78
add r2, r0, #0
add r0, r5, #0
add r1, r4, #0
bl ov20_021D3D44
mov r2, #0
add r0, r4, #0
mov r1, #1
sub r3, r2, #4
bl sub_02019184
add r0, r4, #0
mov r1, #1
mov r2, #3
mov r3, #2
bl sub_02019184
add r0, r5, #0
bl ov20_021D3E0C
mov r1, #2
add r2, r1, #0
ldr r0, _021D3B68 ; =0x04000050
sub r2, #0xc
bl sub_020BF578
ldr r0, _021D3B6C ; =0x04000048
mov r2, #0x3f
ldrh r3, [r0]
mov r1, #0x1f
bic r3, r2
orr r1, r3
mov r3, #0x20
orr r1, r3
strh r1, [r0]
ldrh r5, [r0, #2]
mov r1, #0x1d
bic r5, r2
orr r1, r5
orr r1, r3
strh r1, [r0, #2]
add r1, r0, #0
mov r2, #0xff
sub r1, #8
strh r2, [r1]
mov r1, #0xa0
sub r0, r0, #4
strh r1, [r0]
lsl r2, r3, #0x15
ldr r1, [r2, #0]
ldr r0, _021D3B70 ; =0xFFFF1FFF
and r1, r0
lsl r0, r3, #8
orr r0, r1
str r0, [r2, #0]
add r0, r4, #0
mov r1, #1
bl sub_02019448
add sp, #0x10
pop {r4, r5, r6, pc}
; .align 2, 0
_021D3B68: .word 0x04000050
_021D3B6C: .word 0x04000048
_021D3B70: .word 0xFFFF1FFF
thumb_func_end ov20_021D3A98
thumb_func_start ov20_021D3B74
ov20_021D3B74: ; 0x021D3B74
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x38
add r6, r2, #0
mov r2, #0x6d
str r0, [sp, #0x14]
str r1, [sp, #0x18]
mov r0, #1
mov r1, #0x1a
lsl r2, r2, #2
mov r3, #0x23
bl sub_0200B144
str r0, [sp, #0x20]
mov r0, #9
mov r7, #1
str r0, [sp, #0x24]
mov r4, #0
_021D3B96:
cmp r4, #0
beq _021D3BAE
add r0, r4, #0
mov r1, #3
bl sub_020E1F6C
cmp r1, #0
bne _021D3BAE
ldr r0, [sp, #0x24]
mov r7, #1
add r0, r0, #3
str r0, [sp, #0x24]
_021D3BAE:
ldr r0, [sp, #0x14]
add r1, r4, #0
ldr r0, [r0, #8]
bl sub_02099CA0
cmp r0, #0
beq _021D3BCC
ldr r0, [sp, #0x20]
add r1, r4, #0
bl sub_0200B1EC
add r5, r0, #0
ldr r0, _021D3C6C ; =0x0001020F
str r0, [sp, #0x1c]
b _021D3BDA
_021D3BCC:
ldr r0, [sp, #0x20]
mov r1, #0xc
bl sub_0200B1EC
add r5, r0, #0
ldr r0, _021D3C70 ; =0x0003040F
str r0, [sp, #0x1c]
_021D3BDA:
ldr r0, _021D3C74 ; =0x000003EE
cmp r6, r0
blo _021D3BE4
bl sub_02022974
_021D3BE4:
ldr r0, [sp, #0x24]
lsl r3, r7, #0x18
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #9
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #0xb
str r0, [sp, #0xc]
lsl r0, r6, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldr r0, [sp, #0x18]
add r1, sp, #0x28
mov r2, #1
lsr r3, r3, #0x18
bl sub_0201A7E8
add r0, sp, #0x28
mov r1, #0xf
bl sub_0201ADA4
mov r0, #0
add r1, r5, #0
add r2, r0, #0
bl sub_02002D7C
mov r1, #0x48
sub r0, r1, r0
lsr r3, r0, #1
mov r0, #0
str r0, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, [sp, #0x1c]
mov r1, #0
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
add r0, sp, #0x28
add r2, r5, #0
bl sub_0201D78C
add r0, sp, #0x28
bl sub_0201A9F4
add r0, sp, #0x28
bl sub_0201ACCC
add r0, r5, #0
bl sub_020237BC
add r0, sp, #0x28
bl sub_0201A8FC
add r4, r4, #1
add r6, #0x12
add r7, #0xa
cmp r4, #0xc
blt _021D3B96
ldr r0, [sp, #0x20]
bl sub_0200B190
add r0, r6, #0
add sp, #0x38
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
_021D3C6C: .word 0x0001020F
_021D3C70: .word 0x0003040F
_021D3C74: .word 0x000003EE
thumb_func_end ov20_021D3B74
thumb_func_start ov20_021D3C78
ov20_021D3C78: ; 0x021D3C78
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
add r4, r1, #0
mov r1, #0xce
add r6, r0, #0
lsl r1, r1, #2
add r0, r2, #0
str r2, [sp, #0x14]
cmp r0, r1
blo _021D3C90
bl sub_02022974
_021D3C90:
mov r0, #0xa
str r0, [sp]
mov r0, #0x19
str r0, [sp, #4]
mov r0, #8
str r0, [sp, #8]
mov r0, #0xb
str r0, [sp, #0xc]
ldr r0, [sp, #0x14]
add r1, sp, #0x20
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
add r0, r4, #0
mov r2, #1
mov r3, #0x22
bl sub_0201A7E8
mov r0, #4
mov r1, #0x23
bl sub_02023790
add r4, r0, #0
add r0, sp, #0x20
mov r1, #0xf
bl sub_0201ADA4
bl ov20_021D5044
add r7, r0, #0
ldr r5, _021D3D38 ; =0x00000000
beq _021D3D16
_021D3CD0:
add r0, r5, #0
add r1, r4, #0
bl ov20_021D5048
add r0, r5, #0
add r1, sp, #0x1c
add r2, sp, #0x18
bl ov20_021D506C
ldr r0, [r6, #8]
add r1, r5, #0
bl sub_02099CDC
cmp r0, #0
beq _021D3CF2
ldr r1, _021D3D3C ; =0x0001020F
b _021D3CF4
_021D3CF2:
ldr r1, _021D3D40 ; =0x0003040F
_021D3CF4:
ldr r0, [sp, #0x18]
add r2, r4, #0
str r0, [sp]
mov r0, #0xff
str r0, [sp, #4]
str r1, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r3, [sp, #0x1c]
add r0, sp, #0x20
mov r1, #0
add r3, r3, #3
bl sub_0201D78C
add r5, r5, #1
cmp r5, r7
blo _021D3CD0
_021D3D16:
add r0, sp, #0x20
bl sub_0201ACCC
add r0, sp, #0x20
bl sub_0201A9F4
add r0, r4, #0
bl sub_020237BC
add r0, sp, #0x20
bl sub_0201A8FC
ldr r0, [sp, #0x14]
add r0, #0xc8
str r0, [sp, #0x14]
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
_021D3D38: .word 0x00000000
_021D3D3C: .word 0x0001020F
_021D3D40: .word 0x0003040F
thumb_func_end ov20_021D3C78
thumb_func_start ov20_021D3D44
ov20_021D3D44: ; 0x021D3D44
push {r4, r5, r6, r7, lr}
sub sp, #0x34
add r5, r2, #0
mov r2, #0x6d
str r1, [sp, #0x14]
mov r0, #1
mov r1, #0x1a
lsl r2, r2, #2
mov r3, #0x23
bl sub_0200B144
mov r1, #0xd
str r0, [sp, #0x20]
bl sub_0200B1EC
str r0, [sp, #0x1c]
mov r0, #0
ldr r1, [sp, #0x1c]
add r2, r0, #0
bl sub_02002D7C
mov r1, #0x40
sub r0, r1, r0
lsr r0, r0, #1
ldr r4, _021D3E04 ; =0x021D52E4
str r0, [sp, #0x18]
mov r7, #0
add r6, sp, #0x24
_021D3D7C:
mov r0, #0x3f
lsl r0, r0, #4
cmp r5, r0
blo _021D3D88
bl sub_02022974
_021D3D88:
ldrh r0, [r4, #2]
add r1, r6, #0
mov r2, #1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
mov r0, #8
str r0, [sp, #4]
mov r0, #2
str r0, [sp, #8]
mov r0, #0xb
str r0, [sp, #0xc]
lsl r0, r5, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldrh r3, [r4]
ldr r0, [sp, #0x14]
lsl r3, r3, #0x18
lsr r3, r3, #0x18
bl sub_0201A7E8
add r0, r6, #0
mov r1, #0xf
bl sub_0201ADA4
mov r0, #0
str r0, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _021D3E08 ; =0x0001020F
ldr r2, [sp, #0x1c]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
ldr r3, [sp, #0x18]
add r0, r6, #0
mov r1, #0
bl sub_0201D78C
add r0, r6, #0
bl sub_0201A9F4
add r0, r6, #0
bl sub_0201ACCC
add r0, r6, #0
bl sub_0201A8FC
add r7, r7, #1
add r5, #0x10
add r4, r4, #4
cmp r7, #2
blo _021D3D7C
ldr r0, [sp, #0x1c]
bl sub_020237BC
ldr r0, [sp, #0x20]
bl sub_0200B190
add r0, r5, #0
add sp, #0x34
pop {r4, r5, r6, r7, pc}
; .align 2, 0
_021D3E04: .word 0x021D52E4
_021D3E08: .word 0x0001020F
thumb_func_end ov20_021D3D44
thumb_func_start ov20_021D3E0C
ov20_021D3E0C: ; 0x021D3E0C
push {r3, r4, lr}
sub sp, #0x2c
add r4, r0, #0
ldr r0, [r4, #0]
add r1, sp, #8
mov r2, #0
mov r3, #1
bl ov20_021D2E0C
mov r0, #2
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r4, #0]
add r1, sp, #8
mov r2, #0x30
mov r3, #0x36
bl ov20_021D2E50
str r0, [r4, #0x5c]
mov r1, #4
bl sub_02021D6C
ldr r0, [r4, #0x5c]
mov r1, #0
bl sub_02021CAC
add sp, #0x2c
pop {r3, r4, pc}
; .align 2, 0
thumb_func_end ov20_021D3E0C
thumb_func_start ov20_021D3E48
ov20_021D3E48: ; 0x021D3E48
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x5c]
add r4, r1, #0
bl sub_02021CAC
cmp r4, #0
beq _021D3E72
ldr r0, [r5, #4]
bl ov20_021D1F94
cmp r0, #0
ldr r0, [r5, #0x5c]
bne _021D3E6C
mov r1, #4
bl sub_02021D6C
pop {r3, r4, r5, pc}
_021D3E6C:
mov r1, #6
bl sub_02021D6C
_021D3E72:
pop {r3, r4, r5, pc}
thumb_func_end ov20_021D3E48
thumb_func_start ov20_021D3E74
ov20_021D3E74: ; 0x021D3E74
push {r4, r5, lr}
sub sp, #0x14
add r4, r0, #0
ldr r0, [r4, #4]
add r5, r1, #0
bl ov20_021D1F94
mov r1, #0
str r1, [sp, #0x10]
cmp r5, #0xfe
bne _021D3E96
mov r0, #0x84
str r0, [sp, #8]
mov r0, #0x96
str r0, [sp, #0xc]
mov r5, #0x10
b _021D3ED6
_021D3E96:
cmp r0, #0
bne _021D3EBE
add r0, r5, #0
mov r1, #3
bl sub_020E2178
mov r0, #0x50
mul r0, r1
add r0, #0x30
str r0, [sp, #8]
add r0, r5, #0
mov r1, #3
bl sub_020E2178
mov r1, #0x18
mul r1, r0
add r1, #0x36
str r1, [sp, #0xc]
mov r5, #4
b _021D3ED6
_021D3EBE:
add r0, r5, #0
add r1, sp, #4
add r2, sp, #0
bl ov20_021D506C
ldr r0, [sp, #4]
mov r5, #6
add r0, #0x1a
str r0, [sp, #8]
ldr r0, [sp]
add r0, #0x3e
str r0, [sp, #0xc]
_021D3ED6:
ldr r0, [sp, #8]
add r1, sp, #8
lsl r0, r0, #0xc
str r0, [sp, #8]
ldr r0, [sp, #0xc]
lsl r0, r0, #0xc
str r0, [sp, #0xc]
ldr r0, [r4, #0x5c]
bl sub_02021C50
ldr r0, [r4, #0x5c]
add r1, r5, #0
bl sub_02021D6C
add sp, #0x14
pop {r4, r5, pc}
; .align 2, 0
thumb_func_end ov20_021D3E74
thumb_func_start ov20_021D3EF8
ov20_021D3EF8: ; 0x021D3EF8
push {r3, lr}
mov r3, #0
str r3, [r0, #0x14]
mov r1, #0x10
str r1, [sp]
mov r1, #2
add r2, r1, #0
add r0, #0x1c
sub r2, #0xc
bl ov20_021D4FB0
pop {r3, pc}
thumb_func_end ov20_021D3EF8
thumb_func_start ov20_021D3F10
ov20_021D3F10: ; 0x021D3F10
push {r4, lr}
sub sp, #8
add r4, r0, #0
ldr r0, [r4, #0x14]
cmp r0, #0
beq _021D3F22
cmp r0, #1
beq _021D3F4C
b _021D3F58
_021D3F22:
add r0, r4, #0
add r0, #0x1c
bl ov20_021D4FF0
cmp r0, #0
beq _021D3F58
mov r0, #0x18
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
add r0, r4, #0
mov r2, #1
ldr r1, [r4, #0xc]
add r0, #0x3c
add r3, r2, #0
bl ov20_021D4E38
ldr r0, [r4, #0x14]
add r0, r0, #1
str r0, [r4, #0x14]
b _021D3F58
_021D3F4C:
add r4, #0x3c
add r0, r4, #0
bl ov20_021D4E8C
add sp, #8
pop {r4, pc}
_021D3F58:
mov r0, #0
add sp, #8
pop {r4, pc}
; .align 2, 0
thumb_func_end ov20_021D3F10
thumb_func_start ov20_021D3F60
ov20_021D3F60: ; 0x021D3F60
push {r3, lr}
sub sp, #8
add r1, r0, #0
mov r0, #0
str r0, [r1, #0x14]
sub r0, #0x18
str r0, [sp]
mov r0, #6
str r0, [sp, #4]
add r0, r1, #0
mov r2, #1
ldr r1, [r1, #0xc]
add r0, #0x3c
add r3, r2, #0
bl ov20_021D4E38
add sp, #8
pop {r3, pc}
thumb_func_end ov20_021D3F60
thumb_func_start ov20_021D3F84
ov20_021D3F84: ; 0x021D3F84
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldr r0, [r4, #0x14]
cmp r0, #0
beq _021D3F96
cmp r0, #1
beq _021D3FBE
b _021D3FCA
_021D3F96:
add r0, r4, #0
add r0, #0x3c
bl ov20_021D4E8C
cmp r0, #0
beq _021D3FCA
mov r0, #0x10
mov r2, #0
str r0, [sp]
add r0, r4, #0
add r3, r2, #0
add r0, #0x1c
mov r1, #2
sub r3, #0xa
bl ov20_021D4FB0
ldr r0, [r4, #0x14]
add r0, r0, #1
str r0, [r4, #0x14]
b _021D3FCA
_021D3FBE:
add r4, #0x1c
add r0, r4, #0
bl ov20_021D4FF0
add sp, #4
pop {r3, r4, pc}
_021D3FCA:
mov r0, #0
add sp, #4
pop {r3, r4, pc}
thumb_func_end ov20_021D3F84
thumb_func_start ov20_021D3FD0
ov20_021D3FD0: ; 0x021D3FD0
push {r3, lr}
ldr r0, [r0, #0xc]
mov r1, #1
mov r2, #3
mov r3, #2
bl sub_02019184
pop {r3, pc}
thumb_func_end ov20_021D3FD0
thumb_func_start ov20_021D3FE0
ov20_021D3FE0: ; 0x021D3FE0
push {r3, lr}
mov r2, #0
mov r1, #0x10
add r3, r2, #0
str r1, [sp]
add r0, #0x1c
mov r1, #2
sub r3, #0xa
bl ov20_021D4FB0
pop {r3, pc}
; .align 2, 0
thumb_func_end ov20_021D3FE0
thumb_func_start ov20_021D3FF8
ov20_021D3FF8: ; 0x021D3FF8
ldr r3, _021D4000 ; =ov20_021D4FF0
add r0, #0x1c
bx r3
nop
_021D4000: .word ov20_021D4FF0
thumb_func_end ov20_021D3FF8
thumb_func_start ov20_021D4004
ov20_021D4004: ; 0x021D4004
push {r3, lr}
sub sp, #8
mov r1, #0
str r1, [sp]
mov r1, #0xc
str r1, [sp, #4]
add r0, #0x1c
mov r1, #2
mov r2, #0x3f
mov r3, #0x7c
bl ov20_021D4F1C
add sp, #8
pop {r3, pc}
thumb_func_end ov20_021D4004
thumb_func_start ov20_021D4020
ov20_021D4020: ; 0x021D4020
push {r3, lr}
add r0, #0x1c
bl ov20_021D4F4C
cmp r0, #0
beq _021D4038
mov r0, #1
mov r1, #0
bl sub_02019120
mov r0, #1
pop {r3, pc}
_021D4038:
mov r0, #0
pop {r3, pc}
thumb_func_end ov20_021D4020
thumb_func_start ov20_021D403C
ov20_021D403C: ; 0x021D403C
push {r4, lr}
sub sp, #8
add r4, r0, #0
mov r0, #0x10
str r0, [sp]
ldr r0, _021D4074 ; =0x04000050
mov r1, #2
mov r2, #0x3f
mov r3, #0
bl sub_020BF55C
mov r0, #1
add r1, r0, #0
bl sub_02019120
mov r0, #0x7c
str r0, [sp]
mov r0, #0xc
add r4, #0x1c
str r0, [sp, #4]
add r0, r4, #0
mov r1, #2
mov r2, #0x3f
mov r3, #0
bl ov20_021D4F1C
add sp, #8
pop {r4, pc}
; .align 2, 0
_021D4074: .word 0x04000050
thumb_func_end ov20_021D403C
thumb_func_start ov20_021D4078
ov20_021D4078: ; 0x021D4078
ldr r3, _021D4080 ; =ov20_021D4F4C
add r0, #0x1c
bx r3
nop
_021D4080: .word ov20_021D4F4C
thumb_func_end ov20_021D4078
thumb_func_start ov20_021D4084
ov20_021D4084: ; 0x021D4084
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #4]
bl ov20_021D1F94
cmp r0, #0
bne _021D4098
mov r3, #3
mvn r3, r3
b _021D409A
_021D4098:
mov r3, #0xfc
_021D409A:
ldr r0, [r4, #0xc]
mov r1, #1
mov r2, #0
bl sub_02019184
pop {r4, pc}
; .align 2, 0
thumb_func_end ov20_021D4084
thumb_func_start ov20_021D40A8
ov20_021D40A8: ; 0x021D40A8
push {r4, lr}
sub sp, #8
add r4, r0, #0
ldr r0, [r4, #4]
bl ov20_021D1F94
cmp r0, #0
bne _021D40BE
mov r0, #0xff
mvn r0, r0
b _021D40C2
_021D40BE:
mov r0, #1
lsl r0, r0, #8
_021D40C2:
str r0, [sp]
mov r0, #0x10
str r0, [sp, #4]
add r0, r4, #0
ldr r1, [r4, #0xc]
add r0, #0x3c
mov r2, #1
mov r3, #0
bl ov20_021D4E38
add sp, #8
pop {r4, pc}
; .align 2, 0
thumb_func_end ov20_021D40A8
thumb_func_start ov20_021D40DC
ov20_021D40DC: ; 0x021D40DC
ldr r3, _021D40E4 ; =ov20_021D4E8C
add r0, #0x3c
bx r3
nop
_021D40E4: .word ov20_021D4E8C
thumb_func_end ov20_021D40DC
.rodata
.global Unk_ov20_021D52E4
Unk_ov20_021D52E4: ; 0x021D52E4
.incbin "incbin/overlay20_rodata.bin", 0x1A4, 0x8

817
asm/ov20_021D40E8.s Normal file
View File

@ -0,0 +1,817 @@
.include "macros/function.inc"
.include "global.inc"
.text
thumb_func_start ov20_021D40E8
ov20_021D40E8: ; 0x021D40E8
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
add r6, r1, #0
mov r0, #0x23
mov r1, #0x94
add r7, r2, #0
bl sub_02018144
add r4, r0, #0
str r5, [r4, #0]
str r6, [r4, #4]
str r7, [r4, #8]
add r0, r5, #0
bl ov20_021D2E04
str r0, [r4, #0xc]
mov r0, #0x20
mov r1, #0x23
bl sub_02023790
str r0, [r4, #0x3c]
mov r0, #0
str r0, [sp]
mov r0, #0x1a
str r0, [sp, #4]
mov r0, #0x20
str r0, [sp, #8]
mov r0, #0xc
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
add r1, r4, #0
ldr r0, [r4, #0xc]
add r1, #0x10
mov r2, #2
mov r3, #4
bl sub_0201A7E8
mov r3, #0
str r3, [sp]
mov r1, #0xc
str r1, [sp, #4]
mov r0, #4
str r0, [sp, #8]
str r1, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
add r1, r4, #0
ldr r0, [r4, #0xc]
add r1, #0x20
mov r2, #2
bl sub_0201A7E8
mov r0, #0
str r0, [r4, #0x30]
str r0, [r4, #0x34]
str r0, [r4, #0x38]
add r0, r4, #0
add sp, #0x14
pop {r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov20_021D40E8
thumb_func_start ov20_021D4164
ov20_021D4164: ; 0x021D4164
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x30]
cmp r0, #0
beq _021D4172
bl sub_02021BD4
_021D4172:
ldr r0, [r4, #0x34]
cmp r0, #0
beq _021D417C
bl sub_02021BD4
_021D417C:
ldr r0, [r4, #0x38]
cmp r0, #0
beq _021D4186
bl sub_02021BD4
_021D4186:
ldr r0, [r4, #0x3c]
cmp r0, #0
beq _021D4190
bl sub_020237BC
_021D4190:
add r0, r4, #0
add r0, #0x20
bl sub_0201A8FC
add r0, r4, #0
add r0, #0x10
bl sub_0201A8FC
add r0, r4, #0
bl sub_020181C4
pop {r4, pc}
thumb_func_end ov20_021D4164
thumb_func_start ov20_021D41A8
ov20_021D41A8: ; 0x021D41A8
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
ldr r0, [r5, #0]
bl ov20_021D2E04
add r4, r0, #0
mov r0, #2
mov r1, #0x20
mov r2, #0
mov r3, #0x23
bl sub_02019690
mov r2, #0
str r2, [sp]
mov r0, #0x20
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0xc
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #2
add r3, r2, #0
bl sub_02019CB8
add r0, r5, #0
add r0, #0x10
mov r1, #0
bl sub_0201ADA4
add r0, r5, #0
add r0, #0x10
bl sub_0201A9F4
add r0, r5, #0
add r0, #0x10
bl sub_0201ACCC
add r0, r4, #0
mov r1, #2
bl sub_02019448
add r0, r5, #0
bl ov20_021D4210
mov r0, #2
mov r1, #0
bl sub_02019120
add sp, #0x10
pop {r3, r4, r5, pc}
; .align 2, 0
thumb_func_end ov20_021D41A8
thumb_func_start ov20_021D4210
ov20_021D4210: ; 0x021D4210
push {r3, r4, lr}
sub sp, #0x2c
add r4, r0, #0
ldr r0, [r4, #0]
add r1, sp, #8
mov r2, #0
mov r3, #2
bl ov20_021D2E0C
mov r0, #3
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r4, #0]
add r1, sp, #8
mov r2, #0x48
mov r3, #0x38
bl ov20_021D2E50
str r0, [r4, #0x30]
mov r1, #8
bl sub_02021D6C
ldr r0, [r4, #0x30]
mov r1, #0
bl sub_02021CAC
mov r0, #4
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r4, #0]
add r1, sp, #8
mov r2, #0xf0
mov r3, #0x40
bl ov20_021D2E50
str r0, [r4, #0x34]
mov r1, #0xb
bl sub_02021D6C
ldr r0, [r4, #0x34]
mov r1, #0
bl sub_02021CAC
mov r0, #4
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r4, #0]
add r1, sp, #8
mov r2, #0xf0
mov r3, #0x90
bl ov20_021D2E50
str r0, [r4, #0x38]
mov r1, #0xa
bl sub_02021D6C
ldr r0, [r4, #0x38]
mov r1, #0
bl sub_02021CAC
add sp, #0x2c
pop {r3, r4, pc}
; .align 2, 0
thumb_func_end ov20_021D4210
thumb_func_start ov20_021D4294
ov20_021D4294: ; 0x021D4294
push {r3, r4, r5, r6, r7, lr}
add r6, r0, #0
add r0, #0x10
mov r1, #0
bl sub_0201ADA4
add r0, r6, #0
bl ov20_021D4638
ldr r0, [r6, #4]
bl ov20_021D1FE4
add r7, r0, #0
cmp r7, #0xa
bls _021D42B4
mov r7, #0xa
_021D42B4:
add r0, r6, #0
add r0, #0x8c
mov r5, #0
ldr r4, [r0, #0]
cmp r7, #0
bls _021D42D8
_021D42C0:
add r0, r6, #0
add r1, r5, #0
add r2, r4, #0
bl ov20_021D4658
mov r0, #1
tst r0, r5
beq _021D42D2
add r4, #0x18
_021D42D2:
add r5, r5, #1
cmp r5, r7
blo _021D42C0
_021D42D8:
add r6, #0x10
add r0, r6, #0
bl sub_0201ACCC
pop {r3, r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov20_021D4294
thumb_func_start ov20_021D42E4
ov20_021D42E4: ; 0x021D42E4
push {r3, r4, r5, lr}
sub sp, #8
add r4, r0, #0
mov r0, #0x10
str r0, [sp]
ldr r0, _021D437C ; =0x04000050
mov r1, #4
mov r2, #0x3f
mov r3, #0
bl sub_020BF55C
mov r0, #2
mov r1, #1
bl sub_02019120
ldr r1, _021D4380 ; =0x04000048
ldr r0, _021D4384 ; =0xFFFFC0FF
ldrh r2, [r1]
mov r5, #0xff
and r2, r0
mov r0, #0x1f
lsl r0, r0, #8
orr r2, r0
lsr r0, r1, #0xd
orr r0, r2
strh r0, [r1]
add r0, r4, #0
ldrb r2, [r1, #2]
add r0, #0x84
strb r2, [r0]
add r0, r1, #0
sub r0, #0x48
mov r2, #0xe
ldr r3, [r0, #0]
lsl r2, r2, #0xc
and r2, r3
lsr r3, r2, #0xd
add r2, r4, #0
add r2, #0x88
str r3, [r2, #0]
ldrh r3, [r1, #2]
mov r2, #0x3f
bic r3, r2
mov r2, #0x1b
orr r3, r2
mov r2, #0x20
orr r3, r2
strh r3, [r1, #2]
sub r3, r1, #6
strh r5, [r3]
ldr r3, _021D4388 ; =0x00002EB0
sub r1, r1, #2
strh r3, [r1]
ldr r3, [r0, #0]
ldr r1, _021D438C ; =0xFFFF1FFF
and r3, r1
lsl r1, r2, #9
orr r1, r3
str r1, [r0, #0]
add r0, r4, #0
mov r3, #0
add r0, #0x80
str r3, [r0, #0]
mov r0, #0x7c
str r0, [sp]
mov r0, #0xc
add r4, #0x40
str r0, [sp, #4]
add r0, r4, #0
mov r1, #4
mov r2, #0x3f
bl ov20_021D4F1C
add sp, #8
pop {r3, r4, r5, pc}
nop
_021D437C: .word 0x04000050
_021D4380: .word 0x04000048
_021D4384: .word 0xFFFFC0FF
_021D4388: .word 0x00002EB0
_021D438C: .word 0xFFFF1FFF
thumb_func_end ov20_021D42E4
thumb_func_start ov20_021D4390
ov20_021D4390: ; 0x021D4390
push {r3, lr}
add r1, r0, #0
add r1, #0x80
ldr r1, [r1, #0]
cmp r1, #0
bne _021D43AE
add r0, #0x40
bl ov20_021D4F4C
cmp r0, #0
beq _021D43AA
mov r0, #1
pop {r3, pc}
_021D43AA:
mov r0, #0
pop {r3, pc}
_021D43AE:
mov r0, #1
pop {r3, pc}
; .align 2, 0
thumb_func_end ov20_021D4390
thumb_func_start ov20_021D43B4
ov20_021D43B4: ; 0x021D43B4
push {r3, lr}
sub sp, #8
add r1, r0, #0
mov r2, #0
add r1, #0x80
str r2, [r1, #0]
str r2, [sp]
mov r1, #0xc
str r1, [sp, #4]
add r0, #0x40
mov r1, #4
mov r2, #0x3f
mov r3, #0x7c
bl ov20_021D4F1C
add sp, #8
pop {r3, pc}
; .align 2, 0
thumb_func_end ov20_021D43B4
thumb_func_start ov20_021D43D8
ov20_021D43D8: ; 0x021D43D8
push {r4, lr}
add r4, r0, #0
add r0, #0x80
ldr r0, [r0, #0]
cmp r0, #0
bne _021D4430
add r0, r4, #0
add r0, #0x40
bl ov20_021D4F4C
cmp r0, #0
beq _021D4434
mov r0, #2
mov r1, #0
bl sub_02019120
ldr r0, _021D4438 ; =0x0400004A
ldrh r2, [r0]
mov r0, #0x3f
bic r2, r0
add r0, r4, #0
add r0, #0x84
ldrb r0, [r0]
lsl r1, r0, #0x1b
lsr r1, r1, #0x1b
lsl r0, r0, #0x1a
orr r1, r2
lsr r0, r0, #0x1f
beq _021D4416
mov r0, #0x20
orr r1, r0
_021D4416:
ldr r2, _021D4438 ; =0x0400004A
ldr r0, _021D443C ; =0xFFFF1FFF
strh r1, [r2]
sub r2, #0x4a
ldr r1, [r2, #0]
add r4, #0x88
and r1, r0
ldr r0, [r4, #0]
lsl r0, r0, #0xd
orr r0, r1
str r0, [r2, #0]
mov r0, #1
pop {r4, pc}
_021D4430:
mov r0, #1
pop {r4, pc}
_021D4434:
mov r0, #0
pop {r4, pc}
; .align 2, 0
_021D4438: .word 0x0400004A
_021D443C: .word 0xFFFF1FFF
thumb_func_end ov20_021D43D8
thumb_func_start ov20_021D4440
ov20_021D4440: ; 0x021D4440
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x30]
add r4, r1, #0
bl sub_02021CAC
cmp r4, #0
beq _021D446E
ldr r0, [r5, #4]
bl ov20_021D204C
add r1, r0, #0
ldr r0, [r5, #0x34]
bl sub_02021CAC
ldr r0, [r5, #4]
bl ov20_021D2060
add r1, r0, #0
ldr r0, [r5, #0x38]
bl sub_02021CAC
pop {r3, r4, r5, pc}
_021D446E:
ldr r0, [r5, #0x34]
mov r1, #0
bl sub_02021CAC
ldr r0, [r5, #0x38]
mov r1, #0
bl sub_02021CAC
pop {r3, r4, r5, pc}
thumb_func_end ov20_021D4440
thumb_func_start ov20_021D4480
ov20_021D4480: ; 0x021D4480
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
add r2, r1, #0
mov r0, #1
and r2, r0
mov r0, #0x70
mul r0, r2
add r0, #0x48
lsl r0, r0, #0xc
str r0, [sp]
lsr r1, r1, #1
mov r0, #0x18
mul r0, r1
add r0, #0x38
lsl r0, r0, #0xc
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
ldr r0, [r4, #0x30]
add r1, sp, #0
bl sub_02021C50
ldr r0, [r4, #0x30]
mov r1, #8
bl sub_02021D6C
add sp, #0xc
pop {r3, r4, pc}
; .align 2, 0
thumb_func_end ov20_021D4480
thumb_func_start ov20_021D44BC
ov20_021D44BC: ; 0x021D44BC
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
add r7, r0, #0
add r4, r1, #0
bl ov20_021D45AC
add r0, r7, #0
add r0, #0x90
ldr r0, [r0, #0]
lsl r6, r4, #1
str r0, [sp, #0x10]
add r0, r0, r6
str r0, [sp, #0x14]
mov r0, #0x18
mul r0, r4
str r0, [sp, #8]
add r0, r7, #0
add r0, #0x8c
ldr r0, [r0, #0]
ldr r1, [sp, #8]
add r1, r0, r1
lsl r1, r1, #0x18
lsr r1, r1, #0x18
str r1, [sp, #0x18]
cmp r4, #0
bge _021D4500
ldr r0, [sp, #0x14]
add r5, r1, #0
str r0, [sp, #0x10]
lsl r0, r4, #2
neg r0, r0
neg r6, r6
str r0, [sp, #0xc]
b _021D4520
_021D4500:
add r0, #0x78
lsl r0, r0, #0x18
lsr r5, r0, #0x18
ldr r0, [sp, #0x10]
add r0, #0xa
str r0, [sp, #0x10]
ldr r0, [r7, #4]
bl ov20_021D1FE4
ldr r1, [sp, #0x10]
add r1, r6, r1
cmp r1, r0
bls _021D451C
sub r6, r6, #1
_021D451C:
lsl r0, r4, #2
str r0, [sp, #0xc]
_021D4520:
mov r4, #0
cmp r6, #0
ble _021D4544
_021D4526:
ldr r1, [sp, #0x10]
add r0, r7, #0
add r1, r1, r4
add r2, r5, #0
bl ov20_021D4658
mov r0, #1
tst r0, r4
beq _021D453E
add r5, #0x18
lsl r0, r5, #0x18
lsr r5, r0, #0x18
_021D453E:
add r4, r4, #1
cmp r4, r6
blt _021D4526
_021D4544:
add r1, r7, #0
ldr r0, [sp, #0x18]
add r1, #0x8c
str r0, [r1, #0]
add r1, r7, #0
ldr r0, [sp, #0x14]
add r1, #0x90
str r0, [r1, #0]
add r0, r7, #0
add r0, #0x10
bl sub_0201ACCC
ldr r0, [sp, #8]
mov r2, #2
str r0, [sp]
ldr r0, [sp, #0xc]
mov r3, #1
str r0, [sp, #4]
add r0, r7, #0
ldr r1, [r7, #0xc]
add r0, #0x60
bl ov20_021D4E38
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
; .align 2, 0
thumb_func_end ov20_021D44BC
thumb_func_start ov20_021D4578
ov20_021D4578: ; 0x021D4578
push {r4, lr}
add r4, r0, #0
add r0, #0x60
bl ov20_021D4E8C
cmp r0, #0
beq _021D45A6
ldr r0, [r4, #4]
bl ov20_021D204C
add r1, r0, #0
ldr r0, [r4, #0x34]
bl sub_02021CAC
ldr r0, [r4, #4]
bl ov20_021D2060
add r1, r0, #0
ldr r0, [r4, #0x38]
bl sub_02021CAC
mov r0, #1
pop {r4, pc}
_021D45A6:
mov r0, #0
pop {r4, pc}
; .align 2, 0
thumb_func_end ov20_021D4578
thumb_func_start ov20_021D45AC
ov20_021D45AC: ; 0x021D45AC
push {r3, r4, r5, lr}
sub sp, #8
add r5, r0, #0
cmp r1, #0
ble _021D45CC
add r0, #0x8c
ldr r0, [r0, #0]
add r0, #0x78
lsl r0, r0, #0x18
lsr r3, r0, #0x18
mov r0, #0x18
mul r0, r1
add r0, r3, r0
lsl r0, r0, #0x18
lsr r4, r0, #0x18
b _021D45DA
_021D45CC:
add r0, #0x8c
ldr r4, [r0, #0]
mov r0, #0x18
mul r0, r1
add r0, r4, r0
lsl r0, r0, #0x18
lsr r3, r0, #0x18
_021D45DA:
cmp r3, r4
bge _021D45FE
mov r0, #0xd0
str r0, [sp]
sub r0, r4, r3
lsl r0, r0, #0x10
lsr r0, r0, #0x10
mov r1, #0
lsl r3, r3, #0x10
add r5, #0x10
str r0, [sp, #4]
add r0, r5, #0
add r2, r1, #0
lsr r3, r3, #0x10
bl sub_0201AE78
add sp, #8
pop {r3, r4, r5, pc}
_021D45FE:
mov r0, #0xd0
str r0, [sp]
add r0, #0x30
sub r0, r0, r3
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #4]
add r0, r5, #0
mov r1, #0
lsl r3, r3, #0x10
add r0, #0x10
add r2, r1, #0
lsr r3, r3, #0x10
bl sub_0201AE78
mov r1, #0
mov r0, #0xd0
str r0, [sp]
lsl r0, r4, #0x10
lsr r0, r0, #0x10
add r5, #0x10
str r0, [sp, #4]
add r0, r5, #0
add r2, r1, #0
add r3, r1, #0
bl sub_0201AE78
add sp, #8
pop {r3, r4, r5, pc}
thumb_func_end ov20_021D45AC
thumb_func_start ov20_021D4638
ov20_021D4638: ; 0x021D4638
push {r3, lr}
add r1, r0, #0
mov r2, #0x30
add r1, #0x8c
str r2, [r1, #0]
add r1, r0, #0
mov r3, #0
add r1, #0x90
str r3, [r1, #0]
ldr r0, [r0, #0xc]
mov r1, #2
mov r2, #3
bl sub_02019184
pop {r3, pc}
; .align 2, 0
thumb_func_end ov20_021D4638
thumb_func_start ov20_021D4658
ov20_021D4658: ; 0x021D4658
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
add r4, r2, #0
ldr r0, [r5, #4]
ldr r2, [r5, #0x3c]
add r7, r1, #0
bl ov20_021D2008
cmp r4, #0xf0
bhi _021D4694
str r4, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _021D4724 ; =0x00010200
mov r1, #0
str r0, [sp, #8]
str r1, [sp, #0xc]
add r0, r5, #0
mov r3, #1
add r4, r7, #0
and r4, r3
mov r3, #0x70
ldr r2, [r5, #0x3c]
add r0, #0x10
mul r3, r4
bl sub_0201D78C
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
_021D4694:
mov r0, #1
lsl r0, r0, #8
sub r6, r0, r4
add r0, r5, #0
add r0, #0x20
mov r1, #0
bl sub_0201ADA4
mov r1, #0
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _021D4724 ; =0x00010200
add r3, r1, #0
str r0, [sp, #8]
str r1, [sp, #0xc]
add r0, r5, #0
ldr r2, [r5, #0x3c]
add r0, #0x20
bl sub_0201D78C
mov r2, #0
mov r0, #1
add r1, r7, #0
and r1, r0
add r7, r1, #0
mov r0, #0x70
mul r7, r0
mov r0, #0x60
str r0, [sp]
mov r1, #0x10
str r1, [sp, #4]
lsl r1, r7, #0x10
lsr r1, r1, #0x10
str r1, [sp, #8]
lsl r1, r4, #0x10
lsr r1, r1, #0x10
str r1, [sp, #0xc]
str r0, [sp, #0x10]
lsl r0, r6, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x14]
add r0, r5, #0
ldr r1, [r5, #0x2c]
add r0, #0x10
add r3, r2, #0
bl sub_0201ADDC
mov r1, #0x60
lsl r2, r7, #0x10
lsl r3, r6, #0x10
str r1, [sp]
mov r0, #0x10
str r0, [sp, #4]
lsr r2, r2, #0x10
str r2, [sp, #8]
mov r2, #0
sub r0, r0, r6
str r2, [sp, #0xc]
lsl r0, r0, #0x10
str r1, [sp, #0x10]
lsr r0, r0, #0x10
str r0, [sp, #0x14]
add r0, r5, #0
ldr r1, [r5, #0x2c]
add r0, #0x10
lsr r3, r3, #0x10
bl sub_0201ADDC
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
nop
_021D4724: .word 0x00010200
thumb_func_end ov20_021D4658

Some files were not shown because too many files have changed in this diff Show More