mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-04-26 00:32:20 -05:00
2359 lines
46 KiB
ArmAsm
2359 lines
46 KiB
ArmAsm
.include "macros/function.inc"
|
|
.include "include/gpiinfo.inc"
|
|
|
|
|
|
|
|
.text
|
|
|
|
|
|
arm_func_start ov4_021EF924
|
|
ov4_021EF924: ; 0x021EF924
|
|
stmfd sp!, {r3, r4, r5, lr}
|
|
cmp r0, #0
|
|
cmpeq r1, #0
|
|
cmpeq r2, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
cmp r0, #0
|
|
cmpge r1, #0
|
|
cmpge r2, #0
|
|
movlt r0, #0
|
|
ldmltia sp!, {r3, r4, r5, pc}
|
|
cmp r1, #0xc
|
|
addls pc, pc, r1, lsl #2
|
|
b _021EFA2C
|
|
_021EF95C: ; jump table
|
|
b _021EF990 ; case 0
|
|
b _021EF9A0 ; case 1
|
|
b _021EF9C0 ; case 2
|
|
b _021EF9A0 ; case 3
|
|
b _021EF9B0 ; case 4
|
|
b _021EF9A0 ; case 5
|
|
b _021EF9B0 ; case 6
|
|
b _021EF9A0 ; case 7
|
|
b _021EF9A0 ; case 8
|
|
b _021EF9B0 ; case 9
|
|
b _021EF9A0 ; case 10
|
|
b _021EF9B0 ; case 11
|
|
b _021EF9A0 ; case 12
|
|
_021EF990:
|
|
cmp r0, #0
|
|
beq _021EFA34
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021EF9A0:
|
|
cmp r0, #0x1f
|
|
ble _021EFA34
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021EF9B0:
|
|
cmp r0, #0x1e
|
|
ble _021EFA34
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021EF9C0:
|
|
mov r4, r2, lsr #0x1f
|
|
rsb r3, r4, r2, lsl #30
|
|
adds r3, r4, r3, ror #30
|
|
bne _021EF9EC
|
|
ldr ip, _021EFA7C ; =0x51EB851F
|
|
mov lr, #0x64
|
|
smull r3, r5, ip, r2
|
|
add r5, r4, r5, asr #5
|
|
smull r3, ip, lr, r5
|
|
subs r5, r2, r3
|
|
bne _021EFA0C
|
|
_021EF9EC:
|
|
ldr lr, _021EFA7C ; =0x51EB851F
|
|
mov r3, r2, lsr #0x1f
|
|
smull ip, r4, lr, r2
|
|
add r4, r3, r4, asr #7
|
|
mov lr, #0x190
|
|
smull r3, ip, lr, r4
|
|
subs r4, r2, r3
|
|
bne _021EFA1C
|
|
_021EFA0C:
|
|
cmp r0, #0x1d
|
|
ble _021EFA34
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021EFA1C:
|
|
cmp r0, #0x1c
|
|
ble _021EFA34
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021EFA2C:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021EFA34:
|
|
ldr ip, _021EFA80 ; =0x0000076C
|
|
cmp r2, ip
|
|
movlt r0, #0
|
|
ldmltia sp!, {r3, r4, r5, pc}
|
|
add r3, ip, #0xb3
|
|
cmp r2, r3
|
|
movgt r0, #0
|
|
ldmgtia sp!, {r3, r4, r5, pc}
|
|
bne _021EFA74
|
|
cmp r1, #6
|
|
movgt r0, #0
|
|
ldmgtia sp!, {r3, r4, r5, pc}
|
|
bne _021EFA74
|
|
cmp r0, #6
|
|
movgt r0, #0
|
|
ldmgtia sp!, {r3, r4, r5, pc}
|
|
_021EFA74:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
; .align 2, 0
|
|
_021EFA7C: .word 0x51EB851F
|
|
_021EFA80: .word 0x0000076C
|
|
arm_func_end ov4_021EF924
|
|
|
|
arm_func_start ov4_021EFA84
|
|
ov4_021EFA84: ; 0x021EFA84
|
|
stmfd sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
mov lr, r1, asr #0x18
|
|
mov ip, r1, asr #0x10
|
|
mov r1, r1, lsl #0x10
|
|
and r5, ip, #0xff
|
|
and r4, lr, #0xff
|
|
mov sb, r0
|
|
mov r6, r1, lsr #0x10
|
|
mov r8, r2
|
|
mov r0, r4
|
|
mov r1, r5
|
|
mov r2, r6
|
|
mov r7, r3
|
|
bl ov4_021EF924
|
|
cmp r0, #0
|
|
bne _021EFAD8
|
|
ldr r0, _021EFB1C ; =0x022185DC
|
|
ldr r1, _021EFB20 ; =0x022185C0
|
|
ldr r2, _021EFB24 ; =0x0221859C
|
|
mov r3, #0xb7
|
|
bl __msl_assertion_failed
|
|
_021EFAD8:
|
|
mov r0, r4
|
|
mov r1, r5
|
|
mov r2, r6
|
|
bl ov4_021EF924
|
|
cmp r0, #0
|
|
bne _021EFB04
|
|
ldr r1, _021EFB28 ; =0x022185CC
|
|
mov r0, sb
|
|
bl ov4_021F5D68
|
|
mov r0, #2
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
_021EFB04:
|
|
str r4, [r8]
|
|
ldr r0, [sp, #0x20]
|
|
str r5, [r7, #0]
|
|
str r6, [r0, #0]
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
; .align 2, 0
|
|
_021EFB1C: .word Unk_ov4_022185DC
|
|
_021EFB20: .word Unk_ov4_022185C0
|
|
_021EFB24: .word Unk_ov4_0221859C
|
|
_021EFB28: .word Unk_ov4_022185CC
|
|
arm_func_end ov4_021EFA84
|
|
|
|
arm_func_start ov4_021EFB2C
|
|
ov4_021EFB2C: ; 0x021EFB2C
|
|
stmfd sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
ldr r1, [r5, #0]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r4, #8]
|
|
beq _021EFB58
|
|
add r0, r4, #8
|
|
mov r2, #0x1f
|
|
bl ov4_021F5820
|
|
_021EFB58:
|
|
ldr r1, [r5, #4]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r4, #0x27]
|
|
beq _021EFB78
|
|
add r0, r4, #0x27
|
|
mov r2, #0x15
|
|
bl ov4_021F5820
|
|
_021EFB78:
|
|
ldr r1, [r5, #8]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r4, #0x3c]
|
|
beq _021EFB98
|
|
add r0, r4, #0x3c
|
|
mov r2, #0x33
|
|
bl ov4_021F5820
|
|
_021EFB98:
|
|
ldr r1, [r5, #0xc]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r4, #0x6f]
|
|
beq _021EFBB8
|
|
add r0, r4, #0x6f
|
|
mov r2, #0x1f
|
|
bl ov4_021F5820
|
|
_021EFBB8:
|
|
ldr r1, [r5, #0x10]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r4, #0x8e]
|
|
beq _021EFBD8
|
|
add r0, r4, #0x8e
|
|
mov r2, #0x1f
|
|
bl ov4_021F5820
|
|
_021EFBD8:
|
|
ldr r1, [r5, #0x14]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r4, #0xad]
|
|
beq _021EFBF8
|
|
add r0, r4, #0xad
|
|
mov r2, #0x4c
|
|
bl ov4_021F5820
|
|
_021EFBF8:
|
|
ldr r3, [r5, #0x18]
|
|
add r0, r4, #0x100
|
|
add r1, r5, #0x1c
|
|
mov r2, #0xb
|
|
str r3, [r4, #0xfc]
|
|
bl ov4_021F5820
|
|
add r0, r4, #0xb
|
|
add r0, r0, #0x100
|
|
add r1, r5, #0x27
|
|
mov r2, #3
|
|
bl ov4_021F5820
|
|
ldr r0, [r5, #0x2c]
|
|
adds r1, r5, #0x34
|
|
str r0, [r4, #0x110]
|
|
ldr r0, [r5, #0x30]
|
|
str r0, [r4, #0x114]
|
|
moveq r0, #0
|
|
streqb r0, [r4, #0x118]
|
|
beq _021EFC50
|
|
add r0, r4, #0x118
|
|
mov r2, #0x80
|
|
bl ov4_021F5820
|
|
_021EFC50:
|
|
ldr r0, [r5, #0xb4]
|
|
str r0, [r4, #0x198]
|
|
ldr r0, [r5, #0xb8]
|
|
str r0, [r4, #0x19c]
|
|
ldr r0, [r5, #0xbc]
|
|
str r0, [r4, #0x1a0]
|
|
ldr r0, [r5, #0xc0]
|
|
str r0, [r4, #0x1a4]
|
|
ldr r0, [r5, #0xc4]
|
|
str r0, [r4, #0x1a8]
|
|
ldr r1, [r5, #0xc8]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
streqb r0, [r4, #0x1ac]
|
|
beq _021EFC98
|
|
add r0, r4, #0x1ac
|
|
mov r2, #0x33
|
|
bl ov4_021F5820
|
|
_021EFC98:
|
|
ldr r0, [r5, #0x18]
|
|
str r0, [r4, #0xfc]
|
|
ldr r0, [r5, #0x2c]
|
|
str r0, [r4, #0x110]
|
|
ldr r0, [r5, #0x30]
|
|
str r0, [r4, #0x114]
|
|
ldr r0, [r5, #0xb4]
|
|
str r0, [r4, #0x198]
|
|
ldr r0, [r5, #0xb8]
|
|
str r0, [r4, #0x19c]
|
|
ldr r0, [r5, #0xbc]
|
|
str r0, [r4, #0x1a0]
|
|
ldr r0, [r5, #0xc0]
|
|
str r0, [r4, #0x1a4]
|
|
ldr r0, [r5, #0xc4]
|
|
str r0, [r4, #0x1a8]
|
|
ldr r0, [r5, #0xcc]
|
|
str r0, [r4, #0x1e0]
|
|
ldr r0, [r5, #0xd0]
|
|
str r0, [r4, #0x1e4]
|
|
ldr r0, [r5, #0xd4]
|
|
str r0, [r4, #0x1e8]
|
|
ldr r0, [r5, #0xd8]
|
|
str r0, [r4, #0x1ec]
|
|
ldr r0, [r5, #0xdc]
|
|
str r0, [r4, #0x1f0]
|
|
ldr r0, [r5, #0xe0]
|
|
str r0, [r4, #0x1f4]
|
|
ldr r0, [r5, #0xe4]
|
|
str r0, [r4, #0x1f8]
|
|
ldr r0, [r5, #0xe8]
|
|
str r0, [r4, #0x1fc]
|
|
ldr r0, [r5, #0xec]
|
|
str r0, [r4, #0x200]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end ov4_021EFB2C
|
|
|
|
arm_func_start ov4_021EFD24
|
|
ov4_021EFD24: ; 0x021EFD24
|
|
stmfd sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x268
|
|
mov r4, r2
|
|
mov sl, r0
|
|
mov fp, r1
|
|
mov r1, r4
|
|
mov r2, #1
|
|
ldr r6, [sl]
|
|
bl ov4_021F58A0
|
|
cmp r0, #0
|
|
addne sp, sp, #0x268
|
|
movne r0, #4
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r1, _021F04AC ; =0x022185F4
|
|
mov r0, r4
|
|
mov r2, #4
|
|
bl strncmp
|
|
cmp r0, #0
|
|
beq _021EFD9C
|
|
ldr r2, _021F04B0 ; =0x022185FC
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov4_021F5D44
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov4_021EDE68
|
|
add sp, sp, #0x268
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021EFD9C:
|
|
ldr r1, _021F04B4 ; =0x0221862C
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
bne _021EFDE4
|
|
ldr r2, _021F04B0 ; =0x022185FC
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov4_021F5D44
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov4_021EDE68
|
|
add sp, sp, #0x268
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021EFDE4:
|
|
add r0, sp, #0xec
|
|
bl atoi
|
|
mov sb, r0
|
|
cmp sb, #0
|
|
bgt _021EFE0C
|
|
ldr r0, _021F04B8 ; =0x02218638
|
|
ldr r1, _021F04BC ; =0x022185C0
|
|
ldr r2, _021F04C0 ; =0x022185AC
|
|
ldr r3, _021F04C4 ; =0x0000015A
|
|
bl __msl_assertion_failed
|
|
_021EFE0C:
|
|
add r2, sp, #0x10
|
|
mov r0, sl
|
|
mov r1, sb
|
|
bl ov4_021F32A8
|
|
mov r0, #0
|
|
add r7, sp, #0x178
|
|
mov r1, r0
|
|
mov r2, r0
|
|
mov r3, r0
|
|
mov r5, #7
|
|
_021EFE34:
|
|
stmia r7!, {r0, r1, r2, r3}
|
|
stmia r7!, {r0, r1, r2, r3}
|
|
subs r5, r5, #1
|
|
bne _021EFE34
|
|
stmia r7!, {r0, r1, r2, r3}
|
|
add r3, sp, #0xb8
|
|
add r1, sp, #0x66
|
|
add r2, sp, #0xcd
|
|
add r5, sp, #0x85
|
|
add r0, sp, #0x47
|
|
str r3, [sp, #0x17c]
|
|
add r3, sp, #0x12c
|
|
str r1, [sp, #0x184]
|
|
str r5, [sp, #0x180]
|
|
add r5, sp, #0x14
|
|
str r0, [sp, #0x188]
|
|
str r3, [sp, #0x18c]
|
|
ldr r1, _021F04C8 ; =0x02218648
|
|
mov r0, r4
|
|
mov r3, #0x1f
|
|
str r2, [sp, #0x178]
|
|
str r5, [sp, #0x240]
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
ldreq r0, [sp, #0x178]
|
|
moveq r1, #0
|
|
streqb r1, [r0]
|
|
ldr r2, [sp, #0x17c]
|
|
ldr r1, _021F04CC ; =0x02218650
|
|
mov r0, r4
|
|
mov r3, #0x15
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
ldreq r0, [sp, #0x17c]
|
|
moveq r1, #0
|
|
streqb r1, [r0]
|
|
ldr r2, [sp, #0x180]
|
|
ldr r1, _021F04D0 ; =0x02218660
|
|
mov r0, r4
|
|
mov r3, #0x33
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
ldreq r0, [sp, #0x180]
|
|
moveq r1, #0
|
|
streqb r1, [r0]
|
|
ldr r2, [sp, #0x184]
|
|
ldr r1, _021F04D4 ; =0x02218668
|
|
mov r0, r4
|
|
mov r3, #0x1f
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
ldreq r0, [sp, #0x184]
|
|
moveq r1, #0
|
|
streqb r1, [r0]
|
|
ldr r2, [sp, #0x188]
|
|
ldr r1, _021F04D8 ; =0x02218674
|
|
mov r0, r4
|
|
mov r3, #0x1f
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
ldreq r0, [sp, #0x188]
|
|
moveq r1, #0
|
|
streqb r1, [r0]
|
|
ldr r1, _021F04DC ; =0x02218680
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
mvneq r0, #0
|
|
streq r0, [sp, #0x190]
|
|
beq _021EFF60
|
|
add r0, sp, #0xec
|
|
bl atoi
|
|
str r0, [sp, #0x190]
|
|
_021EFF60:
|
|
ldr r2, [sp, #0x18c]
|
|
ldr r1, _021F04E0 ; =0x0221868C
|
|
mov r0, r4
|
|
mov r3, #0x4c
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
ldreq r0, [sp, #0x18c]
|
|
moveq r1, #0
|
|
streqb r1, [r0]
|
|
ldr r1, _021F04E4 ; =0x02218698
|
|
add r2, sp, #0x194
|
|
mov r0, r4
|
|
mov r3, #0xb
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
add r2, sp, #0x100
|
|
streqb r0, [sp, #0x194]
|
|
ldr r1, _021F04E8 ; =0x022186A4
|
|
add r2, r2, #0x9f
|
|
mov r0, r4
|
|
mov r3, #3
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streqb r0, [sp, #0x19f]
|
|
ldr r1, _021F04EC ; =0x022186B4
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x1a4]
|
|
beq _021EFFFC
|
|
add r0, sp, #0xec
|
|
bl atof
|
|
bl _d_dtof
|
|
str r0, [sp, #0x1a4]
|
|
_021EFFFC:
|
|
ldr r1, _021F04F0 ; =0x022186BC
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x1a8]
|
|
beq _021F0030
|
|
add r0, sp, #0xec
|
|
bl atof
|
|
bl _d_dtof
|
|
str r0, [sp, #0x1a8]
|
|
_021F0030:
|
|
ldr r1, _021F04F4 ; =0x022186C4
|
|
add r2, sp, #0x1ac
|
|
mov r0, r4
|
|
mov r3, #0x80
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streqb r0, [sp, #0x1ac]
|
|
ldr r1, _021F04F8 ; =0x022186CC
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
bne _021F0080
|
|
mov r0, #0
|
|
str r0, [sp, #0x22c]
|
|
str r0, [sp, #0x230]
|
|
str r0, [sp, #0x234]
|
|
b _021F00B0
|
|
_021F0080:
|
|
add r0, sp, #0xec
|
|
bl atoi
|
|
add r5, sp, #0x234
|
|
mov r1, r0
|
|
add r2, sp, #0x22c
|
|
add r3, sp, #0x230
|
|
mov r0, sl
|
|
str r5, [sp]
|
|
bl ov4_021EFA84
|
|
cmp r0, #0
|
|
addne sp, sp, #0x268
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021F00B0:
|
|
ldr r1, _021F04FC ; =0x022186D8
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
ldreq r0, _021F0500 ; =0x00000502
|
|
streq r0, [sp, #0x238]
|
|
beq _021F00FC
|
|
ldrsb r0, [sp, #0xec]
|
|
cmp r0, #0x30
|
|
moveq r0, #0x500
|
|
streq r0, [sp, #0x238]
|
|
beq _021F00FC
|
|
cmp r0, #0x31
|
|
ldreq r0, _021F0504 ; =0x00000501
|
|
streq r0, [sp, #0x238]
|
|
ldrne r0, _021F0500 ; =0x00000502
|
|
strne r0, [sp, #0x238]
|
|
_021F00FC:
|
|
ldr r1, _021F0508 ; =0x022186E0
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
mvneq r0, #0
|
|
streq r0, [sp, #0x23c]
|
|
beq _021F012C
|
|
add r0, sp, #0xec
|
|
bl atoi
|
|
str r0, [sp, #0x23c]
|
|
_021F012C:
|
|
ldr r2, [sp, #0x240]
|
|
ldr r1, _021F050C ; =0x022186E8
|
|
mov r0, r4
|
|
mov r3, #0x33
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
ldreq r0, [sp, #0x240]
|
|
moveq r1, #0
|
|
streqb r1, [r0]
|
|
ldr r1, _021F0510 ; =0x022186F0
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x244]
|
|
beq _021F0180
|
|
add r0, sp, #0xec
|
|
bl atoi
|
|
str r0, [sp, #0x244]
|
|
_021F0180:
|
|
ldr r1, _021F0514 ; =0x022186F8
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x248]
|
|
beq _021F01B0
|
|
add r0, sp, #0xec
|
|
bl atoi
|
|
str r0, [sp, #0x248]
|
|
_021F01B0:
|
|
ldr r1, _021F0518 ; =0x02218700
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x24c]
|
|
beq _021F01E0
|
|
add r0, sp, #0xec
|
|
bl atoi
|
|
str r0, [sp, #0x24c]
|
|
_021F01E0:
|
|
ldr r1, _021F051C ; =0x02218708
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x250]
|
|
beq _021F0210
|
|
add r0, sp, #0xec
|
|
bl atoi
|
|
str r0, [sp, #0x250]
|
|
_021F0210:
|
|
ldr r1, _021F0520 ; =0x02218710
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x254]
|
|
beq _021F0240
|
|
add r0, sp, #0xec
|
|
bl atoi
|
|
str r0, [sp, #0x254]
|
|
_021F0240:
|
|
ldr r1, _021F0524 ; =0x02218718
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x258]
|
|
beq _021F0270
|
|
add r0, sp, #0xec
|
|
bl atoi
|
|
str r0, [sp, #0x258]
|
|
_021F0270:
|
|
ldr r1, _021F0528 ; =0x02218720
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x25c]
|
|
beq _021F02A0
|
|
add r0, sp, #0xec
|
|
bl atoi
|
|
str r0, [sp, #0x25c]
|
|
_021F02A0:
|
|
ldr r1, _021F052C ; =0x02218728
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x260]
|
|
beq _021F02D0
|
|
add r0, sp, #0xec
|
|
bl atoi
|
|
str r0, [sp, #0x260]
|
|
_021F02D0:
|
|
ldr r1, _021F0530 ; =0x02218730
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
streq r0, [sp, #0x264]
|
|
beq _021F0300
|
|
add r0, sp, #0xec
|
|
bl atoi
|
|
str r0, [sp, #0x264]
|
|
_021F0300:
|
|
ldr r1, _021F0534 ; =0x02218738
|
|
add r2, sp, #0xec
|
|
mov r0, r4
|
|
mov r3, #0x40
|
|
bl ov4_021F5978
|
|
cmp r0, #0
|
|
bne _021F0348
|
|
ldr r2, _021F04B0 ; =0x022185FC
|
|
mov r0, sl
|
|
mov r1, #1
|
|
bl ov4_021F5D44
|
|
mov r0, sl
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl ov4_021EDE68
|
|
add sp, sp, #0x268
|
|
mov r0, #3
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021F0348:
|
|
ldr r7, [r6, #0x434]
|
|
ldr r8, [r6, #0x100]
|
|
cmp r7, #0
|
|
beq _021F03A4
|
|
mov r5, #0x66
|
|
mov r4, #1
|
|
_021F0360:
|
|
ldr r0, [r7, #0xc]
|
|
cmp r0, sb
|
|
ldreq r0, [r7]
|
|
cmpeq r0, #0x65
|
|
bne _021F0398
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
bne _021F0390
|
|
mov r0, sl
|
|
mov r1, sb
|
|
bl ov4_021F31C4
|
|
str r0, [sp, #0x10]
|
|
_021F0390:
|
|
mov r8, r4
|
|
str r5, [r7, #0]
|
|
_021F0398:
|
|
ldr r7, [r7, #0x3c]
|
|
cmp r7, #0
|
|
bne _021F0360
|
|
_021F03A4:
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
bne _021F03CC
|
|
ldr r0, [r6, #0x100]
|
|
cmp r0, #0
|
|
beq _021F03CC
|
|
mov r0, sl
|
|
mov r1, sb
|
|
bl ov4_021F31C4
|
|
str r0, [sp, #0x10]
|
|
_021F03CC:
|
|
cmp r8, #0
|
|
beq _021F03FC
|
|
ldr r0, [sp, #0x10]
|
|
ldr r0, [r0, #0x18]
|
|
bl ov4_021D78B0
|
|
ldr r1, [sp, #0x10]
|
|
mov r2, #0
|
|
add r0, sp, #0xec
|
|
str r2, [r1, #0x18]
|
|
bl ov4_021EA8AC
|
|
ldr r1, [sp, #0x10]
|
|
str r0, [r1, #0x18]
|
|
_021F03FC:
|
|
ldr r0, [r6, #0x100]
|
|
cmp r0, #0
|
|
beq _021F0418
|
|
ldr r1, [sp, #0x10]
|
|
add r2, sp, #0x178
|
|
mov r0, sl
|
|
bl ov4_021F1564
|
|
_021F0418:
|
|
ldr r1, [fp, #0xc]
|
|
ldr r0, [fp, #0x10]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
cmp r1, #0
|
|
beq _021F0494
|
|
mov r0, #0x204
|
|
bl ov4_021D7880
|
|
movs r4, r0
|
|
bne _021F0458
|
|
ldr r1, _021F0538 ; =0x02218740
|
|
mov r0, sl
|
|
bl ov4_021F5D68
|
|
add sp, sp, #0x268
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021F0458:
|
|
add r0, sp, #0x178
|
|
mov r1, r4
|
|
bl ov4_021EFB2C
|
|
mov r2, #0
|
|
stmia r4, {r2, sb}
|
|
str fp, [sp]
|
|
add r1, sp, #8
|
|
str r2, [sp, #4]
|
|
mov r0, sl
|
|
mov r3, r4
|
|
ldmia r1, {r1, r2}
|
|
bl ov4_021EDF5C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x268
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_021F0494:
|
|
mov r0, sl
|
|
mov r1, fp
|
|
bl ov4_021F1BA8
|
|
mov r0, #0
|
|
add sp, sp, #0x268
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
; .align 2, 0
|
|
_021F04AC: .word Unk_ov4_022185F4
|
|
_021F04B0: .word Unk_ov4_022185FC
|
|
_021F04B4: .word Unk_ov4_0221862C
|
|
_021F04B8: .word Unk_ov4_02218638
|
|
_021F04BC: .word Unk_ov4_022185C0
|
|
_021F04C0: .word Unk_ov4_022185AC
|
|
_021F04C4: .word 0x0000015A
|
|
_021F04C8: .word Unk_ov4_02218648
|
|
_021F04CC: .word Unk_ov4_02218650
|
|
_021F04D0: .word Unk_ov4_02218660
|
|
_021F04D4: .word Unk_ov4_02218668
|
|
_021F04D8: .word Unk_ov4_02218674
|
|
_021F04DC: .word Unk_ov4_02218680
|
|
_021F04E0: .word Unk_ov4_0221868C
|
|
_021F04E4: .word Unk_ov4_02218698
|
|
_021F04E8: .word Unk_ov4_022186A4
|
|
_021F04EC: .word Unk_ov4_022186B4
|
|
_021F04F0: .word Unk_ov4_022186BC
|
|
_021F04F4: .word Unk_ov4_022186C4
|
|
_021F04F8: .word Unk_ov4_022186CC
|
|
_021F04FC: .word Unk_ov4_022186D8
|
|
_021F0500: .word 0x00000502
|
|
_021F0504: .word 0x00000501
|
|
_021F0508: .word Unk_ov4_022186E0
|
|
_021F050C: .word Unk_ov4_022186E8
|
|
_021F0510: .word Unk_ov4_022186F0
|
|
_021F0514: .word Unk_ov4_022186F8
|
|
_021F0518: .word Unk_ov4_02218700
|
|
_021F051C: .word Unk_ov4_02218708
|
|
_021F0520: .word Unk_ov4_02218710
|
|
_021F0524: .word Unk_ov4_02218718
|
|
_021F0528: .word Unk_ov4_02218720
|
|
_021F052C: .word Unk_ov4_02218728
|
|
_021F0530: .word Unk_ov4_02218730
|
|
_021F0534: .word Unk_ov4_02218738
|
|
_021F0538: .word Unk_ov4_02218740
|
|
arm_func_end ov4_021EFD24
|
|
|
|
arm_func_start ov4_021F053C
|
|
ov4_021F053C: ; 0x021F053C
|
|
stmfd sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
ldr r4, [r6, #0]
|
|
mov r5, r1
|
|
ldr r2, [r4, #0x448]
|
|
cmp r2, #0
|
|
ble _021F0598
|
|
ldr r2, _021F05F4 ; =0x02218750
|
|
bl ov4_021ED5C4
|
|
ldr r2, [r4, #0x198]
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov4_021ED5F4
|
|
ldr r2, [r4, #0x440]
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov4_021ED5C4
|
|
ldr r2, _021F05F8 ; =0x02218768
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov4_021ED5C4
|
|
mov r0, #0
|
|
str r0, [r4, #0x448]
|
|
_021F0598:
|
|
ldr r0, [r4, #0x458]
|
|
cmp r0, #0
|
|
ble _021F05EC
|
|
ldr r2, _021F05FC ; =0x02218770
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov4_021ED5C4
|
|
ldr r2, [r4, #0x198]
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov4_021ED5F4
|
|
ldr r2, [r4, #0x450]
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov4_021ED5C4
|
|
ldr r2, _021F05F8 ; =0x02218768
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl ov4_021ED5C4
|
|
mov r0, #0
|
|
str r0, [r4, #0x458]
|
|
_021F05EC:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
; .align 2, 0
|
|
_021F05F4: .word Unk_ov4_02218750
|
|
_021F05F8: .word Unk_ov4_02218768
|
|
_021F05FC: .word Unk_ov4_02218770
|
|
arm_func_end ov4_021F053C
|
|
|
|
arm_func_start ov4_021F0600
|
|
ov4_021F0600: ; 0x021F0600
|
|
stmfd sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
ldr r4, [r6, #0]
|
|
mov r5, r2
|
|
mov r2, r1
|
|
add r1, r4, #0x440
|
|
bl ov4_021ED5C4
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r0, r6
|
|
mov r2, r5
|
|
add r1, r4, #0x440
|
|
bl ov4_021ED5C4
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov4_021F0600
|
|
|
|
arm_func_start ov4_021F0640
|
|
ov4_021F0640: ; 0x021F0640
|
|
stmfd sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
ldr r4, [r6, #0]
|
|
mov r5, r2
|
|
mov r2, r1
|
|
add r1, r4, #0x450
|
|
bl ov4_021ED5C4
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r0, r6
|
|
mov r2, r5
|
|
add r1, r4, #0x450
|
|
bl ov4_021ED5C4
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov4_021F0640
|
|
|
|
arm_func_start ov4_021F0680
|
|
ov4_021F0680: ; 0x021F0680
|
|
stmfd sp!, {r4, lr}
|
|
sub sp, sp, #0x10
|
|
sub r1, r1, #6
|
|
sub r1, r1, #0x700
|
|
mov r4, r0
|
|
cmp r1, #0x18
|
|
addls pc, pc, r1, lsl #2
|
|
b _021F0AC4
|
|
_021F06A0: ; jump table
|
|
b _021F07D8 ; case 0
|
|
b _021F0AC4 ; case 1
|
|
b _021F0704 ; case 2
|
|
b _021F0AC4 ; case 3
|
|
b _021F0AC4 ; case 4
|
|
b _021F074C ; case 5
|
|
b _021F0804 ; case 6
|
|
b _021F0830 ; case 7
|
|
b _021F085C ; case 8
|
|
b _021F0AC4 ; case 9
|
|
b _021F0894 ; case 10
|
|
b _021F0AC4 ; case 11
|
|
b _021F08CC ; case 12
|
|
b _021F0904 ; case 13
|
|
b _021F0930 ; case 14
|
|
b _021F095C ; case 15
|
|
b _021F0AC4 ; case 16
|
|
b _021F0AC4 ; case 17
|
|
b _021F0990 ; case 18
|
|
b _021F09BC ; case 19
|
|
b _021F09E8 ; case 20
|
|
b _021F0A14 ; case 21
|
|
b _021F0A40 ; case 22
|
|
b _021F0A6C ; case 23
|
|
b _021F0A98 ; case 24
|
|
_021F0704:
|
|
cmp r2, #0
|
|
bge _021F0720
|
|
ldr r1, _021F0AE8 ; =0x02218784
|
|
bl ov4_021F5D68
|
|
add sp, sp, #0x10
|
|
mov r0, #2
|
|
ldmia sp!, {r4, pc}
|
|
_021F0720:
|
|
ldr r1, _021F0AEC ; =0x02218798
|
|
add r0, sp, #0
|
|
bl sprintf
|
|
ldr r1, _021F0AF0 ; =0x02218698
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F074C:
|
|
cmp r2, #0x500
|
|
beq _021F0770
|
|
ldr r1, _021F0AF4 ; =0x00000501
|
|
cmp r2, r1
|
|
beq _021F078C
|
|
add r1, r1, #1
|
|
cmp r2, r1
|
|
beq _021F07A8
|
|
b _021F07C4
|
|
_021F0770:
|
|
ldr r1, _021F0AF8 ; =0x022186D8
|
|
ldr r2, _021F0AFC ; =0x0221879C
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F078C:
|
|
ldr r1, _021F0AF8 ; =0x022186D8
|
|
ldr r2, _021F0B00 ; =0x022187A0
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F07A8:
|
|
ldr r1, _021F0AF8 ; =0x022186D8
|
|
ldr r2, _021F0B04 ; =0x022187A4
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F07C4:
|
|
ldr r1, _021F0B08 ; =0x022187A8
|
|
bl ov4_021F5D68
|
|
add sp, sp, #0x10
|
|
mov r0, #2
|
|
ldmia sp!, {r4, pc}
|
|
_021F07D8:
|
|
ldr r1, _021F0AEC ; =0x02218798
|
|
add r0, sp, #0
|
|
bl sprintf
|
|
ldr r1, _021F0B0C ; =0x02218680
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F0804:
|
|
ldr r1, _021F0AEC ; =0x02218798
|
|
add r0, sp, #0
|
|
bl sprintf
|
|
ldr r1, _021F0B10 ; =0x022187B8
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov4_021F0640
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F0830:
|
|
ldr r1, _021F0AEC ; =0x02218798
|
|
add r0, sp, #0
|
|
bl sprintf
|
|
ldr r1, _021F0B14 ; =0x022187C8
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov4_021F0640
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F085C:
|
|
mov r0, r2, asr #3
|
|
add r2, r2, r0, lsr #28
|
|
ldr r1, _021F0AEC ; =0x02218798
|
|
add r0, sp, #0
|
|
mov r2, r2, asr #4
|
|
bl sprintf
|
|
ldr r1, _021F0B18 ; =0x022187D4
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov4_021F0640
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F0894:
|
|
mov r0, r2, asr #1
|
|
add r2, r2, r0, lsr #30
|
|
ldr r1, _021F0AEC ; =0x02218798
|
|
add r0, sp, #0
|
|
mov r2, r2, asr #2
|
|
bl sprintf
|
|
ldr r1, _021F0B1C ; =0x022187E0
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov4_021F0640
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F08CC:
|
|
mov r0, r2, asr #1
|
|
add r2, r2, r0, lsr #30
|
|
ldr r1, _021F0AEC ; =0x02218798
|
|
add r0, sp, #0
|
|
mov r2, r2, asr #2
|
|
bl sprintf
|
|
ldr r1, _021F0B20 ; =0x022187F0
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov4_021F0640
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F0904:
|
|
ldr r1, _021F0AEC ; =0x02218798
|
|
add r0, sp, #0
|
|
bl sprintf
|
|
ldr r1, _021F0B24 ; =0x02218800
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov4_021F0640
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F0930:
|
|
ldr r1, _021F0AEC ; =0x02218798
|
|
add r0, sp, #0
|
|
bl sprintf
|
|
ldr r1, _021F0B28 ; =0x02218810
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov4_021F0640
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F095C:
|
|
ldr r1, _021F0AEC ; =0x02218798
|
|
cmp r2, #0
|
|
movne r2, #1
|
|
add r0, sp, #0
|
|
bl sprintf
|
|
ldr r1, _021F0B2C ; =0x02218824
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov4_021F0640
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F0990:
|
|
ldr r1, _021F0AEC ; =0x02218798
|
|
add r0, sp, #0
|
|
bl sprintf
|
|
ldr r1, _021F0B30 ; =0x022186F0
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F09BC:
|
|
ldr r1, _021F0AEC ; =0x02218798
|
|
add r0, sp, #0
|
|
bl sprintf
|
|
ldr r1, _021F0B34 ; =0x022186F8
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F09E8:
|
|
ldr r1, _021F0AEC ; =0x02218798
|
|
add r0, sp, #0
|
|
bl sprintf
|
|
ldr r1, _021F0B38 ; =0x02218700
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F0A14:
|
|
ldr r1, _021F0AEC ; =0x02218798
|
|
add r0, sp, #0
|
|
bl sprintf
|
|
ldr r1, _021F0B3C ; =0x02218708
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F0A40:
|
|
ldr r1, _021F0AEC ; =0x02218798
|
|
add r0, sp, #0
|
|
bl sprintf
|
|
ldr r1, _021F0B40 ; =0x02218710
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F0A6C:
|
|
ldr r1, _021F0AEC ; =0x02218798
|
|
add r0, sp, #0
|
|
bl sprintf
|
|
ldr r1, _021F0B44 ; =0x02218718
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F0A98:
|
|
ldr r1, _021F0AEC ; =0x02218798
|
|
add r0, sp, #0
|
|
bl sprintf
|
|
ldr r1, _021F0B48 ; =0x02218720
|
|
add r2, sp, #0
|
|
mov r0, r4
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F0ADC
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_021F0AC4:
|
|
ldr r1, _021F0B4C ; =0x02218834
|
|
mov r0, r4
|
|
bl ov4_021F5D68
|
|
add sp, sp, #0x10
|
|
mov r0, #2
|
|
ldmia sp!, {r4, pc}
|
|
_021F0ADC:
|
|
mov r0, #0
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
; .align 2, 0
|
|
_021F0AE8: .word Unk_ov4_02218784
|
|
_021F0AEC: .word Unk_ov4_02218798
|
|
_021F0AF0: .word Unk_ov4_02218698
|
|
_021F0AF4: .word 0x00000501
|
|
_021F0AF8: .word Unk_ov4_022186D8
|
|
_021F0AFC: .word Unk_ov4_0221879C
|
|
_021F0B00: .word Unk_ov4_022187A0
|
|
_021F0B04: .word Unk_ov4_022187A4
|
|
_021F0B08: .word Unk_ov4_022187A8
|
|
_021F0B0C: .word Unk_ov4_02218680
|
|
_021F0B10: .word Unk_ov4_022187B8
|
|
_021F0B14: .word Unk_ov4_022187C8
|
|
_021F0B18: .word Unk_ov4_022187D4
|
|
_021F0B1C: .word Unk_ov4_022187E0
|
|
_021F0B20: .word Unk_ov4_022187F0
|
|
_021F0B24: .word Unk_ov4_02218800
|
|
_021F0B28: .word Unk_ov4_02218810
|
|
_021F0B2C: .word Unk_ov4_02218824
|
|
_021F0B30: .word Unk_ov4_022186F0
|
|
_021F0B34: .word Unk_ov4_022186F8
|
|
_021F0B38: .word Unk_ov4_02218700
|
|
_021F0B3C: .word Unk_ov4_02218708
|
|
_021F0B40: .word Unk_ov4_02218710
|
|
_021F0B44: .word Unk_ov4_02218718
|
|
_021F0B48: .word Unk_ov4_02218720
|
|
_021F0B4C: .word Unk_ov4_02218834
|
|
arm_func_end ov4_021F0680
|
|
|
|
arm_func_start ov4_021F0B50
|
|
ov4_021F0B50: ; 0x021F0B50
|
|
stmfd sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x100
|
|
mov r6, r0
|
|
movs r5, r2
|
|
ldr r4, [r6, #0]
|
|
bne _021F0B7C
|
|
ldr r1, _021F12A0 ; =0x02218844
|
|
bl ov4_021F5D68
|
|
add sp, sp, #0x100
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0B7C:
|
|
sub r1, r1, #0x700
|
|
cmp r1, #0x1e
|
|
addls pc, pc, r1, lsl #2
|
|
b _021F127C
|
|
_021F0B8C: ; jump table
|
|
b _021F0C08 ; case 0
|
|
b _021F0C68 ; case 1
|
|
b _021F0CCC ; case 2
|
|
b _021F0D34 ; case 3
|
|
b _021F0D98 ; case 4
|
|
b _021F0DC8 ; case 5
|
|
b _021F0F4C ; case 6
|
|
b _021F0DF8 ; case 7
|
|
b _021F0E28 ; case 8
|
|
b _021F0E58 ; case 9
|
|
b _021F127C ; case 10
|
|
b _021F0EB0 ; case 11
|
|
b _021F127C ; case 12
|
|
b _021F0F7C ; case 13
|
|
b _021F0FA4 ; case 14
|
|
b _021F0FCC ; case 15
|
|
b _021F0FFC ; case 16
|
|
b _021F1024 ; case 17
|
|
b _021F1054 ; case 18
|
|
b _021F127C ; case 19
|
|
b _021F107C ; case 20
|
|
b _021F10A4 ; case 21
|
|
b _021F10CC ; case 22
|
|
b _021F10FC ; case 23
|
|
b _021F112C ; case 24
|
|
b _021F115C ; case 25
|
|
b _021F118C ; case 26
|
|
b _021F11BC ; case 27
|
|
b _021F11EC ; case 28
|
|
b _021F121C ; case 29
|
|
b _021F124C ; case 30
|
|
_021F0C08:
|
|
ldrsb r1, [r5]
|
|
cmp r1, #0
|
|
bne _021F0C28
|
|
ldr r1, _021F12A0 ; =0x02218844
|
|
bl ov4_021F5D68
|
|
add sp, sp, #0x100
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0C28:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x1f
|
|
bl ov4_021F5820
|
|
add r1, sp, #0
|
|
add r0, r4, #0x110
|
|
mov r2, #0x1f
|
|
bl ov4_021F5820
|
|
ldr r1, _021F12A4 ; =0x02218648
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0C68:
|
|
ldrsb r1, [r5]
|
|
cmp r1, #0
|
|
bne _021F0C88
|
|
ldr r1, _021F12A0 ; =0x02218844
|
|
bl ov4_021F5D68
|
|
add sp, sp, #0x100
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0C88:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x15
|
|
bl ov4_021F5820
|
|
add r0, r4, #0x2f
|
|
add r1, sp, #0
|
|
add r0, r0, #0x100
|
|
mov r2, #0x15
|
|
bl ov4_021F5820
|
|
ldr r1, _021F12A8 ; =0x02218650
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0CCC:
|
|
ldrsb r1, [r5]
|
|
cmp r1, #0
|
|
bne _021F0CEC
|
|
ldr r1, _021F12A0 ; =0x02218844
|
|
bl ov4_021F5D68
|
|
add sp, sp, #0x100
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0CEC:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x33
|
|
bl ov4_021F5820
|
|
add r0, sp, #0
|
|
bl ov4_021EA8E0
|
|
add r1, sp, #0
|
|
add r0, r4, #0x144
|
|
mov r2, #0x33
|
|
bl ov4_021F5820
|
|
ldr r1, _021F12AC ; =0x02218660
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0640
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0D34:
|
|
ldrsb r1, [r5]
|
|
cmp r1, #0
|
|
bne _021F0D54
|
|
ldr r1, _021F12A0 ; =0x02218844
|
|
bl ov4_021F5D68
|
|
add sp, sp, #0x100
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0D54:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x1f
|
|
bl ov4_021F5820
|
|
add r0, r4, #0x77
|
|
add r1, sp, #0
|
|
add r0, r0, #0x100
|
|
mov r2, #0x1f
|
|
bl ov4_021F5820
|
|
ldr r1, _021F12B0 ; =0x02218854
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0640
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0D98:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x1f
|
|
bl ov4_021F5820
|
|
ldr r1, _021F12B4 ; =0x02218668
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0DC8:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x1f
|
|
bl ov4_021F5820
|
|
ldr r1, _021F12B8 ; =0x02218674
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0DF8:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x4c
|
|
bl ov4_021F5820
|
|
ldr r1, _021F12BC ; =0x0221868C
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0E28:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0xb
|
|
bl ov4_021F5820
|
|
ldr r1, _021F12C0 ; =0x02218698
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0E58:
|
|
mov r0, r5
|
|
bl strlen
|
|
cmp r0, #2
|
|
beq _021F0E80
|
|
ldr r1, _021F12C4 ; =0x02218860
|
|
mov r0, r6
|
|
bl ov4_021F5D68
|
|
add sp, sp, #0x100
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0E80:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #3
|
|
bl ov4_021F5820
|
|
ldr r1, _021F12C8 ; =0x022186A4
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0EB0:
|
|
ldrsb r1, [r5]
|
|
cmp r1, #0
|
|
blt _021F0ECC
|
|
cmp r1, #0x80
|
|
bge _021F0ECC
|
|
ldr r0, _021F12CC ; =0x020FE7E4
|
|
ldrb r1, [r0, r1]
|
|
_021F0ECC:
|
|
mov r0, r1, lsl #0x18
|
|
mov r0, r0, asr #0x18
|
|
cmp r0, #0x4d
|
|
add r2, sp, #0
|
|
bne _021F0EF8
|
|
ldr r0, _021F12D0 ; =0x0221879C
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r0, #1]
|
|
strb r1, [r2]
|
|
strb r0, [r2, #1]
|
|
b _021F0F2C
|
|
_021F0EF8:
|
|
cmp r0, #0x46
|
|
bne _021F0F18
|
|
ldr r0, _021F12D4 ; =0x022187A0
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r0, #1]
|
|
strb r1, [r2]
|
|
strb r0, [r2, #1]
|
|
b _021F0F2C
|
|
_021F0F18:
|
|
ldr r0, _021F12D8 ; =0x022187A4
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r0, #1]
|
|
strb r1, [r2]
|
|
strb r0, [r2, #1]
|
|
_021F0F2C:
|
|
ldr r1, _021F12DC ; =0x022186D8
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0F4C:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov4_021F5820
|
|
ldr r1, _021F12E0 ; =0x02218680
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0F7C:
|
|
mov r0, r5
|
|
bl atoi
|
|
mov r2, r0
|
|
ldr r1, _021F12E4 ; =0x0000070D
|
|
mov r0, r6
|
|
bl ov4_021F0680
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0FA4:
|
|
mov r0, r5
|
|
bl atoi
|
|
mov r2, r0
|
|
ldr r1, _021F12E8 ; =0x0000070E
|
|
mov r0, r6
|
|
bl ov4_021F0680
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0FCC:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov4_021F5820
|
|
ldr r1, _021F12EC ; =0x02218878
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F0FFC:
|
|
mov r0, r5
|
|
bl atoi
|
|
mov r2, r0
|
|
mov r0, r6
|
|
mov r1, #0x710
|
|
bl ov4_021F0680
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F1024:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov4_021F5820
|
|
ldr r1, _021F12F0 ; =0x0221888C
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F1054:
|
|
mov r0, r5
|
|
bl atoi
|
|
mov r2, r0
|
|
ldr r1, _021F12F4 ; =0x00000712
|
|
mov r0, r6
|
|
bl ov4_021F0680
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F107C:
|
|
mov r0, r5
|
|
bl atoi
|
|
mov r2, r0
|
|
ldr r1, _021F12F8 ; =0x00000714
|
|
mov r0, r6
|
|
bl ov4_021F0680
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F10A4:
|
|
mov r0, r5
|
|
bl atoi
|
|
mov r2, r0
|
|
ldr r1, _021F12FC ; =0x00000715
|
|
mov r0, r6
|
|
bl ov4_021F0680
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F10CC:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov4_021F5820
|
|
ldr r1, _021F1300 ; =0x022188A0
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F10FC:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x33
|
|
bl ov4_021F5820
|
|
ldr r1, _021F1304 ; =0x022186E8
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F112C:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov4_021F5820
|
|
ldr r1, _021F1308 ; =0x022186F0
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F115C:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov4_021F5820
|
|
ldr r1, _021F130C ; =0x022186F8
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F118C:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov4_021F5820
|
|
ldr r1, _021F1310 ; =0x02218700
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F11BC:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov4_021F5820
|
|
ldr r1, _021F1314 ; =0x02218708
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F11EC:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov4_021F5820
|
|
ldr r1, _021F1318 ; =0x02218710
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F121C:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov4_021F5820
|
|
ldr r1, _021F131C ; =0x02218718
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F124C:
|
|
add r0, sp, #0
|
|
mov r1, r5
|
|
mov r2, #0x100
|
|
bl ov4_021F5820
|
|
ldr r1, _021F1320 ; =0x02218720
|
|
add r2, sp, #0
|
|
mov r0, r6
|
|
bl ov4_021F0600
|
|
cmp r0, #0
|
|
beq _021F1294
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F127C:
|
|
ldr r1, _021F1324 ; =0x02218834
|
|
mov r0, r6
|
|
bl ov4_021F5D68
|
|
add sp, sp, #0x100
|
|
mov r0, #2
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021F1294:
|
|
mov r0, #0
|
|
add sp, sp, #0x100
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
; .align 2, 0
|
|
_021F12A0: .word Unk_ov4_02218844
|
|
_021F12A4: .word Unk_ov4_02218648
|
|
_021F12A8: .word Unk_ov4_02218650
|
|
_021F12AC: .word Unk_ov4_02218660
|
|
_021F12B0: .word Unk_ov4_02218854
|
|
_021F12B4: .word Unk_ov4_02218668
|
|
_021F12B8: .word Unk_ov4_02218674
|
|
_021F12BC: .word Unk_ov4_0221868C
|
|
_021F12C0: .word Unk_ov4_02218698
|
|
_021F12C4: .word Unk_ov4_02218860
|
|
_021F12C8: .word Unk_ov4_022186A4
|
|
_021F12CC: .word 0x020FE7E4
|
|
_021F12D0: .word Unk_ov4_0221879C
|
|
_021F12D4: .word Unk_ov4_022187A0
|
|
_021F12D8: .word Unk_ov4_022187A4
|
|
_021F12DC: .word Unk_ov4_022186D8
|
|
_021F12E0: .word Unk_ov4_02218680
|
|
_021F12E4: .word 0x0000070D
|
|
_021F12E8: .word 0x0000070E
|
|
_021F12EC: .word Unk_ov4_02218878
|
|
_021F12F0: .word Unk_ov4_0221888C
|
|
_021F12F4: .word 0x00000712
|
|
_021F12F8: .word 0x00000714
|
|
_021F12FC: .word 0x00000715
|
|
_021F1300: .word Unk_ov4_022188A0
|
|
_021F1304: .word Unk_ov4_022186E8
|
|
_021F1308: .word Unk_ov4_022186F0
|
|
_021F130C: .word Unk_ov4_022186F8
|
|
_021F1310: .word Unk_ov4_02218700
|
|
_021F1314: .word Unk_ov4_02218708
|
|
_021F1318: .word Unk_ov4_02218710
|
|
_021F131C: .word Unk_ov4_02218718
|
|
_021F1320: .word Unk_ov4_02218720
|
|
_021F1324: .word Unk_ov4_02218834
|
|
arm_func_end ov4_021F0B50
|
|
|
|
arm_func_start ov4_021F1328
|
|
ov4_021F1328: ; 0x021F1328
|
|
stmfd sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
ldr r4, [r7, #0]
|
|
mov r5, r2
|
|
mov r6, r1
|
|
ldr r2, _021F13B0 ; =0x022188AC
|
|
add r1, r4, #0x1f4
|
|
bl ov4_021ED5C4
|
|
ldr r2, [r4, #0x198]
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov4_021ED5F4
|
|
ldr r2, _021F13B4 ; =0x0221862C
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov4_021ED5C4
|
|
mov r2, r6
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov4_021ED5F4
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
ldr r2, _021F13B8 ; =0x022188C4
|
|
bl ov4_021ED5C4
|
|
mov r2, r5
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
bl ov4_021ED5F4
|
|
mov r0, r7
|
|
add r1, r4, #0x1f4
|
|
ldr r2, _021F13BC ; =0x02218768
|
|
bl ov4_021ED5C4
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
; .align 2, 0
|
|
_021F13B0: .word Unk_ov4_022188AC
|
|
_021F13B4: .word Unk_ov4_0221862C
|
|
_021F13B8: .word Unk_ov4_022188C4
|
|
_021F13BC: .word Unk_ov4_02218768
|
|
arm_func_end ov4_021F1328
|
|
|
|
arm_func_start ov4_021F13C0
|
|
ov4_021F13C0: ; 0x021F13C0
|
|
stmfd sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x1c
|
|
mov r8, r0
|
|
ldr r0, [r8]
|
|
mov r4, #0
|
|
str r4, [sp, #0x14]
|
|
ldr r0, [r0, #0x100]
|
|
cmp r2, #1
|
|
moveq r4, #1
|
|
cmp r0, #0
|
|
ldr r5, [sp, #0x38]
|
|
moveq r4, #0
|
|
cmp r5, #0
|
|
mov r7, r1
|
|
mov r6, r3
|
|
cmpne r4, #0
|
|
beq _021F14E0
|
|
add r2, sp, #0x18
|
|
mov r0, r8
|
|
mov r1, r7
|
|
bl ov4_021F32A8
|
|
cmp r0, #0
|
|
ldrne r0, [sp, #0x18]
|
|
ldrne r0, [r0, #0xc]
|
|
cmpne r0, #0
|
|
beq _021F14E0
|
|
mov r0, #0x204
|
|
bl ov4_021D7880
|
|
movs r4, r0
|
|
bne _021F1450
|
|
ldr r1, _021F1560 ; =0x02218740
|
|
mov r0, r8
|
|
bl ov4_021F5D68
|
|
add sp, sp, #0x1c
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_021F1450:
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, r4
|
|
ldr r0, [r0, #0xc]
|
|
bl ov4_021EFB2C
|
|
mov r2, #0
|
|
ldr ip, [sp, #0x3c]
|
|
stmia r4, {r2, r7}
|
|
mov r0, #1
|
|
stmia sp, {r0, r5}
|
|
add r3, sp, #0x14
|
|
mov r0, r8
|
|
mov r1, #2
|
|
str r5, [sp, #0xc]
|
|
str ip, [sp, #0x10]
|
|
str ip, [sp, #8]
|
|
bl ov4_021F1A54
|
|
cmp r0, #0
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
ldr r2, [sp, #0x14]
|
|
add r1, sp, #0xc
|
|
ldr r5, [r2, #0x18]
|
|
mov r0, r8
|
|
str r2, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
mov r3, r4
|
|
ldmia r1, {r1, r2}
|
|
bl ov4_021EDF5C
|
|
cmp r0, #0
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
ldr r1, [sp, #0x14]
|
|
mov r0, r8
|
|
bl ov4_021F1BA8
|
|
b _021F1534
|
|
_021F14E0:
|
|
str r6, [sp]
|
|
ldr r4, [sp, #0x3c]
|
|
str r5, [sp, #4]
|
|
add r3, sp, #0x14
|
|
mov r0, r8
|
|
mov r1, #2
|
|
mov r2, #0
|
|
str r4, [sp, #8]
|
|
bl ov4_021F1A54
|
|
cmp r0, #0
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
ldr r1, [sp, #0x14]
|
|
mov r0, r8
|
|
ldr r5, [r1, #0x18]
|
|
mov r1, r7
|
|
mov r2, r5
|
|
bl ov4_021F1328
|
|
cmp r0, #0
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_021F1534:
|
|
cmp r6, #0
|
|
beq _021F1554
|
|
mov r0, r8
|
|
mov r1, r5
|
|
bl ov4_021EC3B0
|
|
cmp r0, #0
|
|
addne sp, sp, #0x1c
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
_021F1554:
|
|
mov r0, #0
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
; .align 2, 0
|
|
_021F1560: .word Unk_ov4_02218740
|
|
arm_func_end ov4_021F13C0
|
|
|
|
arm_func_start ov4_021F1564
|
|
ov4_021F1564: ; 0x021F1564
|
|
stmfd sp!, {r4, r5, r6, lr}
|
|
ldr r0, [r0, #0]
|
|
mov r5, r1
|
|
ldr r0, [r0, #0x100]
|
|
mov r4, r2
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
mov r0, r5
|
|
bl ov4_021F163C
|
|
mov r0, #0xf0
|
|
bl ov4_021D7880
|
|
movs r6, r0
|
|
str r0, [r5, #0xc]
|
|
beq _021F1628
|
|
mov lr, r4
|
|
mov ip, #0xf
|
|
_021F15A8:
|
|
ldmia lr!, {r0, r1, r2, r3}
|
|
stmia r6!, {r0, r1, r2, r3}
|
|
subs ip, ip, #1
|
|
bne _021F15A8
|
|
ldr r0, [r4, #0]
|
|
bl ov4_021EA8AC
|
|
ldr r1, [r5, #0xc]
|
|
str r0, [r1, #0]
|
|
ldr r0, [r4, #4]
|
|
bl ov4_021EA8AC
|
|
ldr r1, [r5, #0xc]
|
|
str r0, [r1, #4]
|
|
ldr r0, [r4, #8]
|
|
bl ov4_021EA8AC
|
|
ldr r1, [r5, #0xc]
|
|
str r0, [r1, #8]
|
|
ldr r0, [r4, #0xc]
|
|
bl ov4_021EA8AC
|
|
ldr r1, [r5, #0xc]
|
|
str r0, [r1, #0xc]
|
|
ldr r0, [r4, #0x10]
|
|
bl ov4_021EA8AC
|
|
ldr r1, [r5, #0xc]
|
|
str r0, [r1, #0x10]
|
|
ldr r0, [r4, #0x14]
|
|
bl ov4_021EA8AC
|
|
ldr r1, [r5, #0xc]
|
|
str r0, [r1, #0x14]
|
|
ldr r0, [r4, #0xc8]
|
|
bl ov4_021EA8AC
|
|
ldr r1, [r5, #0xc]
|
|
str r0, [r1, #0xc8]
|
|
_021F1628:
|
|
ldr r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end ov4_021F1564
|
|
|
|
arm_func_start ov4_021F163C
|
|
ov4_021F163C: ; 0x021F163C
|
|
stmfd sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, [r0, #0]
|
|
bl ov4_021D78B0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #0]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #4]
|
|
bl ov4_021D78B0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #8]
|
|
bl ov4_021D78B0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #8]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0xc]
|
|
bl ov4_021D78B0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #0xc]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x10]
|
|
bl ov4_021D78B0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #0x10]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x14]
|
|
bl ov4_021D78B0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #0x14]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0xc8]
|
|
bl ov4_021D78B0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #0xc8]
|
|
ldr r0, [r4, #0xc]
|
|
bl ov4_021D78B0
|
|
mov r0, #0
|
|
str r0, [r4, #0xc]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov4_021F163C
|
|
|
|
.data
|
|
|
|
|
|
.global Unk_ov4_0221859C
|
|
Unk_ov4_0221859C: ; 0x0221859C
|
|
.incbin "incbin/overlay4_data.bin", 0x271C, 0x272C - 0x271C
|
|
|
|
.global Unk_ov4_022185AC
|
|
Unk_ov4_022185AC: ; 0x022185AC
|
|
.incbin "incbin/overlay4_data.bin", 0x272C, 0x2740 - 0x272C
|
|
|
|
.global Unk_ov4_022185C0
|
|
Unk_ov4_022185C0: ; 0x022185C0
|
|
.incbin "incbin/overlay4_data.bin", 0x2740, 0x274C - 0x2740
|
|
|
|
.global Unk_ov4_022185CC
|
|
Unk_ov4_022185CC: ; 0x022185CC
|
|
.incbin "incbin/overlay4_data.bin", 0x274C, 0x275C - 0x274C
|
|
|
|
.global Unk_ov4_022185DC
|
|
Unk_ov4_022185DC: ; 0x022185DC
|
|
.incbin "incbin/overlay4_data.bin", 0x275C, 0x2774 - 0x275C
|
|
|
|
.global Unk_ov4_022185F4
|
|
Unk_ov4_022185F4: ; 0x022185F4
|
|
.incbin "incbin/overlay4_data.bin", 0x2774, 0x277C - 0x2774
|
|
|
|
.global Unk_ov4_022185FC
|
|
Unk_ov4_022185FC: ; 0x022185FC
|
|
.incbin "incbin/overlay4_data.bin", 0x277C, 0x27AC - 0x277C
|
|
|
|
.global Unk_ov4_0221862C
|
|
Unk_ov4_0221862C: ; 0x0221862C
|
|
.incbin "incbin/overlay4_data.bin", 0x27AC, 0x27B8 - 0x27AC
|
|
|
|
.global Unk_ov4_02218638
|
|
Unk_ov4_02218638: ; 0x02218638
|
|
.incbin "incbin/overlay4_data.bin", 0x27B8, 0x27C8 - 0x27B8
|
|
|
|
.global Unk_ov4_02218648
|
|
Unk_ov4_02218648: ; 0x02218648
|
|
.incbin "incbin/overlay4_data.bin", 0x27C8, 0x27D0 - 0x27C8
|
|
|
|
.global Unk_ov4_02218650
|
|
Unk_ov4_02218650: ; 0x02218650
|
|
.incbin "incbin/overlay4_data.bin", 0x27D0, 0x27E0 - 0x27D0
|
|
|
|
.global Unk_ov4_02218660
|
|
Unk_ov4_02218660: ; 0x02218660
|
|
.incbin "incbin/overlay4_data.bin", 0x27E0, 0x27E8 - 0x27E0
|
|
|
|
.global Unk_ov4_02218668
|
|
Unk_ov4_02218668: ; 0x02218668
|
|
.incbin "incbin/overlay4_data.bin", 0x27E8, 0x27F4 - 0x27E8
|
|
|
|
.global Unk_ov4_02218674
|
|
Unk_ov4_02218674: ; 0x02218674
|
|
.incbin "incbin/overlay4_data.bin", 0x27F4, 0x2800 - 0x27F4
|
|
|
|
.global Unk_ov4_02218680
|
|
Unk_ov4_02218680: ; 0x02218680
|
|
.incbin "incbin/overlay4_data.bin", 0x2800, 0x280C - 0x2800
|
|
|
|
.global Unk_ov4_0221868C
|
|
Unk_ov4_0221868C: ; 0x0221868C
|
|
.incbin "incbin/overlay4_data.bin", 0x280C, 0x2818 - 0x280C
|
|
|
|
.global Unk_ov4_02218698
|
|
Unk_ov4_02218698: ; 0x02218698
|
|
.incbin "incbin/overlay4_data.bin", 0x2818, 0x2824 - 0x2818
|
|
|
|
.global Unk_ov4_022186A4
|
|
Unk_ov4_022186A4: ; 0x022186A4
|
|
.incbin "incbin/overlay4_data.bin", 0x2824, 0x2834 - 0x2824
|
|
|
|
.global Unk_ov4_022186B4
|
|
Unk_ov4_022186B4: ; 0x022186B4
|
|
.incbin "incbin/overlay4_data.bin", 0x2834, 0x283C - 0x2834
|
|
|
|
.global Unk_ov4_022186BC
|
|
Unk_ov4_022186BC: ; 0x022186BC
|
|
.incbin "incbin/overlay4_data.bin", 0x283C, 0x2844 - 0x283C
|
|
|
|
.global Unk_ov4_022186C4
|
|
Unk_ov4_022186C4: ; 0x022186C4
|
|
.incbin "incbin/overlay4_data.bin", 0x2844, 0x284C - 0x2844
|
|
|
|
.global Unk_ov4_022186CC
|
|
Unk_ov4_022186CC: ; 0x022186CC
|
|
.incbin "incbin/overlay4_data.bin", 0x284C, 0x2858 - 0x284C
|
|
|
|
.global Unk_ov4_022186D8
|
|
Unk_ov4_022186D8: ; 0x022186D8
|
|
.incbin "incbin/overlay4_data.bin", 0x2858, 0x2860 - 0x2858
|
|
|
|
.global Unk_ov4_022186E0
|
|
Unk_ov4_022186E0: ; 0x022186E0
|
|
.incbin "incbin/overlay4_data.bin", 0x2860, 0x2868 - 0x2860
|
|
|
|
.global Unk_ov4_022186E8
|
|
Unk_ov4_022186E8: ; 0x022186E8
|
|
.incbin "incbin/overlay4_data.bin", 0x2868, 0x2870 - 0x2868
|
|
|
|
.global Unk_ov4_022186F0
|
|
Unk_ov4_022186F0: ; 0x022186F0
|
|
.incbin "incbin/overlay4_data.bin", 0x2870, 0x2878 - 0x2870
|
|
|
|
.global Unk_ov4_022186F8
|
|
Unk_ov4_022186F8: ; 0x022186F8
|
|
.incbin "incbin/overlay4_data.bin", 0x2878, 0x2880 - 0x2878
|
|
|
|
.global Unk_ov4_02218700
|
|
Unk_ov4_02218700: ; 0x02218700
|
|
.incbin "incbin/overlay4_data.bin", 0x2880, 0x2888 - 0x2880
|
|
|
|
.global Unk_ov4_02218708
|
|
Unk_ov4_02218708: ; 0x02218708
|
|
.incbin "incbin/overlay4_data.bin", 0x2888, 0x2890 - 0x2888
|
|
|
|
.global Unk_ov4_02218710
|
|
Unk_ov4_02218710: ; 0x02218710
|
|
.incbin "incbin/overlay4_data.bin", 0x2890, 0x2898 - 0x2890
|
|
|
|
.global Unk_ov4_02218718
|
|
Unk_ov4_02218718: ; 0x02218718
|
|
.incbin "incbin/overlay4_data.bin", 0x2898, 0x28A0 - 0x2898
|
|
|
|
.global Unk_ov4_02218720
|
|
Unk_ov4_02218720: ; 0x02218720
|
|
.incbin "incbin/overlay4_data.bin", 0x28A0, 0x28A8 - 0x28A0
|
|
|
|
.global Unk_ov4_02218728
|
|
Unk_ov4_02218728: ; 0x02218728
|
|
.incbin "incbin/overlay4_data.bin", 0x28A8, 0x28B0 - 0x28A8
|
|
|
|
.global Unk_ov4_02218730
|
|
Unk_ov4_02218730: ; 0x02218730
|
|
.incbin "incbin/overlay4_data.bin", 0x28B0, 0x28B8 - 0x28B0
|
|
|
|
.global Unk_ov4_02218738
|
|
Unk_ov4_02218738: ; 0x02218738
|
|
.incbin "incbin/overlay4_data.bin", 0x28B8, 0x28C0 - 0x28B8
|
|
|
|
.global Unk_ov4_02218740
|
|
Unk_ov4_02218740: ; 0x02218740
|
|
.incbin "incbin/overlay4_data.bin", 0x28C0, 0x28D0 - 0x28C0
|
|
|
|
.global Unk_ov4_02218750
|
|
Unk_ov4_02218750: ; 0x02218750
|
|
.incbin "incbin/overlay4_data.bin", 0x28D0, 0x28E8 - 0x28D0
|
|
|
|
.global Unk_ov4_02218768
|
|
Unk_ov4_02218768: ; 0x02218768
|
|
.incbin "incbin/overlay4_data.bin", 0x28E8, 0x28F0 - 0x28E8
|
|
|
|
.global Unk_ov4_02218770
|
|
Unk_ov4_02218770: ; 0x02218770
|
|
.incbin "incbin/overlay4_data.bin", 0x28F0, 0x2904 - 0x28F0
|
|
|
|
.global Unk_ov4_02218784
|
|
Unk_ov4_02218784: ; 0x02218784
|
|
.incbin "incbin/overlay4_data.bin", 0x2904, 0x2918 - 0x2904
|
|
|
|
.global Unk_ov4_02218798
|
|
Unk_ov4_02218798: ; 0x02218798
|
|
.incbin "incbin/overlay4_data.bin", 0x2918, 0x291C - 0x2918
|
|
|
|
.global Unk_ov4_0221879C
|
|
Unk_ov4_0221879C: ; 0x0221879C
|
|
.incbin "incbin/overlay4_data.bin", 0x291C, 0x2920 - 0x291C
|
|
|
|
.global Unk_ov4_022187A0
|
|
Unk_ov4_022187A0: ; 0x022187A0
|
|
.incbin "incbin/overlay4_data.bin", 0x2920, 0x2924 - 0x2920
|
|
|
|
.global Unk_ov4_022187A4
|
|
Unk_ov4_022187A4: ; 0x022187A4
|
|
.incbin "incbin/overlay4_data.bin", 0x2924, 0x2928 - 0x2924
|
|
|
|
.global Unk_ov4_022187A8
|
|
Unk_ov4_022187A8: ; 0x022187A8
|
|
.incbin "incbin/overlay4_data.bin", 0x2928, 0x2938 - 0x2928
|
|
|
|
.global Unk_ov4_022187B8
|
|
Unk_ov4_022187B8: ; 0x022187B8
|
|
.incbin "incbin/overlay4_data.bin", 0x2938, 0x2948 - 0x2938
|
|
|
|
.global Unk_ov4_022187C8
|
|
Unk_ov4_022187C8: ; 0x022187C8
|
|
.incbin "incbin/overlay4_data.bin", 0x2948, 0x2954 - 0x2948
|
|
|
|
.global Unk_ov4_022187D4
|
|
Unk_ov4_022187D4: ; 0x022187D4
|
|
.incbin "incbin/overlay4_data.bin", 0x2954, 0x2960 - 0x2954
|
|
|
|
.global Unk_ov4_022187E0
|
|
Unk_ov4_022187E0: ; 0x022187E0
|
|
.incbin "incbin/overlay4_data.bin", 0x2960, 0x2970 - 0x2960
|
|
|
|
.global Unk_ov4_022187F0
|
|
Unk_ov4_022187F0: ; 0x022187F0
|
|
.incbin "incbin/overlay4_data.bin", 0x2970, 0x2980 - 0x2970
|
|
|
|
.global Unk_ov4_02218800
|
|
Unk_ov4_02218800: ; 0x02218800
|
|
.incbin "incbin/overlay4_data.bin", 0x2980, 0x2990 - 0x2980
|
|
|
|
.global Unk_ov4_02218810
|
|
Unk_ov4_02218810: ; 0x02218810
|
|
.incbin "incbin/overlay4_data.bin", 0x2990, 0x29A4 - 0x2990
|
|
|
|
.global Unk_ov4_02218824
|
|
Unk_ov4_02218824: ; 0x02218824
|
|
.incbin "incbin/overlay4_data.bin", 0x29A4, 0x29B4 - 0x29A4
|
|
|
|
.global Unk_ov4_02218834
|
|
Unk_ov4_02218834: ; 0x02218834
|
|
.incbin "incbin/overlay4_data.bin", 0x29B4, 0x29C4 - 0x29B4
|
|
|
|
.global Unk_ov4_02218844
|
|
Unk_ov4_02218844: ; 0x02218844
|
|
.incbin "incbin/overlay4_data.bin", 0x29C4, 0x29D4 - 0x29C4
|
|
|
|
.global Unk_ov4_02218854
|
|
Unk_ov4_02218854: ; 0x02218854
|
|
.incbin "incbin/overlay4_data.bin", 0x29D4, 0x29E0 - 0x29D4
|
|
|
|
.global Unk_ov4_02218860
|
|
Unk_ov4_02218860: ; 0x02218860
|
|
.incbin "incbin/overlay4_data.bin", 0x29E0, 0x29F8 - 0x29E0
|
|
|
|
.global Unk_ov4_02218878
|
|
Unk_ov4_02218878: ; 0x02218878
|
|
.incbin "incbin/overlay4_data.bin", 0x29F8, 0x2A0C - 0x29F8
|
|
|
|
.global Unk_ov4_0221888C
|
|
Unk_ov4_0221888C: ; 0x0221888C
|
|
.incbin "incbin/overlay4_data.bin", 0x2A0C, 0x2A20 - 0x2A0C
|
|
|
|
.global Unk_ov4_022188A0
|
|
Unk_ov4_022188A0: ; 0x022188A0
|
|
.incbin "incbin/overlay4_data.bin", 0x2A20, 0x2A2C - 0x2A20
|
|
|
|
.global Unk_ov4_022188AC
|
|
Unk_ov4_022188AC: ; 0x022188AC
|
|
.incbin "incbin/overlay4_data.bin", 0x2A2C, 0x2A44 - 0x2A2C
|
|
|
|
.global Unk_ov4_022188C4
|
|
Unk_ov4_022188C4: ; 0x022188C4
|
|
.incbin "incbin/overlay4_data.bin", 0x2A44, 0x5
|
|
|