Dumped ASM code

This commit is contained in:
AnonymousRandomPerson 2023-07-03 23:52:33 -04:00
parent a5dc84bdda
commit 1c5b8a6503
28 changed files with 232732 additions and 174604 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -3,3 +3,986 @@
.include "global.inc"
.text
arm_func_start ov15_0238A140
ov15_0238A140: @ 0x0238A140
push {r3, lr}
mov r0, #0xec
mov r1, #8
bl FUN_02001170
ldr r1, _0238A228 @ =0x0238B180
str r0, [r1]
add r0, r0, #0x88
bl FUN_02023690
mov r0, #0
bl FUN_0202F0B0
ldr r2, _0238A228 @ =0x0238B180
mov r1, #3
ldr r3, [r2]
mov r2, #1
strb r0, [r3, #0x80]
mov r0, #0
bl FUN_0202F5AC
ldr r2, _0238A228 @ =0x0238B180
mvn r3, #1
ldr r1, [r2]
mov ip, #0
strb r0, [r1, #0x81]
ldr r0, [r2]
ldr r1, _0238A22C @ =0x00000183
strb r3, [r0, #0x68]
ldr r0, [r2]
ldr r3, _0238A230 @ =0x0000270F
str ip, [r0, #0x10]
ldr r0, [r2]
str r1, [r0, #0x88]
ldr r0, [r2]
str r3, [r0, #0xac]
ldr r0, [r2]
str r1, [r0, #0xd4]
ldr r0, [r2]
str ip, [r0]
ldr r0, [r2]
add r0, r0, #0xdc
bl FUN_0204D7D4
ldr r0, _0238A228 @ =0x0238B180
mov r1, #0
ldr r0, [r0]
add r0, r0, #0xdc
bl FUN_0204D804
ldr r0, _0238A228 @ =0x0238B180
mov r1, #0
ldr r0, [r0]
add r0, r0, #0xdc
bl FUN_0204D7F4
ldr r0, _0238A228 @ =0x0238B180
ldr r1, [r0]
ldrsb r0, [r1, #0x81]
add r1, r1, #0xdc
bl FUN_0202F690
mov r0, #0
bl ov15_0238A4E8
mov r0, #1
pop {r3, pc}
.align 2, 0
_0238A228: .4byte 0x0238B180
_0238A22C: .4byte 0x00000183
_0238A230: .4byte 0x0000270F
arm_func_end ov15_0238A140
arm_func_start ov15_0238A234
ov15_0238A234: @ 0x0238A234
push {r4, lr}
ldr r0, _0238A4DC @ =0x0238B180
ldr r1, [r0]
ldr r0, [r1, #4]
cmp r0, #0xc
addls pc, pc, r0, lsl #2
b _0238A4B4
_0238A250: @ jump table
b _0238A4B4 @ case 0
b _0238A284 @ case 1
b _0238A2A8 @ case 2
b _0238A4B4 @ case 3
b _0238A4B4 @ case 4
b _0238A4B4 @ case 5
b _0238A4AC @ case 6
b _0238A4B4 @ case 7
b _0238A35C @ case 8
b _0238A4B4 @ case 9
b _0238A4B4 @ case 10
b _0238A400 @ case 11
b _0238A4B4 @ case 12
_0238A284:
ldrsb r0, [r1, #0x80]
bl FUN_0202F180
cmp r0, #0
bne _0238A4D4
ldr r0, _0238A4DC @ =0x0238B180
ldr r0, [r0]
ldr r0, [r0, #8]
bl ov15_0238A4E8
b _0238A4D4
_0238A2A8:
ldrsb r0, [r1, #0x83]
bl FUN_0202B57C
ldr r1, _0238A4DC @ =0x0238B180
mov r4, r0
ldr r0, [r1]
ldrsb r0, [r0, #0x80]
bl FUN_0202F180
cmp r0, #0
bne _0238A4D4
cmp r4, #4
addls pc, pc, r4, lsl #2
b _0238A4D4
_0238A2D8: @ jump table
b _0238A4D4 @ case 0
b _0238A340 @ case 1
b _0238A2EC @ case 2
b _0238A308 @ case 3
b _0238A324 @ case 4
_0238A2EC:
ldr r0, _0238A4DC @ =0x0238B180
mov r2, #7
ldr r1, [r0]
mov r0, #0xd
str r2, [r1, #8]
bl ov15_0238A4E8
b _0238A4D4
_0238A308:
ldr r0, _0238A4DC @ =0x0238B180
mov r2, #0xa
ldr r1, [r0]
mov r0, #0xd
str r2, [r1, #8]
bl ov15_0238A4E8
b _0238A4D4
_0238A324:
ldr r0, _0238A4DC @ =0x0238B180
mov r2, #3
ldr r1, [r0]
mov r0, #0xd
str r2, [r1, #8]
bl ov15_0238A4E8
b _0238A4D4
_0238A340:
ldr r0, _0238A4DC @ =0x0238B180
mov r2, #4
ldr r1, [r0]
mov r0, #0xd
str r2, [r1, #8]
bl ov15_0238A4E8
b _0238A4D4
_0238A35C:
add r0, r1, #0x54
bl FUN_020396E4
cmp r0, #3
addls pc, pc, r0, lsl #2
b _0238A4D4
_0238A370: @ jump table
b _0238A4D4 @ case 0
b _0238A380 @ case 1
b _0238A3E4 @ case 2
b _0238A3A0 @ case 3
_0238A380:
ldr r0, _0238A4DC @ =0x0238B180
mov r2, #1
ldr r1, [r0]
strb r2, [r1, #0xd8]
ldr r0, [r0]
ldrsb r0, [r0, #0x68]
bl FUN_0203083C
b _0238A4D4
_0238A3A0:
ldr r0, _0238A4DC @ =0x0238B180
ldr r2, [r0]
ldr r1, [r2, #0x54]
str r1, [r2, #0xc]
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl FUN_02010758
ldr r0, _0238A4DC @ =0x0238B180
ldr r0, [r0]
ldr r0, [r0, #0xc]
rsb r0, r0, #0
bl FUN_0200ED58
ldr r0, _0238A4E0 @ =0x00001308
bl FUN_02017C80
mov r0, #9
bl ov15_0238A4E8
b _0238A4D4
_0238A3E4:
ldr r0, _0238A4DC @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x80]
bl FUN_0202F3A4
mov r0, #5
bl ov15_0238A4E8
b _0238A4D4
_0238A400:
add r0, r1, #0x54
bl FUN_020396E4
cmp r0, #3
addls pc, pc, r0, lsl #2
b _0238A4D4
_0238A414: @ jump table
b _0238A4D4 @ case 0
b _0238A424 @ case 1
b _0238A488 @ case 2
b _0238A444 @ case 3
_0238A424:
ldr r0, _0238A4DC @ =0x0238B180
mov r2, #0
ldr r1, [r0]
strb r2, [r1, #0xd8]
ldr r0, [r0]
ldrsb r0, [r0, #0x68]
bl FUN_0203083C
b _0238A4D4
_0238A444:
ldr r0, _0238A4DC @ =0x0238B180
ldr r2, [r0]
ldr r1, [r2, #0x54]
str r1, [r2, #0xc]
ldr r0, [r0]
ldr r0, [r0, #0xc]
rsb r0, r0, #0
bl FUN_02010758
ldr r0, _0238A4DC @ =0x0238B180
arm_func_end ov15_0238A234
arm_func_start ov15_0238A468
ov15_0238A468: @ 0x0238A468
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl FUN_0200ED58
ldr r0, _0238A4E0 @ =0x00001308
bl FUN_02017C80
mov r0, #0xc
bl ov15_0238A4E8
b _0238A4D4
_0238A488:
ldr r0, _0238A4E4 @ =0x0238B0CC
bl FUN_0200C1FC
ldr r0, _0238A4DC @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x80]
bl FUN_0202F3A4
mov r0, #5
bl ov15_0238A4E8
b _0238A4D4
_0238A4AC:
mov r0, #3
pop {r4, pc}
_0238A4B4:
ldrsb r0, [r1, #0x80]
bl FUN_0202F180
cmp r0, #0
bne _0238A4D4
ldr r0, _0238A4DC @ =0x0238B180
ldr r0, [r0]
ldr r0, [r0, #8]
bl ov15_0238A4E8
_0238A4D4:
mov r0, #0
pop {r4, pc}
.align 2, 0
_0238A4DC: .4byte 0x0238B180
_0238A4E0: .4byte 0x00001308
_0238A4E4: .4byte 0x0238B0CC
arm_func_end ov15_0238A468
arm_func_start ov15_0238A4E8
ov15_0238A4E8: @ 0x0238A4E8
push {r3, lr}
sub sp, sp, #8
ldr r1, _0238AD10 @ =0x0238B180
ldr r2, [r1]
str r0, [r2, #4]
ldr r3, [r1]
ldr r0, [r3, #4]
cmp r0, #0xd
addls pc, pc, r0, lsl #2
b _0238AD08
_0238A510: @ jump table
b _0238A548 @ case 0
b _0238A56C @ case 1
b _0238A634 @ case 2
b _0238A68C @ case 3
b _0238A708 @ case 4
b _0238A7AC @ case 5
b _0238AD08 @ case 6
b _0238A820 @ case 7
b _0238A914 @ case 8
b _0238AA08 @ case 9
b _0238AA88 @ case 10
b _0238AB94 @ case 11
b _0238AC80 @ case 12
b _0238AD00 @ case 13
_0238A548:
mov r2, #1
str r2, [r3, #8]
ldr r3, [r1]
ldr r1, _0238AD14 @ =0x00003008
ldrsb r0, [r3, #0x80]
add r2, r2, #0x374
add r3, r3, #0x88
bl FUN_0202F1B4
b _0238AD08
_0238A56C:
ldrsb r1, [r3, #0x68]
mvn r0, #1
cmp r1, r0
beq _0238A5CC
tst r1, #0x80
beq _0238A5CC
ldr r0, _0238AD18 @ =0x0238B0D4
and r1, r1, #0x1f
strb r1, [r3, #0x68]
bl FUN_0200C1FC
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x68]
bl FUN_020308A0
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x82]
bl FUN_0202F8FC
ldr r0, _0238AD10 @ =0x0238B180
mvn r2, #1
ldr r1, [r0]
strb r2, [r1, #0x82]
ldr r0, [r0]
strb r2, [r0, #0x68]
_0238A5CC:
ldr r0, _0238AD10 @ =0x0238B180
mov r1, #2
ldr r0, [r0]
str r1, [r0, #8]
bl FUN_0201070C
cmp r0, #0
bne _0238A608
ldr r0, _0238AD10 @ =0x0238B180
ldr r1, _0238AD14 @ =0x00003008
ldr r3, [r0]
ldr r2, _0238AD1C @ =0x00000376
ldrsb r0, [r3, #0x80]
add r3, r3, #0x88
bl FUN_0202F1B4
b _0238AD08
_0238A608:
bl FUN_0201070C
ldr r3, _0238AD10 @ =0x0238B180
ldr r1, _0238AD14 @ =0x00003008
ldr ip, [r3]
ldr r2, _0238AD20 @ =0x00000377
str r0, [ip, #0xac]
ldr r3, [r3]
ldrsb r0, [r3, #0x80]
add r3, r3, #0x88
bl FUN_0202F1B4
b _0238AD08
_0238A634:
ldr r0, _0238AD24 @ =0x0238B08C
ldr r1, _0238AD28 @ =ov15_0238ADC4
bl FUN_0202F8C4
ldr r1, _0238AD10 @ =0x0238B180
ldr r2, [r1]
strb r0, [r2, #0x82]
ldr r0, [r1]
ldrsb r0, [r0, #0x80]
bl FUN_0202F3A4
ldr r0, _0238AD2C @ =0x0238B0E0
bl FUN_0200C1FC
mov r1, #4
ldr r0, _0238AD30 @ =0x0238B0AC
str r1, [sp]
ldr r1, _0238AD34 @ =0x00300013
mov r2, #0
ldr r3, _0238AD38 @ =0x0238B054
bl FUN_0202B0EC
ldr r1, _0238AD10 @ =0x0238B180
ldr r1, [r1]
strb r0, [r1, #0x83]
b _0238AD08
_0238A68C:
ldr r0, _0238AD3C @ =0x0238B0E8
bl FUN_0200C1FC
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x83]
bl FUN_0202B4C4
ldr r0, _0238AD10 @ =0x0238B180
mvn r2, #1
ldr r1, [r0]
strb r2, [r1, #0x83]
ldr r0, [r0]
ldrsb r0, [r0, #0x82]
bl FUN_0202F954
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x82]
bl FUN_0202F8FC
mvn r3, #1
ldr r0, _0238AD10 @ =0x0238B180
mov ip, #1
ldr r2, [r0]
ldr r1, _0238AD14 @ =0x00003008
strb r3, [r2, #0x82]
ldr r3, [r0]
mov r2, #0x378
str ip, [r3, #8]
ldr r3, [r0]
ldrsb r0, [r3, #0x80]
add r3, r3, #0x88
bl FUN_0202F1B4
b _0238AD08
_0238A708:
ldr r0, _0238AD3C @ =0x0238B0E8
mov r1, #6
str r1, [r3, #8]
bl FUN_0200C1FC
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x83]
bl FUN_0202B4C4
ldr r0, _0238AD10 @ =0x0238B180
mvn r2, #1
ldr r1, [r0]
strb r2, [r1, #0x83]
ldr r0, [r0]
ldrsb r0, [r0, #0x82]
bl FUN_0202F954
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x82]
bl FUN_0202F8FC
ldr r0, _0238AD10 @ =0x0238B180
mvn r1, #1
ldr r0, [r0]
strb r1, [r0, #0x82]
bl FUN_0201070C
cmp r0, #0
ldr r1, _0238AD40 @ =0x00003018
bne _0238A790
ldr r0, _0238AD10 @ =0x0238B180
ldr r2, _0238AD44 @ =0x00000379
ldr r3, [r0]
ldrsb r0, [r3, #0x80]
add r3, r3, #0x88
bl FUN_0202F1B4
b _0238AD08
_0238A790:
ldr r0, _0238AD10 @ =0x0238B180
ldr r2, _0238AD48 @ =0x0000037A
ldr r3, [r0]
ldrsb r0, [r3, #0x80]
add r3, r3, #0x88
bl FUN_0202F1B4
b _0238AD08
_0238A7AC:
ldr r0, _0238AD4C @ =0x0238B0F4
bl FUN_0200C1FC
ldr r0, _0238AD10 @ =0x0238B180
mov r2, #1
ldr r1, [r0]
str r2, [r1, #8]
ldr r0, [r0]
ldrsb r0, [r0, #0x68]
bl FUN_0203088C
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x82]
bl FUN_0202F954
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x68]
bl FUN_020288DC
ldr r0, _0238AD10 @ =0x0238B180
ldr r1, _0238AD14 @ =0x00003008
ldr ip, [r0]
ldr r2, _0238AD50 @ =0x0000037B
ldrsb r3, [ip, #0x68]
orr r3, r3, #0x80
strb r3, [ip, #0x68]
ldr r3, [r0]
ldrsb r0, [r3, #0x80]
add r3, r3, #0x88
bl FUN_0202F1B4
b _0238AD08
_0238A820:
ldr r0, _0238AD3C @ =0x0238B0E8
bl FUN_0200C1FC
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x83]
bl FUN_0202B4C4
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x82]
bl FUN_0202F954
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x82]
bl FUN_0202F8FC
ldr r0, _0238AD10 @ =0x0238B180
mvn r2, #1
ldr r1, [r0]
strb r2, [r1, #0x82]
ldr r0, [r0]
strb r2, [r0, #0x83]
bl FUN_0200ECFC
cmp r0, #0
bne _0238A8AC
ldr r0, _0238AD10 @ =0x0238B180
ldr r1, _0238AD14 @ =0x00003008
ldr r3, [r0]
mov r2, #0x37c
ldrsb r0, [r3, #0x80]
add r3, r3, #0x88
bl FUN_0202F1B4
ldr r0, _0238AD10 @ =0x0238B180
mov r1, #1
ldr r0, [r0]
str r1, [r0, #8]
b _0238AD08
_0238A8AC:
bl FUN_0201070C
ldr r1, _0238AD54 @ =0x0098967F
cmp r0, r1
blt _0238A8E8
ldr r0, _0238AD10 @ =0x0238B180
mov ip, #1
ldr r2, [r0]
ldr r1, _0238AD14 @ =0x00003008
str ip, [r2, #8]
ldr r3, [r0]
add r2, ip, #0x37c
ldrsb r0, [r3, #0x80]
add r3, r3, #0x88
bl FUN_0202F1B4
b _0238AD08
_0238A8E8:
ldr r0, _0238AD10 @ =0x0238B180
mov ip, #8
ldr r1, [r0]
ldr r2, _0238AD58 @ =0x0000037E
str ip, [r1, #8]
ldr r3, [r0]
add r1, ip, #0x3000
ldrsb r0, [r3, #0x80]
add r3, r3, #0x88
bl FUN_0202F1B4
b _0238AD08
_0238A914:
ldrsb r0, [r3, #0x80]
bl FUN_0202F3A4
bl FUN_0201070C
ldr r2, _0238AD10 @ =0x0238B180
ldr r1, _0238AD54 @ =0x0098967F
ldr r2, [r2]
sub r0, r1, r0
str r0, [r2, #0x60]
bl FUN_0200ECFC
ldr r1, _0238AD10 @ =0x0238B180
ldr r1, [r1]
ldr r1, [r1, #0x60]
cmp r1, r0
ble _0238A95C
bl FUN_0200ECFC
ldr r1, _0238AD10 @ =0x0238B180
ldr r1, [r1]
str r0, [r1, #0x60]
_0238A95C:
ldr r1, _0238AD10 @ =0x0238B180
mov r3, #1
ldr r2, [r1]
mov lr, #5
ldr r0, [r2, #0x60]
mov ip, #0x50
str r0, [r2, #0x58]
ldr r2, [r1]
ldr r0, _0238AD5C @ =0x0238B10C
str r3, [r2, #0x5c]
ldr r3, [r1]
mov r2, #0x12
str lr, [r3, #0x64]
ldr r3, [r1]
str ip, [r3, #0x74]
ldr r1, [r1]
str r2, [r1, #0x78]
bl FUN_0200C1FC
ldr r0, _0238AD24 @ =0x0238B08C
ldr r1, _0238AD28 @ =ov15_0238ADC4
bl FUN_0202F8C4
ldr r1, _0238AD10 @ =0x0238B180
mov r2, #0
ldr r3, [r1]
ldr r1, _0238AD60 @ =0x00001017
strb r0, [r3, #0x82]
str r2, [sp]
ldr r0, _0238AD64 @ =0x0238B09C
ldr r3, _0238AD68 @ =0x0238AE6C
str r2, [sp, #4]
bl FUN_020305B4
ldr r1, _0238AD10 @ =0x0238B180
ldr r2, [r1]
strb r0, [r2, #0x68]
ldr r0, [r1]
add r0, r0, #0x54
bl FUN_020395CC
ldr r1, _0238AD10 @ =0x0238B180
mov r0, #1
ldr r1, [r1]
strb r0, [r1, #0xd8]
bl ov15_0238AD78
b _0238AD08
_0238AA08:
ldrsb r0, [r3, #0x80]
bl FUN_0202F3A4
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x82]
bl FUN_0202F954
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x68]
bl FUN_0203088C
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x68]
bl FUN_020288DC
ldr r0, _0238AD10 @ =0x0238B180
mov ip, #1
ldr lr, [r0]
ldr r1, _0238AD14 @ =0x00003008
ldrsb r3, [lr, #0x68]
rsb r2, ip, #0x380
orr r3, r3, #0x80
strb r3, [lr, #0x68]
ldr r3, [r0]
str ip, [r3, #8]
ldr ip, [r0]
ldr r3, [ip, #0xc]
str r3, [ip, #0xac]
ldr r3, [r0]
ldrsb r0, [r3, #0x80]
add r3, r3, #0x88
bl FUN_0202F1B4
b _0238AD08
_0238AA88:
ldr r0, _0238AD3C @ =0x0238B0E8
bl FUN_0200C1FC
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x83]
bl FUN_0202B4C4
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x82]
bl FUN_0202F954
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x82]
bl FUN_0202F8FC
ldr r0, _0238AD10 @ =0x0238B180
mvn r2, #1
ldr r1, [r0]
strb r2, [r1, #0x82]
ldr r1, [r0]
strb r2, [r1, #0x83]
ldr r0, [r0]
ldrsb r0, [r0, #0x80]
bl FUN_0202F3A4
bl FUN_0200ECFC
ldr r1, _0238AD6C @ =0x0001869F
cmp r0, r1
blt _0238AB20
ldr r0, _0238AD10 @ =0x0238B180
mov r3, #1
ldr r2, [r0]
ldr r1, _0238AD14 @ =0x00003008
str r3, [r2, #8]
ldr r3, [r0]
mov r2, #0x380
ldrsb r0, [r3, #0x80]
add r3, r3, #0x88
bl FUN_0202F1B4
b _0238AD08
_0238AB20:
bl FUN_0201070C
cmp r0, #0
bne _0238AB58
ldr r0, _0238AD10 @ =0x0238B180
mov ip, #1
ldr r2, [r0]
ldr r1, _0238AD14 @ =0x00003008
str ip, [r2, #8]
ldr r3, [r0]
add r2, ip, #0x380
ldrsb r0, [r3, #0x80]
add r3, r3, #0x88
bl FUN_0202F1B4
b _0238AD08
_0238AB58:
ldr r0, _0238AD10 @ =0x0238B180
mov r1, #0xb
ldr r0, [r0]
str r1, [r0, #8]
bl FUN_0201070C
ldr r3, _0238AD10 @ =0x0238B180
ldr r1, _0238AD14 @ =0x00003008
ldr ip, [r3]
ldr r2, _0238AD70 @ =0x00000382
str r0, [ip, #0xac]
ldr r3, [r3]
ldrsb r0, [r3, #0x80]
add r3, r3, #0x88
bl FUN_0202F1B4
b _0238AD08
_0238AB94:
bl FUN_0200ECFC
ldr r2, _0238AD10 @ =0x0238B180
ldr r1, _0238AD6C @ =0x0001869F
ldr r2, [r2]
sub r0, r1, r0
str r0, [r2, #0x60]
bl FUN_0201070C
ldr r1, _0238AD10 @ =0x0238B180
ldr r1, [r1]
ldr r1, [r1, #0x60]
cmp r1, r0
ble _0238ABD4
bl FUN_0201070C
ldr r1, _0238AD10 @ =0x0238B180
ldr r1, [r1]
str r0, [r1, #0x60]
_0238ABD4:
ldr r1, _0238AD10 @ =0x0238B180
mov r3, #1
ldr r2, [r1]
mov lr, #5
ldr r0, [r2, #0x60]
mov ip, #0x50
str r0, [r2, #0x58]
ldr r2, [r1]
ldr r0, _0238AD74 @ =0x0238B114
str r3, [r2, #0x5c]
ldr r3, [r1]
mov r2, #0x12
str lr, [r3, #0x64]
ldr r3, [r1]
str ip, [r3, #0x74]
ldr r1, [r1]
str r2, [r1, #0x78]
bl FUN_0200C1FC
ldr r0, _0238AD24 @ =0x0238B08C
ldr r1, _0238AD28 @ =ov15_0238ADC4
bl FUN_0202F8C4
ldr r1, _0238AD10 @ =0x0238B180
mov r2, #0
ldr r3, [r1]
ldr r1, _0238AD60 @ =0x00001017
strb r0, [r3, #0x82]
str r2, [sp]
ldr r0, _0238AD64 @ =0x0238B09C
ldr r3, _0238AD68 @ =0x0238AE6C
str r2, [sp, #4]
bl FUN_020305B4
ldr r1, _0238AD10 @ =0x0238B180
ldr r2, [r1]
strb r0, [r2, #0x68]
ldr r0, [r1]
add r0, r0, #0x54
bl FUN_020395CC
ldr r1, _0238AD10 @ =0x0238B180
mov r0, #0
ldr r1, [r1]
strb r0, [r1, #0xd8]
bl ov15_0238AD78
b _0238AD08
_0238AC80:
ldrsb r0, [r3, #0x80]
bl FUN_0202F3A4
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x82]
bl FUN_0202F954
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x68]
bl FUN_0203088C
ldr r0, _0238AD10 @ =0x0238B180
ldr r0, [r0]
ldrsb r0, [r0, #0x68]
bl FUN_020288DC
ldr r0, _0238AD10 @ =0x0238B180
mov ip, #1
ldr lr, [r0]
ldr r1, _0238AD14 @ =0x00003008
ldrsb r3, [lr, #0x68]
rsb r2, ip, #0x384
orr r3, r3, #0x80
strb r3, [lr, #0x68]
ldr r3, [r0]
str ip, [r3, #8]
ldr ip, [r0]
ldr r3, [ip, #0xc]
str r3, [ip, #0xac]
ldr r3, [r0]
ldrsb r0, [r3, #0x80]
add r3, r3, #0x88
bl FUN_0202F1B4
b _0238AD08
_0238AD00:
ldrsb r0, [r3, #0x82]
bl FUN_0202F954
_0238AD08:
add sp, sp, #8
pop {r3, pc}
.align 2, 0
_0238AD10: .4byte 0x0238B180
_0238AD14: .4byte 0x00003008
_0238AD18: .4byte 0x0238B0D4
_0238AD1C: .4byte 0x00000376
_0238AD20: .4byte 0x00000377
_0238AD24: .4byte 0x0238B08C
_0238AD28: .4byte ov15_0238ADC4
_0238AD2C: .4byte 0x0238B0E0
_0238AD30: .4byte 0x0238B0AC
_0238AD34: .4byte 0x00300013
_0238AD38: .4byte 0x0238B054
_0238AD3C: .4byte 0x0238B0E8
_0238AD40: .4byte 0x00003018
_0238AD44: .4byte 0x00000379
_0238AD48: .4byte 0x0000037A
_0238AD4C: .4byte 0x0238B0F4
_0238AD50: .4byte 0x0000037B
_0238AD54: .4byte 0x0098967F
_0238AD58: .4byte 0x0000037E
_0238AD5C: .4byte 0x0238B10C
_0238AD60: .4byte 0x00001017
_0238AD64: .4byte 0x0238B09C
_0238AD68: .4byte 0x0238AE6C
_0238AD6C: .4byte 0x0001869F
_0238AD70: .4byte 0x00000382
_0238AD74: .4byte 0x0238B114
arm_func_end ov15_0238A4E8
arm_func_start ov15_0238AD78
ov15_0238AD78: @ 0x0238AD78
push {r3, lr}
cmp r0, #0
movne r0, #0x384
ldr r1, _0238ADBC @ =0x0238B180
ldreq r0, _0238ADC0 @ =0x00000385
ldr r1, [r1]
lsl r0, r0, #0x10
lsr r3, r0, #0x10
ldrsb r0, [r1, #0x68]
mov r1, #2
mov r2, #0
bl FUN_02026268
ldr r0, _0238ADBC @ =0x0238B180
ldr r0, [r0]
add r0, r0, #0x54
bl FUN_02039B0C
pop {r3, pc}
.align 2, 0
_0238ADBC: .4byte 0x0238B180
_0238ADC0: .4byte 0x00000385
arm_func_end ov15_0238AD78
arm_func_start ov15_0238ADC4
ov15_0238ADC4: @ 0x0238ADC4
push {r3, r4, lr}
sub sp, sp, #0x54
sub sp, sp, #0x400
mov r4, r0
bl FUN_02027B1C
bl FUN_0200ECFC
add ip, sp, #0x400
str r0, [sp, #0x428]
add ip, ip, #4
ldr r2, _0238AE64 @ =0x00000373
ldr r3, _0238AE68 @ =0x0000C402
add r0, sp, #4
mov r1, #0x100
str ip, [sp]
arm_func_end ov15_0238ADC4
arm_func_start ov15_0238ADFC
ov15_0238ADFC: @ 0x0238ADFC
bl FUN_020235B8
add r3, sp, #4
mov r0, r4
mov r1, #8
mov r2, #6
bl FUN_02026214
bl FUN_0201070C
add r1, sp, #0x400
str r0, [sp, #0x428]
add r1, r1, #4
str r1, [sp]
ldr r3, _0238AE68 @ =0x0000C402
add r0, sp, #4
mov r1, #0x100
mov r2, #0x374
bl FUN_020235B8
mov r0, r4
mov r1, #0x74
mov r2, #6
add r3, sp, #4
bl FUN_02026214
mov r0, r4
bl FUN_02027AF0
add sp, sp, #0x54
add sp, sp, #0x400
pop {r3, r4, pc}
.align 2, 0
_0238AE64: .4byte 0x00000373
_0238AE68: .4byte 0x0000C402
arm_func_end ov15_0238ADFC
_0238AE6C:
.byte 0x0C, 0x00, 0x9F, 0xE5
.byte 0x0C, 0xC0, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0xD8, 0x00, 0xD0, 0xE5, 0x1C, 0xFF, 0x2F, 0xE1
.byte 0x80, 0xB1, 0x38, 0x02, 0x78, 0xAD, 0x38, 0x02, 0x08, 0x40, 0x2D, 0xE9, 0xAB, 0xFC, 0xFF, 0xEB
.byte 0x01, 0x00, 0xA0, 0xE3, 0x08, 0x80, 0xBD, 0xE8
arm_func_start ov15_0238AE98
ov15_0238AE98: @ 0x0238AE98
push {r3, lr}
ldr r0, _0238AF40 @ =0x0238B180
ldr r0, [r0]
cmp r0, #0
popeq {r3, pc}
ldrsb r1, [r0, #0x80]
mvn r0, #1
cmp r1, r0
beq _0238AEC4
ldr r0, _0238AF44 @ =0x0238B11C
bl FUN_0200C1FC
_0238AEC4:
ldr r1, _0238AF40 @ =0x0238B180
mvn r0, #1
ldr r1, [r1]
ldrsb r1, [r1, #0x82]
cmp r1, r0
beq _0238AEE4
ldr r0, _0238AF48 @ =0x0238B12C
bl FUN_0200C1FC
_0238AEE4:
ldr r1, _0238AF40 @ =0x0238B180
mvn r0, #1
ldr r1, [r1]
ldrsb r1, [r1, #0x83]
cmp r1, r0
beq _0238AF04
ldr r0, _0238AF4C @ =0x0238B13C
bl FUN_0200C1FC
_0238AF04:
ldr r1, _0238AF40 @ =0x0238B180
mvn r0, #1
ldr r1, [r1]
ldrsb r1, [r1, #0x84]
cmp r1, r0
beq _0238AF24
ldr r0, _0238AF50 @ =0x0238B150
bl FUN_0200C1FC
_0238AF24:
ldr r0, _0238AF40 @ =0x0238B180
ldr r0, [r0]
bl FUN_02001188
ldr r0, _0238AF40 @ =0x0238B180
mov r1, #0
str r1, [r0]
pop {r3, pc}
.align 2, 0
_0238AF40: .4byte 0x0238B180
_0238AF44: .4byte 0x0238B11C
_0238AF48: .4byte 0x0238B12C
_0238AF4C: .4byte 0x0238B13C
_0238AF50: .4byte 0x0238B150
arm_func_end ov15_0238AE98
@ 0x0238AF54

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -3,3 +3,671 @@
.include "global.inc"
.text
arm_func_start ov26_0238A140
ov26_0238A140: @ 0x0238A140
push {r3, r4, r5, lr}
sub sp, sp, #0x10
add r0, sp, #0
bl FUN_0204F158
cmp r0, #0
moveq r0, #0
beq _0238A528
add r1, sp, #0xc
add r2, sp, #8
mov r0, #2
bl FUN_0204C5DC
ldr r0, [sp, #8]
lsl r0, r0, #0x18
asr r0, r0, #0x18
bl FUN_0205F0D8
mov r5, r0
ldrb r2, [sp]
add r0, sp, #2
mov r1, r5
bl FUN_0205F118
cmp r0, #0
bne _0238A1A8
mvn r0, #0
bl FUN_022E6E8C
mov r0, #0
b _0238A528
_0238A1A8:
mov r0, #0x9c
mov r1, #8
bl FUN_02001170
ldr r1, _0238A530 @ =0x0238AF60
mov r4, #0
str r0, [r1]
str r4, [r0]
ldr r3, [sp, #8]
ldr r2, [r1]
mov r0, r4
strb r3, [r2, #0x8c]
ldr r2, [r1]
mov r1, #0x68
str r5, [r2, #0x90]
ldrb r2, [r5, #1]
bl FUN_0204B820
ldrb r2, [r5, #2]
mov r0, r4
mov r1, #0x69
bl FUN_0204B820
ldr r0, _0238A530 @ =0x0238AF60
ldr r0, [r0]
ldr r0, [r0, #0x90]
bl FUN_0205F9D4
ldr r0, _0238A530 @ =0x0238AF60
ldr r0, [r0]
add r0, r0, #8
bl FUN_02023690
ldr r0, _0238A530 @ =0x0238AF60
mov r2, r4
ldr r3, [r0]
ldr r1, [r3, #0x90]
ldrsh r1, [r1, #0xe]
str r1, [r3, #8]
ldr r3, [r0]
ldr r1, [r3, #0x90]
ldrsh r1, [r1, #0x10]
str r1, [r3, #0xc]
ldr r3, [r0]
ldr r1, [r3, #0x90]
ldrsh r1, [r1, #0x14]
str r1, [r3, #0x18]
ldr r1, [r0]
str r2, [r1, #0x2c]
ldr r0, [r0]
add r0, r0, #0x60
bl FUN_0206351C
ldr r0, _0238A530 @ =0x0238AF60
ldr r1, [r0]
ldr r0, [r1, #0x90]
add r1, r1, #0x60
bl FUN_02062E5C
ldr r0, _0238A530 @ =0x0238AF60
mov r3, #2
ldr r1, [r0]
mov r2, r4
str r3, [r1, #0x5c]
ldr r1, [r0]
str r2, [r1, #0x98]
ldrsh r1, [sp, #4]
cmp r1, #0
ldrne r0, [r0]
ldrne r0, [r0, #0x90]
ldrbne r0, [r0, #1]
cmpne r0, #0xa
beq _0238A2B8
ldrsh r0, [sp, #4]
bl FUN_0204D368
_0238A2B8:
ldrsh r0, [sp, #6]
cmp r0, #0
beq _0238A2CC
ldrsh r0, [sp, #6]
bl FUN_0204D368
_0238A2CC:
ldr r0, _0238A530 @ =0x0238AF60
ldr r1, [r0]
ldr r2, [r1, #0x90]
ldrb r2, [r2, #1]
cmp r2, #0xc
addls pc, pc, r2, lsl #2
b _0238A504
_0238A2E8: @ jump table
b _0238A31C @ case 0
b _0238A328 @ case 1
b _0238A334 @ case 2
b _0238A340 @ case 3
b _0238A504 @ case 4
b _0238A504 @ case 5
b _0238A34C @ case 6
b _0238A358 @ case 7
b _0238A364 @ case 8
b _0238A370 @ case 9
b _0238A37C @ case 10
b _0238A3A0 @ case 11
b _0238A4C4 @ case 12
_0238A31C:
ldr r0, _0238A534 @ =0x0238AE92
str r0, [r1, #0x94]
b _0238A50C
_0238A328:
ldr r0, _0238A538 @ =0x0238AE86
str r0, [r1, #0x94]
b _0238A50C
_0238A334:
ldr r0, _0238A53C @ =0x0238AE7A
str r0, [r1, #0x94]
b _0238A50C
_0238A340:
ldr r0, _0238A540 @ =0x0238AE6E
str r0, [r1, #0x94]
b _0238A50C
_0238A34C:
ldr r0, _0238A544 @ =0x0238AE56
str r0, [r1, #0x94]
b _0238A50C
_0238A358:
ldr r0, _0238A548 @ =0x0238AE62
str r0, [r1, #0x94]
b _0238A50C
_0238A364:
ldr r0, _0238A54C @ =0x0238AE4A
str r0, [r1, #0x94]
b _0238A50C
_0238A370:
ldr r0, _0238A550 @ =0x0238AE3E
str r0, [r1, #0x94]
b _0238A50C
_0238A37C:
mov r2, #3
str r2, [r1, #0x5c]
ldr r1, [r0]
mov r2, #0x1f8
strh r2, [r1, #0x60]
ldr r0, [r0]
ldr r1, _0238A554 @ =0x0238AE32
str r1, [r0, #0x94]
b _0238A50C
_0238A3A0:
mov r2, #4
str r2, [r1, #0x5c]
ldr r2, [r0]
ldr r1, [r2, #0x90]
ldrb r1, [r1, #2]
str r1, [r2, #0x98]
ldr r0, [r0]
ldr r0, [r0, #0x98]
and r0, r0, #0xff
bl FUN_02050420
ldr r0, _0238A530 @ =0x0238AF60
ldr r2, [r0]
ldr r1, [r2, #0x98]
cmp r1, #0
ldreq r0, _0238A558 @ =0x0238AE9E
streq r0, [r2, #0x94]
beq _0238A50C
ldr r4, [r2, #0x88]
ldr r1, _0238A55C @ =0x0238AE20
str r1, [r2, #0x94]
ldr r0, [r0]
add r0, r0, #0x60
bl FUN_0206351C
ldr r0, _0238A530 @ =0x0238AF60
ldr r2, [r0]
ldr r1, [r2, #0x90]
ldrsh r1, [r1, #0xe]
strh r1, [r2, #0x60]
ldr r1, [r0]
str r4, [r1, #0x88]
ldr r2, [r0]
ldr r1, [r2, #0x90]
ldrb r0, [r1, #1]
cmp r0, #0xb
bne _0238A458
ldrb r0, [r1, #2]
add r0, r0, #0xff
and r0, r0, #0xff
cmp r0, #4
bhi _0238A458
add r0, r1, #4
bl FUN_0204F8A8
ldr r1, _0238A530 @ =0x0238AF60
ldr r1, [r1]
str r0, [r1, #0x64]
b _0238A460
_0238A458:
mov r0, #1
str r0, [r2, #0x64]
_0238A460:
ldr r0, _0238A530 @ =0x0238AF60
mov r1, #0
arm_func_end ov26_0238A140
arm_func_start ov26_0238A468
ov26_0238A468: @ 0x0238A468
ldr r0, [r0]
ldr r0, [r0, #0x90]
ldrsh r0, [r0, #0xe]
bl FUN_02055148
cmp r0, #0
beq _0238A4A0
ldr r0, _0238A530 @ =0x0238AF60
mov r3, #0
ldr r2, [r0]
mov r1, #0x3e8
strb r3, [r2, #0x62]
ldr r0, [r0]
str r1, [r0, #0x68]
b _0238A50C
_0238A4A0:
ldr r0, _0238A530 @ =0x0238AF60
mov r1, #6
ldr r3, [r0]
ldr r2, [r3, #0x90]
ldrsh r2, [r2, #0xe]
strh r2, [r3, #0x84]
ldr r0, [r0]
strb r1, [r0, #0x62]
b _0238A50C
_0238A4C4:
add r0, r1, #0x60
ldr r4, [r1, #0x88]
bl FUN_0206351C
ldr r0, _0238A530 @ =0x0238AF60
ldr r2, _0238A560 @ =0x000001E3
ldr r1, [r0]
mov r3, #0
strh r2, [r1, #0x60]
ldr r2, [r0]
ldr r1, _0238A55C @ =0x0238AE20
strb r3, [r2, #0x62]
ldr r2, [r0]
str r4, [r2, #0x88]
ldr r0, [r0]
str r1, [r0, #0x94]
b _0238A50C
_0238A504:
ldr r0, _0238A564 @ =0x0238AE26
str r0, [r1, #0x94]
_0238A50C:
ldr r1, _0238A530 @ =0x0238AF60
mvn r3, #1
ldr r2, [r1]
mov r0, #1
strb r3, [r2, #4]
ldr r1, [r1]
strb r3, [r1, #5]
_0238A528:
add sp, sp, #0x10
pop {r3, r4, r5, pc}
.align 2, 0
_0238A530: .4byte 0x0238AF60
_0238A534: .4byte 0x0238AE92
_0238A538: .4byte 0x0238AE86
_0238A53C: .4byte 0x0238AE7A
_0238A540: .4byte 0x0238AE6E
_0238A544: .4byte 0x0238AE56
_0238A548: .4byte 0x0238AE62
_0238A54C: .4byte 0x0238AE4A
_0238A550: .4byte 0x0238AE3E
_0238A554: .4byte 0x0238AE32
_0238A558: .4byte 0x0238AE9E
_0238A55C: .4byte 0x0238AE20
_0238A560: .4byte 0x000001E3
_0238A564: .4byte 0x0238AE26
arm_func_end ov26_0238A468
arm_func_start ov26_0238A568
ov26_0238A568: @ 0x0238A568
push {r3, lr}
ldr r0, _0238A59C @ =0x0238AF60
ldr r0, [r0]
cmp r0, #0
popeq {r3, pc}
bl ov26_0238A90C
ldr r0, _0238A59C @ =0x0238AF60
ldr r0, [r0]
bl FUN_02001188
ldr r0, _0238A59C @ =0x0238AF60
mov r1, #0
str r1, [r0]
pop {r3, pc}
.align 2, 0
_0238A59C: .4byte 0x0238AF60
arm_func_end ov26_0238A568
_0238A5A0:
.byte 0xF8, 0x40, 0x2D, 0xE9, 0x10, 0xD0, 0x4D, 0xE2, 0x48, 0x03, 0x9F, 0xE5, 0x00, 0x10, 0x90, 0xE5
.byte 0x00, 0x00, 0x91, 0xE5, 0x07, 0x00, 0x50, 0xE3, 0x00, 0xF1, 0x8F, 0x90, 0xCA, 0x00, 0x00, 0xEA
.byte 0x11, 0x00, 0x00, 0xEA, 0x05, 0x00, 0x00, 0xEA, 0x95, 0x00, 0x00, 0xEA, 0xA4, 0x00, 0x00, 0xEA
.byte 0xAA, 0x00, 0x00, 0xEA, 0xB3, 0x00, 0x00, 0xEA, 0xB9, 0x00, 0x00, 0xEA, 0xBE, 0x00, 0x00, 0xEA
.byte 0xD4, 0x00, 0xD1, 0xE1, 0x01, 0x10, 0xE0, 0xE3, 0x01, 0x00, 0x50, 0xE1, 0x02, 0x00, 0x00, 0x0A
.byte 0xE2, 0x92, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0xBB, 0x00, 0x00, 0x1A, 0xF4, 0x02, 0x9F, 0xE5
.byte 0x00, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0x00, 0x10, 0x80, 0xE5, 0xE4, 0x12, 0x9F, 0xE5
.byte 0x00, 0x20, 0x91, 0xE5, 0x94, 0x70, 0x92, 0xE5, 0x06, 0x00, 0x87, 0xE2, 0x94, 0x00, 0x82, 0xE5
.byte 0xB4, 0x40, 0xD7, 0xE1, 0x00, 0x00, 0x54, 0xE3, 0x00, 0x00, 0xA0, 0x03, 0x72, 0x00, 0x00, 0x0A
.byte 0xC4, 0x02, 0x9F, 0xE5, 0x01, 0x60, 0xA0, 0xE3, 0x00, 0x00, 0x54, 0xE1, 0x00, 0x00, 0x91, 0x05
.byte 0x98, 0x00, 0x90, 0x05, 0x00, 0x00, 0x84, 0x00, 0x00, 0x08, 0xA0, 0x01, 0x20, 0x48, 0xA0, 0x01
.byte 0xD0, 0x00, 0xD7, 0xE1, 0x05, 0x00, 0x50, 0xE3, 0x00, 0xF1, 0x8F, 0x90, 0x35, 0x00, 0x00, 0xEA
.byte 0x04, 0x00, 0x00, 0xEA, 0x0B, 0x00, 0x00, 0xEA, 0x12, 0x00, 0x00, 0xEA, 0x19, 0x00, 0x00, 0xEA
.byte 0x21, 0x00, 0x00, 0xEA, 0x29, 0x00, 0x00, 0xEA, 0x78, 0x02, 0x9F, 0xE5, 0x7C, 0x22, 0x9F, 0xE5
.byte 0x00, 0x10, 0x90, 0xE5, 0x3C, 0x00, 0xA0, 0xE3, 0x54, 0x20, 0x81, 0xE5, 0xB8, 0x6C, 0xF3, 0xEB
.byte 0x00, 0x50, 0xA0, 0xE1, 0x2C, 0x00, 0x00, 0xEA, 0x58, 0x02, 0x9F, 0xE5, 0x60, 0x22, 0x9F, 0xE5
.byte 0x00, 0x10, 0x90, 0xE5, 0x3D, 0x00, 0xA0, 0xE3, 0x54, 0x20, 0x81, 0xE5, 0xB0, 0x6C, 0xF3, 0xEB
.byte 0x00, 0x50, 0xA0, 0xE1, 0x24, 0x00, 0x00, 0xEA, 0x38, 0x02, 0x9F, 0xE5, 0x44, 0x22, 0x9F, 0xE5
.byte 0x00, 0x10, 0x90, 0xE5, 0x3F, 0x00, 0xA0, 0xE3, 0x54, 0x20, 0x81, 0xE5, 0xA8, 0x6C, 0xF3, 0xEB
.byte 0x00, 0x50, 0xA0, 0xE1, 0x1C, 0x00, 0x00, 0xEA, 0x18, 0x02, 0x9F, 0xE5, 0x00, 0x20, 0x90, 0xE5
.byte 0x90, 0x10, 0x92, 0xE5, 0xFE, 0x10, 0xD1, 0xE1, 0x54, 0x10, 0x82, 0xE5, 0x00, 0x00, 0x90, 0xE5
.byte 0x90, 0x00, 0x90, 0xE5, 0xFE, 0x50, 0xD0, 0xE1, 0x13, 0x00, 0x00, 0xEA, 0xF4, 0x01, 0x9F, 0xE5
.byte 0x00, 0x20, 0x90, 0xE5, 0x90, 0x10, 0x92, 0xE5, 0xF0, 0x11, 0xD1, 0xE1, 0x54, 0x10, 0x82, 0xE5
.byte 0x00, 0x00, 0x90, 0xE5, 0x90, 0x00, 0x90, 0xE5, 0xF0, 0x51, 0xD0, 0xE1, 0x0A, 0x00, 0x00, 0xEA
.byte 0xD0, 0x01, 0x9F, 0xE5, 0x06, 0x18, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0x00, 0x60, 0xA0, 0xE3
.byte 0x54, 0x10, 0x80, 0xE5, 0x04, 0x00, 0x00, 0xEA, 0xB8, 0x01, 0x9F, 0xE5, 0x07, 0x18, 0xA0, 0xE3
.byte 0x00, 0x00, 0x90, 0xE5, 0x00, 0x60, 0xA0, 0xE3, 0x54, 0x10, 0x80, 0xE5, 0x00, 0x00, 0x56, 0xE3
.byte 0x16, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x8D, 0xE2, 0x0F, 0x0C, 0xF3, 0xEB, 0x00, 0x00, 0x8D, 0xE2
.byte 0x05, 0x10, 0xA0, 0xE1, 0x1A, 0x0C, 0xF3, 0xEB, 0x88, 0x11, 0x9F, 0xE5, 0x01, 0x00, 0xE0, 0xE3
.byte 0x00, 0x10, 0x91, 0xE5, 0xD5, 0x10, 0xD1, 0xE1, 0x00, 0x00, 0x51, 0xE1, 0x06, 0x00, 0x00, 0x1A
.byte 0x00, 0x00, 0xA0, 0xE3, 0x03, 0x10, 0xA0, 0xE3, 0x01, 0x20, 0xA0, 0xE3, 0x86, 0x93, 0xF2, 0xEB
.byte 0x60, 0x11, 0x9F, 0xE5, 0x00, 0x10, 0x91, 0xE5, 0x05, 0x00, 0xC1, 0xE5, 0x54, 0x01, 0x9F, 0xE5
.byte 0x00, 0x10, 0x8D, 0xE2, 0x00, 0x00, 0x90, 0xE5, 0xD5, 0x00, 0xD0, 0xE1, 0xB7, 0x93, 0xF2, 0xEB
.byte 0x40, 0x11, 0x9F, 0xE5, 0x01, 0x00, 0xE0, 0xE3, 0x00, 0x10, 0x91, 0xE5, 0xD4, 0x10, 0xD1, 0xE1
.byte 0x00, 0x00, 0x51, 0xE1, 0x04, 0x00, 0x00, 0x1A, 0x00, 0x00, 0xA0, 0xE3, 0x37, 0x92, 0xF2, 0xEB
.byte 0x20, 0x11, 0x9F, 0xE5, 0x00, 0x10, 0x91, 0xE5, 0x04, 0x00, 0xC1, 0xE5, 0x14, 0x01, 0x9F, 0xE5
.byte 0xB2, 0x10, 0xD7, 0xE1, 0x00, 0x30, 0x90, 0xE5, 0x04, 0x20, 0xA0, 0xE1, 0xD4, 0x00, 0xD3, 0xE1
.byte 0x08, 0x30, 0x83, 0xE2, 0x6E, 0x92, 0xF2, 0xEB, 0x01, 0x00, 0xA0, 0xE3, 0x00, 0x00, 0x50, 0xE3
.byte 0xF0, 0x00, 0x9F, 0x15, 0x01, 0x10, 0xA0, 0x13, 0x00, 0x00, 0x90, 0x15, 0x00, 0x10, 0x80, 0x15
.byte 0xE0, 0x00, 0x9F, 0x05, 0x02, 0x10, 0xA0, 0x03, 0x00, 0x00, 0x90, 0x05, 0x00, 0x10, 0x80, 0x05
.byte 0x31, 0x00, 0x00, 0xEA, 0xD4, 0x00, 0xD1, 0xE1, 0x01, 0x10, 0xE0, 0xE3, 0x01, 0x00, 0x50, 0xE1
.byte 0x02, 0x00, 0x00, 0x0A, 0x51, 0x92, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x2A, 0x00, 0x00, 0x1A
.byte 0x31, 0x00, 0x00, 0xEB, 0xAC, 0x00, 0x9F, 0xE5, 0x0A, 0x30, 0xA0, 0xE3, 0x00, 0x20, 0x90, 0xE5
.byte 0x03, 0x10, 0xA0, 0xE3, 0x58, 0x30, 0x82, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x00, 0x10, 0x80, 0xE5
.byte 0x21, 0x00, 0x00, 0xEA, 0x58, 0x00, 0x91, 0xE5, 0x00, 0x00, 0x50, 0xE3, 0x01, 0x00, 0x40, 0xC2
.byte 0x58, 0x00, 0x81, 0xC5, 0x1C, 0x00, 0x00, 0xCA, 0x04, 0x00, 0xA0, 0xE3, 0x00, 0x00, 0x81, 0xE5
.byte 0x70, 0x00, 0x9F, 0xE5, 0x00, 0x20, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0x5C, 0x10, 0x90, 0xE5
.byte 0x60, 0x00, 0x80, 0xE2, 0xE7, 0xCA, 0xF2, 0xEB, 0x58, 0x00, 0x9F, 0xE5, 0x05, 0x10, 0xA0, 0xE3
.byte 0x00, 0x00, 0x90, 0xE5, 0x00, 0x10, 0x80, 0xE5, 0x22, 0xCB, 0xF2, 0xEB, 0x01, 0x00, 0x50, 0xE3
.byte 0x40, 0x00, 0x9F, 0x05, 0x06, 0x10, 0xA0, 0x03, 0x00, 0x00, 0x90, 0x05, 0x00, 0x10, 0x80, 0x05
.byte 0x09, 0x00, 0x00, 0xEA, 0xC2, 0xD1, 0xF2, 0xEB, 0x28, 0x00, 0x9F, 0xE5, 0x07, 0x10, 0xA0, 0xE3
.byte 0x00, 0x00, 0x90, 0xE5, 0x00, 0x10, 0x80, 0xE5, 0x03, 0x00, 0x00, 0xEA, 0x01, 0x00, 0xA0, 0xE3
.byte 0x69, 0x71, 0xFD, 0xEB, 0x04, 0x00, 0xA0, 0xE3, 0x00, 0x00, 0x00, 0xEA, 0x01, 0x00, 0xA0, 0xE3
.byte 0x10, 0xD0, 0x8D, 0xE2, 0xF8, 0x80, 0xBD, 0xE8, 0x60, 0xAF, 0x38, 0x02, 0x6D, 0x02, 0x00, 0x00
.byte 0x3C, 0x00, 0x01, 0x00, 0x3D, 0x00, 0x01, 0x00, 0x3F, 0x00, 0x01, 0x00
arm_func_start ov26_0238A90C
ov26_0238A90C: @ 0x0238A90C
push {r3, lr}
ldr r0, _0238A96C @ =0x0238AF60
mvn r1, #1
ldr r0, [r0]
ldrsb r0, [r0, #4]
cmp r0, r1
beq _0238A93C
bl FUN_0202F148
ldr r0, _0238A96C @ =0x0238AF60
mvn r1, #1
ldr r0, [r0]
strb r1, [r0, #4]
_0238A93C:
ldr r0, _0238A96C @ =0x0238AF60
mvn r1, #1
ldr r0, [r0]
ldrsb r0, [r0, #5]
cmp r0, r1
popeq {r3, pc}
bl FUN_0202F650
ldr r0, _0238A96C @ =0x0238AF60
mvn r1, #1
ldr r0, [r0]
strb r1, [r0, #5]
pop {r3, pc}
.align 2, 0
_0238A96C: .4byte 0x0238AF60
arm_func_end ov26_0238A90C
arm_func_start ov26_0238A970
ov26_0238A970: @ 0x0238A970
push {r3, lr}
mov r0, #8
mov r1, r0
bl FUN_02001170
ldr r1, _0238A998 @ =0x0238AF64
mov r2, #0
str r0, [r1]
str r2, [r0, #4]
mov r0, #1
pop {r3, pc}
.align 2, 0
_0238A998: .4byte 0x0238AF64
arm_func_end ov26_0238A970
arm_func_start ov26_0238A99C
ov26_0238A99C: @ 0x0238A99C
push {r3, lr}
ldr r0, _0238A9C4 @ =0x0238AF64
ldr r0, [r0]
cmp r0, #0
popeq {r3, pc}
bl FUN_02001188
ldr r0, _0238A9C4 @ =0x0238AF64
mov r1, #0
str r1, [r0]
pop {r3, pc}
.align 2, 0
_0238A9C4: .4byte 0x0238AF64
arm_func_end ov26_0238A99C
arm_func_start ov26_0238A9C8
ov26_0238A9C8: @ 0x0238A9C8
push {r4, lr}
ldr r0, _0238AA64 @ =0x0238AF64
ldr r0, [r0]
ldr r0, [r0, #4]
cmp r0, #0
bne _0238AA5C
bl FUN_0205633C
cmp r0, #0
beq _0238A9FC
mov r0, #1
bl FUN_022E6E8C
mov r0, #4
pop {r4, pc}
_0238A9FC:
bl FUN_0204AFC0
cmp r0, #4
bne _0238AA10
bl FUN_0204E780
b _0238AA14
_0238AA10:
bl FUN_0204E770
_0238AA14:
mov r4, r0
mov r0, r4
bl FUN_02051340
bl FUN_0200F7DC
mov r0, r4
bl FUN_02051358
cmp r0, #0
bne _0238AA3C
mov r0, #0
bl FUN_0200ED1C
_0238AA3C:
mov r0, r4
bl FUN_020577BC
mov r0, #1
bl FUN_02056318
mov r0, #1
bl FUN_022E6E8C
mov r0, #4
pop {r4, pc}
_0238AA5C:
mov r0, #1
pop {r4, pc}
.align 2, 0
_0238AA64: .4byte 0x0238AF64
arm_func_end ov26_0238A9C8
arm_func_start ov26_0238AA68
ov26_0238AA68: @ 0x0238AA68
push {r3, lr}
mov r0, #8
mov r1, r0
bl FUN_02001170
ldr r1, _0238AA90 @ =0x0238AF68
mov r2, #0
str r0, [r1]
str r2, [r0, #4]
mov r0, #1
pop {r3, pc}
.align 2, 0
_0238AA90: .4byte 0x0238AF68
arm_func_end ov26_0238AA68
arm_func_start ov26_0238AA94
ov26_0238AA94: @ 0x0238AA94
push {r3, lr}
ldr r0, _0238AABC @ =0x0238AF68
ldr r0, [r0]
cmp r0, #0
popeq {r3, pc}
bl FUN_02001188
ldr r0, _0238AABC @ =0x0238AF68
mov r1, #0
str r1, [r0]
pop {r3, pc}
.align 2, 0
_0238AABC: .4byte 0x0238AF68
arm_func_end ov26_0238AA94
_0238AAC0:
.byte 0x18, 0x40, 0x2D, 0xE9, 0x04, 0xD0, 0x4D, 0xE2, 0x34, 0x01, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5
.byte 0x04, 0x00, 0x90, 0xE5, 0x03, 0x00, 0x50, 0xE3, 0x00, 0xF1, 0x8F, 0x90, 0x45, 0x00, 0x00, 0xEA
.byte 0x02, 0x00, 0x00, 0xEA, 0x32, 0x00, 0x00, 0xEA, 0x36, 0x00, 0x00, 0xEA, 0x3E, 0x00, 0x00, 0xEA
.byte 0x11, 0x2E, 0xF3, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x02, 0x00, 0x00, 0x1A, 0xD9, 0x70, 0xFD, 0xEB
.byte 0x04, 0x00, 0xA0, 0xE3, 0x3C, 0x00, 0x00, 0xEA, 0x2C, 0x01, 0xF3, 0xEB, 0x00, 0x00, 0x8D, 0xE2
.byte 0xA7, 0x11, 0xF3, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x03, 0x00, 0x00, 0x0A, 0xD0, 0x00, 0xDD, 0xE1
.byte 0x15, 0x43, 0xF3, 0xEB, 0x04, 0x40, 0xD0, 0xE5, 0x01, 0x00, 0x00, 0xEA, 0x5B, 0x11, 0xF3, 0xEB
.byte 0x00, 0x40, 0xA0, 0xE1, 0x25, 0x01, 0xF3, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x15, 0x00, 0x00, 0x0A
.byte 0x00, 0x00, 0xA0, 0xE3, 0x2B, 0x10, 0xA0, 0xE3, 0x67, 0x02, 0xF3, 0xEB, 0x00, 0x10, 0xA0, 0xE1
.byte 0x08, 0x00, 0x41, 0xE2, 0x01, 0x00, 0x50, 0xE3, 0x04, 0x00, 0x00, 0x8A, 0xA4, 0x00, 0x9F, 0xE5
.byte 0xA5, 0x05, 0xF2, 0xEB, 0xEB, 0x09, 0xF3, 0xEB, 0x2E, 0x14, 0xF3, 0xEB, 0x09, 0x00, 0x00, 0xEA
.byte 0x0A, 0x00, 0x41, 0xE2, 0x01, 0x00, 0x50, 0xE3, 0x04, 0x00, 0x00, 0x8A, 0x88, 0x00, 0x9F, 0xE5
.byte 0x9D, 0x05, 0xF2, 0xEB, 0xE3, 0x09, 0xF3, 0xEB, 0xC8, 0x15, 0xF3, 0xEB, 0x01, 0x00, 0x00, 0xEA
.byte 0x78, 0x00, 0x9F, 0xE5, 0x98, 0x05, 0xF2, 0xEB, 0x04, 0x00, 0xA0, 0xE1, 0x0F, 0x37, 0xF3, 0xEB
.byte 0x5C, 0x00, 0x9F, 0xE5, 0x01, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0x04, 0x10, 0x80, 0xE5
.byte 0x10, 0x00, 0x00, 0xEA, 0x6C, 0xCA, 0xFC, 0xEB, 0x44, 0x00, 0x9F, 0xE5, 0x02, 0x10, 0xA0, 0xE3
.byte 0x00, 0x00, 0x90, 0xE5, 0x04, 0x10, 0x80, 0xE5, 0x77, 0xCA, 0xFC, 0xEB, 0x01, 0x00, 0x50, 0xE3
.byte 0x08, 0x00, 0x00, 0x0A, 0xCF, 0xCA, 0xFC, 0xEB, 0x24, 0x00, 0x9F, 0xE5, 0x03, 0x10, 0xA0, 0xE3
.byte 0x00, 0x00, 0x90, 0xE5, 0x04, 0x10, 0x80, 0xE5, 0x02, 0x00, 0x00, 0xEA, 0x9D, 0x70, 0xFD, 0xEB
.byte 0x04, 0x00, 0xA0, 0xE3, 0x00, 0x00, 0x00, 0xEA, 0x01, 0x00, 0xA0, 0xE3, 0x04, 0xD0, 0x8D, 0xE2
.byte 0x18, 0x80, 0xBD, 0xE8, 0x68, 0xAF, 0x38, 0x02, 0xAC, 0xAE, 0x38, 0x02, 0xE4, 0xAE, 0x38, 0x02
.byte 0x18, 0xAF, 0x38, 0x02
arm_func_start ov26_0238AC14
ov26_0238AC14: @ 0x0238AC14
push {r3, lr}
mov r0, #8
mov r1, r0
bl FUN_02001170
ldr r1, _0238AC3C @ =0x0238AF6C
mov r2, #0
str r0, [r1]
str r2, [r0, #4]
mov r0, #1
pop {r3, pc}
.align 2, 0
_0238AC3C: .4byte 0x0238AF6C
arm_func_end ov26_0238AC14
arm_func_start ov26_0238AC40
ov26_0238AC40: @ 0x0238AC40
push {r3, lr}
ldr r0, _0238AC68 @ =0x0238AF6C
ldr r0, [r0]
cmp r0, #0
popeq {r3, pc}
bl FUN_02001188
ldr r0, _0238AC68 @ =0x0238AF6C
mov r1, #0
str r1, [r0]
pop {r3, pc}
.align 2, 0
_0238AC68: .4byte 0x0238AF6C
arm_func_end ov26_0238AC40
arm_func_start ov26_0238AC6C
ov26_0238AC6C: @ 0x0238AC6C
push {r3, lr}
ldr r0, _0238ACD4 @ =0x0238AF6C
ldr r0, [r0]
ldr r0, [r0, #4]
cmp r0, #0
beq _0238AC90
cmp r0, #1
beq _0238ACC0
b _0238ACCC
_0238AC90:
bl FUN_0205633C
cmp r0, #0
bne _0238ACA8
bl FUN_0230CDE0
mov r0, #4
pop {r3, pc}
_0238ACA8:
bl FUN_020587C8
ldr r0, _0238ACD4 @ =0x0238AF6C
mov r1, #1
ldr r0, [r0]
str r1, [r0, #4]
b _0238ACCC
_0238ACC0:
bl FUN_022E6E68
mov r0, #4
pop {r3, pc}
_0238ACCC:
mov r0, #1
pop {r3, pc}
.align 2, 0
_0238ACD4: .4byte 0x0238AF6C
arm_func_end ov26_0238AC6C
arm_func_start ov26_0238ACD8
ov26_0238ACD8: @ 0x0238ACD8
push {r3, lr}
mov r0, #8
mov r1, r0
bl FUN_02001170
ldr r1, _0238AD0C @ =0x0238AF70
mov r2, #0
str r0, [r1]
str r2, [r0]
ldr r0, [r1]
mov r1, #5
strh r1, [r0, #4]
mov r0, #1
pop {r3, pc}
.align 2, 0
_0238AD0C: .4byte 0x0238AF70
arm_func_end ov26_0238ACD8
arm_func_start ov26_0238AD10
ov26_0238AD10: @ 0x0238AD10
push {r3, lr}
ldr r0, _0238AD38 @ =0x0238AF70
ldr r0, [r0]
cmp r0, #0
popeq {r3, pc}
bl FUN_02001188
ldr r0, _0238AD38 @ =0x0238AF70
mov r1, #0
str r1, [r0]
pop {r3, pc}
.align 2, 0
_0238AD38: .4byte 0x0238AF70
arm_func_end ov26_0238AD10
_0238AD3C:
.byte 0x08, 0x40, 0x2D, 0xE9
.byte 0xE8, 0xD0, 0x4D, 0xE2, 0xD0, 0x00, 0x9F, 0xE5, 0x00, 0x20, 0x90, 0xE5, 0x00, 0x10, 0x92, 0xE5
.byte 0x03, 0x00, 0x51, 0xE3, 0x01, 0xF1, 0x8F, 0x90, 0x28, 0x00, 0x00, 0xEA, 0x02, 0x00, 0x00, 0xEA
.byte 0x10, 0x00, 0x00, 0xEA, 0x1E, 0x00, 0x00, 0xEA, 0x24, 0x00, 0x00, 0xEA, 0x00, 0x00, 0x8D, 0xE2
.byte 0x33, 0x11, 0xF3, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x9C, 0x00, 0x9F, 0x05, 0x03, 0x10, 0xA0, 0x03
.byte 0x00, 0x00, 0x90, 0x05, 0x00, 0x10, 0x80, 0x05, 0x20, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x8D, 0xE2
.byte 0x40, 0xEE, 0xF2, 0xEB, 0x80, 0x00, 0x9F, 0xE5, 0x01, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5
.byte 0x00, 0x10, 0x80, 0xE5, 0x19, 0x00, 0x00, 0xEA, 0xF4, 0x10, 0xD2, 0xE1, 0x01, 0x10, 0x41, 0xE2
.byte 0xB4, 0x10, 0xC2, 0xE1, 0x00, 0x10, 0x90, 0xE5, 0xF4, 0x00, 0xD1, 0xE1, 0x00, 0x00, 0x50, 0xE3
.byte 0x12, 0x00, 0x00, 0xCA, 0x00, 0x00, 0xA0, 0xE3, 0xB4, 0x00, 0xC1, 0xE1, 0x5B, 0xEE, 0xF2, 0xEB
.byte 0x44, 0x00, 0x9F, 0xE5, 0x02, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5, 0x00, 0x10, 0x80, 0xE5
.byte 0x0A, 0x00, 0x00, 0xEA, 0x64, 0xEE, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x28, 0x00, 0x9F, 0x05
.byte 0x03, 0x10, 0xA0, 0x03, 0x00, 0x00, 0x90, 0x05, 0x00, 0x10, 0x80, 0x05
arm_func_start ov26_0238ADFC
ov26_0238ADFC: @ 0x0238ADFC
b _0238AE10
_0238AE00:
.byte 0x15, 0xEE, 0xF2, 0xEB, 0x17, 0x70, 0xFD, 0xEB, 0x04, 0x00, 0xA0, 0xE3, 0x00, 0x00, 0x00, 0xEA
_0238AE10:
mov r0, #1
add sp, sp, #0xe8
pop {r3, pc}
arm_func_end ov26_0238ADFC
@ 0x0238AE1C

File diff suppressed because it is too large Load Diff

View File

@ -3,3 +3,543 @@
.include "global.inc"
.text
arm_func_start ov28_0238A140
ov28_0238A140: @ 0x0238A140
mov r2, #0
str r2, [r0]
str r2, [r0, #0x10]
str r1, [r0, #0xc]
str r2, [r0, #4]
sub r2, r2, #1
ldr r1, _0238A17C @ =0x0238ADA0
str r2, [r0, #8]
ldr r2, [r1]
mov r1, #0xc
mul r3, r2, r1
ldr r1, _0238A180 @ =0x0238AD28
ldr r1, [r1, r3]
strh r1, [r0, #0x18]
bx lr
.align 2, 0
_0238A17C: .4byte 0x0238ADA0
_0238A180: .4byte 0x0238AD28
arm_func_end ov28_0238A140
arm_func_start ov28_0238A184
ov28_0238A184: @ 0x0238A184
push {r3, r4, r5, lr}
sub sp, sp, #0x10
mov r5, r0
ldr r0, [r5]
cmp r0, #4
addls pc, pc, r0, lsl #2
b _0238A448
_0238A1A0: @ jump table
b _0238A1B4 @ case 0
b _0238A2A4 @ case 1
b _0238A338 @ case 2
b _0238A398 @ case 3
b _0238A41C @ case 4
_0238A1B4:
ldr r0, _0238A454 @ =0x0238ADA0
ldr r1, _0238A458 @ =0x0238AD80
ldr r2, [r0]
mov r0, #0xc
mul r3, r2, r0
ldr r0, _0238A45C @ =0x0238AD24
ldr r4, [r1]
ldr r1, [r0, r3]
ldrh r2, [r5, #0x18]
add r0, r4, #0x58
add r3, r0, #0x800
sub r1, r2, r1
add r0, r5, #0x1a
add r1, r3, r1, lsl #6
bl FUN_02089694
ldr r0, [r5, #4]
mov r2, #0
asr r3, r0, #0x10
lsr r1, r3, #0x1f
rsb r0, r1, r3, lsl #24
str r3, [r5, #8]
add r0, r1, r0, ror #24
add r0, r0, #0xc0
lsr r1, r0, #0x1f
rsb r0, r1, r0, lsl #24
add r4, r1, r0, ror #24
asr r0, r4, #2
add r0, r4, r0, lsr #29
asr r0, r0, #3
str r2, [sp]
str r0, [sp, #4]
ldr r0, [r5, #0xc]
add r1, sp, #0
and r0, r0, #0xff
mov r2, #0x20
mov r3, #2
bl FUN_02028EE8
add r1, r5, #0x1a
b _0238A260
_0238A250:
ldrb r0, [r1], #1
cmp r0, #0x20
movne r0, #0
bne _0238A270
_0238A260:
ldrb r0, [r1]
cmp r0, #0
bne _0238A250
mov r0, #1
_0238A270:
cmp r0, #0
bne _0238A290
ldr r0, [r5, #0xc]
mov r2, r4
and r0, r0, #0xff
add r3, r5, #0x1a
mov r1, #0x10
bl ov28_0238ABD4
_0238A290:
ldrh r1, [r5, #0x18]
mov r0, #1
add r1, r1, #1
strh r1, [r5, #0x18]
str r0, [r5]
_0238A2A4:
mvn r0, #3
str r0, [sp, #8]
ldr r0, [r5, #4]
add r1, sp, #8
asr r0, r0, #0x10
str r0, [sp, #0xc]
ldr r0, [r5, #0xc]
and r0, r0, #0xff
bl FUN_02028F88
ldr r2, _0238A454 @ =0x0238ADA0
ldr r0, _0238A460 @ =0x0238AD0C
ldr r1, [r2]
ldr r3, [r5, #4]
ldr r0, [r0, r1, lsl #2]
add r4, r3, r0
asr r3, r4, #0x10
lsr r1, r3, #0x1f
rsb r0, r1, r3, lsl #28
str r4, [r5, #4]
adds r0, r1, r0, ror #28
bne _0238A448
ldr r0, [r5, #8]
cmp r0, r3
beq _0238A448
ldr r1, [r2]
mov r0, #0xc
mul r2, r1, r0
ldr r0, _0238A464 @ =0x0238AD2C
ldrh r1, [r5, #0x18]
ldr r0, [r0, r2]
cmp r1, r0
mov r0, #0
strgt r0, [r5, #0x14]
movgt r0, #3
strgt r0, [r5]
strle r0, [r5]
b _0238A448
_0238A338:
ldr r0, [r5, #4]
mov r2, #0
asr r3, r0, #0x10
lsr r1, r3, #0x1f
rsb r0, r1, r3, lsl #24
add r0, r1, r0, ror #24
add r0, r0, #0xc0
lsr r1, r0, #0x1f
rsb r0, r1, r0, lsl #24
add r1, r1, r0, ror #24
asr r0, r1, #2
add r0, r1, r0, lsr #29
str r3, [r5, #8]
asr r0, r0, #3
str r2, [sp]
str r0, [sp, #4]
ldr r0, [r5, #0xc]
add r1, sp, #0
and r0, r0, #0xff
mov r2, #0x20
mov r3, #2
bl FUN_02028EE8
mov r0, #3
str r0, [r5]
_0238A398:
mvn r0, #3
str r0, [sp, #8]
ldr r0, [r5, #4]
add r1, sp, #8
asr r0, r0, #0x10
str r0, [sp, #0xc]
ldr r0, [r5, #0xc]
and r0, r0, #0xff
bl FUN_02028F88
ldr r0, _0238A454 @ =0x0238ADA0
ldr r1, _0238A460 @ =0x0238AD0C
ldr r0, [r0]
ldr r2, [r5, #4]
ldr r0, [r1, r0, lsl #2]
add r3, r2, r0
asr r2, r3, #0x10
lsr r1, r2, #0x1f
rsb r0, r1, r2, lsl #28
str r3, [r5, #4]
adds r0, r1, r0, ror #28
bne _0238A448
ldr r0, [r5, #8]
cmp r0, r2
beq _0238A448
ldr r0, [r5, #0x14]
add r0, r0, #1
str r0, [r5, #0x14]
cmp r0, #0xc
movge r0, #4
strge r0, [r5]
movlt r0, #2
strlt r0, [r5]
b _0238A448
_0238A41C:
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, [r5, #0xc]
add r1, sp, #0
and r0, r0, #0xff
mov r2, #0x20
mov r3, #0x18
bl FUN_02028EE8
mov r0, #0
b _0238A44C
_0238A448:
mov r0, #1
_0238A44C:
add sp, sp, #0x10
pop {r3, r4, r5, pc}
.align 2, 0
_0238A454: .4byte 0x0238ADA0
_0238A458: .4byte 0x0238AD80
_0238A45C: .4byte 0x0238AD24
_0238A460: .4byte 0x0238AD0C
_0238A464: .4byte 0x0238AD2C
arm_func_end ov28_0238A184
arm_func_start ov28_0238A468
ov28_0238A468: @ 0x0238A468
push {r4, lr}
mov r4, r0
ldr r0, _0238A488 @ =0x0238ACFC
bl FUN_020348E4
cmp r0, #0
ldrne r0, _0238A48C @ =0x0238ADA0
strne r4, [r0]
pop {r4, pc}
.align 2, 0
_0238A488: .4byte 0x0238ACFC
_0238A48C: .4byte 0x0238ADA0
arm_func_end ov28_0238A468
arm_func_start ov28_0238A490
ov28_0238A490: @ 0x0238A490
push {r3, r4, r5, r6, r7, lr}
ldr r0, _0238A578 @ =0x00003618
mov r1, #8
bl FUN_02001170
ldr r1, _0238A57C @ =0x0238AD80
cmp r0, #0
str r0, [r1]
moveq r0, #0
popeq {r3, r4, r5, r6, r7, pc}
add r0, r0, #0x20
mov r1, #0
bl ov28_0238A140
ldr r0, _0238A57C @ =0x0238AD80
mov r1, #1
ldr r0, [r0]
add r0, r0, #0x3c
add r0, r0, #0x400
bl ov28_0238A140
ldr r0, _0238A57C @ =0x0238AD80
mov r3, #0
mvn r2, #1
_0238A4E4:
ldr r1, [r0]
add r1, r1, r3
add r3, r3, #1
strb r2, [r1, #9]
cmp r3, #0x14
blt _0238A4E4
ldr r1, _0238A580 @ =0x0238ADA0
mov r0, #0xc
ldr r2, [r1]
ldr r1, _0238A584 @ =0x0238AD24
mul r3, r2, r0
ldr r6, [r1, r3]
ldr r0, _0238A588 @ =0x0238AD2C
mov r4, r6
ldr r5, [r0, r3]
ldr r7, _0238A57C @ =0x0238AD80
b _0238A54C
_0238A528:
ldr r0, [r7]
lsl r1, r4, #0x10
add r0, r0, #0x58
add r2, r0, #0x800
sub r0, r4, r6
add r0, r2, r0, lsl #6
lsr r1, r1, #0x10
bl FUN_020258B8
add r4, r4, #1
_0238A54C:
cmp r4, r5
ble _0238A528
ldr r0, _0238A57C @ =0x0238AD80
mov r3, #5
ldr r1, [r0]
mov r2, #0
str r3, [r1]
ldr r1, [r0]
mov r0, #1
strb r2, [r1, #8]
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
_0238A578: .4byte 0x00003618
_0238A57C: .4byte 0x0238AD80
_0238A580: .4byte 0x0238ADA0
_0238A584: .4byte 0x0238AD24
_0238A588: .4byte 0x0238AD2C
arm_func_end ov28_0238A490
arm_func_start ov28_0238A58C
ov28_0238A58C: @ 0x0238A58C
push {r3, lr}
mov r0, #0
bl ov28_0238AB5C
bl FUN_02025C14
bl FUN_02027170
bl FUN_02027228
ldr r0, _0238A5C8 @ =0x0238AD80
ldr r0, [r0]
cmp r0, #0
popeq {r3, pc}
bl FUN_02001188
ldr r0, _0238A5C8 @ =0x0238AD80
mov r1, #0
str r1, [r0]
pop {r3, pc}
.align 2, 0
_0238A5C8: .4byte 0x0238AD80
arm_func_end ov28_0238A58C
_0238A5CC:
.byte 0xF0, 0x41, 0x2D, 0xE9
.byte 0x18, 0xD0, 0x4D, 0xE2, 0x74, 0x65, 0x9F, 0xE5, 0x00, 0x10, 0x96, 0xE5, 0x00, 0x00, 0x91, 0xE5
.byte 0x06, 0x00, 0x50, 0xE3, 0x00, 0xF1, 0x8F, 0x90, 0x55, 0x01, 0x00, 0xEA, 0x05, 0x00, 0x00, 0xEA
.byte 0x31, 0x00, 0x00, 0xEA, 0x33, 0x00, 0x00, 0xEA, 0x28, 0x00, 0x00, 0xEA, 0x1D, 0x00, 0x00, 0xEA
.byte 0x2E, 0x01, 0x00, 0xEA, 0x21, 0x01, 0x00, 0xEA, 0x2E, 0x72, 0xFD, 0xEB, 0x00, 0x00, 0x50, 0xE3
.byte 0x4B, 0x01, 0x00, 0x0A, 0x38, 0x05, 0x9F, 0xE5, 0x06, 0x10, 0xA0, 0xE1, 0x00, 0x00, 0x90, 0xE5
.byte 0x00, 0x00, 0x50, 0xE3, 0x07, 0x00, 0x00, 0x1A, 0x00, 0x20, 0x91, 0xE5, 0x01, 0x00, 0xA0, 0xE3
.byte 0x58, 0x20, 0x82, 0xE2, 0x02, 0x3B, 0x82, 0xE2, 0x10, 0x10, 0xA0, 0xE3, 0x68, 0x20, 0xA0, 0xE3
.byte 0x63, 0x01, 0x00, 0xEB, 0x06, 0x00, 0x00, 0xEA, 0x00, 0x20, 0x91, 0xE5, 0x00, 0x00, 0xA0, 0xE3
.byte 0x58, 0x20, 0x82, 0xE2, 0x02, 0x3B, 0x82, 0xE2, 0x10, 0x10, 0xA0, 0xE3, 0x60, 0x20, 0xA0, 0xE3
.byte 0x5B, 0x01, 0x00, 0xEB, 0xE4, 0x04, 0x9F, 0xE5, 0x04, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5
.byte 0x00, 0x10, 0x80, 0xE5, 0x32, 0x01, 0x00, 0xEA, 0x12, 0x72, 0xFD, 0xEB, 0x00, 0x00, 0x50, 0xE3
.byte 0x2F, 0x01, 0x00, 0x0A, 0x01, 0x00, 0xA0, 0xE3, 0xFF, 0x71, 0xFD, 0xEB, 0x06, 0x00, 0xA0, 0xE1
.byte 0x00, 0x00, 0x90, 0xE5, 0x03, 0x10, 0xA0, 0xE3, 0x00, 0x10, 0x80, 0xE5, 0x28, 0x01, 0x00, 0xEA
.byte 0x08, 0x72, 0xFD, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x06, 0x00, 0xA0, 0x11, 0x00, 0x00, 0x90, 0x15
.byte 0x01, 0x10, 0xA0, 0x13, 0x00, 0x10, 0x80, 0x15, 0x21, 0x01, 0x00, 0xEA, 0x02, 0x00, 0xA0, 0xE3
.byte 0x00, 0x00, 0x81, 0xE5, 0x1E, 0x01, 0x00, 0xEA, 0x00, 0x40, 0xA0, 0xE3, 0x01, 0x70, 0xE0, 0xE3
.byte 0x00, 0x00, 0x96, 0xE5, 0x04, 0x00, 0x80, 0xE0, 0xD9, 0x80, 0xD0, 0xE1, 0x07, 0x00, 0x58, 0xE1
.byte 0x0C, 0x00, 0x00, 0x0A, 0x08, 0x00, 0xA0, 0xE1, 0x19, 0x77, 0xF2, 0xEB, 0x02, 0x00, 0x50, 0xE3
.byte 0x08, 0x00, 0x00, 0x1A, 0x08, 0x00, 0xA0, 0xE1, 0x28, 0x7A, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3
.byte 0x04, 0x00, 0x00, 0x1A, 0x08, 0x00, 0xA0, 0xE1, 0xC7, 0x76, 0xF2, 0xEB, 0x00, 0x00, 0x96, 0xE5
.byte 0x04, 0x00, 0x80, 0xE0, 0x09, 0x70, 0xC0, 0xE5, 0x01, 0x40, 0x84, 0xE2, 0x14, 0x00, 0x54, 0xE3
.byte 0xEA, 0xFF, 0xFF, 0xBA, 0x28, 0x04, 0x9F, 0xE5, 0x00, 0x20, 0x90, 0xE5, 0x00, 0x00, 0x52, 0xE3
.byte 0x47, 0x00, 0x00, 0x1A, 0x14, 0x04, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x20, 0x00, 0x80, 0xE2
.byte 0x8F, 0xFE, 0xFF, 0xEB, 0x04, 0x14, 0x9F, 0xE5, 0x00, 0x50, 0xA0, 0xE1, 0x00, 0x10, 0x91, 0xE5
.byte 0x24, 0x00, 0x91, 0xE5, 0x40, 0x08, 0xA0, 0xE1, 0xC0, 0x00, 0x50, 0xE3, 0x04, 0x00, 0x00, 0xBA
.byte 0x3C, 0x00, 0x81, 0xE2, 0x01, 0x0B, 0x80, 0xE2, 0x85, 0xFE, 0xFF, 0xEB, 0x00, 0x50, 0x85, 0xE1
.byte 0xB4, 0x00, 0x00, 0xEA, 0x3C, 0x40, 0x81, 0xE2, 0x10, 0x04, 0x94, 0xE5, 0x00, 0x00, 0x50, 0xE3
.byte 0x02, 0x00, 0x00, 0x0A, 0x01, 0x00, 0x50, 0xE3, 0x21, 0x00, 0x00, 0x0A, 0xAD, 0x00, 0x00, 0xEA
.byte 0x03, 0x00, 0xE0, 0xE3, 0x10, 0x00, 0x8D, 0xE5, 0x04, 0x04, 0x94, 0xE5, 0x10, 0x10, 0x8D, 0xE2
.byte 0x40, 0x08, 0xA0, 0xE1, 0x14, 0x00, 0x8D, 0xE5, 0x0C, 0x04, 0x94, 0xE5, 0xFF, 0x00, 0x00, 0xE2
.byte 0xF4, 0x79, 0xF2, 0xEB, 0x98, 0x03, 0x9F, 0xE5, 0x98, 0x13, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5
.byte 0x04, 0x24, 0x94, 0xE5, 0x00, 0x01, 0x91, 0xE7, 0x00, 0x00, 0x82, 0xE0, 0x04, 0x04, 0x84, 0xE5
.byte 0x14, 0x00, 0x9D, 0xE5, 0x88, 0x00, 0x50, 0xE3, 0x9A, 0x00, 0x00, 0xDA, 0x0C, 0x04, 0x94, 0xE5
.byte 0x20, 0x20, 0xA0, 0xE3, 0x10, 0x10, 0x8D, 0xE2, 0x02, 0x30, 0xA0, 0xE1, 0xFF, 0x00, 0x00, 0xE2
.byte 0xBC, 0x79, 0xF2, 0xEB, 0x0C, 0x04, 0x94, 0xE5, 0x01, 0x10, 0xA0, 0xE3, 0xFF, 0x00, 0x00, 0xE2
.byte 0x95, 0x76, 0xF2, 0xEB, 0x10, 0x04, 0x94, 0xE5, 0x01, 0x00, 0x80, 0xE2, 0x10, 0x04, 0x84, 0xE5
.byte 0x8C, 0x00, 0x00, 0xEA, 0x0C, 0x14, 0x94, 0xE5, 0x01, 0x0B, 0x84, 0xE2, 0xFF, 0x10, 0x01, 0xE2
.byte 0x46, 0xFE, 0xFF, 0xEB, 0x03, 0x10, 0xE0, 0xE3, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x10, 0x8D, 0xE5
.byte 0x14, 0x00, 0x8D, 0xE5, 0x0C, 0x04, 0x94, 0xE5, 0x10, 0x10, 0x8D, 0xE2, 0xFF, 0x00, 0x00, 0xE2
.byte 0xD0, 0x79, 0xF2, 0xEB, 0x10, 0x04, 0x94, 0xE5, 0x01, 0x00, 0x80, 0xE2, 0x10, 0x04, 0x84, 0xE5
.byte 0x7C, 0x00, 0x00, 0xEA, 0xF4, 0x02, 0x9F, 0xE5, 0x00, 0x40, 0x90, 0xE5, 0x24, 0x00, 0x94, 0xE5
.byte 0x40, 0x08, 0xA0, 0xE1, 0x08, 0x00, 0x50, 0xE3, 0x03, 0x00, 0x00, 0xBA, 0x20, 0x00, 0x84, 0xE2
.byte 0x43, 0xFE, 0xFF, 0xEB, 0x00, 0x50, 0xA0, 0xE1, 0x29, 0x00, 0x00, 0xEA, 0x30, 0x00, 0x94, 0xE5
.byte 0x00, 0x00, 0x50, 0xE3, 0x06, 0x00, 0x00, 0x0A, 0x01, 0x00, 0x50, 0xE3, 0xC4, 0x02, 0x9F, 0x05
.byte 0x24, 0x10, 0x94, 0x05, 0x02, 0x01, 0x90, 0x07, 0x00, 0x00, 0x81, 0x00, 0x24, 0x00, 0x84, 0x05
.byte 0x1F, 0x00, 0x00, 0xEA, 0x03, 0x00, 0xE0, 0xE3, 0x08, 0x00, 0x8D, 0xE5, 0x24, 0x00, 0x94, 0xE5
.byte 0x08, 0x10, 0x8D, 0xE2, 0x40, 0x08, 0xA0, 0xE1, 0x0C, 0x00, 0x8D, 0xE5, 0x2C, 0x00, 0x94, 0xE5
.byte 0xFF, 0x00, 0x00, 0xE2, 0xAF, 0x79, 0xF2, 0xEB, 0x84, 0x02, 0x9F, 0xE5, 0x84, 0x12, 0x9F, 0xE5
.byte 0x00, 0x00, 0x90, 0xE5, 0x24, 0x20, 0x94, 0xE5, 0x00, 0x01, 0x91, 0xE7, 0x00, 0x00, 0x82, 0xE0
.byte 0x24, 0x00, 0x84, 0xE5, 0x0C, 0x00, 0x9D, 0xE5, 0x88, 0x00, 0x50, 0xE3, 0x0C, 0x00, 0x00, 0xDA
.byte 0x2C, 0x00, 0x94, 0xE5, 0x20, 0x20, 0xA0, 0xE3, 0x08, 0x10, 0x8D, 0xE2, 0x02, 0x30, 0xA0, 0xE1
.byte 0xFF, 0x00, 0x00, 0xE2, 0x77, 0x79, 0xF2, 0xEB, 0x2C, 0x00, 0x94, 0xE5, 0x01, 0x10, 0xA0, 0xE3
.byte 0xFF, 0x00, 0x00, 0xE2, 0x50, 0x76, 0xF2, 0xEB, 0x30, 0x00, 0x94, 0xE5, 0x01, 0x00, 0x80, 0xE2
.byte 0x30, 0x00, 0x84, 0xE5, 0x24, 0x02, 0x9F, 0xE5, 0x00, 0x40, 0x90, 0xE5, 0x24, 0x00, 0x94, 0xE5
.byte 0x40, 0x08, 0xA0, 0xE1, 0x60, 0x00, 0x50, 0xE3, 0x42, 0x00, 0x00, 0xBA, 0x40, 0x04, 0x94, 0xE5
.byte 0x40, 0x08, 0xA0, 0xE1, 0x68, 0x00, 0x50, 0xE3, 0x04, 0x00, 0x00, 0xBA, 0x3C, 0x00, 0x84, 0xE2
.byte 0x01, 0x0B, 0x80, 0xE2, 0x0A, 0xFE, 0xFF, 0xEB, 0x00, 0x50, 0x85, 0xE1, 0x39, 0x00, 0x00, 0xEA
.byte 0x4C, 0x04, 0x94, 0xE5, 0x00, 0x00, 0x50, 0xE3, 0x04, 0x00, 0x00, 0x0A, 0x01, 0x00, 0x50, 0xE3
.byte 0x0C, 0x00, 0x00, 0x0A, 0x02, 0x00, 0x50, 0xE3, 0x2B, 0x00, 0x00, 0x0A, 0x31, 0x00, 0x00, 0xEA
.byte 0x58, 0x00, 0x84, 0xE2, 0x10, 0x10, 0xA0, 0xE3, 0x50, 0x20, 0x41, 0xE2, 0x02, 0x3B, 0x80, 0xE2
.byte 0x01, 0x00, 0xA0, 0xE3, 0x8E, 0x00, 0x00, 0xEB, 0x4C, 0x04, 0x94, 0xE5, 0x01, 0x00, 0x80, 0xE2
.byte 0x4C, 0x04, 0x84, 0xE5, 0x27, 0x00, 0x00, 0xEA, 0x03, 0x00, 0xE0, 0xE3, 0x00, 0x00, 0x8D, 0xE5
.byte 0x40, 0x04, 0x94, 0xE5, 0x00, 0x10, 0x8D, 0xE2, 0x40, 0x08, 0xA0, 0xE1, 0x04, 0x00, 0x8D, 0xE5
.byte 0x48, 0x04, 0x94, 0xE5, 0xFF, 0x00, 0x00, 0xE2, 0x6E, 0x79, 0xF2, 0xEB, 0x80, 0x01, 0x9F, 0xE5
.byte 0x80, 0x11, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x40, 0x24, 0x94, 0xE5, 0x00, 0x01, 0x91, 0xE7
.byte 0x00, 0x00, 0x82, 0xE0, 0x40, 0x04, 0x84, 0xE5, 0x04, 0x00, 0x9D, 0xE5, 0xD0, 0x00, 0x50, 0xE3
.byte 0x14, 0x00, 0x00, 0xDA, 0x48, 0x04, 0x94, 0xE5, 0x20, 0x20, 0xA0, 0xE3, 0x00, 0x10, 0x8D, 0xE2
.byte 0x02, 0x30, 0xA0, 0xE1, 0xFF, 0x00, 0x00, 0xE2, 0x36, 0x79, 0xF2, 0xEB, 0x48, 0x04, 0x94, 0xE5
.byte 0x01, 0x10, 0xA0, 0xE3, 0xFF, 0x00, 0x00, 0xE2, 0x0F, 0x76, 0xF2, 0xEB, 0x4C, 0x04, 0x94, 0xE5
.byte 0x01, 0x00, 0x80, 0xE2, 0x4C, 0x04, 0x84, 0xE5, 0x06, 0x00, 0x00, 0xEA, 0x20, 0x01, 0x9F, 0xE5
.byte 0x20, 0x11, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x40, 0x24, 0x94, 0xE5, 0x00, 0x01, 0x91, 0xE7
.byte 0x00, 0x00, 0x82, 0xE0, 0x40, 0x04, 0x84, 0xE5, 0x00, 0x01, 0x9F, 0xE5, 0x00, 0x20, 0x90, 0xE5
.byte 0x08, 0x00, 0xD2, 0xE5, 0x00, 0x00, 0x50, 0xE3, 0x06, 0x00, 0x00, 0x1A, 0x20, 0x00, 0x92, 0xE5
.byte 0x03, 0x00, 0x50, 0xE3, 0x03, 0x00, 0x00, 0xBA, 0x01, 0x10, 0xA0, 0xE3, 0x02, 0x00, 0xA0, 0xE3
.byte 0x08, 0x10, 0xC2, 0xE5, 0x04, 0x71, 0xFD, 0xEB, 0x00, 0x00, 0x55, 0xE3, 0xCC, 0x00, 0x9F, 0x05
.byte 0x06, 0x10, 0xA0, 0x03, 0x00, 0x00, 0x90, 0x05, 0x00, 0x10, 0x80, 0x05, 0x2C, 0x00, 0x00, 0xEA
.byte 0x00, 0x00, 0xA0, 0xE3, 0x01, 0x10, 0xA0, 0xE3, 0xEF, 0x75, 0xF2, 0xEB, 0x01, 0x00, 0xA0, 0xE3
.byte 0x00, 0x10, 0xA0, 0xE1, 0xEC, 0x75, 0xF2, 0xEB, 0x00, 0x00, 0xA0, 0xE3, 0x33, 0x6C, 0xF2, 0xEB
.byte 0x00, 0x00, 0xA0, 0xE3, 0xF4, 0x70, 0xFD, 0xEB, 0x04, 0x00, 0xA0, 0xE3, 0x21, 0x00, 0x00, 0xEA
.byte 0x03, 0x00, 0xE0, 0xE3, 0x24, 0x00, 0x00, 0xEB, 0x00, 0x00, 0xA0, 0xE3, 0xEE, 0x70, 0xFD, 0xEB
.byte 0x7C, 0x00, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x05, 0x00, 0x50, 0xE3, 0x00, 0xF1, 0x8F, 0x90
.byte 0x11, 0x00, 0x00, 0xEA, 0x04, 0x00, 0x00, 0xEA, 0x05, 0x00, 0x00, 0xEA, 0x06, 0x00, 0x00, 0xEA
.byte 0x07, 0x00, 0x00, 0xEA, 0x08, 0x00, 0x00, 0xEA, 0x09, 0x00, 0x00, 0xEA, 0x00, 0x00, 0xA0, 0xE3
.byte 0x0A, 0x00, 0x00, 0xEA, 0x01, 0x00, 0xA0, 0xE3, 0x08, 0x00, 0x00, 0xEA, 0x02, 0x00, 0xA0, 0xE3
.byte 0x06, 0x00, 0x00, 0xEA, 0x03, 0x00, 0xA0, 0xE3, 0x04, 0x00, 0x00, 0xEA, 0x04, 0x00, 0xA0, 0xE3
.byte 0x02, 0x00, 0x00, 0xEA, 0x05, 0x00, 0xA0, 0xE3, 0x00, 0x00, 0x00, 0xEA, 0x00, 0x00, 0xE0, 0xE3
.byte 0x16, 0x6C, 0xF2, 0xEB, 0x14, 0x00, 0x9F, 0xE5, 0x00, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5
.byte 0x00, 0x10, 0x80, 0xE5, 0x01, 0x00, 0xA0, 0xE3, 0x18, 0xD0, 0x8D, 0xE2, 0xF0, 0x81, 0xBD, 0xE8
.byte 0x80, 0xAD, 0x38, 0x02, 0xA0, 0xAD, 0x38, 0x02, 0x0C, 0xAD, 0x38, 0x02
arm_func_start ov28_0238AB5C
ov28_0238AB5C: @ 0x0238AB5C
push {r4, lr}
sub sp, sp, #8
mov r2, #0x20
mov r4, r0
mov r0, #0
add r1, sp, #0
mov r3, r2
str r0, [sp]
str r0, [sp, #4]
bl FUN_02028EE8
mov r2, #0x20
add r1, sp, #0
mov r3, r2
mov r0, #1
bl FUN_02028EE8
add r1, sp, #0
mov r0, #0
str r4, [sp]
bl FUN_02028F88
add r1, sp, #0
mov r0, #1
bl FUN_02028F88
mov r0, #0
mov r1, #1
bl FUN_0202825C
mov r0, #1
mov r1, r0
bl FUN_0202825C
add sp, sp, #8
pop {r4, pc}
arm_func_end ov28_0238AB5C
arm_func_start ov28_0238ABD4
ov28_0238ABD4: @ 0x0238ABD4
push {r4, r5, r6, r7, r8, lr}
sub sp, sp, #0x10
mov r5, r1
asr r1, r5, #2
mov r7, #0
mov r6, r0
add r1, r5, r1, lsr #29
asr r1, r1, #3
asr r4, r2, #2
add r4, r2, r4, lsr #29
asr lr, r4, #3
lsr r8, r2, #0x1f
sub r0, r7, #5
rsb r2, r8, r2, lsl #29
and ip, r1, #0xff
strb r0, [sp, #9]
rsb ip, ip, #0x1d
str r7, [sp]
str r7, [sp, #0xc]
adds r8, r8, r2, ror #29
ldr r0, _0238ACF8 @ =0x0238AD80
movne r7, #1
strb r1, [sp, #4]
add r1, r7, #2
ldr r2, [r0]
mov r4, r3
strb r6, [sp, #8]
strb lr, [sp, #5]
strb ip, [sp, #6]
strb r1, [sp, #7]
mov r7, #0
mvn r0, #1
b _0238AC6C
_0238AC58:
add r1, r2, r7
ldrsb r1, [r1, #9]
cmp r1, r0
beq _0238AC74
add r7, r7, #1
_0238AC6C:
cmp r7, #0x14
blt _0238AC58
_0238AC74:
mov r0, r6
bl FUN_02028270
ldrb r2, [sp, #6]
ldrb r1, [sp, #7]
mla r0, r2, r1, r0
cmp r0, #0x300
blt _0238AC9C
mov r0, r6
mov r1, #1
bl FUN_0202825C
_0238AC9C:
add r0, sp, #0
mov r1, #3
bl FUN_020276C0
ldr r1, _0238ACF8 @ =0x0238AD80
ldr r2, [r1]
add r2, r2, r7
strb r0, [r2, #9]
ldr r0, [r1]
add r0, r0, r7
ldrsb r0, [r0, #9]
bl FUN_0202810C
ldr r0, _0238ACF8 @ =0x0238AD80
lsr r6, r5, #0x1f
ldr r0, [r0]
rsb r1, r6, r5, lsl #29
add r0, r0, r7
ldrsb r0, [r0, #9]
mov r2, r8
mov r3, r4
add r1, r6, r1, ror #29
bl FUN_02026214
add sp, sp, #0x10
pop {r4, r5, r6, r7, r8, pc}
.align 2, 0
_0238ACF8: .4byte 0x0238AD80
arm_func_end ov28_0238ABD4
@ 0x0238ACFC

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -106,47 +106,47 @@ Overlay OVY_0
}
Overlay OVY_1
{
After main
After OVY_0
Object asm/overlay_01.o
}
Overlay OVY_2
{
After main
After OVY_0
Object asm/overlay_02.o
}
Overlay OVY_3
{
After main
After OVY_1
Object asm/overlay_03.o
}
Overlay OVY_4
{
After main
After OVY_1
Object asm/overlay_04.o
}
Overlay OVY_5
{
After main
After OVY_1
Object asm/overlay_05.o
}
Overlay OVY_6
{
After main
After OVY_1
Object asm/overlay_06.o
}
Overlay OVY_7
{
After main
After OVY_1
Object asm/overlay_07.o
}
Overlay OVY_8
{
After main
After OVY_1
Object asm/overlay_08.o
}
Overlay OVY_9
{
After main
After OVY_1
Object asm/overlay_09.o
}
Overlay OVY_10
@ -156,119 +156,119 @@ Overlay OVY_10
}
Overlay OVY_11
{
After main
After OVY_10
Object asm/overlay_11.o
}
Overlay OVY_12
{
After main
After OVY_11
}
Overlay OVY_13
{
After main
After OVY_11
Object asm/overlay_13.o
}
Overlay OVY_14
{
After main
After OVY_11
Object asm/overlay_14.o
}
Overlay OVY_15
{
After main
After OVY_11
Object asm/overlay_15.o
}
Overlay OVY_16
{
After main
After OVY_11
Object asm/overlay_16.o
}
Overlay OVY_17
{
After main
After OVY_11
Object asm/overlay_17.o
}
Overlay OVY_18
{
After main
After OVY_11
Object asm/overlay_18.o
}
Overlay OVY_19
{
After main
After OVY_11
Object asm/overlay_19.o
}
Overlay OVY_20
{
After main
After OVY_11
Object asm/overlay_21.o
}
Overlay OVY_21
{
After main
After OVY_11
Object asm/overlay_21.o
}
Overlay OVY_22
{
After main
After OVY_11
Object asm/overlay_22.o
}
Overlay OVY_23
{
After main
After OVY_11
Object asm/overlay_23.o
}
Overlay OVY_24
{
After main
After OVY_11
Object asm/overlay_24.o
}
Overlay OVY_25
{
After main
After OVY_11
Object asm/overlay_25.o
}
Overlay OVY_26
{
After main
After OVY_11
Object asm/overlay_26.o
}
Overlay OVY_27
{
After main
After OVY_11
Object asm/overlay_27.o
}
Overlay OVY_28
{
After main
After OVY_11
Object asm/overlay_28.o
}
Overlay OVY_29
{
After main
After OVY_10
Object asm/overlay_29.o
}
Overlay OVY_30
{
After main
After OVY_29
Object asm/overlay_30.o
}
Overlay OVY_31
{
After main
After OVY_29
Object asm/overlay_31.o
}
Overlay OVY_32
{
After main
After OVY_29
}
Overlay OVY_33
{
After main
After OVY_29
}
Overlay OVY_34
{
After main
After OVY_10
Object asm/overlay_34.o
}
Overlay OVY_35