mirror of
https://github.com/pret/pokeheartgold.git
synced 2024-11-24 05:40:09 +00:00
2432 lines
42 KiB
ArmAsm
2432 lines
42 KiB
ArmAsm
|
|
thumb_func_start ov115_0225F020
|
|
ov115_0225F020: ; 0x0225F020
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
mov r6, #0
|
|
strh r6, [r5]
|
|
add r4, r5, #0
|
|
ldr r7, [sp, #0x28]
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
strh r6, [r5, #2]
|
|
add r4, #0x14
|
|
_0225F038:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
add r3, r7, #0
|
|
bl sub_021F0718
|
|
str r0, [r5, #4]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
ldr r0, [r5, #4]
|
|
mov r1, #1
|
|
bl sub_0202484C
|
|
cmp r6, #3
|
|
beq _0225F07E
|
|
ldr r0, [r5, #4]
|
|
mov r1, #2
|
|
bl sub_0202487C
|
|
ldr r0, [r5, #4]
|
|
mov r1, #1
|
|
bl sub_020248F0
|
|
mov r1, #2
|
|
lsl r1, r1, #0xc
|
|
add r0, r4, #0
|
|
lsr r2, r1, #1
|
|
mov r3, #6
|
|
bl sub_021EFE70
|
|
b _0225F08C
|
|
_0225F07E:
|
|
mov r1, #1
|
|
lsl r1, r1, #0xc
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
mov r3, #6
|
|
bl sub_021EFE70
|
|
_0225F08C:
|
|
add r6, r6, #1
|
|
add r5, r5, #4
|
|
add r4, #0x14
|
|
cmp r6, #4
|
|
blt _0225F038
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end ov115_0225F020
|
|
|
|
thumb_func_start ov115_0225F09C
|
|
ov115_0225F09C: ; 0x0225F09C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_0225F0A2:
|
|
ldr r0, [r5, #4]
|
|
bl sub_02024758
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _0225F0A2
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end ov115_0225F09C
|
|
|
|
thumb_func_start ov115_0225F0B4
|
|
ov115_0225F0B4: ; 0x0225F0B4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp]
|
|
mov r0, #2
|
|
ldrsh r1, [r1, r0]
|
|
cmp r1, #4
|
|
bge _0225F0EE
|
|
ldr r2, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
ldrsh r1, [r2, r1]
|
|
sub r2, r1, #1
|
|
ldr r1, [sp]
|
|
strh r2, [r1]
|
|
add r2, r1, #0
|
|
ldr r1, [sp, #4]
|
|
ldrsh r1, [r2, r1]
|
|
cmp r1, #0
|
|
bgt _0225F0EE
|
|
ldr r1, [sp]
|
|
mov r2, #3
|
|
strh r2, [r1]
|
|
ldrsh r0, [r1, r0]
|
|
add r1, r0, #1
|
|
ldr r0, [sp]
|
|
strh r1, [r0, #2]
|
|
_0225F0EE:
|
|
ldr r0, [sp]
|
|
mov r1, #2
|
|
ldrsh r0, [r0, r1]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _0225F150
|
|
ldr r7, [sp]
|
|
ldr r6, [sp]
|
|
add r7, #0x14
|
|
add r5, r6, #0
|
|
_0225F102:
|
|
add r0, r7, #0
|
|
bl sub_021EFE80
|
|
ldr r1, [r6, #0x14]
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0xc
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl sub_021F074C
|
|
ldr r0, [r5, #4]
|
|
add r1, sp, #0xc
|
|
bl sub_020247F4
|
|
ldr r0, [r5, #4]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #0
|
|
bne _0225F132
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
b _0225F13E
|
|
_0225F132:
|
|
cmp r4, #3
|
|
beq _0225F13E
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
_0225F13E:
|
|
ldr r1, [sp]
|
|
mov r0, #2
|
|
ldrsh r0, [r1, r0]
|
|
add r4, r4, #1
|
|
add r7, #0x14
|
|
add r6, #0x14
|
|
add r5, r5, #4
|
|
cmp r4, r0
|
|
blt _0225F102
|
|
_0225F150:
|
|
ldr r0, [sp, #4]
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end ov115_0225F0B4
|
|
|
|
thumb_func_start ov115_0225F158
|
|
ov115_0225F158: ; 0x0225F158
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
mov r2, #0xbd
|
|
add r3, r5, #0
|
|
bl sub_0200BAF8
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl sub_0200BD08
|
|
add r4, r0, #0
|
|
mov r0, #0x80
|
|
add r1, r5, #0
|
|
bl sub_02026354
|
|
add r7, r0, #0
|
|
mov r0, #0x80
|
|
add r1, r5, #0
|
|
bl sub_02026354
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
add r2, r5, #0
|
|
bl sub_0200BB6C
|
|
ldr r2, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl sub_0200C37C
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl sub_0200CBBC
|
|
add r0, r6, #0
|
|
bl sub_0200BB44
|
|
add r0, r4, #0
|
|
bl sub_0200BDA0
|
|
add r0, r5, #0
|
|
bl sub_02026380
|
|
add r0, r7, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov115_0225F158
|
|
|
|
thumb_func_start ov115_0225F1BC
|
|
ov115_0225F1BC: ; 0x0225F1BC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
mov r2, #0xbd
|
|
add r3, r5, #0
|
|
bl sub_0200BAF8
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl sub_0200BD08
|
|
add r4, r0, #0
|
|
mov r0, #0x80
|
|
add r1, r5, #0
|
|
bl sub_02026354
|
|
add r7, r0, #0
|
|
mov r0, #0x80
|
|
add r1, r5, #0
|
|
bl sub_02026354
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
add r2, r5, #0
|
|
bl sub_0200BB6C
|
|
ldr r2, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl sub_0200BE6C
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl sub_0200CBBC
|
|
add r0, r6, #0
|
|
bl sub_0200BB44
|
|
add r0, r4, #0
|
|
bl sub_0200BDA0
|
|
add r0, r5, #0
|
|
bl sub_02026380
|
|
add r0, r7, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov115_0225F1BC
|
|
|
|
thumb_func_start ov115_0225F220
|
|
ov115_0225F220: ; 0x0225F220
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
ldr r1, [r5]
|
|
add r6, r2, #0
|
|
ldr r4, [r5, #0xc]
|
|
cmp r1, #0xf
|
|
bls _0225F234
|
|
b _0225F6BC
|
|
_0225F234:
|
|
add r2, r1, r1
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_0225F240: ; jump table
|
|
.short _0225F260 - _0225F240 - 2 ; case 0
|
|
.short _0225F3C0 - _0225F240 - 2 ; case 1
|
|
.short _0225F3D6 - _0225F240 - 2 ; case 2
|
|
.short _0225F3E2 - _0225F240 - 2 ; case 3
|
|
.short _0225F450 - _0225F240 - 2 ; case 4
|
|
.short _0225F470 - _0225F240 - 2 ; case 5
|
|
.short _0225F49E - _0225F240 - 2 ; case 6
|
|
.short _0225F4EA - _0225F240 - 2 ; case 7
|
|
.short _0225F518 - _0225F240 - 2 ; case 8
|
|
.short _0225F536 - _0225F240 - 2 ; case 9
|
|
.short _0225F5A2 - _0225F240 - 2 ; case 10
|
|
.short _0225F5B8 - _0225F240 - 2 ; case 11
|
|
.short _0225F5DE - _0225F240 - 2 ; case 12
|
|
.short _0225F5F6 - _0225F240 - 2 ; case 13
|
|
.short _0225F616 - _0225F240 - 2 ; case 14
|
|
.short _0225F626 - _0225F240 - 2 ; case 15
|
|
_0225F260:
|
|
mov r1, #0xa6
|
|
add r0, r7, #0
|
|
lsl r1, r1, #2
|
|
bl sub_0201AA8C
|
|
mov r2, #0xa6
|
|
str r0, [r5, #0xc]
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
bl sub_020E5B44
|
|
ldr r4, [r5, #0xc]
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
str r7, [sp, #4]
|
|
ldr r0, [r5, #0x20]
|
|
mov r1, #0x10
|
|
mov r2, #0
|
|
mov r3, #0x40
|
|
bl sub_02007B8C
|
|
mov r0, #4
|
|
mov r1, #0
|
|
bl sub_02022C60
|
|
mov r0, #0xa
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r2, #2
|
|
str r2, [sp, #8]
|
|
mov r1, #0x9f
|
|
lsl r1, r1, #2
|
|
str r2, [sp, #0xc]
|
|
mov r0, #1
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, r1
|
|
ldr r0, [r0, #8]
|
|
mov r3, #0
|
|
bl sub_0201D40C
|
|
mov r0, #0x9f
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #0
|
|
bl sub_0201D978
|
|
ldrh r0, [r6, #8]
|
|
cmp r0, #0x17
|
|
bne _0225F2D4
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r7, #0
|
|
ldr r0, [r0, #0xc]
|
|
bl ov115_0225F1BC
|
|
str r0, [sp, #0x14]
|
|
b _0225F2DE
|
|
_0225F2D4:
|
|
ldr r0, [r6, #4]
|
|
add r1, r7, #0
|
|
bl ov115_0225F158
|
|
str r0, [sp, #0x14]
|
|
_0225F2DE:
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldr r0, _0225F62C ; =0x00010200
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x9f
|
|
lsl r0, r0, #2
|
|
ldr r2, [sp, #0x14]
|
|
add r0, r4, r0
|
|
add r3, r1, #0
|
|
str r1, [sp, #0xc]
|
|
bl sub_020200FC
|
|
ldr r0, [sp, #0x14]
|
|
bl sub_02026380
|
|
add r0, r4, #0
|
|
add r0, #0x44
|
|
mov r1, #8
|
|
mov r2, #3
|
|
bl sub_021F05C4
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldrb r0, [r6, #0xd]
|
|
mov r2, #6
|
|
add r1, r4, #0
|
|
str r0, [sp, #4]
|
|
ldrb r0, [r6, #0xe]
|
|
lsl r2, r2, #6
|
|
add r1, #0x44
|
|
str r0, [sp, #8]
|
|
ldrb r0, [r6, #0xf]
|
|
add r2, r4, r2
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _0225F630 ; =0x000927C0
|
|
str r0, [sp, #0x10]
|
|
ldrb r3, [r6, #0xc]
|
|
ldr r0, [r5, #0x20]
|
|
bl sub_021F0614
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0x3c
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3d
|
|
str r0, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _0225F634 ; =0x000927C1
|
|
mov r2, #0x6d
|
|
str r0, [sp, #0x10]
|
|
add r1, r4, #0
|
|
lsl r2, r2, #2
|
|
ldr r0, [r5, #0x20]
|
|
add r1, #0x44
|
|
add r2, r4, r2
|
|
mov r3, #0x3b
|
|
bl sub_021F0614
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #6
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
lsl r1, r1, #6
|
|
mov r2, #0x11
|
|
mov r3, #0x42
|
|
add r0, #0x44
|
|
add r1, r4, r1
|
|
lsl r2, r2, #0x10
|
|
lsl r3, r3, #0xc
|
|
bl sub_021F0718
|
|
mov r1, #0x7a
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0x4a
|
|
mov r2, #0x7b
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp]
|
|
lsl r2, r2, #2
|
|
add r0, r4, r2
|
|
add r1, r4, #0
|
|
sub r2, #0x38
|
|
mov r3, #0x12
|
|
add r1, #0x44
|
|
add r2, r4, r2
|
|
lsl r3, r3, #0xe
|
|
str r7, [sp, #4]
|
|
bl ov115_0225F020
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldrb r2, [r6, #0xc]
|
|
ldr r0, [r4, r0]
|
|
add r1, r7, #0
|
|
mov r3, #0xe
|
|
bl ov115_02260254
|
|
bl sub_021F0B44
|
|
str r0, [r4, #0x40]
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _0225F6BC
|
|
_0225F3C0:
|
|
mov r0, #1
|
|
mov r1, #0x10
|
|
str r0, [sp]
|
|
add r2, r1, #0
|
|
add r3, r5, #4
|
|
bl sub_021EFCF8
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _0225F6BC
|
|
_0225F3D6:
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _0225F458
|
|
add r0, r1, #1
|
|
str r0, [r5]
|
|
b _0225F6BC
|
|
_0225F3E2:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #8]
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
ldrb r1, [r6, #0x12]
|
|
ldrb r2, [r6, #0x11]
|
|
ldrb r3, [r6, #0x10]
|
|
ldr r0, [r5, #0x20]
|
|
bl sub_021F0454
|
|
mov r0, #0xa3
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #4]
|
|
mov r0, #0x17
|
|
str r0, [sp, #8]
|
|
ldr r1, [r4, #0x40]
|
|
add r0, r5, #0
|
|
mov r2, #6
|
|
mov r3, #8
|
|
bl sub_021F0B78
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl sub_0201BB68
|
|
mov r0, #3
|
|
mov r1, #1
|
|
bl sub_0201BB68
|
|
mov r0, #0
|
|
mov r1, #2
|
|
bl sub_0201BB68
|
|
mov r0, #8
|
|
mov r1, #1
|
|
bl sub_02022C60
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl sub_02022C60
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _0225F6BC
|
|
_0225F450:
|
|
bl sub_021EFE30
|
|
cmp r0, #0
|
|
bne _0225F45A
|
|
_0225F458:
|
|
b _0225F6BC
|
|
_0225F45A:
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
ldr r0, [r4, #0x40]
|
|
bl sub_021F0B5C
|
|
mov r0, #0xa5
|
|
mov r1, #0xa
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
b _0225F6BC
|
|
_0225F470:
|
|
mov r0, #0xa5
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bge _0225F55E
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl sub_02022C60
|
|
mov r0, #0x7b
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov115_0225F0B4
|
|
cmp r0, #1
|
|
bne _0225F55E
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _0225F6BC
|
|
_0225F49E:
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r1, #0x11
|
|
ldr r2, [r6]
|
|
ldr r3, _0225F638 ; =0xFFFC0000
|
|
add r0, r4, #0
|
|
lsl r1, r1, #0x10
|
|
bl sub_021EFEC8
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024A04
|
|
mov r2, #0x42
|
|
ldr r1, [r4]
|
|
add r0, sp, #0x1c
|
|
lsl r2, r2, #0xc
|
|
mov r3, #0
|
|
bl sub_021F074C
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x1c
|
|
bl sub_020247D4
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _0225F6BC
|
|
_0225F4EA:
|
|
add r0, r4, #0
|
|
bl sub_021EFF28
|
|
mov r2, #0x42
|
|
add r6, r0, #0
|
|
ldr r1, [r4]
|
|
add r0, sp, #0x1c
|
|
lsl r2, r2, #0xc
|
|
mov r3, #0
|
|
bl sub_021F074C
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x1c
|
|
bl sub_020247D4
|
|
cmp r6, #1
|
|
bne _0225F55E
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _0225F6BC
|
|
_0225F518:
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
mov r1, #0
|
|
mov r2, #0x10
|
|
mov r3, #3
|
|
bl sub_021EFE34
|
|
mov r0, #0xa5
|
|
mov r1, #0xa
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _0225F6BC
|
|
_0225F536:
|
|
mov r0, #0xa5
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bge _0225F55E
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl sub_021EFE44
|
|
str r0, [sp, #0x18]
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl sub_021F0DC8
|
|
ldr r0, [sp, #0x18]
|
|
cmp r0, #1
|
|
beq _0225F560
|
|
_0225F55E:
|
|
b _0225F6BC
|
|
_0225F560:
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldrb r2, [r6, #0xc]
|
|
ldr r0, [r4, r0]
|
|
add r1, r7, #0
|
|
bl ov115_02260254
|
|
mov r0, #0xd
|
|
mvn r0, r0
|
|
mov r1, #0x21
|
|
mov r2, #1
|
|
bl sub_0200B4F0
|
|
ldr r3, [r4]
|
|
ldr r0, [r5, #0x10]
|
|
asr r3, r3, #0xc
|
|
sub r3, #0x5c
|
|
ldr r0, [r0, #8]
|
|
mov r1, #2
|
|
mov r2, #0
|
|
neg r3, r3
|
|
bl sub_0201F238
|
|
mov r0, #4
|
|
mov r1, #1
|
|
bl sub_02022C60
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _0225F6BC
|
|
_0225F5A2:
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
mov r1, #0x10
|
|
mov r2, #0
|
|
mov r3, #3
|
|
bl sub_021EFE34
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _0225F6BC
|
|
_0225F5B8:
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl sub_021EFE44
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl sub_021F0DC8
|
|
cmp r6, #1
|
|
bne _0225F6BC
|
|
ldr r0, [r5]
|
|
mov r1, #0x1a
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
mov r0, #0xa5
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
b _0225F6BC
|
|
_0225F5DE:
|
|
mov r0, #0xa5
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bge _0225F6BC
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _0225F6BC
|
|
_0225F5F6:
|
|
mov r0, #0xf
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
ldr r3, _0225F63C ; =0x00007FFF
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
bl sub_0200FA24
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _0225F6BC
|
|
_0225F616:
|
|
bl sub_0200FB5C
|
|
cmp r0, #0
|
|
beq _0225F6BC
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _0225F6BC
|
|
_0225F626:
|
|
ldr r1, _0225F63C ; =0x00007FFF
|
|
b _0225F640
|
|
nop
|
|
_0225F62C: .word 0x00010200
|
|
_0225F630: .word 0x000927C0
|
|
_0225F634: .word 0x000927C1
|
|
_0225F638: .word 0xFFFC0000
|
|
_0225F63C: .word 0x00007FFF
|
|
_0225F640:
|
|
mov r0, #1
|
|
bl sub_0200FBF4
|
|
ldr r1, [r5, #0x14]
|
|
cmp r1, #0
|
|
beq _0225F650
|
|
mov r0, #1
|
|
str r0, [r1]
|
|
_0225F650:
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_02024758
|
|
mov r0, #0x7b
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov115_0225F09C
|
|
mov r1, #6
|
|
add r0, r4, #0
|
|
lsl r1, r1, #6
|
|
add r0, #0x44
|
|
add r1, r4, r1
|
|
bl sub_021F06EC
|
|
mov r1, #0x6d
|
|
add r0, r4, #0
|
|
lsl r1, r1, #2
|
|
add r0, #0x44
|
|
add r1, r4, r1
|
|
bl sub_021F06EC
|
|
add r0, r4, #0
|
|
add r0, #0x44
|
|
bl sub_021F05F4
|
|
mov r0, #0x9f
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl sub_0201D520
|
|
mov r2, #1
|
|
lsl r2, r2, #0x1a
|
|
ldr r1, [r2]
|
|
ldr r0, _0225F700 ; =0xFFFF1FFF
|
|
and r0, r1
|
|
str r0, [r2]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
mov r2, #1
|
|
bl sub_0200B4F0
|
|
ldr r0, [r5, #0x10]
|
|
mov r2, #0
|
|
ldr r0, [r0, #8]
|
|
mov r1, #2
|
|
add r3, r2, #0
|
|
bl sub_0201BC8C
|
|
add sp, #0x28
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225F6BC:
|
|
mov r3, #0xa3
|
|
lsl r3, r3, #2
|
|
ldr r0, [r4, r3]
|
|
cmp r0, #1
|
|
bne _0225F6EC
|
|
ldr r0, [r5, #0x10]
|
|
add r3, r3, #4
|
|
ldr r0, [r0, #8]
|
|
ldr r3, [r4, r3]
|
|
mov r1, #3
|
|
mov r2, #0
|
|
bl sub_0201F238
|
|
mov r3, #0x29
|
|
lsl r3, r3, #4
|
|
ldr r0, [r4, r3]
|
|
add r0, #0x1e
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x17
|
|
sub r1, r1, r2
|
|
mov r0, #0x17
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
str r0, [r4, r3]
|
|
_0225F6EC:
|
|
ldr r0, [r5]
|
|
cmp r0, #0xf
|
|
beq _0225F6F8
|
|
ldr r0, [r4, #0x44]
|
|
bl sub_0202457C
|
|
_0225F6F8:
|
|
mov r0, #0
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225F700: .word 0xFFFF1FFF
|
|
thumb_func_end ov115_0225F220
|
|
|
|
thumb_func_start ov115_0225F704
|
|
ov115_0225F704: ; 0x0225F704
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0225F724 ; =0x022603B0
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F220
|
|
cmp r0, #1
|
|
bne _0225F720
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0225F720:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225F724: .word 0x022603B0
|
|
thumb_func_end ov115_0225F704
|
|
|
|
thumb_func_start ov115_0225F728
|
|
ov115_0225F728: ; 0x0225F728
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0225F748 ; =0x022603C4
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F220
|
|
cmp r0, #1
|
|
bne _0225F744
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0225F744:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225F748: .word 0x022603C4
|
|
thumb_func_end ov115_0225F728
|
|
|
|
thumb_func_start ov115_0225F74C
|
|
ov115_0225F74C: ; 0x0225F74C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0225F76C ; =0x022603D8
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F220
|
|
cmp r0, #1
|
|
bne _0225F768
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0225F768:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225F76C: .word 0x022603D8
|
|
thumb_func_end ov115_0225F74C
|
|
|
|
thumb_func_start ov115_0225F770
|
|
ov115_0225F770: ; 0x0225F770
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0225F790 ; =0x022603EC
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F220
|
|
cmp r0, #1
|
|
bne _0225F78C
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0225F78C:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225F790: .word 0x022603EC
|
|
thumb_func_end ov115_0225F770
|
|
|
|
thumb_func_start ov115_0225F794
|
|
ov115_0225F794: ; 0x0225F794
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0225F7B4 ; =0x02260400
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F220
|
|
cmp r0, #1
|
|
bne _0225F7B0
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0225F7B0:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225F7B4: .word 0x02260400
|
|
thumb_func_end ov115_0225F794
|
|
|
|
thumb_func_start ov115_0225F7B8
|
|
ov115_0225F7B8: ; 0x0225F7B8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0225F7D8 ; =0x02260414
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F220
|
|
cmp r0, #1
|
|
bne _0225F7D4
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0225F7D4:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225F7D8: .word 0x02260414
|
|
thumb_func_end ov115_0225F7B8
|
|
|
|
thumb_func_start ov115_0225F7DC
|
|
ov115_0225F7DC: ; 0x0225F7DC
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0225F7FC ; =0x02260428
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F220
|
|
cmp r0, #1
|
|
bne _0225F7F8
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0225F7F8:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225F7FC: .word 0x02260428
|
|
thumb_func_end ov115_0225F7DC
|
|
|
|
thumb_func_start ov115_0225F800
|
|
ov115_0225F800: ; 0x0225F800
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0225F820 ; =0x0226043C
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F220
|
|
cmp r0, #1
|
|
bne _0225F81C
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0225F81C:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225F820: .word 0x0226043C
|
|
thumb_func_end ov115_0225F800
|
|
|
|
thumb_func_start ov115_0225F824
|
|
ov115_0225F824: ; 0x0225F824
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0225F844 ; =0x02260450
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F220
|
|
cmp r0, #1
|
|
bne _0225F840
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0225F840:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225F844: .word 0x02260450
|
|
thumb_func_end ov115_0225F824
|
|
|
|
thumb_func_start ov115_0225F848
|
|
ov115_0225F848: ; 0x0225F848
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0225F868 ; =0x02260464
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F220
|
|
cmp r0, #1
|
|
bne _0225F864
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0225F864:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225F868: .word 0x02260464
|
|
thumb_func_end ov115_0225F848
|
|
|
|
thumb_func_start ov115_0225F86C
|
|
ov115_0225F86C: ; 0x0225F86C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0225F88C ; =0x02260478
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F220
|
|
cmp r0, #1
|
|
bne _0225F888
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0225F888:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225F88C: .word 0x02260478
|
|
thumb_func_end ov115_0225F86C
|
|
|
|
thumb_func_start ov115_0225F890
|
|
ov115_0225F890: ; 0x0225F890
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0225F8B0 ; =0x0226048C
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F220
|
|
cmp r0, #1
|
|
bne _0225F8AC
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0225F8AC:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225F8B0: .word 0x0226048C
|
|
thumb_func_end ov115_0225F890
|
|
|
|
thumb_func_start ov115_0225F8B4
|
|
ov115_0225F8B4: ; 0x0225F8B4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0225F8D4 ; =0x022604A0
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F220
|
|
cmp r0, #1
|
|
bne _0225F8D0
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0225F8D0:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225F8D4: .word 0x022604A0
|
|
thumb_func_end ov115_0225F8B4
|
|
|
|
thumb_func_start ov115_0225F8D8
|
|
ov115_0225F8D8: ; 0x0225F8D8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0225F8F8 ; =0x022604B4
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F220
|
|
cmp r0, #1
|
|
bne _0225F8F4
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0225F8F4:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225F8F8: .word 0x022604B4
|
|
thumb_func_end ov115_0225F8D8
|
|
|
|
thumb_func_start ov115_0225F8FC
|
|
ov115_0225F8FC: ; 0x0225F8FC
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0225F91C ; =0x022604C8
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F220
|
|
cmp r0, #1
|
|
bne _0225F918
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0225F918:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225F91C: .word 0x022604C8
|
|
thumb_func_end ov115_0225F8FC
|
|
|
|
thumb_func_start ov115_0225F920
|
|
ov115_0225F920: ; 0x0225F920
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0225F940 ; =0x022604DC
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F220
|
|
cmp r0, #1
|
|
bne _0225F93C
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0225F93C:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225F940: .word 0x022604DC
|
|
thumb_func_end ov115_0225F920
|
|
|
|
thumb_func_start ov115_0225F944
|
|
ov115_0225F944: ; 0x0225F944
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0225F964 ; =_02260374
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F220
|
|
cmp r0, #1
|
|
bne _0225F960
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0225F960:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225F964: .word _02260374
|
|
thumb_func_end ov115_0225F944
|
|
|
|
thumb_func_start ov115_0225F968
|
|
ov115_0225F968: ; 0x0225F968
|
|
push {r3, lr}
|
|
ldr r0, [r0, #0xc]
|
|
bl sub_02028E9C
|
|
bl sub_02028F94
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end ov115_0225F968
|
|
|
|
thumb_func_start ov115_0225F978
|
|
ov115_0225F978: ; 0x0225F978
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x44
|
|
add r6, r0, #0
|
|
ldr r0, [r6]
|
|
str r1, [sp, #0x14]
|
|
str r2, [sp, #0x18]
|
|
ldr r4, [r6, #0xc]
|
|
cmp r0, #0xe
|
|
bls _0225F98E
|
|
bl _0226021C
|
|
_0225F98E:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225F99A: ; jump table
|
|
.short _0225F9B8 - _0225F99A - 2 ; case 0
|
|
.short _0225FAC6 - _0225F99A - 2 ; case 1
|
|
.short _0225FBAE - _0225F99A - 2 ; case 2
|
|
.short _0225FBC8 - _0225F99A - 2 ; case 3
|
|
.short _0225FBE4 - _0225F99A - 2 ; case 4
|
|
.short _0225FC0E - _0225F99A - 2 ; case 5
|
|
.short _0225FD78 - _0225F99A - 2 ; case 6
|
|
.short _0225FE4E - _0225F99A - 2 ; case 7
|
|
.short _0225FE80 - _0225F99A - 2 ; case 8
|
|
.short _0225FF02 - _0225F99A - 2 ; case 9
|
|
.short _0225FF26 - _0225F99A - 2 ; case 10
|
|
.short _0225FF4A - _0225F99A - 2 ; case 11
|
|
.short _0225FF88 - _0225F99A - 2 ; case 12
|
|
.short _02260102 - _0225F99A - 2 ; case 13
|
|
.short _022601A8 - _0225F99A - 2 ; case 14
|
|
_0225F9B8:
|
|
add r0, r1, #0
|
|
mov r1, #0xc5
|
|
lsl r1, r1, #2
|
|
bl sub_0201AA8C
|
|
mov r2, #0xc5
|
|
str r0, [r6, #0xc]
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
bl sub_020E5B44
|
|
ldr r4, [r6, #0xc]
|
|
mov r1, #0xa
|
|
add r0, r4, #0
|
|
add r0, #0x5c
|
|
mov r2, #4
|
|
bl sub_021F05C4
|
|
ldr r0, [r6, #0x10]
|
|
bl ov115_0225F968
|
|
cmp r0, #0
|
|
bne _0225FA16
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0xd0
|
|
str r0, [sp, #4]
|
|
mov r0, #0xd1
|
|
str r0, [sp, #8]
|
|
mov r2, #0xd2
|
|
str r2, [sp, #0xc]
|
|
ldr r0, _0225FD58 ; =0x000927C0
|
|
add r1, r4, #0
|
|
str r0, [sp, #0x10]
|
|
add r2, #0xc6
|
|
ldr r0, [r6, #0x20]
|
|
add r1, #0x5c
|
|
add r2, r4, r2
|
|
mov r3, #0xcf
|
|
bl sub_021F0614
|
|
mov r0, #0xc1
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r1, #0xcf
|
|
b _0225FA44
|
|
_0225FA16:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0xd4
|
|
str r0, [sp, #4]
|
|
mov r0, #0xd5
|
|
str r0, [sp, #8]
|
|
mov r2, #0xd6
|
|
str r2, [sp, #0xc]
|
|
ldr r0, _0225FD58 ; =0x000927C0
|
|
add r1, r4, #0
|
|
str r0, [sp, #0x10]
|
|
add r2, #0xc2
|
|
ldr r0, [r6, #0x20]
|
|
add r1, #0x5c
|
|
add r2, r4, r2
|
|
mov r3, #0xd3
|
|
bl sub_021F0614
|
|
mov r0, #0xc1
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r1, #0xd3
|
|
_0225FA44:
|
|
add r0, r0, #4
|
|
str r1, [r4, r0]
|
|
ldr r0, [sp, #0x18]
|
|
mov r2, #0x73
|
|
ldrh r3, [r0]
|
|
mov r0, #1
|
|
add r1, r4, #0
|
|
str r0, [sp]
|
|
add r0, r3, #1
|
|
str r0, [sp, #4]
|
|
add r0, r3, #2
|
|
str r0, [sp, #8]
|
|
add r0, r3, #3
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _0225FD5C ; =0x000927C1
|
|
lsl r2, r2, #2
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r6, #0x20]
|
|
add r1, #0x5c
|
|
add r2, r4, r2
|
|
bl sub_021F0614
|
|
mov r0, #0xc
|
|
str r0, [sp]
|
|
mov r0, #0x30
|
|
str r0, [sp, #4]
|
|
mov r0, #0x31
|
|
str r0, [sp, #8]
|
|
mov r0, #0x32
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _0225FD60 ; =0x000927C2
|
|
mov r2, #2
|
|
str r0, [sp, #0x10]
|
|
ldr r3, [sp, #0x18]
|
|
add r1, r4, #0
|
|
lsl r2, r2, #8
|
|
ldrb r3, [r3, #2]
|
|
ldr r0, [r6, #0x20]
|
|
add r1, #0x5c
|
|
add r2, r4, r2
|
|
bl sub_021F0614
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0x3c
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3d
|
|
str r0, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _0225FD64 ; =0x000927C3
|
|
mov r2, #0x8d
|
|
str r0, [sp, #0x10]
|
|
add r1, r4, #0
|
|
lsl r2, r2, #2
|
|
ldr r0, [r6, #0x20]
|
|
add r1, #0x5c
|
|
add r2, r4, r2
|
|
mov r3, #0x3b
|
|
bl sub_021F0614
|
|
ldr r0, [r6]
|
|
add r0, r0, #1
|
|
str r0, [r6]
|
|
b _0226021C
|
|
_0225FAC6:
|
|
mov r1, #2
|
|
lsl r1, r1, #0xc
|
|
add r0, sp, #0x2c
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl sub_021F074C
|
|
mov r0, #0x66
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r0, [sp, #0x1c]
|
|
str r0, [sp, #0x24]
|
|
add r0, r4, #0
|
|
str r0, [sp, #0x28]
|
|
add r0, #0x5c
|
|
mov r7, #0
|
|
add r5, r4, #0
|
|
str r0, [sp, #0x28]
|
|
_0225FAEA:
|
|
cmp r7, #3
|
|
bge _0225FAF6
|
|
mov r0, #0
|
|
ldr r1, [sp, #0x1c]
|
|
str r0, [sp, #0x20]
|
|
b _0225FB06
|
|
_0225FAF6:
|
|
sub r1, r7, #1
|
|
mov r0, #0x34
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
ldr r0, [sp, #0x24]
|
|
add r1, r0, r2
|
|
mov r0, #1
|
|
str r0, [sp, #0x20]
|
|
_0225FB06:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r2, #0
|
|
ldr r0, [sp, #0x28]
|
|
add r3, r2, #0
|
|
bl sub_021F0718
|
|
mov r1, #0x9a
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
mov r0, #0x9a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [sp, #0x20]
|
|
bl sub_020248F0
|
|
mov r0, #0x9a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl sub_02024A04
|
|
ldr r0, [sp, #0x1c]
|
|
add r7, r7, #1
|
|
add r0, #0x34
|
|
add r5, r5, #4
|
|
str r0, [sp, #0x1c]
|
|
cmp r7, #4
|
|
blt _0225FAEA
|
|
mov r2, #0x9a
|
|
mov r0, #0
|
|
lsl r2, r2, #2
|
|
str r0, [sp]
|
|
ldr r0, [r4, r2]
|
|
add r2, #0xa0
|
|
ldr r1, [sp, #0x14]
|
|
ldr r2, [r4, r2]
|
|
mov r3, #0xe
|
|
bl ov115_02260254
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r2, [sp, #0x18]
|
|
mov r0, #0x9b
|
|
lsl r0, r0, #2
|
|
ldrh r2, [r2]
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [sp, #0x14]
|
|
mov r3, #0xe
|
|
bl ov115_02260254
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl sub_02022C60
|
|
mov r0, #6
|
|
lsl r0, r0, #0x10
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x14]
|
|
mov r2, #0x29
|
|
add r1, r4, #0
|
|
mov r3, #2
|
|
lsl r2, r2, #4
|
|
str r0, [sp, #4]
|
|
add r0, r4, r2
|
|
sub r2, #0x5c
|
|
add r1, #0x5c
|
|
add r2, r4, r2
|
|
lsl r3, r3, #0x12
|
|
bl ov115_0225F020
|
|
ldr r0, [r6, #0x10]
|
|
bl sub_021F0DDC
|
|
ldr r0, [r6]
|
|
add r0, r0, #1
|
|
str r0, [r6]
|
|
b _0226021C
|
|
_0225FBAE:
|
|
mov r1, #0x10
|
|
mov r0, #1
|
|
add r2, r1, #0
|
|
add r3, r6, #4
|
|
str r0, [sp]
|
|
bl sub_021EFCF8
|
|
mov r0, #0
|
|
str r0, [r6, #8]
|
|
ldr r0, [r6]
|
|
add r0, r0, #1
|
|
str r0, [r6]
|
|
b _0226021C
|
|
_0225FBC8:
|
|
ldr r0, [r6, #8]
|
|
add r0, r0, #1
|
|
str r0, [r6, #8]
|
|
cmp r0, #8
|
|
bne _0225FBD6
|
|
bl sub_021F0E74
|
|
_0225FBD6:
|
|
ldr r0, [r6, #4]
|
|
cmp r0, #0
|
|
beq _0225FBEC
|
|
ldr r0, [r6]
|
|
add r0, r0, #1
|
|
str r0, [r6]
|
|
b _0226021C
|
|
_0225FBE4:
|
|
bl sub_021F0E90
|
|
cmp r0, #1
|
|
beq _0225FBEE
|
|
_0225FBEC:
|
|
b _0226021C
|
|
_0225FBEE:
|
|
ldr r0, [r6, #0x20]
|
|
mov r1, #0x97
|
|
bl sub_021F0F08
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
ldr r0, _0225FD68 ; =0x04000050
|
|
mov r1, #1
|
|
mov r2, #0x1e
|
|
mov r3, #0
|
|
bl sub_020CF15C
|
|
ldr r0, [r6]
|
|
add r0, r0, #1
|
|
str r0, [r6]
|
|
b _0226021C
|
|
_0225FC0E:
|
|
mov r0, #6
|
|
mov r2, #0xe
|
|
mov r3, #5
|
|
str r0, [sp]
|
|
ldr r1, _0225FD6C ; =0xFFF80000
|
|
add r0, r4, #0
|
|
lsl r2, r2, #0xe
|
|
lsl r3, r3, #0x10
|
|
bl sub_021EFEC8
|
|
mov r2, #0x17
|
|
ldr r1, [r4]
|
|
add r0, sp, #0x38
|
|
lsl r2, r2, #0xe
|
|
mov r3, #0
|
|
bl sub_021F074C
|
|
mov r0, #0x9a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x38
|
|
bl sub_020247D4
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x3c]
|
|
lsl r0, r0, #0xe
|
|
add r1, r1, r0
|
|
str r1, [sp, #0x3c]
|
|
ldr r1, [sp, #0x38]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
mov r0, #0x27
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x38
|
|
bl sub_020247D4
|
|
mov r0, #0x9a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
mov r0, #0x27
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
mov r1, #6
|
|
add r0, r4, #0
|
|
mov r2, #0x32
|
|
str r1, [sp]
|
|
ldr r3, _0225FD70 ; =0xFFFB0000
|
|
add r0, #0x30
|
|
lsl r1, r1, #0x12
|
|
lsl r2, r2, #0xe
|
|
bl sub_021EFEC8
|
|
mov r2, #0x17
|
|
ldr r1, [r4, #0x30]
|
|
add r0, sp, #0x38
|
|
lsl r2, r2, #0xe
|
|
mov r3, #0
|
|
bl sub_021F074C
|
|
mov r0, #0x9b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x38
|
|
bl sub_020247D4
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x3c]
|
|
lsl r0, r0, #0xe
|
|
add r1, r1, r0
|
|
str r1, [sp, #0x3c]
|
|
ldr r1, [sp, #0x38]
|
|
lsl r0, r0, #2
|
|
sub r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
mov r0, #0x9d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x38
|
|
bl sub_020247D4
|
|
mov r0, #0x9b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
mov r0, #0x9d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x14]
|
|
mov r1, #0x10
|
|
str r0, [sp, #4]
|
|
ldr r0, [r6, #0x20]
|
|
mov r2, #0
|
|
mov r3, #0x40
|
|
bl sub_02007B8C
|
|
mov r0, #4
|
|
mov r1, #0
|
|
bl sub_02022C60
|
|
mov r0, #0xd
|
|
str r0, [sp]
|
|
mov r0, #0xb
|
|
str r0, [sp, #4]
|
|
mov r2, #2
|
|
str r2, [sp, #8]
|
|
mov r1, #0xbd
|
|
lsl r1, r1, #2
|
|
str r2, [sp, #0xc]
|
|
mov r0, #1
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r6, #0x10]
|
|
add r1, r4, r1
|
|
ldr r0, [r0, #8]
|
|
mov r3, #0x15
|
|
bl sub_0201D40C
|
|
mov r0, #0xbd
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #0
|
|
bl sub_0201D978
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, [sp, #0x14]
|
|
ldrh r0, [r0, #6]
|
|
bl ov115_0225F158
|
|
mov r1, #0
|
|
add r5, r0, #0
|
|
str r1, [sp]
|
|
ldr r0, _0225FD74 ; =0x00010200
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0xbd
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
add r2, r5, #0
|
|
add r3, r1, #0
|
|
str r1, [sp, #0xc]
|
|
bl sub_020200FC
|
|
add r0, r5, #0
|
|
bl sub_02026380
|
|
mov r0, #3
|
|
str r0, [r6, #4]
|
|
ldr r0, [r6]
|
|
add r0, r0, #1
|
|
str r0, [r6]
|
|
b _0226021C
|
|
.align 2, 0
|
|
_0225FD58: .word 0x000927C0
|
|
_0225FD5C: .word 0x000927C1
|
|
_0225FD60: .word 0x000927C2
|
|
_0225FD64: .word 0x000927C3
|
|
_0225FD68: .word 0x04000050
|
|
_0225FD6C: .word 0xFFF80000
|
|
_0225FD70: .word 0xFFFB0000
|
|
_0225FD74: .word 0x00010200
|
|
_0225FD78:
|
|
ldr r0, [r6, #4]
|
|
cmp r0, #0
|
|
ble _0225FD9C
|
|
sub r0, r0, #1
|
|
str r0, [r6, #4]
|
|
bne _0225FDA6
|
|
mov r0, #3
|
|
bl sub_021F0FB8
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl sub_02022C60
|
|
mov r0, #4
|
|
mov r1, #1
|
|
bl sub_02022C60
|
|
b _0225FDA6
|
|
_0225FD9C:
|
|
mov r0, #0x29
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
bl ov115_0225F0B4
|
|
_0225FDA6:
|
|
add r0, r4, #0
|
|
bl sub_021EFF28
|
|
mov r2, #0x17
|
|
ldr r1, [r4]
|
|
add r0, sp, #0x38
|
|
lsl r2, r2, #0xe
|
|
mov r3, #0
|
|
bl sub_021F074C
|
|
add r5, sp, #0x38
|
|
mov r2, #0x9e
|
|
lsl r2, r2, #2
|
|
add r3, r4, r2
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
sub r2, #0x10
|
|
str r0, [r3]
|
|
ldr r0, [r4, r2]
|
|
add r1, sp, #0x38
|
|
bl sub_020247D4
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x3c]
|
|
lsl r0, r0, #0xe
|
|
add r1, r1, r0
|
|
str r1, [sp, #0x3c]
|
|
ldr r1, [sp, #0x38]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
mov r0, #0x27
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x38
|
|
bl sub_020247D4
|
|
add r0, r4, #0
|
|
add r0, #0x30
|
|
bl sub_021EFF28
|
|
mov r2, #0x17
|
|
add r7, r0, #0
|
|
ldr r1, [r4, #0x30]
|
|
add r0, sp, #0x38
|
|
lsl r2, r2, #0xe
|
|
mov r3, #0
|
|
bl sub_021F074C
|
|
add r5, sp, #0x38
|
|
mov r2, #0xa1
|
|
lsl r2, r2, #2
|
|
add r3, r4, r2
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
sub r2, #0x18
|
|
str r0, [r3]
|
|
ldr r0, [r4, r2]
|
|
add r1, sp, #0x38
|
|
bl sub_020247D4
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x3c]
|
|
lsl r0, r0, #0xe
|
|
add r1, r1, r0
|
|
str r1, [sp, #0x3c]
|
|
ldr r1, [sp, #0x38]
|
|
lsl r0, r0, #2
|
|
sub r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
mov r0, #0x9d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x38
|
|
bl sub_020247D4
|
|
cmp r7, #1
|
|
bne _0225FF3C
|
|
ldr r0, [r6]
|
|
add r0, r0, #1
|
|
str r0, [r6]
|
|
b _0226021C
|
|
_0225FE4E:
|
|
mov r0, #0x29
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
bl ov115_0225F0B4
|
|
add r5, r0, #0
|
|
bl sub_021F1044
|
|
cmp r5, #0
|
|
beq _0225FF3C
|
|
cmp r0, #0
|
|
beq _0225FF3C
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
mov r1, #0
|
|
mov r2, #0x10
|
|
mov r3, #3
|
|
bl sub_021EFE34
|
|
bl sub_021F1060
|
|
ldr r0, [r6]
|
|
add r0, r0, #1
|
|
str r0, [r6]
|
|
b _0226021C
|
|
_0225FE80:
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
bl sub_021EFE44
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
bl sub_021F0DC8
|
|
cmp r5, #1
|
|
bne _0225FF3C
|
|
mov r3, #0
|
|
mov r2, #0x9a
|
|
str r3, [sp]
|
|
lsl r2, r2, #2
|
|
ldr r0, [r4, r2]
|
|
add r2, #0xa0
|
|
ldr r1, [sp, #0x14]
|
|
ldr r2, [r4, r2]
|
|
bl ov115_02260254
|
|
mov r3, #0
|
|
mov r0, #0x9b
|
|
ldr r2, [sp, #0x18]
|
|
str r3, [sp]
|
|
lsl r0, r0, #2
|
|
ldrh r2, [r2]
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [sp, #0x14]
|
|
bl ov115_02260254
|
|
mov r0, #0x27
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_0202484C
|
|
mov r0, #0x27
|
|
lsl r0, r0, #4
|
|
mov r1, #2
|
|
ldr r0, [r4, r0]
|
|
lsl r1, r1, #0xc
|
|
bl sub_02024868
|
|
mov r0, #0x9d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_0202484C
|
|
mov r0, #0x9d
|
|
lsl r0, r0, #2
|
|
mov r1, #2
|
|
ldr r0, [r4, r0]
|
|
lsl r1, r1, #0xc
|
|
bl sub_02024868
|
|
ldr r0, [r6, #0x20]
|
|
mov r1, #0x98
|
|
bl sub_021F0F08
|
|
ldr r0, [r6]
|
|
add r0, r0, #1
|
|
str r0, [r6]
|
|
b _0226021C
|
|
_0225FF02:
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
mov r1, #0x10
|
|
mov r2, #0
|
|
mov r3, #6
|
|
bl sub_021EFE34
|
|
mov r0, #4
|
|
bl sub_021F0FB8
|
|
mov r0, #0
|
|
mov r1, #1
|
|
bl sub_0201BB68
|
|
ldr r0, [r6]
|
|
add r0, r0, #1
|
|
str r0, [r6]
|
|
b _0226021C
|
|
_0225FF26:
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
bl sub_021EFE44
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
bl sub_021F0DC8
|
|
cmp r5, #1
|
|
beq _0225FF3E
|
|
_0225FF3C:
|
|
b _0226021C
|
|
_0225FF3E:
|
|
ldr r0, [r6]
|
|
add r0, r0, #1
|
|
str r0, [r6]
|
|
mov r0, #8
|
|
str r0, [r6, #4]
|
|
b _0226021C
|
|
_0225FF4A:
|
|
ldr r0, [r6, #4]
|
|
cmp r0, #0
|
|
ble _0225FF56
|
|
sub r0, r0, #1
|
|
str r0, [r6, #4]
|
|
b _0226021C
|
|
_0225FF56:
|
|
add r0, r2, #0
|
|
ldrb r0, [r0, #3]
|
|
mov r1, #0
|
|
ldr r2, _02260248 ; =0xFFFFE000
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r3, r1, #0
|
|
bl sub_021EFEC8
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #0
|
|
ldrb r0, [r0, #3]
|
|
ldr r2, _02260248 ; =0xFFFFE000
|
|
add r3, r1, #0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl sub_021EFEC8
|
|
mov r0, #0
|
|
str r0, [r6, #4]
|
|
ldr r0, [r6]
|
|
add r0, r0, #1
|
|
str r0, [r6]
|
|
b _0226021C
|
|
_0225FF88:
|
|
ldr r0, [r6, #4]
|
|
add r0, r0, #1
|
|
str r0, [r6, #4]
|
|
add r0, r4, #0
|
|
bl sub_021EFF28
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl sub_021EFF28
|
|
ldr r1, [r6, #4]
|
|
lsr r0, r1, #0x1f
|
|
add r0, r1, r0
|
|
asr r0, r0, #1
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
add r0, sp, #0x38
|
|
bne _0225FFD0
|
|
mov r2, #0x9e
|
|
lsl r2, r2, #2
|
|
ldr r3, [r4, r2]
|
|
ldr r1, [r4]
|
|
add r2, r2, #4
|
|
add r1, r3, r1
|
|
ldr r3, [r4, r2]
|
|
ldr r2, [r4, #0x18]
|
|
add r2, r3, r2
|
|
mov r3, #0
|
|
bl sub_021F074C
|
|
b _0225FFE8
|
|
_0225FFD0:
|
|
mov r2, #0x9e
|
|
lsl r2, r2, #2
|
|
ldr r3, [r4, r2]
|
|
ldr r1, [r4]
|
|
add r2, r2, #4
|
|
sub r1, r3, r1
|
|
ldr r3, [r4, r2]
|
|
ldr r2, [r4, #0x18]
|
|
sub r2, r3, r2
|
|
mov r3, #0
|
|
bl sub_021F074C
|
|
_0225FFE8:
|
|
cmp r5, #0
|
|
beq _0225FFFC
|
|
mov r0, #0x9e
|
|
lsl r0, r0, #2
|
|
add r3, sp, #0x38
|
|
add r2, r4, r0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
str r0, [r2]
|
|
_0225FFFC:
|
|
mov r0, #0x9a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x38
|
|
bl sub_020247D4
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x3c]
|
|
lsl r0, r0, #0xe
|
|
add r1, r1, r0
|
|
str r1, [sp, #0x3c]
|
|
ldr r1, [sp, #0x38]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
mov r0, #0x27
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x38
|
|
bl sub_020247D4
|
|
ldr r1, [r6, #4]
|
|
lsr r0, r1, #0x1f
|
|
add r0, r1, r0
|
|
asr r0, r0, #1
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
add r0, sp, #0x38
|
|
bne _02260058
|
|
mov r2, #0xa1
|
|
lsl r2, r2, #2
|
|
ldr r3, [r4, r2]
|
|
ldr r1, [r4]
|
|
add r2, r2, #4
|
|
sub r1, r3, r1
|
|
ldr r3, [r4, r2]
|
|
ldr r2, [r4, #0x18]
|
|
sub r2, r3, r2
|
|
mov r3, #0
|
|
bl sub_021F074C
|
|
b _02260070
|
|
_02260058:
|
|
mov r2, #0xa1
|
|
lsl r2, r2, #2
|
|
ldr r3, [r4, r2]
|
|
ldr r1, [r4]
|
|
add r2, r2, #4
|
|
add r1, r3, r1
|
|
ldr r3, [r4, r2]
|
|
ldr r2, [r4, #0x18]
|
|
add r2, r3, r2
|
|
mov r3, #0
|
|
bl sub_021F074C
|
|
_02260070:
|
|
cmp r5, #0
|
|
beq _02260084
|
|
mov r0, #0xa1
|
|
lsl r0, r0, #2
|
|
add r3, sp, #0x38
|
|
add r2, r4, r0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
str r0, [r2]
|
|
_02260084:
|
|
mov r0, #0x9b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x38
|
|
bl sub_020247D4
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x3c]
|
|
lsl r0, r0, #0xe
|
|
add r1, r1, r0
|
|
str r1, [sp, #0x3c]
|
|
ldr r1, [sp, #0x38]
|
|
lsl r0, r0, #2
|
|
sub r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
mov r0, #0x9d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x38
|
|
bl sub_020247D4
|
|
cmp r5, #0
|
|
bne _022600B4
|
|
b _0226021C
|
|
_022600B4:
|
|
ldr r0, [r6]
|
|
mov r1, #0
|
|
add r0, r0, #1
|
|
str r0, [r6]
|
|
mov r0, #4
|
|
bl sub_02022C60
|
|
mov r2, #3
|
|
mov r0, #0x10
|
|
lsl r2, r2, #0x12
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
lsr r3, r2, #3
|
|
bl sub_021EFEC8
|
|
mov r0, #0x10
|
|
mov r2, #3
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
lsl r2, r2, #0x12
|
|
add r0, #0x18
|
|
mov r1, #0
|
|
lsr r3, r2, #3
|
|
bl sub_021EFEC8
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
ldr r3, _0226024C ; =0x00007FFF
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
bl sub_0200FA24
|
|
b _0226021C
|
|
_02260102:
|
|
add r0, r4, #0
|
|
bl sub_021EFF28
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl sub_021EFF28
|
|
mov r2, #0x9e
|
|
lsl r2, r2, #2
|
|
ldr r3, [r4, r2]
|
|
ldr r1, [r4]
|
|
add r2, r2, #4
|
|
sub r1, r3, r1
|
|
ldr r3, [r4, r2]
|
|
ldr r2, [r4, #0x18]
|
|
add r0, sp, #0x38
|
|
sub r2, r3, r2
|
|
mov r3, #0
|
|
bl sub_021F074C
|
|
mov r0, #0x9a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x38
|
|
bl sub_020247D4
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x3c]
|
|
lsl r0, r0, #0xe
|
|
add r1, r1, r0
|
|
str r1, [sp, #0x3c]
|
|
ldr r1, [sp, #0x38]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
mov r0, #0x27
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x38
|
|
bl sub_020247D4
|
|
mov r2, #0xa1
|
|
lsl r2, r2, #2
|
|
ldr r3, [r4, r2]
|
|
ldr r1, [r4]
|
|
add r2, r2, #4
|
|
add r1, r3, r1
|
|
ldr r3, [r4, r2]
|
|
ldr r2, [r4, #0x18]
|
|
add r0, sp, #0x38
|
|
add r2, r3, r2
|
|
mov r3, #0
|
|
bl sub_021F074C
|
|
mov r0, #0x9b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x38
|
|
bl sub_020247D4
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x3c]
|
|
lsl r0, r0, #0xe
|
|
add r1, r1, r0
|
|
str r1, [sp, #0x3c]
|
|
ldr r1, [sp, #0x38]
|
|
lsl r0, r0, #2
|
|
sub r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
mov r0, #0x9d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x38
|
|
bl sub_020247D4
|
|
bl sub_0200FB5C
|
|
cmp r0, #0
|
|
beq _0226021C
|
|
ldr r0, [r6]
|
|
add r0, r0, #1
|
|
str r0, [r6]
|
|
b _0226021C
|
|
_022601A8:
|
|
ldr r1, _0226024C ; =0x00007FFF
|
|
mov r0, #1
|
|
bl sub_0200FBF4
|
|
ldr r1, [r6, #0x14]
|
|
cmp r1, #0
|
|
beq _022601BA
|
|
mov r0, #1
|
|
str r0, [r1]
|
|
_022601BA:
|
|
mov r0, #0x29
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
bl ov115_0225F09C
|
|
mov r0, #0xbd
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl sub_0201D520
|
|
mov r7, #0x9a
|
|
mov r6, #0
|
|
add r5, r4, #0
|
|
lsl r7, r7, #2
|
|
_022601D6:
|
|
ldr r0, [r5, r7]
|
|
bl sub_02024758
|
|
add r6, r6, #1
|
|
add r5, r5, #4
|
|
cmp r6, #4
|
|
blt _022601D6
|
|
mov r0, #0x66
|
|
lsl r0, r0, #2
|
|
add r7, r4, #0
|
|
mov r6, #0
|
|
add r5, r4, r0
|
|
add r7, #0x5c
|
|
_022601F0:
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
bl sub_021F06EC
|
|
add r6, r6, #1
|
|
add r5, #0x34
|
|
cmp r6, #4
|
|
blt _022601F0
|
|
add r4, #0x5c
|
|
add r0, r4, #0
|
|
bl sub_021F05F4
|
|
bl sub_021F1060
|
|
bl sub_021F0EC0
|
|
ldr r0, _02260250 ; =0x04000050
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
add sp, #0x44
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0226021C:
|
|
ldr r0, [r6]
|
|
cmp r0, #0xe
|
|
beq _02260242
|
|
ldr r0, [r4, #0x5c]
|
|
bl sub_0202457C
|
|
ldr r0, [r6]
|
|
cmp r0, #4
|
|
ble _02260242
|
|
bl sub_02026E48
|
|
bl sub_021F1008
|
|
bl sub_021F0EAC
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl sub_02026E50
|
|
_02260242:
|
|
mov r0, #0
|
|
add sp, #0x44
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02260248: .word 0xFFFFE000
|
|
_0226024C: .word 0x00007FFF
|
|
_02260250: .word 0x04000050
|
|
thumb_func_end ov115_0225F978
|
|
|
|
thumb_func_start ov115_02260254
|
|
ov115_02260254: ; 0x02260254
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r1, #0
|
|
add r7, r0, #0
|
|
add r6, r2, #0
|
|
add r0, r5, #0
|
|
mov r1, #0x20
|
|
str r3, [sp, #4]
|
|
bl sub_0201AA8C
|
|
add r4, r0, #0
|
|
mov r0, #0x6d
|
|
add r1, r6, #0
|
|
add r2, sp, #8
|
|
add r3, r5, #0
|
|
bl sub_020079F4
|
|
add r5, r0, #0
|
|
add r0, sp, #0x10
|
|
ldrh r0, [r0, #0x10]
|
|
add r1, r4, #0
|
|
mov r2, #0x10
|
|
str r0, [sp]
|
|
ldr r0, [sp, #8]
|
|
ldr r3, [sp, #4]
|
|
ldr r0, [r0, #0xc]
|
|
bl sub_02003DE8
|
|
add r0, r7, #0
|
|
bl sub_02024B34
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #0x20
|
|
bl DC_FlushRange
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl sub_020B8078
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
mov r2, #0x20
|
|
bl sub_020CFD18
|
|
add r0, r4, #0
|
|
bl sub_0201AB0C
|
|
add r0, r5, #0
|
|
bl sub_0201AB0C
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end ov115_02260254
|
|
|
|
thumb_func_start ov115_022602C0
|
|
ov115_022602C0: ; 0x022602C0
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _022602E0 ; =0x02260388
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F978
|
|
cmp r0, #1
|
|
bne _022602DC
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_022602DC:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_022602E0: .word 0x02260388
|
|
thumb_func_end ov115_022602C0
|
|
|
|
thumb_func_start ov115_022602E4
|
|
ov115_022602E4: ; 0x022602E4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _02260304 ; =0x02260390
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F978
|
|
cmp r0, #1
|
|
bne _02260300
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_02260300:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02260304: .word 0x02260390
|
|
thumb_func_end ov115_022602E4
|
|
|
|
thumb_func_start ov115_02260308
|
|
ov115_02260308: ; 0x02260308
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _02260328 ; =0x02260398
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F978
|
|
cmp r0, #1
|
|
bne _02260324
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_02260324:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02260328: .word 0x02260398
|
|
thumb_func_end ov115_02260308
|
|
|
|
thumb_func_start ov115_0226032C
|
|
ov115_0226032C: ; 0x0226032C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _0226034C ; =0x022603A0
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F978
|
|
cmp r0, #1
|
|
bne _02260348
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_02260348:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0226034C: .word 0x022603A0
|
|
thumb_func_end ov115_0226032C
|
|
|
|
thumb_func_start ov115_02260350
|
|
ov115_02260350: ; 0x02260350
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r2, _02260370 ; =0x022603A8
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov115_0225F978
|
|
cmp r0, #1
|
|
bne _0226036C
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl sub_021EFCDC
|
|
_0226036C:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02260370: .word 0x022603A8
|
|
thumb_func_end ov115_02260350
|
|
|
|
.rodata
|
|
|
|
_02260374:
|
|
.byte 0x00, 0x60, 0x0D, 0x00, 0x09, 0x01, 0x00, 0x00, 0x17, 0x00, 0x01, 0x00
|
|
.byte 0x7F, 0x80, 0x81, 0x82, 0x2D, 0x2C, 0x2E, 0x00, 0x83, 0x00, 0x2F, 0x20, 0x57, 0x00, 0xF5, 0x00
|
|
.byte 0x87, 0x00, 0x33, 0x20, 0x59, 0x00, 0xF7, 0x00, 0x8B, 0x00, 0x34, 0x20, 0x70, 0x00, 0xA2, 0x01
|
|
.byte 0x8F, 0x00, 0x35, 0x20, 0x58, 0x00, 0xF6, 0x00, 0x93, 0x00, 0x36, 0x09, 0x56, 0x00, 0xF4, 0x00
|
|
.byte 0x00, 0x60, 0x0D, 0x00, 0x14, 0x00, 0x00, 0x00, 0x42, 0x00, 0x01, 0x00, 0x3F, 0x40, 0x41, 0x42
|
|
.byte 0x15, 0x14, 0x16, 0x00, 0x00, 0x60, 0x0D, 0x00, 0x15, 0x00, 0x00, 0x00, 0x43, 0x00, 0x01, 0x00
|
|
.byte 0x43, 0x44, 0x45, 0x46, 0x18, 0x17, 0x19, 0x00, 0x00, 0x60, 0x0D, 0x00, 0x1E, 0x00, 0x00, 0x00
|
|
.byte 0x46, 0x00, 0x00, 0x00, 0x47, 0x48, 0x49, 0x4A, 0x1B, 0x1A, 0x1C, 0x00, 0x00, 0x60, 0x0D, 0x00
|
|
.byte 0x1F, 0x00, 0x00, 0x00, 0x48, 0x00, 0x01, 0x00, 0x4B, 0x4C, 0x4D, 0x4E, 0x1E, 0x1D, 0x1F, 0x00
|
|
.byte 0x00, 0x60, 0x0D, 0x00, 0x21, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x01, 0x00, 0x4F, 0x50, 0x51, 0x52
|
|
.byte 0x21, 0x20, 0x22, 0x00, 0x00, 0x60, 0x0D, 0x00, 0x22, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x01, 0x00
|
|
.byte 0x53, 0x54, 0x55, 0x56, 0x24, 0x23, 0x25, 0x00, 0x00, 0x60, 0x0D, 0x00, 0x20, 0x00, 0x00, 0x00
|
|
.byte 0x49, 0x00, 0x01, 0x00, 0x57, 0x58, 0x59, 0x5A, 0x27, 0x26, 0x28, 0x00, 0x00, 0x60, 0x0D, 0x00
|
|
.byte 0x23, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x01, 0x00, 0x5B, 0x5C, 0x5D, 0x5E, 0x2A, 0x29, 0x2B, 0x00
|
|
.byte 0x00, 0x60, 0x0D, 0x00, 0xFD, 0x00, 0x00, 0x00, 0x62, 0x00, 0x01, 0x00, 0x5F, 0x60, 0x61, 0x62
|
|
.byte 0x15, 0x14, 0x16, 0x00, 0x00, 0x60, 0x0D, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x67, 0x00, 0x01, 0x00
|
|
.byte 0x63, 0x64, 0x65, 0x66, 0x18, 0x17, 0x19, 0x00, 0x00, 0x60, 0x0D, 0x00, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0x68, 0x00, 0x00, 0x00, 0x67, 0x68, 0x69, 0x6A, 0x1B, 0x1A, 0x1C, 0x00, 0x00, 0x60, 0x0D, 0x00
|
|
.byte 0x00, 0x01, 0x00, 0x00, 0x69, 0x00, 0x01, 0x00, 0x6B, 0x6C, 0x6D, 0x6E, 0x1E, 0x1D, 0x1F, 0x00
|
|
.byte 0x00, 0x60, 0x0D, 0x00, 0x01, 0x01, 0x00, 0x00, 0x6A, 0x00, 0x01, 0x00, 0x6F, 0x70, 0x71, 0x72
|
|
.byte 0x21, 0x20, 0x22, 0x00, 0x00, 0x60, 0x0D, 0x00, 0x02, 0x01, 0x00, 0x00, 0x6B, 0x00, 0x01, 0x00
|
|
.byte 0x73, 0x74, 0x75, 0x76, 0x24, 0x23, 0x25, 0x00, 0x00, 0x60, 0x0D, 0x00, 0x03, 0x01, 0x00, 0x00
|
|
.byte 0x6C, 0x00, 0x01, 0x00, 0x77, 0x78, 0x79, 0x7A, 0x27, 0x26, 0x28, 0x00, 0x00, 0x60, 0x0D, 0x00
|
|
.byte 0x05, 0x01, 0x00, 0x00, 0x6E, 0x00, 0x01, 0x00, 0x7B, 0x7C, 0x7D, 0x7E, 0x2A, 0x29, 0x2B, 0x00
|
|
; 0x022604F0
|