mirror of
https://github.com/pret/pokediamond.git
synced 2026-08-22 00:34:09 -05:00
8738 lines
147 KiB
ArmAsm
8738 lines
147 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
.section .text
|
|
.balign 4, 0
|
|
|
|
thumb_func_start MOD56_02211E60
|
|
MOD56_02211E60: ; 0x02211E60
|
|
sub r0, #9
|
|
cmp r0, #5
|
|
bhi _02211E82
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02211E72: ; jump table
|
|
.short _02211E7E - _02211E72 - 2 ; case 0
|
|
.short _02211E7E - _02211E72 - 2 ; case 1
|
|
.short _02211E7E - _02211E72 - 2 ; case 2
|
|
.short _02211E7E - _02211E72 - 2 ; case 3
|
|
.short _02211E7E - _02211E72 - 2 ; case 4
|
|
.short _02211E7E - _02211E72 - 2 ; case 5
|
|
_02211E7E:
|
|
mov r0, #1
|
|
bx lr
|
|
_02211E82:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02211E60
|
|
|
|
thumb_func_start MOD56_02211E88
|
|
MOD56_02211E88: ; 0x02211E88
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD56_02211E60
|
|
cmp r0, #0
|
|
beq _02211E98
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02211E98:
|
|
cmp r4, #0xf
|
|
bne _02211EA0
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02211EA0:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD56_02211E88
|
|
|
|
thumb_func_start MOD56_02211EA4
|
|
MOD56_02211EA4: ; 0x02211EA4
|
|
cmp r0, #7
|
|
bhi _02211EC8
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02211EB4: ; jump table
|
|
.short _02211EC8 - _02211EB4 - 2 ; case 0
|
|
.short _02211EC8 - _02211EB4 - 2 ; case 1
|
|
.short _02211EC4 - _02211EB4 - 2 ; case 2
|
|
.short _02211EC4 - _02211EB4 - 2 ; case 3
|
|
.short _02211EC4 - _02211EB4 - 2 ; case 4
|
|
.short _02211EC4 - _02211EB4 - 2 ; case 5
|
|
.short _02211EC4 - _02211EB4 - 2 ; case 6
|
|
.short _02211EC4 - _02211EB4 - 2 ; case 7
|
|
_02211EC4:
|
|
mov r0, #1
|
|
bx lr
|
|
_02211EC8:
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD56_02211EA4
|
|
|
|
thumb_func_start MOD56_02211ECC
|
|
MOD56_02211ECC: ; 0x02211ECC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD56_02211EA4
|
|
cmp r0, #0
|
|
beq _02211EDC
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02211EDC:
|
|
cmp r4, #1
|
|
beq _02211EE4
|
|
cmp r4, #8
|
|
bne _02211EE8
|
|
_02211EE4:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02211EE8:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD56_02211ECC
|
|
|
|
thumb_func_start MOD56_02211EEC
|
|
MOD56_02211EEC: ; 0x02211EEC
|
|
sub r0, #0xc
|
|
cmp r0, #3
|
|
bhi _02211F0A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02211EFE: ; jump table
|
|
.short _02211F06 - _02211EFE - 2 ; case 0
|
|
.short _02211F06 - _02211EFE - 2 ; case 1
|
|
.short _02211F06 - _02211EFE - 2 ; case 2
|
|
.short _02211F06 - _02211EFE - 2 ; case 3
|
|
_02211F06:
|
|
mov r0, #1
|
|
bx lr
|
|
_02211F0A:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02211EEC
|
|
|
|
thumb_func_start MOD56_02211F10
|
|
MOD56_02211F10: ; 0x02211F10
|
|
mov r1, #0x11
|
|
cmp r0, #0x10
|
|
bhi _02211F82
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02211F22: ; jump table
|
|
.short _02211F82 - _02211F22 - 2 ; case 0
|
|
.short _02211F80 - _02211F22 - 2 ; case 1
|
|
.short _02211F68 - _02211F22 - 2 ; case 2
|
|
.short _02211F6C - _02211F22 - 2 ; case 3
|
|
.short _02211F70 - _02211F22 - 2 ; case 4
|
|
.short _02211F74 - _02211F22 - 2 ; case 5
|
|
.short _02211F78 - _02211F22 - 2 ; case 6
|
|
.short _02211F7C - _02211F22 - 2 ; case 7
|
|
.short _02211F64 - _02211F22 - 2 ; case 8
|
|
.short _02211F48 - _02211F22 - 2 ; case 9
|
|
.short _02211F4C - _02211F22 - 2 ; case 10
|
|
.short _02211F50 - _02211F22 - 2 ; case 11
|
|
.short _02211F54 - _02211F22 - 2 ; case 12
|
|
.short _02211F58 - _02211F22 - 2 ; case 13
|
|
.short _02211F5C - _02211F22 - 2 ; case 14
|
|
.short _02211F44 - _02211F22 - 2 ; case 15
|
|
.short _02211F60 - _02211F22 - 2 ; case 16
|
|
_02211F44:
|
|
mov r1, #8
|
|
b _02211F82
|
|
_02211F48:
|
|
mov r1, #2
|
|
b _02211F82
|
|
_02211F4C:
|
|
mov r1, #3
|
|
b _02211F82
|
|
_02211F50:
|
|
mov r1, #4
|
|
b _02211F82
|
|
_02211F54:
|
|
mov r1, #5
|
|
b _02211F82
|
|
_02211F58:
|
|
mov r1, #6
|
|
b _02211F82
|
|
_02211F5C:
|
|
mov r1, #7
|
|
b _02211F82
|
|
_02211F60:
|
|
mov r1, #1
|
|
b _02211F82
|
|
_02211F64:
|
|
mov r1, #0xf
|
|
b _02211F82
|
|
_02211F68:
|
|
mov r1, #9
|
|
b _02211F82
|
|
_02211F6C:
|
|
mov r1, #0xa
|
|
b _02211F82
|
|
_02211F70:
|
|
mov r1, #0xb
|
|
b _02211F82
|
|
_02211F74:
|
|
mov r1, #0xc
|
|
b _02211F82
|
|
_02211F78:
|
|
mov r1, #0xd
|
|
b _02211F82
|
|
_02211F7C:
|
|
mov r1, #0xe
|
|
b _02211F82
|
|
_02211F80:
|
|
mov r1, #0x10
|
|
_02211F82:
|
|
add r0, r1, #0
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02211F10
|
|
|
|
thumb_func_start MOD56_02211F88
|
|
MOD56_02211F88: ; 0x02211F88
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
bl FUN_0206BB1C
|
|
str r0, [sp]
|
|
bl FUN_0206B9AC
|
|
mov r5, #0
|
|
add r7, r0, #0
|
|
add r4, r5, #0
|
|
cmp r7, #0
|
|
ble _02211FCE
|
|
_02211FA2:
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl FUN_0206B9B0
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
add r6, r0, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _02211FC8
|
|
add r0, r6, #0
|
|
mov r1, #0x4c
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
bne _02211FC8
|
|
add r5, r5, #1
|
|
_02211FC8:
|
|
add r4, r4, #1
|
|
cmp r4, r7
|
|
blt _02211FA2
|
|
_02211FCE:
|
|
add r0, r5, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02211F88
|
|
|
|
thumb_func_start MOD56_02211FD4
|
|
MOD56_02211FD4: ; 0x02211FD4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl FUN_02015F10
|
|
bl FUN_02015F1C
|
|
bl FUN_0201E6D8
|
|
bl FUN_0201E740
|
|
mov r2, #1
|
|
lsl r2, r2, #0x1a
|
|
ldr r1, [r2]
|
|
ldr r0, _02212074 ; =0xFFFFE0FF
|
|
and r1, r0
|
|
str r1, [r2]
|
|
ldr r2, _02212078 ; =0x04001000
|
|
ldr r1, [r2]
|
|
and r0, r1
|
|
str r0, [r2]
|
|
mov r0, #4
|
|
mov r1, #8
|
|
bl FUN_0201669C
|
|
mov r0, #0x36
|
|
bl FUN_02016B94
|
|
add r1, r4, #0
|
|
add r1, #0xc0
|
|
str r0, [r1]
|
|
mov r0, #0x36
|
|
bl FUN_0200AA80
|
|
add r1, r4, #0
|
|
add r1, #0xc8
|
|
str r0, [r1]
|
|
mov r2, #0x25
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
lsl r2, r2, #4
|
|
mov r3, #0x36
|
|
bl FUN_0200A86C
|
|
add r1, r4, #0
|
|
add r1, #0xcc
|
|
str r0, [r1]
|
|
ldr r2, _0221207C ; =0x00000265
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
mov r3, #0x36
|
|
bl FUN_0200A86C
|
|
add r1, r4, #0
|
|
add r1, #0xd0
|
|
str r0, [r1]
|
|
bl MOD56_022122B4
|
|
add r0, r4, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
bl MOD56_022122D4
|
|
add r0, r4, #0
|
|
bl MOD56_0221257C
|
|
ldr r0, _02212080 ; =MOD56_0221228C
|
|
add r1, r4, #0
|
|
bl FUN_02015F10
|
|
bl MOD56_0221269C
|
|
add r0, r4, #0
|
|
bl MOD56_022126E0
|
|
add r0, r4, #0
|
|
bl MOD56_022127D4
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02212074: .word 0xFFFFE0FF
|
|
_02212078: .word 0x04001000
|
|
_0221207C: .word 0x00000265
|
|
_02212080: .word MOD56_0221228C
|
|
thumb_func_end MOD56_02211FD4
|
|
|
|
thumb_func_start MOD56_02212084
|
|
MOD56_02212084: ; 0x02212084
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r1, #0
|
|
ldr r1, [r5]
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
beq _02212098
|
|
cmp r1, #1
|
|
beq _0221214E
|
|
b _0221215C
|
|
_02212098:
|
|
bl FUN_0200628C
|
|
add r6, r0, #0
|
|
ldr r0, [r6, #4]
|
|
cmp r0, #1
|
|
bne _022120B2
|
|
mov r2, #7
|
|
mov r0, #3
|
|
mov r1, #0x36
|
|
lsl r2, r2, #0x10
|
|
bl FUN_0201681C
|
|
b _022120BE
|
|
_022120B2:
|
|
mov r2, #0xb
|
|
mov r0, #3
|
|
mov r1, #0x36
|
|
lsl r2, r2, #0x10
|
|
bl FUN_0201681C
|
|
_022120BE:
|
|
mov r1, #0x3f
|
|
add r0, r4, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x36
|
|
bl FUN_02006268
|
|
mov r2, #0x3f
|
|
mov r1, #0
|
|
lsl r2, r2, #4
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
mov r0, #0x5e
|
|
mov r1, #8
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
add r0, r4, #0
|
|
ldr r1, [r6]
|
|
add r0, #0xc4
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
bl FUN_020286EC
|
|
str r0, [r4]
|
|
mov r1, #0xef
|
|
ldr r0, [r6, #4]
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0
|
|
mov r2, #8
|
|
sub r0, #8
|
|
str r2, [r4, r0]
|
|
sub r2, #9
|
|
add r1, #0x1c
|
|
str r2, [r4, r1]
|
|
mov r0, #0xf
|
|
mov r1, #0
|
|
bl FUN_0201E6E4
|
|
mov r0, #0xf
|
|
mov r1, #0
|
|
bl FUN_0201E74C
|
|
add r0, r4, #0
|
|
bl MOD56_0221244C
|
|
add r0, r4, #0
|
|
bl MOD56_02211FD4
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r0, #0x36
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r2, r1, #0
|
|
add r3, r0, #0
|
|
bl FUN_0200E1D0
|
|
bl FUN_02033590
|
|
cmp r0, #0
|
|
bne _02212146
|
|
bl FUN_02088858
|
|
_02212146:
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _0221215C
|
|
_0221214E:
|
|
bl FUN_02006278
|
|
mov r0, #0
|
|
str r0, [r5]
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, pc}
|
|
_0221215C:
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02212084
|
|
|
|
thumb_func_start MOD56_02212164
|
|
MOD56_02212164: ; 0x02212164
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
bl FUN_02006278
|
|
ldr r1, [r5]
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
beq _0221217E
|
|
cmp r1, #1
|
|
beq _0221218C
|
|
cmp r1, #2
|
|
beq _022121A2
|
|
b _022121AE
|
|
_0221217E:
|
|
bl FUN_0200E308
|
|
cmp r0, #0
|
|
beq _022121AE
|
|
mov r0, #1
|
|
str r0, [r5]
|
|
b _022121AE
|
|
_0221218C:
|
|
mov r2, #0x3b
|
|
lsl r2, r2, #4
|
|
ldr r2, [r4, r2]
|
|
lsl r3, r2, #2
|
|
ldr r2, _022121C0 ; =0x022164E0
|
|
ldr r2, [r2, r3]
|
|
cmp r2, #0
|
|
beq _022121AE
|
|
blx r2
|
|
str r0, [r5]
|
|
b _022121AE
|
|
_022121A2:
|
|
bl FUN_0200E308
|
|
cmp r0, #0
|
|
beq _022121AE
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_022121AE:
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _022121BC
|
|
bl FUN_0201FDEC
|
|
_022121BC:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022121C0: .word 0x022164E0
|
|
thumb_func_end MOD56_02212164
|
|
|
|
thumb_func_start MOD56_022121C4
|
|
MOD56_022121C4: ; 0x022121C4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl FUN_02015F10
|
|
mov r0, #0xb
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
bl FUN_02009C0C
|
|
mov r0, #0xb1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
bl FUN_02009E04
|
|
mov r7, #0x2b
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
lsl r7, r7, #4
|
|
_022121EC:
|
|
ldr r0, [r5, r7]
|
|
bl FUN_02008E2C
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _022121EC
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
bl FUN_0201FD58
|
|
bl FUN_02009FA0
|
|
bl FUN_0201D12C
|
|
bl FUN_0201E08C
|
|
add r0, r6, #0
|
|
bl MOD56_0221295C
|
|
add r0, r6, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
bl MOD56_02212540
|
|
add r0, r6, #0
|
|
add r0, #0xd0
|
|
ldr r0, [r0]
|
|
bl FUN_0200A8B8
|
|
add r0, r6, #0
|
|
add r0, #0xcc
|
|
ldr r0, [r0]
|
|
bl FUN_0200A8B8
|
|
add r6, #0xc8
|
|
ldr r0, [r6]
|
|
bl FUN_0200AB18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_022121C4
|
|
|
|
thumb_func_start MOD56_02212240
|
|
MOD56_02212240: ; 0x02212240
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
bl FUN_02006278
|
|
add r4, r0, #0
|
|
bl MOD56_022121C4
|
|
add r0, r5, #0
|
|
bl FUN_0200628C
|
|
add r6, r0, #0
|
|
mov r0, #0xed
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r0]
|
|
str r1, [r6, #4]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #8
|
|
beq _02212268
|
|
cmp r0, #0xa
|
|
bne _0221226E
|
|
_02212268:
|
|
bl FUN_02088868
|
|
b _02212274
|
|
_0221226E:
|
|
bl MOD04_021D853C
|
|
str r0, [r6, #8]
|
|
_02212274:
|
|
add r0, r4, #0
|
|
bl MOD56_022124E4
|
|
add r0, r5, #0
|
|
bl FUN_0200627C
|
|
mov r0, #0x36
|
|
bl FUN_020168D0
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02212240
|
|
|
|
thumb_func_start MOD56_0221228C
|
|
MOD56_0221228C: ; 0x0221228C
|
|
push {r3, lr}
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
bl FUN_0201AB60
|
|
bl FUN_0201C30C
|
|
bl FUN_02009F80
|
|
ldr r3, _022122AC ; =0x027E0000
|
|
ldr r1, _022122B0 ; =0x00003FF8
|
|
mov r0, #1
|
|
ldr r2, [r3, r1]
|
|
orr r0, r2
|
|
str r0, [r3, r1]
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_022122AC: .word 0x027E0000
|
|
_022122B0: .word 0x00003FF8
|
|
thumb_func_end MOD56_0221228C
|
|
|
|
thumb_func_start MOD56_022122B4
|
|
MOD56_022122B4: ; 0x022122B4
|
|
push {r4, lr}
|
|
sub sp, #0x28
|
|
ldr r4, _022122D0 ; =0x02216454
|
|
add r3, sp, #0
|
|
mov r2, #5
|
|
_022122BE:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _022122BE
|
|
add r0, sp, #0
|
|
bl FUN_0201E66C
|
|
add sp, #0x28
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_022122D0: .word 0x02216454
|
|
thumb_func_end MOD56_022122B4
|
|
|
|
thumb_func_start MOD56_022122D4
|
|
MOD56_022122D4: ; 0x022122D4
|
|
push {r4, r5, lr}
|
|
sub sp, #0x9c
|
|
ldr r5, _0221242C ; =0x02216330
|
|
add r3, sp, #0x8c
|
|
add r4, r0, #0
|
|
add r2, r3, #0
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
bl FUN_02016BBC
|
|
ldr r5, _02212430 ; =0x02216368
|
|
add r3, sp, #0x70
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
add r3, r1, #0
|
|
bl FUN_02016C18
|
|
mov r0, #0
|
|
mov r1, #0x20
|
|
add r2, r0, #0
|
|
mov r3, #0x36
|
|
bl FUN_02017F18
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_02018744
|
|
ldr r5, _02212434 ; =0x02216384
|
|
add r3, sp, #0x54
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #1
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #0x36
|
|
bl FUN_02017F18
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_02018744
|
|
ldr r5, _02212438 ; =0x022163A0
|
|
add r3, sp, #0x38
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #2
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #0x36
|
|
bl FUN_02017F18
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FUN_02018744
|
|
ldr r5, _0221243C ; =0x022163BC
|
|
add r3, sp, #0x1c
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #3
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #3
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #0x36
|
|
bl FUN_02017F18
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl FUN_02018744
|
|
ldr r5, _02212440 ; =0x022163D8
|
|
add r3, sp, #0
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #4
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_02018744
|
|
mov r0, #0
|
|
mov r1, #0x20
|
|
add r2, r0, #0
|
|
mov r3, #0x36
|
|
bl FUN_02017F18
|
|
mov r0, #4
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #0x36
|
|
bl FUN_02017F18
|
|
mov r0, #0
|
|
mov r1, #3
|
|
bl FUN_020178BC
|
|
mov r0, #1
|
|
mov r1, #2
|
|
bl FUN_020178BC
|
|
mov r0, #3
|
|
mov r1, #1
|
|
bl FUN_020178BC
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl FUN_020178BC
|
|
ldr r0, _02212444 ; =0x04000050
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
ldr r0, _02212448 ; =0x04001050
|
|
strh r1, [r0]
|
|
add sp, #0x9c
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0221242C: .word 0x02216330
|
|
_02212430: .word 0x02216368
|
|
_02212434: .word 0x02216384
|
|
_02212438: .word 0x022163A0
|
|
_0221243C: .word 0x022163BC
|
|
_02212440: .word 0x022163D8
|
|
_02212444: .word 0x04000050
|
|
_02212448: .word 0x04001050
|
|
thumb_func_end MOD56_022122D4
|
|
|
|
thumb_func_start MOD56_0221244C
|
|
MOD56_0221244C: ; 0x0221244C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
mov r7, #8
|
|
_02212456:
|
|
add r0, r7, #0
|
|
mov r1, #0x36
|
|
bl FUN_020219F4
|
|
add r1, r5, #0
|
|
add r1, #0xd4
|
|
str r0, [r1]
|
|
ldr r0, [r6]
|
|
add r1, r4, #0
|
|
bl FUN_020283A4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0xd4
|
|
ldr r0, [r0]
|
|
bl FUN_02021E28
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0x20
|
|
blt _02212456
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
mov r1, #0x36
|
|
bl FUN_020219F4
|
|
mov r1, #0x57
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
add r1, #0x20
|
|
add r0, r1, #0
|
|
mov r1, #0x36
|
|
bl FUN_020219F4
|
|
mov r1, #0x5d
|
|
lsl r1, r1, #2
|
|
add r7, r1, #0
|
|
str r0, [r6, r1]
|
|
mov r5, #0
|
|
add r4, r6, #0
|
|
sub r7, #0x10
|
|
_022124A8:
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
mov r1, #0x36
|
|
bl FUN_020219F4
|
|
str r0, [r4, r7]
|
|
add r5, r5, #1
|
|
add r4, r4, #4
|
|
cmp r5, #4
|
|
blt _022124A8
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
mov r1, #0x36
|
|
bl FUN_020219F4
|
|
mov r1, #0x56
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
mov r0, #0xb4
|
|
mov r1, #0x36
|
|
bl FUN_020219F4
|
|
mov r1, #0x16
|
|
lsl r1, r1, #4
|
|
str r0, [r6, r1]
|
|
mov r0, #0x3b
|
|
mov r1, #0
|
|
lsl r0, r0, #4
|
|
str r1, [r6, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD56_0221244C
|
|
|
|
thumb_func_start MOD56_022124E4
|
|
MOD56_022124E4: ; 0x022124E4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
_022124EC:
|
|
add r0, r5, #0
|
|
add r0, #0xd4
|
|
ldr r0, [r0]
|
|
bl FUN_02021A20
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0x20
|
|
blt _022124EC
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
ldr r0, [r7, r0]
|
|
bl FUN_02021A20
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
bl FUN_02021A20
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
bl FUN_02021A20
|
|
mov r6, #0x59
|
|
mov r5, #0
|
|
add r4, r7, #0
|
|
lsl r6, r6, #2
|
|
_02212524:
|
|
ldr r0, [r4, r6]
|
|
bl FUN_02021A20
|
|
add r5, r5, #1
|
|
add r4, r4, #4
|
|
cmp r5, #4
|
|
blt _02212524
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
bl FUN_02021A20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_022124E4
|
|
|
|
thumb_func_start MOD56_02212540
|
|
MOD56_02212540: ; 0x02212540
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #5
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02212540
|
|
|
|
thumb_func_start MOD56_0221257C
|
|
MOD56_0221257C: ; 0x0221257C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r0, #0xc0
|
|
ldr r4, [r0]
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl FUN_0201E6E4
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl FUN_0201E6E4
|
|
mov r0, #4
|
|
mov r1, #1
|
|
bl FUN_0201E6E4
|
|
mov r0, #8
|
|
mov r1, #1
|
|
bl FUN_0201E6E4
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl FUN_0201E74C
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #0x36
|
|
str r0, [sp, #4]
|
|
mov r0, #0x5c
|
|
mov r1, #3
|
|
add r3, r2, #0
|
|
bl FUN_02006930
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x36
|
|
str r0, [sp, #4]
|
|
mov r0, #0x5c
|
|
mov r1, #3
|
|
mov r2, #4
|
|
bl FUN_02006930
|
|
mov r1, #0x1a
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x36
|
|
bl FUN_02002EEC
|
|
mov r1, #6
|
|
mov r0, #0
|
|
lsl r1, r1, #6
|
|
mov r2, #0x36
|
|
bl FUN_02002EEC
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
str r3, [sp, #8]
|
|
mov r0, #0x36
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x5c
|
|
mov r1, #2
|
|
add r2, r4, #0
|
|
bl FUN_0200687C
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
str r3, [sp, #8]
|
|
mov r0, #0x36
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x5c
|
|
mov r1, #4
|
|
add r2, r4, #0
|
|
bl FUN_020068C8
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x36
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x5c
|
|
mov r1, #9
|
|
add r2, r4, #0
|
|
mov r3, #4
|
|
bl FUN_0200687C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x36
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x5c
|
|
mov r1, #0xa
|
|
add r2, r4, #0
|
|
mov r3, #4
|
|
bl FUN_020068C8
|
|
add r5, #0xc4
|
|
ldr r0, [r5]
|
|
bl LoadPlayerDataAddress
|
|
bl FUN_02025084
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0x36
|
|
str r0, [sp, #4]
|
|
ldr r2, _02212694 ; =0x000001E2
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
mov r3, #0xa
|
|
bl FUN_0200CD68
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0x36
|
|
str r0, [sp, #4]
|
|
ldr r2, _02212698 ; =0x000001D9
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
mov r3, #0xb
|
|
bl FUN_0200CB00
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0x36
|
|
str r0, [sp, #4]
|
|
ldr r2, _02212698 ; =0x000001D9
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r3, #0xb
|
|
bl FUN_0200CB00
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02212694: .word 0x000001E2
|
|
_02212698: .word 0x000001D9
|
|
thumb_func_end MOD56_0221257C
|
|
|
|
thumb_func_start MOD56_0221269C
|
|
MOD56_0221269C: ; 0x0221269C
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
ldr r4, _022126D8 ; =0x02216340
|
|
add r3, sp, #0
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
bl FUN_0201D040
|
|
mov r0, #0x14
|
|
mov r1, #0x36
|
|
bl FUN_0201E00C
|
|
bl FUN_0201D168
|
|
bl FUN_0201E0BC
|
|
ldr r1, _022126DC ; =0x00100010
|
|
mov r0, #1
|
|
bl FUN_02008D44
|
|
mov r0, #1
|
|
bl FUN_02008DDC
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
nop
|
|
_022126D8: .word 0x02216340
|
|
_022126DC: .word 0x00100010
|
|
thumb_func_end MOD56_0221269C
|
|
|
|
thumb_func_start MOD56_022126E0
|
|
MOD56_022126E0: ; 0x022126E0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
bl FUN_020B0FC0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #0x7e
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r3, #0x20
|
|
str r3, [sp, #0xc]
|
|
mov r2, #0x36
|
|
str r2, [sp, #0x10]
|
|
add r2, r0, #0
|
|
bl FUN_02009EAC
|
|
mov r1, #0x62
|
|
lsl r1, r1, #2
|
|
mov r0, #0x1e
|
|
add r1, r6, r1
|
|
mov r2, #0x36
|
|
bl FUN_02008C9C
|
|
mov r1, #0x61
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
add r0, r1, #4
|
|
mov r2, #1
|
|
add r0, r6, r0
|
|
mov r1, #0
|
|
lsl r2, r2, #0x14
|
|
bl FUN_02008D24
|
|
mov r7, #0x2b
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
lsl r7, r7, #4
|
|
_0221272C:
|
|
mov r0, #2
|
|
add r1, r4, #0
|
|
mov r2, #0x36
|
|
bl FUN_02008DEC
|
|
str r0, [r5, r7]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _0221272C
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x36
|
|
str r0, [sp, #8]
|
|
mov r0, #0x2b
|
|
lsl r0, r0, #4
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0x5c
|
|
mov r2, #7
|
|
bl FUN_02008F34
|
|
mov r1, #0xb
|
|
lsl r1, r1, #6
|
|
str r0, [r6, r1]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #7
|
|
str r0, [sp, #8]
|
|
mov r0, #0x36
|
|
sub r1, #0xc
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r6, r1]
|
|
mov r1, #0x5c
|
|
mov r2, #8
|
|
bl FUN_02008FEC
|
|
mov r1, #0xb1
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x36
|
|
sub r1, #0xc
|
|
str r0, [sp, #8]
|
|
ldr r0, [r6, r1]
|
|
mov r1, #0x5c
|
|
mov r2, #1
|
|
bl FUN_020090AC
|
|
mov r1, #0xb2
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x36
|
|
sub r1, #0xc
|
|
str r0, [sp, #8]
|
|
ldr r0, [r6, r1]
|
|
mov r1, #0x5c
|
|
add r3, r2, #0
|
|
bl FUN_020090AC
|
|
mov r1, #0xb3
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
sub r1, #0xc
|
|
ldr r0, [r6, r1]
|
|
bl FUN_02009A50
|
|
mov r0, #0xb1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
bl FUN_02009CF0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD56_022126E0
|
|
|
|
thumb_func_start MOD56_022127D4
|
|
MOD56_022127D4: ; 0x022127D4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x5c
|
|
mov r1, #0
|
|
add r5, r0, #0
|
|
str r1, [sp]
|
|
sub r0, r1, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
mov r2, #0x2b
|
|
str r1, [sp, #0x10]
|
|
lsl r2, r2, #4
|
|
ldr r0, [r5, r2]
|
|
add r3, r1, #0
|
|
str r0, [sp, #0x14]
|
|
add r0, r2, #4
|
|
ldr r0, [r5, r0]
|
|
str r0, [sp, #0x18]
|
|
add r0, r2, #0
|
|
add r0, #8
|
|
ldr r0, [r5, r0]
|
|
str r0, [sp, #0x1c]
|
|
add r0, r2, #0
|
|
add r0, #0xc
|
|
ldr r0, [r5, r0]
|
|
add r2, #0x30
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
add r0, r5, r2
|
|
add r2, r1, #0
|
|
str r1, [sp, #0x28]
|
|
bl FUN_02008AA4
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r4, #0
|
|
str r0, [sp, #0x2c]
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x30]
|
|
mov r0, #1
|
|
lsl r0, r0, #0xc
|
|
mov r7, #6
|
|
str r4, [sp, #0x3c]
|
|
str r0, [sp, #0x40]
|
|
str r0, [sp, #0x44]
|
|
str r0, [sp, #0x48]
|
|
add r0, sp, #0x2c
|
|
strh r4, [r0, #0x20]
|
|
mov r0, #1
|
|
str r0, [sp, #0x50]
|
|
str r0, [sp, #0x54]
|
|
mov r0, #0x36
|
|
str r0, [sp, #0x58]
|
|
mov r6, #0x20
|
|
lsl r7, r7, #0xe
|
|
_02212848:
|
|
mov r0, #1
|
|
lsl r1, r6, #0xc
|
|
lsl r0, r0, #0x14
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
str r7, [sp, #0x34]
|
|
bl FUN_0201FE94
|
|
mov r1, #0xca
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl FUN_020200BC
|
|
mov r0, #0xca
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl FUN_02020130
|
|
mov r0, #0xca
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #2
|
|
bl FUN_02020238
|
|
mov r0, #0xca
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
add r4, r4, #1
|
|
add r6, #0x20
|
|
add r5, r5, #4
|
|
cmp r4, #5
|
|
blt _02212848
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl FUN_0201E6E4
|
|
add sp, #0x5c
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD56_022127D4
|
|
|
|
thumb_func_start MOD56_022128A4
|
|
MOD56_022128A4: ; 0x022128A4
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _022128CE
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #0
|
|
bl FUN_0200CCF8
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
_022128CE:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0x16
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _02212954 ; =0x000001CA
|
|
mov r1, #0xd7
|
|
str r0, [sp, #0x10]
|
|
add r0, r4, #0
|
|
add r0, #0xc0
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0]
|
|
add r1, r4, r1
|
|
mov r2, #3
|
|
mov r3, #5
|
|
bl FUN_02019064
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r4, #0
|
|
mov r2, #0x16
|
|
add r0, #0xcc
|
|
lsl r2, r2, #4
|
|
ldr r0, [r0]
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x11
|
|
bl FUN_0200A8E0
|
|
mov r1, #0x16
|
|
lsl r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r0, #1
|
|
mov r2, #0
|
|
mov r3, #0xb0
|
|
bl FUN_02002F40
|
|
mov r1, #0
|
|
add r3, r0, #0
|
|
str r1, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _02212958 ; =0x000F0E00
|
|
add r2, #0x61
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
ldr r2, [r4, r2]
|
|
add r0, r4, r0
|
|
mov r1, #1
|
|
bl FUN_0201BDE0
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019220
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02212954: .word 0x000001CA
|
|
_02212958: .word 0x000F0E00
|
|
thumb_func_end MOD56_022128A4
|
|
|
|
thumb_func_start MOD56_0221295C
|
|
MOD56_0221295C: ; 0x0221295C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _02212978
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
_02212978:
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _02212990
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
_02212990:
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _022129A8
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
_022129A8:
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _022129C0
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
_022129C0:
|
|
mov r0, #0xdf
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _022129D8
|
|
mov r0, #0xdf
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
_022129D8:
|
|
add r0, r4, #0
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _022129EA
|
|
mov r1, #0
|
|
add r2, r1, #0
|
|
bl FUN_02001300
|
|
_022129EA:
|
|
add r0, r4, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _02212A00
|
|
bl FUN_02012870
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0xb0
|
|
str r1, [r0]
|
|
_02212A00:
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _02212A18
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
_02212A18:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_0221295C
|
|
|
|
thumb_func_start MOD56_02212A1C
|
|
MOD56_02212A1C: ; 0x02212A1C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r1, _02212B30 ; =0x00000497
|
|
mov r0, #0xb
|
|
mov r2, #1
|
|
bl FUN_0200433C
|
|
bl FUN_02033590
|
|
cmp r0, #0
|
|
beq _02212A9A
|
|
bl FUN_02033E74
|
|
bl MOD04_021D853C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
bl FUN_020334DC
|
|
add r1, r0, #0
|
|
str r0, [r5, #4]
|
|
add r1, #0x22
|
|
ldrb r1, [r1]
|
|
add r0, #0x21
|
|
strb r1, [r0]
|
|
ldr r0, [r5, #4]
|
|
ldrb r0, [r0, #0x1b]
|
|
cmp r0, #8
|
|
bne _02212A80
|
|
bl FUN_02033208
|
|
bl FUN_020334DC
|
|
add r1, r0, #0
|
|
str r0, [r5, #4]
|
|
add r1, #0x22
|
|
ldrb r1, [r1]
|
|
add r0, #0x21
|
|
strb r1, [r0]
|
|
mov r0, #0xf1
|
|
mov r1, #0x14
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
mov r1, #0x40
|
|
sub r0, #0x14
|
|
str r1, [r5, r0]
|
|
b _02212B2C
|
|
_02212A80:
|
|
add r0, r5, #0
|
|
mov r1, #0x2b
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x10
|
|
bl FUN_02031588
|
|
mov r0, #0x3b
|
|
mov r1, #0x3c
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02212B2C
|
|
_02212A9A:
|
|
add r0, r5, #0
|
|
bl MOD56_022128A4
|
|
ldr r0, [r5]
|
|
bl FUN_02028228
|
|
bl DWC_CheckHasProfile
|
|
cmp r0, #0
|
|
bne _02212AFA
|
|
mov r0, #0
|
|
mov r1, #3
|
|
bl FUN_020178BC
|
|
mov r0, #3
|
|
mov r1, #2
|
|
bl FUN_020178BC
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl FUN_020178BC
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl FUN_020178BC
|
|
add r0, r5, #0
|
|
mov r1, #0x11
|
|
bl MOD56_02215FF4
|
|
mov r0, #0x36
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
ldr r1, _02212B34 ; =0x02216310
|
|
ldr r2, _02212B38 ; =0x000001D9
|
|
mov r3, #0xb
|
|
bl FUN_02002198
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x3b
|
|
mov r1, #6
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02212B2C
|
|
_02212AFA:
|
|
ldr r0, [r5]
|
|
bl FUN_02028228
|
|
bl DWC_CheckValidConsole
|
|
cmp r0, #0
|
|
bne _02212B1A
|
|
add r0, r5, #0
|
|
mov r1, #0x13
|
|
bl MOD56_02215FF4
|
|
mov r0, #0x3b
|
|
mov r1, #3
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02212B2C
|
|
_02212B1A:
|
|
add r0, r5, #0
|
|
mov r1, #0x10
|
|
mov r2, #1
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #1
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_02212B2C:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02212B30: .word 0x00000497
|
|
_02212B34: .word 0x02216310
|
|
_02212B38: .word 0x000001D9
|
|
thumb_func_end MOD56_02212A1C
|
|
|
|
thumb_func_start MOD56_02212B3C
|
|
MOD56_02212B3C: ; 0x02212B3C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02212B76
|
|
mov r0, #0x36
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
ldr r1, _02212B7C ; =0x022162F8
|
|
ldr r2, _02212B80 ; =0x000001D9
|
|
mov r3, #0xb
|
|
bl FUN_02002198
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x3b
|
|
mov r1, #2
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_02212B76:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02212B7C: .word 0x022162F8
|
|
_02212B80: .word 0x000001D9
|
|
thumb_func_end MOD56_02212B3C
|
|
|
|
thumb_func_start MOD56_02212B84
|
|
MOD56_02212B84: ; 0x02212B84
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
add r4, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021AC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _02212BA2
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02212BA2:
|
|
cmp r0, #0
|
|
bne _02212BD4
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
ldr r1, _02212BE0 ; =0x000004A4
|
|
bl FUN_0203346C
|
|
str r0, [r5, #4]
|
|
add r0, r5, #0
|
|
mov r1, #0x16
|
|
mov r2, #1
|
|
bl MOD56_02215EA4
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
ldr r1, _02212BE4 ; =0x000001E2
|
|
add r0, r5, r0
|
|
bl FUN_0200D858
|
|
mov r1, #6
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
mov r1, #0xe
|
|
b _02212BD6
|
|
_02212BD4:
|
|
mov r1, #0x22
|
|
_02212BD6:
|
|
mov r0, #0x3b
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02212BE0: .word 0x000004A4
|
|
_02212BE4: .word 0x000001E2
|
|
thumb_func_end MOD56_02212B84
|
|
|
|
thumb_func_start MOD56_02212BE8
|
|
MOD56_02212BE8: ; 0x02212BE8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldr r1, _02212C44 ; =0x021C48B8
|
|
add r5, r0, #0
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #3
|
|
tst r1, r2
|
|
beq _02212C40
|
|
mov r1, #0x14
|
|
bl MOD56_02215FF4
|
|
mov r0, #0
|
|
mov r1, #3
|
|
bl FUN_020178BC
|
|
mov r0, #3
|
|
mov r1, #2
|
|
bl FUN_020178BC
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl FUN_020178BC
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl FUN_020178BC
|
|
mov r0, #0x36
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
ldr r1, _02212C48 ; =0x02216310
|
|
ldr r2, _02212C4C ; =0x000001D9
|
|
mov r3, #0xb
|
|
bl FUN_02002198
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x3b
|
|
mov r1, #4
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_02212C40:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02212C44: .word 0x021C48B8
|
|
_02212C48: .word 0x02216310
|
|
_02212C4C: .word 0x000001D9
|
|
thumb_func_end MOD56_02212BE8
|
|
|
|
thumb_func_start MOD56_02212C50
|
|
MOD56_02212C50: ; 0x02212C50
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
add r4, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021AC
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
bne _02212C74
|
|
add sp, #4
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, pc}
|
|
_02212C74:
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
cmp r6, #0
|
|
bne _02212CB4
|
|
add r0, r5, #0
|
|
mov r1, #0x15
|
|
bl MOD56_02215FF4
|
|
mov r0, #0x36
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
ldr r1, _02212CC4 ; =0x02216310
|
|
ldr r2, _02212CC8 ; =0x000001D9
|
|
mov r3, #0xb
|
|
bl FUN_02002198
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r1, #5
|
|
b _02212CB6
|
|
_02212CB4:
|
|
mov r1, #0x22
|
|
_02212CB6:
|
|
mov r0, #0x3b
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_02212CC4: .word 0x02216310
|
|
_02212CC8: .word 0x000001D9
|
|
thumb_func_end MOD56_02212C50
|
|
|
|
thumb_func_start MOD56_02212CCC
|
|
MOD56_02212CCC: ; 0x02212CCC
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
add r4, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021AC
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
bne _02212CEC
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02212CEC:
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
cmp r6, #0
|
|
bne _02212D44
|
|
ldr r0, [r5]
|
|
bl FUN_020281E8
|
|
mov r1, #0x3b
|
|
mov r0, #0xe
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r1, #0xf4
|
|
bl FUN_0203346C
|
|
str r0, [r5, #4]
|
|
add r0, r5, #0
|
|
mov r1, #0x16
|
|
mov r2, #1
|
|
bl MOD56_02215EA4
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
ldr r1, _02212D50 ; =0x000001E2
|
|
add r0, r5, r0
|
|
bl FUN_0200D858
|
|
mov r1, #6
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
mov r1, #1
|
|
mov r0, #0x3d
|
|
b _02212D48
|
|
_02212D44:
|
|
mov r1, #0x22
|
|
mov r0, #0x3b
|
|
_02212D48:
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02212D50: .word 0x000001E2
|
|
thumb_func_end MOD56_02212CCC
|
|
|
|
thumb_func_start MOD56_02212D54
|
|
MOD56_02212D54: ; 0x02212D54
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
add r4, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021AC
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
bne _02212D74
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02212D74:
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
cmp r6, #0
|
|
bne _02212DC6
|
|
mov r1, #0x3b
|
|
mov r0, #0xe
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r1, #0xf4
|
|
bl FUN_0203346C
|
|
str r0, [r5, #4]
|
|
add r0, r5, #0
|
|
mov r1, #0x16
|
|
mov r2, #1
|
|
bl MOD56_02215EA4
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
ldr r1, _02212DD4 ; =0x000001E2
|
|
add r0, r5, r0
|
|
bl FUN_0200D858
|
|
mov r1, #6
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
mov r1, #1
|
|
mov r0, #0x3d
|
|
b _02212DCA
|
|
_02212DC6:
|
|
mov r1, #0x22
|
|
mov r0, #0x3b
|
|
_02212DCA:
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02212DD4: .word 0x000001E2
|
|
thumb_func_end MOD56_02212D54
|
|
|
|
thumb_func_start MOD56_02212DD8
|
|
MOD56_02212DD8: ; 0x02212DD8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
mov r0, #0
|
|
mov r1, #3
|
|
bl FUN_020178BC
|
|
mov r0, #1
|
|
mov r1, #2
|
|
bl FUN_020178BC
|
|
mov r0, #3
|
|
mov r1, #1
|
|
bl FUN_020178BC
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl FUN_020178BC
|
|
mov r0, #0x3b
|
|
mov r1, #0xf
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02212DD8
|
|
|
|
thumb_func_start MOD56_02212E0C
|
|
MOD56_02212E0C: ; 0x02212E0C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
str r1, [sp]
|
|
bl FUN_020238F4
|
|
str r0, [sp, #0x14]
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
bl FUN_02024DA0
|
|
str r0, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
bl FUN_0206BB1C
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
bl FUN_02029AFC
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0xc]
|
|
bl FUN_0206B9AC
|
|
mov r6, #0
|
|
str r0, [sp, #4]
|
|
cmp r0, #0
|
|
ble _02212E82
|
|
add r4, r6, #0
|
|
_02212E52:
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r6, #0
|
|
bl FUN_0206B9B0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
add r7, r0, #0
|
|
bl FUN_020671BC
|
|
ldr r1, [r5, #4]
|
|
mov r2, #0
|
|
strh r0, [r1, r4]
|
|
add r0, r7, #0
|
|
mov r1, #6
|
|
bl FUN_020671BC
|
|
ldr r1, [r5, #4]
|
|
add r6, r6, #1
|
|
add r1, r1, r4
|
|
strh r0, [r1, #0xc]
|
|
ldr r0, [sp, #4]
|
|
add r4, r4, #2
|
|
cmp r6, r0
|
|
blt _02212E52
|
|
_02212E82:
|
|
ldr r0, [sp, #0x14]
|
|
bl FUN_02023A68
|
|
ldr r1, [r5, #4]
|
|
strb r0, [r1, #0x18]
|
|
ldr r0, [sp, #0x14]
|
|
bl FUN_02023A70
|
|
ldr r1, [r5, #4]
|
|
strb r0, [r1, #0x19]
|
|
ldr r0, [sp, #0x10]
|
|
bl FUN_02024CA4
|
|
ldr r1, [r5, #4]
|
|
strb r0, [r1, #0x1a]
|
|
ldr r1, [r5, #4]
|
|
ldr r0, [sp]
|
|
strb r0, [r1, #0x1b]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0
|
|
strb r1, [r0, #0x1c]
|
|
ldr r0, [sp, #0x14]
|
|
bl FUN_02023A28
|
|
ldr r1, [r5, #4]
|
|
strb r0, [r1, #0x1d]
|
|
ldr r0, [sp, #0x14]
|
|
bl FUN_020239CC
|
|
ldr r1, [r5, #4]
|
|
strb r0, [r1, #0x1e]
|
|
ldr r0, [sp, #8]
|
|
bl FUN_02029B38
|
|
ldr r1, [r5, #4]
|
|
strb r0, [r1, #0x1f]
|
|
ldr r0, [sp, #8]
|
|
bl FUN_02029B3C
|
|
ldr r1, [r5, #4]
|
|
add r1, #0x20
|
|
strb r0, [r1]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #1
|
|
add r0, #0x21
|
|
strb r1, [r0]
|
|
ldr r0, [r5, #4]
|
|
add r0, #0x22
|
|
strb r1, [r0]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x24
|
|
bl MOD04_021D8478
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x24
|
|
add r0, #0x24
|
|
bl MOD04_021D83D4
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02212E0C
|
|
|
|
thumb_func_start MOD56_02212EFC
|
|
MOD56_02212EFC: ; 0x02212EFC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r5, #0
|
|
add r6, r0, #0
|
|
add r4, r5, #0
|
|
add r7, r5, #0
|
|
_02212F06:
|
|
add r0, r6, r4
|
|
strb r7, [r0, #0xc]
|
|
add r0, r4, #0
|
|
bl MOD04_021D8480
|
|
cmp r0, #0
|
|
beq _02212F1C
|
|
add r0, r6, r5
|
|
add r1, r4, #1
|
|
strb r1, [r0, #0xc]
|
|
add r5, r5, #1
|
|
_02212F1C:
|
|
add r4, r4, #1
|
|
cmp r4, #0x20
|
|
blt _02212F06
|
|
add r0, r5, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02212EFC
|
|
|
|
thumb_func_start MOD56_02212F28
|
|
MOD56_02212F28: ; 0x02212F28
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r4, #0
|
|
add r7, r0, #0
|
|
str r4, [sp]
|
|
add r5, r4, #0
|
|
add r6, r7, #0
|
|
_02212F34:
|
|
ldr r0, [r7, #4]
|
|
add r0, r0, r5
|
|
add r0, #0x3f
|
|
ldrb r1, [r0]
|
|
ldr r0, [r6, #0x2c]
|
|
cmp r0, r1
|
|
beq _02212F6E
|
|
str r1, [r6, #0x2c]
|
|
ldr r3, [r7, #4]
|
|
ldr r0, [r7]
|
|
add r3, r3, r5
|
|
add r3, #0x41
|
|
ldrb r3, [r3]
|
|
add r1, r4, #0
|
|
mov r2, #7
|
|
bl FUN_020282E8
|
|
ldr r3, [r7, #4]
|
|
ldr r0, [r7]
|
|
add r3, r3, r5
|
|
add r3, #0x42
|
|
ldrb r3, [r3]
|
|
add r1, r4, #0
|
|
mov r2, #8
|
|
bl FUN_020282E8
|
|
ldr r0, [sp]
|
|
add r0, r0, #1
|
|
str r0, [sp]
|
|
_02212F6E:
|
|
add r4, r4, #1
|
|
add r5, #0x24
|
|
add r6, r6, #4
|
|
cmp r4, #0x20
|
|
blt _02212F34
|
|
ldr r0, [sp]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD56_02212F28
|
|
|
|
thumb_func_start MOD56_02212F7C
|
|
MOD56_02212F7C: ; 0x02212F7C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
bl FUN_02033180
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r5, r1
|
|
beq _02212F98
|
|
cmp r5, #0xb
|
|
beq _02212F98
|
|
cmp r0, r1
|
|
bne _02212F9E
|
|
_02212F98:
|
|
mov r6, #0xe
|
|
mov r5, #0xb
|
|
b _02212FAC
|
|
_02212F9E:
|
|
sub r1, r1, #1
|
|
cmp r0, r1
|
|
bne _02212FAA
|
|
mov r6, #0xd
|
|
mov r5, #0xc
|
|
b _02212FAC
|
|
_02212FAA:
|
|
add r6, r5, #0
|
|
_02212FAC:
|
|
add r0, r4, #0
|
|
bl MOD56_02216120
|
|
bl FUN_02033180
|
|
add r2, r0, #0
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
mov r3, #5
|
|
bl FUN_0200AD38
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD56_02215FF4
|
|
cmp r5, #0xb
|
|
bhi _02213022
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02212FE6: ; jump table
|
|
.short _02213022 - _02212FE6 - 2 ; case 0
|
|
.short _02212FFE - _02212FE6 - 2 ; case 1
|
|
.short _02213022 - _02212FE6 - 2 ; case 2
|
|
.short _02213022 - _02212FE6 - 2 ; case 3
|
|
.short _02212FFE - _02212FE6 - 2 ; case 4
|
|
.short _02212FFE - _02212FE6 - 2 ; case 5
|
|
.short _0221300A - _02212FE6 - 2 ; case 6
|
|
.short _0221300A - _02212FE6 - 2 ; case 7
|
|
.short _0221300A - _02212FE6 - 2 ; case 8
|
|
.short _0221300A - _02212FE6 - 2 ; case 9
|
|
.short _02213016 - _02212FE6 - 2 ; case 10
|
|
.short _02212FFE - _02212FE6 - 2 ; case 11
|
|
_02212FFE:
|
|
mov r0, #0x3b
|
|
mov r1, #0xa
|
|
lsl r0, r0, #4
|
|
add sp, #8
|
|
str r1, [r4, r0]
|
|
pop {r4, r5, r6, pc}
|
|
_0221300A:
|
|
mov r0, #0x3b
|
|
mov r1, #0xa
|
|
lsl r0, r0, #4
|
|
add sp, #8
|
|
str r1, [r4, r0]
|
|
pop {r4, r5, r6, pc}
|
|
_02213016:
|
|
mov r0, #0x3b
|
|
mov r1, #0xa
|
|
lsl r0, r0, #4
|
|
add sp, #8
|
|
str r1, [r4, r0]
|
|
pop {r4, r5, r6, pc}
|
|
_02213022:
|
|
mov r0, #0x3b
|
|
mov r1, #0x23
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02212F7C
|
|
|
|
thumb_func_start MOD56_02213030
|
|
MOD56_02213030: ; 0x02213030
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl FUN_02033180
|
|
bl MOD04_021D80E0
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl MOD56_02212F7C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02213030
|
|
|
|
thumb_func_start MOD56_02213048
|
|
MOD56_02213048: ; 0x02213048
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _02213088 ; =0x021C48B8
|
|
add r4, r1, #0
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _02213084
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _0221307C
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
_0221307C:
|
|
mov r0, #0x3b
|
|
mov r1, #8
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_02213084:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02213088: .word 0x021C48B8
|
|
thumb_func_end MOD56_02213048
|
|
|
|
thumb_func_start MOD56_0221308C
|
|
MOD56_0221308C: ; 0x0221308C
|
|
mov r2, #0x3b
|
|
mov r3, #9
|
|
lsl r2, r2, #4
|
|
str r3, [r0, r2]
|
|
add r0, r1, #0
|
|
bx lr
|
|
thumb_func_end MOD56_0221308C
|
|
|
|
thumb_func_start MOD56_02213098
|
|
MOD56_02213098: ; 0x02213098
|
|
mov r2, #0x3b
|
|
mov r3, #0xb
|
|
lsl r2, r2, #4
|
|
str r3, [r0, r2]
|
|
add r0, r1, #0
|
|
bx lr
|
|
thumb_func_end MOD56_02213098
|
|
|
|
thumb_func_start MOD56_022130A4
|
|
MOD56_022130A4: ; 0x022130A4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _022130F0 ; =0x021C48B8
|
|
add r4, r1, #0
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _022130EA
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _022130D8
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
_022130D8:
|
|
add r0, r5, #0
|
|
mov r1, #0x33
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0xb
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_022130EA:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_022130F0: .word 0x021C48B8
|
|
thumb_func_end MOD56_022130A4
|
|
|
|
thumb_func_start MOD56_022130F4
|
|
MOD56_022130F4: ; 0x022130F4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _0221312E
|
|
mov r0, #0x36
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
ldr r1, _02213134 ; =0x02216308
|
|
ldr r2, _02213138 ; =0x000001D9
|
|
mov r3, #0xb
|
|
bl FUN_02002198
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x3b
|
|
mov r1, #0xc
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_0221312E:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02213134: .word 0x02216308
|
|
_02213138: .word 0x000001D9
|
|
thumb_func_end MOD56_022130F4
|
|
|
|
thumb_func_start MOD56_0221313C
|
|
MOD56_0221313C: ; 0x0221313C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
add r4, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021AC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _0221315A
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
_0221315A:
|
|
cmp r0, #0
|
|
bne _02213172
|
|
bl FUN_020331C4
|
|
add r0, r5, #0
|
|
mov r1, #0x10
|
|
bl MOD56_0221617C
|
|
mov r0, #0x3b
|
|
mov r1, #0xd
|
|
lsl r0, r0, #4
|
|
b _02213186
|
|
_02213172:
|
|
bl FUN_020331C4
|
|
bl FUN_0202DBA4
|
|
mov r0, #0xed
|
|
mov r1, #8
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
mov r1, #0x22
|
|
sub r0, r0, #4
|
|
_02213186:
|
|
str r1, [r5, r0]
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_0221313C
|
|
|
|
thumb_func_start MOD56_02213194
|
|
MOD56_02213194: ; 0x02213194
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
str r1, [sp, #0x10]
|
|
bl FUN_0202E4C8
|
|
cmp r0, #0
|
|
bne _0221326E
|
|
add r0, r6, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
mov r1, #3
|
|
bl FUN_02018744
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
add r2, r6, #0
|
|
str r3, [sp, #8]
|
|
mov r0, #0x36
|
|
str r0, [sp, #0xc]
|
|
add r2, #0xc0
|
|
ldr r2, [r2]
|
|
mov r0, #0x5c
|
|
mov r1, #4
|
|
bl FUN_020068C8
|
|
add r0, r6, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _02213206
|
|
mov r0, #0xdf
|
|
lsl r0, r0, #2
|
|
add r0, r6, r0
|
|
bl FUN_02019178
|
|
add r0, r6, #0
|
|
add r0, #0xb4
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r2, r1, #0
|
|
bl FUN_02001300
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
add r0, #0xb4
|
|
str r1, [r0]
|
|
add r0, r6, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
bl FUN_02012870
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
add r0, #0xb0
|
|
str r1, [r0]
|
|
_02213206:
|
|
add r0, r6, #0
|
|
add r0, #0xc
|
|
mov r1, #0
|
|
mov r2, #0x20
|
|
bl MI_CpuFill8
|
|
add r0, r6, #0
|
|
add r0, #0x2c
|
|
mov r1, #0
|
|
mov r2, #0x80
|
|
bl MI_CpuFill8
|
|
mov r7, #0xca
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
lsl r7, r7, #2
|
|
_02213226:
|
|
ldr r0, [r5, r7]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #5
|
|
blt _02213226
|
|
add r0, r6, #0
|
|
bl MOD56_022128A4
|
|
add r0, r6, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
ldr r1, _02213274 ; =0x000004A4
|
|
bl FUN_0203346C
|
|
str r0, [r6, #4]
|
|
add r0, r6, #0
|
|
mov r1, #0x16
|
|
mov r2, #1
|
|
bl MOD56_02215EA4
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
ldr r1, _02213278 ; =0x000001E2
|
|
add r0, r6, r0
|
|
bl FUN_0200D858
|
|
mov r1, #6
|
|
lsl r1, r1, #6
|
|
str r0, [r6, r1]
|
|
mov r0, #0x3b
|
|
mov r1, #0xe
|
|
lsl r0, r0, #4
|
|
str r1, [r6, r0]
|
|
_0221326E:
|
|
ldr r0, [sp, #0x10]
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02213274: .word 0x000004A4
|
|
_02213278: .word 0x000001E2
|
|
thumb_func_end MOD56_02213194
|
|
|
|
thumb_func_start MOD56_0221327C
|
|
MOD56_0221327C: ; 0x0221327C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl FUN_02033138
|
|
cmp r0, #0
|
|
beq _022132E0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #8
|
|
beq _022132B6
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
beq _022132B6
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD7C
|
|
mov r0, #0x5e
|
|
mov r1, #8
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
_022132B6:
|
|
mov r0, #0x3d
|
|
lsl r0, r0, #4
|
|
ldr r1, [r5, r0]
|
|
cmp r1, #0
|
|
beq _022132C8
|
|
mov r1, #0x10
|
|
sub r0, #0x20
|
|
str r1, [r5, r0]
|
|
b _022132F6
|
|
_022132C8:
|
|
add r0, r5, #0
|
|
mov r1, #0x10
|
|
bl MOD56_02212E0C
|
|
add r0, r5, #0
|
|
bl MOD56_02212EFC
|
|
mov r0, #0x3b
|
|
mov r1, #0x12
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _022132F6
|
|
_022132E0:
|
|
bl FUN_02033250
|
|
cmp r0, #0
|
|
bne _022132F0
|
|
bl FUN_0203300C
|
|
cmp r0, #3
|
|
bne _022132F6
|
|
_022132F0:
|
|
add r0, r5, #0
|
|
bl MOD56_02213030
|
|
_022132F6:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_0221327C
|
|
|
|
thumb_func_start MOD56_022132FC
|
|
MOD56_022132FC: ; 0x022132FC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0xf1
|
|
lsl r0, r0, #2
|
|
add r4, r1, #0
|
|
ldr r1, [r5, r0]
|
|
cmp r1, #0
|
|
ble _02213314
|
|
sub r1, r1, #1
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02213314:
|
|
bl FUN_02033154
|
|
cmp r0, #0
|
|
beq _02213326
|
|
mov r0, #0x3b
|
|
mov r1, #0x12
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02213364
|
|
_02213326:
|
|
bl FUN_0203300C
|
|
cmp r0, #4
|
|
bge _02213340
|
|
bl FUN_02033128
|
|
cmp r0, #0
|
|
bne _02213340
|
|
mov r0, #0
|
|
bl FUN_02030E7C
|
|
cmp r0, #0
|
|
bne _0221334E
|
|
_02213340:
|
|
bl FUN_020331E8
|
|
mov r0, #0x3b
|
|
mov r1, #0x12
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02213364
|
|
_0221334E:
|
|
bl FUN_02033250
|
|
cmp r0, #0
|
|
bne _0221335E
|
|
bl FUN_0203300C
|
|
cmp r0, #3
|
|
bne _02213364
|
|
_0221335E:
|
|
add r0, r5, #0
|
|
bl MOD56_02213030
|
|
_02213364:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD56_022132FC
|
|
|
|
thumb_func_start MOD56_02213368
|
|
MOD56_02213368: ; 0x02213368
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD56_02216120
|
|
add r0, r5, #0
|
|
mov r1, #0x12
|
|
bl MOD56_02215FF4
|
|
mov r0, #0x3b
|
|
mov r1, #0x11
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02213368
|
|
|
|
thumb_func_start MOD56_02213388
|
|
MOD56_02213388: ; 0x02213388
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _02213418 ; =0x021C48B8
|
|
add r4, r1, #0
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _02213412
|
|
mov r1, #0xef
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r1]
|
|
cmp r0, #1
|
|
bne _022133B6
|
|
add r0, r1, #0
|
|
mov r2, #0xa
|
|
sub r0, #8
|
|
str r2, [r5, r0]
|
|
mov r0, #0x22
|
|
sub r1, #0xc
|
|
str r0, [r5, r1]
|
|
bl FUN_020331C4
|
|
b _02213412
|
|
_022133B6:
|
|
ldr r0, [r5]
|
|
bl FUN_02028448
|
|
cmp r0, #0
|
|
bne _022133DA
|
|
add r0, r5, #0
|
|
mov r1, #0x19
|
|
mov r2, #1
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x3a
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
mov r1, #1
|
|
add r0, #0x14
|
|
str r1, [r5, r0]
|
|
b _02213412
|
|
_022133DA:
|
|
add r0, r5, #0
|
|
mov r1, #0x10
|
|
bl MOD56_02212E0C
|
|
add r0, r5, #0
|
|
bl MOD56_02212EFC
|
|
mov r0, #0x3b
|
|
mov r1, #0x12
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
sub r0, #0x44
|
|
add r0, r5, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _02213412
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
_02213412:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02213418: .word 0x021C48B8
|
|
thumb_func_end MOD56_02213388
|
|
|
|
thumb_func_start MOD56_0221341C
|
|
MOD56_0221341C: ; 0x0221341C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
ldr r5, _02213618 ; =0x00010200
|
|
bl FUN_020238F4
|
|
mov r1, #0x36
|
|
bl FUN_020239A0
|
|
add r6, r0, #0
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
bne _0221344C
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
_0221344C:
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
add r2, r6, #0
|
|
add r3, r1, #0
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
ldr r0, [r4, #4]
|
|
ldrb r0, [r0, #0x1b]
|
|
cmp r0, #0x10
|
|
bls _02213484
|
|
b _02213614
|
|
_02213484:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02213490: ; jump table
|
|
.short _022135D8 - _02213490 - 2 ; case 0
|
|
.short _022134B2 - _02213490 - 2 ; case 1
|
|
.short _0221350C - _02213490 - 2 ; case 2
|
|
.short _0221350C - _02213490 - 2 ; case 3
|
|
.short _0221350C - _02213490 - 2 ; case 4
|
|
.short _0221350C - _02213490 - 2 ; case 5
|
|
.short _0221350C - _02213490 - 2 ; case 6
|
|
.short _0221350C - _02213490 - 2 ; case 7
|
|
.short _0221359A - _02213490 - 2 ; case 8
|
|
.short _02213522 - _02213490 - 2 ; case 9
|
|
.short _02213536 - _02213490 - 2 ; case 10
|
|
.short _0221354A - _02213490 - 2 ; case 11
|
|
.short _0221355E - _02213490 - 2 ; case 12
|
|
.short _02213572 - _02213490 - 2 ; case 13
|
|
.short _02213586 - _02213490 - 2 ; case 14
|
|
.short _022135B0 - _02213490 - 2 ; case 15
|
|
.short _022135C4 - _02213490 - 2 ; case 16
|
|
_022134B2:
|
|
ldr r5, _0221361C ; =0x00020E00
|
|
bl MOD04_021D853C
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _022134D4
|
|
add r0, r4, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x1a
|
|
bl FUN_0200A8E0
|
|
b _022135DC
|
|
_022134D4:
|
|
bl MOD04_021D853C
|
|
add r1, r0, #0
|
|
ldr r0, [r4]
|
|
mov r2, #8
|
|
bl FUN_0202822C
|
|
cmp r0, #0
|
|
bne _022134EA
|
|
ldr r5, _02213620 ; =0x00050600
|
|
b _022134F2
|
|
_022134EA:
|
|
cmp r0, #1
|
|
bne _022134F2
|
|
mov r5, #0xc1
|
|
lsl r5, r5, #0xa
|
|
_022134F2:
|
|
bl MOD04_021D853C
|
|
add r1, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_020283A4
|
|
add r1, r0, #0
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021E28
|
|
b _022135DC
|
|
_0221350C:
|
|
add r0, r4, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x17
|
|
bl FUN_0200A8E0
|
|
ldr r5, _0221361C ; =0x00020E00
|
|
b _022135DC
|
|
_02213522:
|
|
add r0, r4, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x3b
|
|
bl FUN_0200A8E0
|
|
b _022135DC
|
|
_02213536:
|
|
add r0, r4, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x3c
|
|
bl FUN_0200A8E0
|
|
b _022135DC
|
|
_0221354A:
|
|
add r0, r4, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x3a
|
|
bl FUN_0200A8E0
|
|
b _022135DC
|
|
_0221355E:
|
|
add r0, r4, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x3e
|
|
bl FUN_0200A8E0
|
|
b _022135DC
|
|
_02213572:
|
|
add r0, r4, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x3f
|
|
bl FUN_0200A8E0
|
|
b _022135DC
|
|
_02213586:
|
|
add r0, r4, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x3d
|
|
bl FUN_0200A8E0
|
|
b _022135DC
|
|
_0221359A:
|
|
add r0, r4, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x19
|
|
bl FUN_0200A8E0
|
|
ldr r5, _0221361C ; =0x00020E00
|
|
b _022135DC
|
|
_022135B0:
|
|
add r0, r4, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x18
|
|
bl FUN_0200A8E0
|
|
b _022135DC
|
|
_022135C4:
|
|
add r0, r4, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x2d
|
|
bl FUN_0200A8E0
|
|
b _022135DC
|
|
_022135D8:
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
_022135DC:
|
|
mov r1, #0x56
|
|
lsl r1, r1, #2
|
|
mov r0, #0
|
|
ldr r1, [r4, r1]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
mov r1, #0
|
|
add r3, r0, #0
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #2
|
|
str r1, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
str r5, [sp, #8]
|
|
mov r5, #0x9c
|
|
str r1, [sp, #0xc]
|
|
add r2, #0x59
|
|
ldr r2, [r4, r2]
|
|
add r0, r4, r0
|
|
sub r3, r5, r3
|
|
bl FUN_0201BDE0
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019220
|
|
_02213614:
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02213618: .word 0x00010200
|
|
_0221361C: .word 0x00020E00
|
|
_02213620: .word 0x00050600
|
|
thumb_func_end MOD56_0221341C
|
|
|
|
thumb_func_start MOD56_02213624
|
|
MOD56_02213624: ; 0x02213624
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r1, #0
|
|
mov r1, #0x13
|
|
add r7, r2, #0
|
|
bl FUN_02001470
|
|
add r4, r0, #0
|
|
ldr r6, _02213750 ; =0x00010200
|
|
cmp r5, #0x20
|
|
beq _02213642
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _02213644
|
|
_02213642:
|
|
b _0221374C
|
|
_02213644:
|
|
mov r1, #0x24
|
|
ldr r0, [r4, #4]
|
|
mul r1, r5
|
|
add r0, r0, r1
|
|
add r0, #0x3f
|
|
ldrb r0, [r0]
|
|
cmp r0, #0x11
|
|
bhi _022136B6
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02213660: ; jump table
|
|
.short _022136B6 - _02213660 - 2 ; case 0
|
|
.short _02213684 - _02213660 - 2 ; case 1
|
|
.short _0221368A - _02213660 - 2 ; case 2
|
|
.short _0221368A - _02213660 - 2 ; case 3
|
|
.short _0221368A - _02213660 - 2 ; case 4
|
|
.short _0221368A - _02213660 - 2 ; case 5
|
|
.short _0221368A - _02213660 - 2 ; case 6
|
|
.short _0221368A - _02213660 - 2 ; case 7
|
|
.short _022136A8 - _02213660 - 2 ; case 8
|
|
.short _02213690 - _02213660 - 2 ; case 9
|
|
.short _02213694 - _02213660 - 2 ; case 10
|
|
.short _02213698 - _02213660 - 2 ; case 11
|
|
.short _0221369C - _02213660 - 2 ; case 12
|
|
.short _022136A0 - _02213660 - 2 ; case 13
|
|
.short _022136A4 - _02213660 - 2 ; case 14
|
|
.short _022136AE - _02213660 - 2 ; case 15
|
|
.short _022136B2 - _02213660 - 2 ; case 16
|
|
.short _022136B6 - _02213660 - 2 ; case 17
|
|
_02213684:
|
|
mov r1, #0x1a
|
|
ldr r6, _02213754 ; =0x00020E00
|
|
b _022136B8
|
|
_0221368A:
|
|
mov r1, #0x17
|
|
ldr r6, _02213754 ; =0x00020E00
|
|
b _022136B8
|
|
_02213690:
|
|
mov r1, #0x3b
|
|
b _022136B8
|
|
_02213694:
|
|
mov r1, #0x3c
|
|
b _022136B8
|
|
_02213698:
|
|
mov r1, #0x3a
|
|
b _022136B8
|
|
_0221369C:
|
|
mov r1, #0x3e
|
|
b _022136B8
|
|
_022136A0:
|
|
mov r1, #0x3f
|
|
b _022136B8
|
|
_022136A4:
|
|
mov r1, #0x3d
|
|
b _022136B8
|
|
_022136A8:
|
|
mov r1, #0x19
|
|
ldr r6, _02213754 ; =0x00020E00
|
|
b _022136B8
|
|
_022136AE:
|
|
mov r1, #0x18
|
|
b _022136B8
|
|
_022136B2:
|
|
mov r1, #0x2d
|
|
b _022136B8
|
|
_022136B6:
|
|
mov r1, #0x37
|
|
_022136B8:
|
|
cmp r1, #0
|
|
beq _02213706
|
|
add r0, r4, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r4, r2]
|
|
bl FUN_0200A8E0
|
|
mov r1, #0x56
|
|
lsl r1, r1, #2
|
|
mov r0, #0
|
|
ldr r1, [r4, r1]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
mov ip, r0
|
|
mov r0, #0xdf
|
|
lsl r0, r0, #2
|
|
str r7, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
str r6, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
add r2, #0x59
|
|
ldr r2, [r4, r2]
|
|
mov r6, #0xa4
|
|
mov r3, ip
|
|
add r0, r4, r0
|
|
sub r3, r6, r3
|
|
bl FUN_0201BDE0
|
|
mov r0, #0xdf
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019220
|
|
_02213706:
|
|
ldr r0, [r4]
|
|
add r1, r5, #0
|
|
mov r2, #8
|
|
bl FUN_0202822C
|
|
ldr r1, _02213750 ; =0x00010200
|
|
cmp r0, #0
|
|
bne _0221371A
|
|
ldr r1, _02213758 ; =0x00050600
|
|
b _02213722
|
|
_0221371A:
|
|
cmp r0, #1
|
|
bne _02213722
|
|
mov r1, #0xc1
|
|
lsl r1, r1, #0xa
|
|
_02213722:
|
|
str r7, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
lsl r2, r5, #2
|
|
str r1, [sp, #8]
|
|
mov r1, #0
|
|
add r2, r4, r2
|
|
mov r0, #0xdf
|
|
lsl r0, r0, #2
|
|
str r1, [sp, #0xc]
|
|
add r2, #0xd4
|
|
ldr r2, [r2]
|
|
add r0, r4, r0
|
|
mov r3, #8
|
|
bl FUN_0201BDE0
|
|
mov r0, #0xdf
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019220
|
|
_0221374C:
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02213750: .word 0x00010200
|
|
_02213754: .word 0x00020E00
|
|
_02213758: .word 0x00050600
|
|
thumb_func_end MOD56_02213624
|
|
|
|
thumb_func_start MOD56_0221375C
|
|
MOD56_0221375C: ; 0x0221375C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x38
|
|
add r4, r1, #0
|
|
ldr r1, _0221389C ; =0x022162E0
|
|
add r5, r3, #0
|
|
ldrh r3, [r1, #0x10]
|
|
add r7, r2, #0
|
|
add r2, sp, #0
|
|
strh r3, [r2, #0x30]
|
|
ldrh r3, [r1, #0x12]
|
|
add r0, #0xc0
|
|
strh r3, [r2, #0x32]
|
|
ldrh r3, [r1, #0x14]
|
|
strh r3, [r2, #0x34]
|
|
ldrh r3, [r1, #0x16]
|
|
strh r3, [r2, #0x36]
|
|
ldrh r3, [r1, #8]
|
|
strh r3, [r2, #0x28]
|
|
ldrh r3, [r1, #0xa]
|
|
strh r3, [r2, #0x2a]
|
|
ldrh r3, [r1, #0xc]
|
|
strh r3, [r2, #0x2c]
|
|
ldrh r3, [r1, #0xe]
|
|
strh r3, [r2, #0x2e]
|
|
ldrh r3, [r1, #0x38]
|
|
strh r3, [r2, #0x20]
|
|
ldrh r3, [r1, #0x3a]
|
|
strh r3, [r2, #0x22]
|
|
ldrh r3, [r1, #0x3c]
|
|
strh r3, [r2, #0x24]
|
|
ldrh r3, [r1, #0x3e]
|
|
strh r3, [r2, #0x26]
|
|
ldrh r3, [r1]
|
|
strh r3, [r2, #0x18]
|
|
ldrh r3, [r1, #2]
|
|
strh r3, [r2, #0x1a]
|
|
ldrh r3, [r1, #4]
|
|
strh r3, [r2, #0x1c]
|
|
ldrh r3, [r1, #6]
|
|
strh r3, [r2, #0x1e]
|
|
ldrh r3, [r1, #0x20]
|
|
strh r3, [r2, #0x10]
|
|
ldrh r3, [r1, #0x22]
|
|
strh r3, [r2, #0x12]
|
|
ldrh r3, [r1, #0x24]
|
|
strh r3, [r2, #0x14]
|
|
ldrh r1, [r1, #0x26]
|
|
strh r1, [r2, #0x16]
|
|
ldr r1, _022138A0 ; =0x02216320
|
|
ldrh r3, [r1]
|
|
strh r3, [r2, #8]
|
|
ldrh r3, [r1, #2]
|
|
strh r3, [r2, #0xa]
|
|
ldrh r3, [r1, #4]
|
|
strh r3, [r2, #0xc]
|
|
ldrh r3, [r1, #6]
|
|
strh r3, [r2, #0xe]
|
|
ldrh r3, [r1, #8]
|
|
strh r3, [r2]
|
|
ldrh r3, [r1, #0xa]
|
|
strh r3, [r2, #2]
|
|
ldrh r3, [r1, #0xc]
|
|
strh r3, [r2, #4]
|
|
ldrh r1, [r1, #0xe]
|
|
strh r1, [r2, #6]
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0201886C
|
|
add r1, r0, #0
|
|
mov r2, #0
|
|
cmp r4, #0x11
|
|
bhi _0221383A
|
|
add r0, r4, r4
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022137FA: ; jump table
|
|
.short _0221383A - _022137FA - 2 ; case 0
|
|
.short _0221381E - _022137FA - 2 ; case 1
|
|
.short _02213826 - _022137FA - 2 ; case 2
|
|
.short _02213826 - _022137FA - 2 ; case 3
|
|
.short _02213826 - _022137FA - 2 ; case 4
|
|
.short _02213826 - _022137FA - 2 ; case 5
|
|
.short _02213826 - _022137FA - 2 ; case 6
|
|
.short _02213826 - _022137FA - 2 ; case 7
|
|
.short _0221382E - _022137FA - 2 ; case 8
|
|
.short _02213822 - _022137FA - 2 ; case 9
|
|
.short _02213822 - _022137FA - 2 ; case 10
|
|
.short _02213822 - _022137FA - 2 ; case 11
|
|
.short _02213822 - _022137FA - 2 ; case 12
|
|
.short _02213822 - _022137FA - 2 ; case 13
|
|
.short _02213822 - _022137FA - 2 ; case 14
|
|
.short _0221382A - _022137FA - 2 ; case 15
|
|
.short _02213832 - _022137FA - 2 ; case 16
|
|
.short _02213836 - _022137FA - 2 ; case 17
|
|
_0221381E:
|
|
add r0, sp, #0x18
|
|
b _0221383C
|
|
_02213822:
|
|
mov r2, #1
|
|
lsl r2, r2, #0xc
|
|
_02213826:
|
|
add r0, sp, #0x30
|
|
b _0221383C
|
|
_0221382A:
|
|
mov r2, #1
|
|
lsl r2, r2, #0xc
|
|
_0221382E:
|
|
add r0, sp, #0x28
|
|
b _0221383C
|
|
_02213832:
|
|
add r0, sp, #0x20
|
|
b _0221383C
|
|
_02213836:
|
|
add r0, sp, #8
|
|
b _0221383C
|
|
_0221383A:
|
|
add r0, sp, #0
|
|
_0221383C:
|
|
ldr r3, [sp, #0x50]
|
|
ldrh r4, [r0]
|
|
lsl r3, r3, #5
|
|
add r5, r5, r3
|
|
add r6, r4, r2
|
|
lsl r4, r5, #1
|
|
strh r6, [r1, r4]
|
|
ldrh r4, [r0, #2]
|
|
add r6, r5, #1
|
|
lsl r6, r6, #1
|
|
add r4, r4, r2
|
|
strh r4, [r1, r6]
|
|
add r6, r5, #0
|
|
ldrh r4, [r0, #4]
|
|
add r6, #0x20
|
|
lsl r6, r6, #1
|
|
add r4, r4, r2
|
|
strh r4, [r1, r6]
|
|
ldrh r0, [r0, #6]
|
|
add r5, #0x21
|
|
add r2, r0, r2
|
|
lsl r0, r5, #1
|
|
strh r2, [r1, r0]
|
|
cmp r7, #0
|
|
beq _02213872
|
|
add r2, sp, #0
|
|
b _02213874
|
|
_02213872:
|
|
add r2, sp, #0x10
|
|
_02213874:
|
|
ldr r0, [sp, #0x54]
|
|
ldrh r4, [r2]
|
|
add r0, r0, r3
|
|
lsl r3, r0, #1
|
|
strh r4, [r1, r3]
|
|
add r3, r0, #1
|
|
ldrh r4, [r2, #2]
|
|
lsl r3, r3, #1
|
|
strh r4, [r1, r3]
|
|
add r3, r0, #0
|
|
add r3, #0x20
|
|
add r0, #0x21
|
|
ldrh r4, [r2, #4]
|
|
lsl r3, r3, #1
|
|
lsl r0, r0, #1
|
|
strh r4, [r1, r3]
|
|
ldrh r2, [r2, #6]
|
|
strh r2, [r1, r0]
|
|
add sp, #0x38
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0221389C: .word 0x022162E0
|
|
_022138A0: .word 0x02216320
|
|
thumb_func_end MOD56_0221375C
|
|
|
|
thumb_func_start MOD56_022138A4
|
|
MOD56_022138A4: ; 0x022138A4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r0, #0xc0
|
|
add r7, r1, #0
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0201886C
|
|
mov r6, #0
|
|
mov r4, #5
|
|
_022138BA:
|
|
add r0, r7, r6
|
|
cmp r0, #0x20
|
|
blt _022138C6
|
|
mov r1, #0
|
|
mov r2, #1
|
|
b _022138E2
|
|
_022138C6:
|
|
add r0, r5, r0
|
|
ldrb r1, [r0, #0xc]
|
|
cmp r1, #0
|
|
bne _022138D4
|
|
mov r1, #0
|
|
mov r2, #1
|
|
b _022138E2
|
|
_022138D4:
|
|
mov r2, #0x24
|
|
ldr r0, [r5, #4]
|
|
mul r2, r1
|
|
add r0, r0, r2
|
|
ldrb r1, [r0, #0x1b]
|
|
add r0, #0x21
|
|
ldrb r2, [r0]
|
|
_022138E2:
|
|
str r4, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
mov r3, #3
|
|
bl MOD56_0221375C
|
|
add r6, r6, #1
|
|
add r4, r4, #3
|
|
cmp r6, #5
|
|
blt _022138BA
|
|
ldr r0, [r5, #4]
|
|
ldrb r1, [r0, #0x1b]
|
|
add r0, #0x21
|
|
ldrb r2, [r0]
|
|
cmp r1, #1
|
|
bne _02213906
|
|
mov r1, #0
|
|
_02213906:
|
|
mov r0, #0x15
|
|
str r0, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
mov r3, #3
|
|
bl MOD56_0221375C
|
|
add r5, #0xc0
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl FUN_02017CD0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD56_022138A4
|
|
|
|
thumb_func_start MOD56_02213924
|
|
MOD56_02213924: ; 0x02213924
|
|
push {r3, lr}
|
|
cmp r2, #0
|
|
bne _02213930
|
|
ldr r0, _02213934 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
_02213930:
|
|
pop {r3, pc}
|
|
nop
|
|
_02213934: .word 0x000005DC
|
|
thumb_func_end MOD56_02213924
|
|
|
|
thumb_func_start MOD56_02213938
|
|
MOD56_02213938: ; 0x02213938
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r6, #0
|
|
mov r7, #0x5d
|
|
add r5, r0, #0
|
|
add r4, r6, #0
|
|
lsl r7, r7, #2
|
|
_02213944:
|
|
add r0, r5, r4
|
|
ldrb r2, [r0, #0xc]
|
|
cmp r2, #0
|
|
beq _0221395C
|
|
add r0, r5, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
ldr r1, [r5, r7]
|
|
sub r2, r2, #1
|
|
bl FUN_020128A0
|
|
add r6, r6, #1
|
|
_0221395C:
|
|
add r4, r4, #1
|
|
cmp r4, #0x20
|
|
blt _02213944
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r0, #0xb0
|
|
add r1, #0xcc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0x1b
|
|
mov r3, #0x20
|
|
bl FUN_02012880
|
|
add r0, r5, #0
|
|
add r0, #0xb0
|
|
add r5, #0xcc
|
|
mov r2, #0x2e
|
|
add r3, r2, #0
|
|
ldr r0, [r0]
|
|
ldr r1, [r5]
|
|
sub r3, #0x30
|
|
bl FUN_02012880
|
|
add r0, r6, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02213938
|
|
|
|
thumb_func_start MOD56_02213990
|
|
MOD56_02213990: ; 0x02213990
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x34
|
|
add r5, r0, #0
|
|
mov r0, #0x22
|
|
mov r1, #0x36
|
|
bl FUN_02012838
|
|
add r1, r5, #0
|
|
add r1, #0xb0
|
|
str r0, [r1]
|
|
add r0, r5, #0
|
|
bl MOD56_02213938
|
|
add r4, r0, #0
|
|
mov r0, #0xdf
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _022139D0
|
|
mov r0, #0xdf
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
mov r0, #0xdf
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
_022139D0:
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
mov r0, #0x15
|
|
str r0, [sp, #4]
|
|
mov r0, #0xe
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #1
|
|
str r0, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
mov r1, #0xdf
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0]
|
|
add r1, r5, r1
|
|
mov r2, #3
|
|
mov r3, #6
|
|
bl FUN_02019064
|
|
ldr r6, _02213A3C ; =0x022163F4
|
|
add r3, sp, #0x14
|
|
add r2, r3, #0
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r5, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
add r1, r4, #2
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0xdf
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x20]
|
|
add r0, sp, #0x14
|
|
strh r1, [r0, #0x10]
|
|
mov r1, #0
|
|
add r0, r2, #0
|
|
add r2, r1, #0
|
|
mov r3, #0x36
|
|
str r5, [sp, #0x30]
|
|
bl FUN_020010A8
|
|
add r5, #0xb4
|
|
str r0, [r5]
|
|
add sp, #0x34
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_02213A3C: .word 0x022163F4
|
|
thumb_func_end MOD56_02213990
|
|
|
|
thumb_func_start MOD56_02213A40
|
|
MOD56_02213A40: ; 0x02213A40
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _02213A6A
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
mov r0, #0xd3
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
_02213A6A:
|
|
mov r0, #0x15
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
lsl r0, r0, #5
|
|
str r0, [sp, #0x10]
|
|
add r0, r4, #0
|
|
add r0, #0xc0
|
|
mov r1, #0xd3
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0]
|
|
add r1, r4, r1
|
|
mov r2, #3
|
|
mov r3, #7
|
|
bl FUN_02019064
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD56_02213A40
|
|
|
|
thumb_func_start MOD56_02213A94
|
|
MOD56_02213A94: ; 0x02213A94
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD56_02216248
|
|
add r0, r5, #0
|
|
bl MOD56_02216274
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
mov r1, #3
|
|
bl FUN_02018744
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
add r2, r5, #0
|
|
str r3, [sp, #8]
|
|
mov r0, #0x36
|
|
str r0, [sp, #0xc]
|
|
add r2, #0xc0
|
|
ldr r2, [r2]
|
|
mov r0, #0x5c
|
|
mov r1, #5
|
|
bl FUN_020068C8
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _02213AF0
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200CCF8
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
_02213AF0:
|
|
add r0, r5, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _02213B2C
|
|
mov r0, #0xdf
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r2, r1, #0
|
|
bl FUN_02001300
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
add r0, #0xb4
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
bl FUN_02012870
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
add r0, #0xb0
|
|
str r1, [r0]
|
|
_02213B2C:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0x15
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _02213BEC ; =0x000001CA
|
|
mov r1, #0xd7
|
|
str r0, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0]
|
|
add r1, r5, r1
|
|
mov r2, #3
|
|
mov r3, #4
|
|
bl FUN_02019064
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r5, #0
|
|
mov r2, #0x16
|
|
add r0, #0xcc
|
|
lsl r2, r2, #4
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0x12
|
|
bl FUN_0200A8E0
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _02213BF0 ; =0x000F0E00
|
|
add r2, #0x61
|
|
str r0, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
bl FUN_0201BDE0
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019220
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
add r0, r5, #0
|
|
bl MOD56_02212EFC
|
|
add r0, r5, #0
|
|
bl MOD56_02213990
|
|
add r0, r5, #0
|
|
bl MOD56_02213A40
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl MOD56_022138A4
|
|
add r0, r5, #0
|
|
mov r1, #0x10
|
|
bl MOD56_0221617C
|
|
mov r1, #0
|
|
mov r0, #0xf6
|
|
mvn r1, r1
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
bl MOD04_021D865C
|
|
mov r0, #0x33
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
mov r0, #0x3b
|
|
mov r1, #0x13
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_02213BEC: .word 0x000001CA
|
|
_02213BF0: .word 0x000F0E00
|
|
thumb_func_end MOD56_02213A94
|
|
|
|
thumb_func_start MOD56_02213BF4
|
|
MOD56_02213BF4: ; 0x02213BF4
|
|
push {r3, lr}
|
|
bl FUN_0203300C
|
|
cmp r0, #1
|
|
bne _02213C02
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02213C02:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02213BF4
|
|
|
|
thumb_func_start MOD56_02213C08
|
|
MOD56_02213C08: ; 0x02213C08
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
bl MOD56_02212EFC
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_02212F28
|
|
ldr r1, [r5, #8]
|
|
cmp r1, r4
|
|
bne _02213C24
|
|
cmp r0, #0
|
|
beq _02213CA8
|
|
_02213C24:
|
|
add r0, r5, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
bl FUN_0201291C
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
add r2, r4, #2
|
|
bl FUN_02001538
|
|
cmp r4, #3
|
|
ble _02213C50
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
mov r1, #3
|
|
mov r2, #5
|
|
bl FUN_02001538
|
|
b _02213C5E
|
|
_02213C50:
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
mov r1, #3
|
|
add r2, r4, #2
|
|
bl FUN_02001538
|
|
_02213C5E:
|
|
add r0, r5, #0
|
|
bl MOD56_02213938
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
add r1, sp, #0xc
|
|
ldr r0, [r0]
|
|
add r1, #2
|
|
add r2, sp, #0xc
|
|
bl FUN_02001448
|
|
cmp r4, #3
|
|
blt _02213C84
|
|
add r0, sp, #0xc
|
|
ldrh r1, [r0, #2]
|
|
sub r2, r4, #3
|
|
cmp r2, r1
|
|
bgt _02213C84
|
|
strh r2, [r0, #2]
|
|
_02213C84:
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
add r0, r5, #0
|
|
str r1, [sp, #8]
|
|
add r3, sp, #0xc
|
|
add r0, #0xb4
|
|
ldrh r2, [r3, #2]
|
|
ldrh r3, [r3]
|
|
ldr r0, [r0]
|
|
bl FUN_020013C8
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
bl FUN_02001328
|
|
str r4, [r5, #8]
|
|
_02213CA8:
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
add r1, sp, #0xc
|
|
ldr r0, [r0]
|
|
add r1, #2
|
|
add r2, sp, #0xc
|
|
bl FUN_02001448
|
|
add r0, sp, #0xc
|
|
ldr r1, [r5, #8]
|
|
ldrh r3, [r0]
|
|
ldrh r2, [r0, #2]
|
|
add r1, r1, #2
|
|
add r4, r2, r3
|
|
cmp r1, r4
|
|
bgt _02213D0C
|
|
cmp r1, r4
|
|
bgt _02213CF0
|
|
_02213CCC:
|
|
cmp r2, #0
|
|
beq _02213CD8
|
|
ldrh r1, [r0, #2]
|
|
sub r1, r1, #1
|
|
strh r1, [r0, #2]
|
|
b _02213CE2
|
|
_02213CD8:
|
|
cmp r3, #0
|
|
beq _02213CE2
|
|
ldrh r1, [r0]
|
|
sub r1, r1, #1
|
|
strh r1, [r0]
|
|
_02213CE2:
|
|
ldrh r3, [r0]
|
|
ldr r1, [r5, #8]
|
|
ldrh r2, [r0, #2]
|
|
add r4, r1, #2
|
|
add r1, r2, r3
|
|
cmp r4, r1
|
|
ble _02213CCC
|
|
_02213CF0:
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
add r0, r5, #0
|
|
str r1, [sp, #8]
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
bl FUN_020013C8
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
bl FUN_02001328
|
|
_02213D0C:
|
|
add r1, sp, #0xc
|
|
ldrh r1, [r1, #2]
|
|
add r0, r5, #0
|
|
bl MOD56_022138A4
|
|
add r2, sp, #0xc
|
|
ldrh r3, [r2]
|
|
mov r0, #0x33
|
|
lsl r0, r0, #4
|
|
lsl r2, r3, #1
|
|
add r2, r3, r2
|
|
add r2, r2, #6
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x10
|
|
lsl r2, r2, #3
|
|
bl MOD56_02214470
|
|
add r0, sp, #0xc
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #0
|
|
beq _02213D52
|
|
mov r0, #0xca
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x80
|
|
mov r2, #0x20
|
|
bl MOD56_02214470
|
|
mov r0, #0xca
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
b _02213D5E
|
|
_02213D52:
|
|
mov r0, #0xca
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
_02213D5E:
|
|
add r0, sp, #0xc
|
|
ldrh r1, [r0, #2]
|
|
ldr r0, [r5, #8]
|
|
sub r0, r0, #3
|
|
cmp r1, r0
|
|
bge _02213D88
|
|
mov r0, #0xcb
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x80
|
|
mov r2, #0x9c
|
|
bl MOD56_02214470
|
|
mov r0, #0xcb
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
_02213D88:
|
|
mov r0, #0xcb
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD56_02213C08
|
|
|
|
thumb_func_start MOD56_02213D98
|
|
MOD56_02213D98: ; 0x02213D98
|
|
push {r4, r5, r6, lr}
|
|
mov r6, #0
|
|
mvn r6, r6
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD56_02213C08
|
|
bl MOD04_021D8640
|
|
add r1, r6, #0
|
|
cmp r0, r1
|
|
bne _02213DEE
|
|
ldr r0, _02213F84 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
lsl r0, r0, #0xa
|
|
tst r0, r1
|
|
beq _02213DEE
|
|
add r0, r5, #0
|
|
bl MOD56_0221620C
|
|
cmp r0, #0
|
|
beq _02213DD2
|
|
add r0, r5, #0
|
|
mov r1, #0x35
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
b _02213DDC
|
|
_02213DD2:
|
|
add r0, r5, #0
|
|
mov r1, #0x36
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
_02213DDC:
|
|
ldr r0, _02213F88 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
mov r0, #0x3b
|
|
mov r1, #0x14
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02213DEE:
|
|
bl FUN_02033250
|
|
cmp r0, #0
|
|
beq _02213E00
|
|
add r0, r5, #0
|
|
bl MOD56_02213030
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02213E00:
|
|
add r0, r5, #0
|
|
bl MOD56_02213BF4
|
|
cmp r0, #0
|
|
beq _02213E1C
|
|
ldr r0, _02213F8C ; =0x00000624
|
|
bl FUN_020054C8
|
|
mov r0, #0x3b
|
|
mov r1, #0x2f
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02213E1C:
|
|
mov r0, #0xf6
|
|
lsl r0, r0, #2
|
|
ldr r1, [r5, r0]
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r1, r0
|
|
bne _02213E5C
|
|
bl MOD04_021D8640
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _02213E5C
|
|
bl MOD04_021D8640
|
|
mov r1, #0xf6
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r1, #0x2a
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0xeb
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
b _02213ECE
|
|
_02213E5C:
|
|
mov r0, #0xf6
|
|
lsl r0, r0, #2
|
|
ldr r1, [r5, r0]
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r1, r0
|
|
beq _02213ECE
|
|
bl MOD04_021D8640
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _02213ECE
|
|
mov r0, #0xdf
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r2, r1, #0
|
|
bl FUN_02001300
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
add r0, #0xb4
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
bl FUN_02012870
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
add r0, #0xb0
|
|
str r1, [r0]
|
|
mov r1, #0xf6
|
|
lsl r1, r1, #2
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r1, #0xe
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
bl FUN_020331E8
|
|
mov r0, #0x3b
|
|
mov r1, #0x1b
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02213ECE:
|
|
mov r0, #0xf6
|
|
lsl r0, r0, #2
|
|
ldr r1, [r5, r0]
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r1, r0
|
|
bne _02213EE8
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
bl FUN_02001204
|
|
add r6, r0, #0
|
|
_02213EE8:
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
beq _02213EFA
|
|
add r0, r0, #1
|
|
cmp r6, r0
|
|
bne _02213F32
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02213EFA:
|
|
ldr r0, _02213F88 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
ldr r0, [r5, #4]
|
|
ldrb r0, [r0, #0x1b]
|
|
bl MOD56_02211E88
|
|
cmp r0, #0
|
|
beq _02213F16
|
|
mov r0, #0x3b
|
|
mov r1, #0x27
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02213F2E
|
|
_02213F16:
|
|
mov r0, #0xed
|
|
mov r1, #8
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
mov r1, #0x38
|
|
sub r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r5, #0
|
|
mov r1, #0x18
|
|
mov r2, #1
|
|
bl MOD56_02215EA4
|
|
_02213F2E:
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02213F32:
|
|
ldr r0, _02213F88 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
ldr r0, [r5, #4]
|
|
ldrb r0, [r0, #0x1b]
|
|
bl MOD56_02211E88
|
|
cmp r0, #0
|
|
beq _02213F4E
|
|
mov r0, #0x3b
|
|
mov r1, #0x27
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02213F7E
|
|
_02213F4E:
|
|
cmp r6, #0x20
|
|
bne _02213F76
|
|
ldr r0, [r5, #4]
|
|
ldrb r0, [r0, #0x1b]
|
|
cmp r0, #0x10
|
|
bne _02213F64
|
|
mov r0, #0x3b
|
|
mov r1, #0x24
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02213F7E
|
|
_02213F64:
|
|
bl MOD56_02211E88
|
|
cmp r0, #0
|
|
beq _02213F7E
|
|
mov r0, #0x3b
|
|
mov r1, #0x27
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02213F7E
|
|
_02213F76:
|
|
mov r0, #0x3b
|
|
mov r1, #0x2a
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_02213F7E:
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02213F84: .word 0x021C48B8
|
|
_02213F88: .word 0x000005DD
|
|
_02213F8C: .word 0x00000624
|
|
thumb_func_end MOD56_02213D98
|
|
|
|
thumb_func_start MOD56_02213F90
|
|
MOD56_02213F90: ; 0x02213F90
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD56_02213BF4
|
|
cmp r0, #0
|
|
beq _02213FA8
|
|
mov r0, #0x3b
|
|
mov r1, #0x13
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02213FC8
|
|
_02213FA8:
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02213FC8
|
|
mov r0, #0x3b
|
|
mov r1, #0x13
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
_02213FC8:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD56_02213F90
|
|
|
|
thumb_func_start MOD56_02213FCC
|
|
MOD56_02213FCC: ; 0x02213FCC
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldr r1, _022140A0 ; =0x021C48B8
|
|
add r5, r0, #0
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #2
|
|
tst r1, r2
|
|
beq _02213FEE
|
|
mov r1, #0x43
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x41
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _0221407C
|
|
_02213FEE:
|
|
bl FUN_0203300C
|
|
cmp r0, #5
|
|
bne _02214016
|
|
bl MOD04_021D853C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r1, #0xb
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1b
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _0221407C
|
|
_02214016:
|
|
bl FUN_0203300C
|
|
cmp r0, #3
|
|
bne _0221403E
|
|
bl MOD04_021D853C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r1, #0xe
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1b
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _0221407C
|
|
_0221403E:
|
|
bl FUN_0203300C
|
|
cmp r0, #4
|
|
beq _0221404E
|
|
bl FUN_02033128
|
|
cmp r0, #0
|
|
beq _0221406E
|
|
_0221404E:
|
|
bl MOD04_021D853C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r1, #0xf
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1b
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _0221407C
|
|
_0221406E:
|
|
bl FUN_02033250
|
|
cmp r0, #0
|
|
beq _0221407C
|
|
add r0, r5, #0
|
|
bl MOD56_02213030
|
|
_0221407C:
|
|
bl FUN_0203300C
|
|
cmp r0, #1
|
|
bne _0221409A
|
|
add r0, r5, #0
|
|
bl MOD56_02216274
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD56_0221617C
|
|
mov r0, #0x3b
|
|
mov r1, #0x18
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_0221409A:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_022140A0: .word 0x021C48B8
|
|
thumb_func_end MOD56_02213FCC
|
|
|
|
thumb_func_start MOD56_022140A4
|
|
MOD56_022140A4: ; 0x022140A4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl FUN_0203300C
|
|
cmp r0, #1
|
|
bne _022140D8
|
|
bl MOD04_021D853C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r1, #0xa
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl MOD56_0221617C
|
|
mov r0, #0x3b
|
|
mov r1, #0x17
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_022140D8:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD56_022140A4
|
|
|
|
thumb_func_start MOD56_022140DC
|
|
MOD56_022140DC: ; 0x022140DC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02214116
|
|
ldr r0, _0221411C ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _0221410E
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
mov r0, #0x3b
|
|
mov r1, #0x18
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02214116
|
|
_0221410E:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD56_02214120
|
|
_02214116:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0221411C: .word 0x021C48B8
|
|
thumb_func_end MOD56_022140DC
|
|
|
|
thumb_func_start MOD56_02214120
|
|
MOD56_02214120: ; 0x02214120
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD56_02213C08
|
|
mov r0, #0xce
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
mov r0, #0xcd
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
bl FUN_0203300C
|
|
cmp r0, #5
|
|
bne _0221416A
|
|
bl MOD04_021D853C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r1, #0xb
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1b
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _0221422E
|
|
_0221416A:
|
|
bl FUN_0203300C
|
|
cmp r0, #3
|
|
bne _02214192
|
|
bl MOD04_021D853C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r1, #0xe
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1b
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _0221422E
|
|
_02214192:
|
|
bl FUN_0203300C
|
|
cmp r0, #4
|
|
beq _022141A2
|
|
bl FUN_02033128
|
|
cmp r0, #0
|
|
beq _022141C2
|
|
_022141A2:
|
|
bl MOD04_021D853C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r1, #0xf
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1b
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _0221422E
|
|
_022141C2:
|
|
bl FUN_02033250
|
|
cmp r0, #0
|
|
beq _022141D2
|
|
add r0, r5, #0
|
|
bl MOD56_02213030
|
|
b _0221422E
|
|
_022141D2:
|
|
ldr r0, _02214234 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _022141F0
|
|
add r0, r5, #0
|
|
mov r1, #0x10
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x19
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _0221422E
|
|
_022141F0:
|
|
bl MOD04_021D861C
|
|
cmp r0, #0
|
|
beq _02214214
|
|
mov r0, #0xce
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x20
|
|
mov r2, #0xb0
|
|
bl MOD56_02214470
|
|
mov r0, #0xce
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
b _0221422E
|
|
_02214214:
|
|
mov r0, #0xcd
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x20
|
|
mov r2, #0xb0
|
|
bl MOD56_02214470
|
|
mov r0, #0xcd
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
_0221422E:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02214234: .word 0x021C48B8
|
|
thumb_func_end MOD56_02214120
|
|
|
|
thumb_func_start MOD56_02214238
|
|
MOD56_02214238: ; 0x02214238
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _0221427E
|
|
bl MOD04_021D853C
|
|
add r1, r0, #0
|
|
ldr r0, [r5]
|
|
bl FUN_020285D0
|
|
mov r0, #0x36
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
ldr r1, _02214284 ; =0x02216308
|
|
ldr r2, _02214288 ; =0x000001D9
|
|
mov r3, #0xb
|
|
bl FUN_02002198
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x3b
|
|
mov r1, #0x1a
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_0221427E:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02214284: .word 0x02216308
|
|
_02214288: .word 0x000001D9
|
|
thumb_func_end MOD56_02214238
|
|
|
|
thumb_func_start MOD56_0221428C
|
|
MOD56_0221428C: ; 0x0221428C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
add r4, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021AC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _022142F0
|
|
bl FUN_0203300C
|
|
cmp r0, #4
|
|
bge _022142C0
|
|
bl FUN_02033128
|
|
cmp r0, #0
|
|
bne _022142C0
|
|
mov r0, #0
|
|
bl FUN_02030E7C
|
|
cmp r0, #0
|
|
bne _022142EC
|
|
_022142C0:
|
|
add r0, r5, #0
|
|
mov r1, #0x10
|
|
bl MOD56_0221617C
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021EC
|
|
mov r0, #0
|
|
mov r1, #0xf6
|
|
mvn r0, r0
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
mov r2, #0x14
|
|
sub r0, #0x14
|
|
str r2, [r5, r0]
|
|
mov r0, #0x40
|
|
sub r1, #0x28
|
|
str r0, [r5, r1]
|
|
_022142EC:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
_022142F0:
|
|
cmp r0, #0
|
|
bne _0221431A
|
|
add r0, r5, #0
|
|
mov r1, #0x10
|
|
bl MOD56_0221617C
|
|
bl FUN_0203323C
|
|
mov r0, #0
|
|
mov r1, #0xf6
|
|
mvn r0, r0
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
mov r2, #0x14
|
|
sub r0, #0x14
|
|
str r2, [r5, r0]
|
|
mov r0, #0x40
|
|
sub r1, #0x28
|
|
str r0, [r5, r1]
|
|
b _02214322
|
|
_0221431A:
|
|
mov r0, #0x3b
|
|
mov r1, #0x18
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_02214322:
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD56_0221428C
|
|
|
|
thumb_func_start MOD56_0221432C
|
|
MOD56_0221432C: ; 0x0221432C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldr r1, [r5, #4]
|
|
ldrb r1, [r1, #0x1b]
|
|
cmp r1, #0x10
|
|
beq _02214340
|
|
mov r1, #0x10
|
|
bl MOD56_0221617C
|
|
_02214340:
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
beq _0221435E
|
|
mov r0, #0xf1
|
|
mov r1, #0x1e
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
_0221435E:
|
|
mov r0, #0xf1
|
|
lsl r0, r0, #2
|
|
ldr r1, [r5, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r5, r0]
|
|
ldr r1, _022143B0 ; =0x021C48B8
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #3
|
|
tst r1, r2
|
|
bne _02214378
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _022143AC
|
|
_02214378:
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
bl FUN_020331E8
|
|
add r0, r5, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _0221439C
|
|
mov r0, #0xf1
|
|
mov r1, #0x14
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
mov r1, #0x40
|
|
sub r0, #0x14
|
|
str r1, [r5, r0]
|
|
b _022143AC
|
|
_0221439C:
|
|
mov r1, #0
|
|
mov r0, #0xf6
|
|
mvn r1, r1
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
mov r1, #0x13
|
|
sub r0, #0x28
|
|
str r1, [r5, r0]
|
|
_022143AC:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022143B0: .word 0x021C48B8
|
|
thumb_func_end MOD56_0221432C
|
|
|
|
thumb_func_start MOD56_022143B4
|
|
MOD56_022143B4: ; 0x022143B4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
beq _022143D0
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
_022143D0:
|
|
ldr r0, _02214400 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _022143FA
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
add r0, r5, #0
|
|
mov r1, #0x10
|
|
bl MOD56_0221617C
|
|
bl FUN_020331E8
|
|
mov r0, #0xf1
|
|
mov r1, #0x14
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
mov r1, #0x40
|
|
sub r0, #0x14
|
|
str r1, [r5, r0]
|
|
_022143FA:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02214400: .word 0x021C48B8
|
|
thumb_func_end MOD56_022143B4
|
|
|
|
thumb_func_start MOD56_02214404
|
|
MOD56_02214404: ; 0x02214404
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
beq _02214420
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02214420:
|
|
ldr r0, _02214460 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _0221445C
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
add r0, r5, #0
|
|
mov r1, #0x10
|
|
bl MOD56_0221617C
|
|
add r0, r5, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _0221444C
|
|
mov r0, #0x3b
|
|
mov r1, #0x12
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _0221445C
|
|
_0221444C:
|
|
mov r1, #0
|
|
mov r0, #0xf6
|
|
mvn r1, r1
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
mov r1, #0x13
|
|
sub r0, #0x28
|
|
str r1, [r5, r0]
|
|
_0221445C:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02214460: .word 0x021C48B8
|
|
thumb_func_end MOD56_02214404
|
|
|
|
thumb_func_start MOD56_02214464
|
|
MOD56_02214464: ; 0x02214464
|
|
add r0, r1, #0
|
|
bx lr
|
|
thumb_func_end MOD56_02214464
|
|
|
|
thumb_func_start MOD56_02214468
|
|
MOD56_02214468: ; 0x02214468
|
|
add r0, r1, #0
|
|
bx lr
|
|
thumb_func_end MOD56_02214468
|
|
|
|
thumb_func_start MOD56_0221446C
|
|
MOD56_0221446C: ; 0x0221446C
|
|
add r0, r1, #0
|
|
bx lr
|
|
thumb_func_end MOD56_0221446C
|
|
|
|
thumb_func_start MOD56_02214470
|
|
MOD56_02214470: ; 0x02214470
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
add r5, r2, #0
|
|
cmp r1, #0
|
|
ble _0221448E
|
|
lsl r0, r1, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0221449C
|
|
_0221448E:
|
|
lsl r0, r1, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0221449C:
|
|
bl _ffix
|
|
str r0, [sp]
|
|
cmp r5, #0
|
|
ble _022144B8
|
|
lsl r0, r5, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _022144C6
|
|
_022144B8:
|
|
lsl r0, r5, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_022144C6:
|
|
bl _ffix
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r1, sp, #0
|
|
bl FUN_02020044
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
thumb_func_end MOD56_02214470
|
|
|
|
thumb_func_start MOD56_022144DC
|
|
MOD56_022144DC: ; 0x022144DC
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
ldr r1, _02214500 ; =0x021C48B8
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #3
|
|
tst r1, r2
|
|
beq _022144FC
|
|
mov r1, #0xed
|
|
mov r2, #8
|
|
lsl r1, r1, #2
|
|
str r2, [r0, r1]
|
|
mov r2, #0x22
|
|
sub r1, r1, #4
|
|
str r2, [r0, r1]
|
|
bl FUN_020331C4
|
|
_022144FC:
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02214500: .word 0x021C48B8
|
|
thumb_func_end MOD56_022144DC
|
|
|
|
thumb_func_start MOD56_02214504
|
|
MOD56_02214504: ; 0x02214504
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
mov r1, #6
|
|
mov r2, #0
|
|
add r5, r0, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x28
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02214504
|
|
|
|
thumb_func_start MOD56_02214520
|
|
MOD56_02214520: ; 0x02214520
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _0221455A
|
|
mov r0, #0x36
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
ldr r1, _02214560 ; =0x02216308
|
|
ldr r2, _02214564 ; =0x000001D9
|
|
mov r3, #0xb
|
|
bl FUN_02002198
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x3b
|
|
mov r1, #0x29
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_0221455A:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02214560: .word 0x02216308
|
|
_02214564: .word 0x000001D9
|
|
thumb_func_end MOD56_02214520
|
|
|
|
thumb_func_start MOD56_02214568
|
|
MOD56_02214568: ; 0x02214568
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
add r6, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021AC
|
|
add r4, r0, #0
|
|
mov r0, #0xf6
|
|
lsl r0, r0, #2
|
|
ldr r1, [r5, r0]
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r1, r0
|
|
bne _022145A8
|
|
bl MOD04_021D8640
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _022145A8
|
|
cmp r4, r1
|
|
bne _022145A6
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021EC
|
|
_022145A6:
|
|
mov r4, #1
|
|
_022145A8:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _022145B4
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
_022145B4:
|
|
cmp r4, #0
|
|
bne _022145C0
|
|
add r0, r5, #0
|
|
mov r1, #0x10
|
|
bl MOD56_0221617C
|
|
_022145C0:
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
mov r0, #0x3b
|
|
mov r1, #0x13
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02214568
|
|
|
|
thumb_func_start MOD56_022145D4
|
|
MOD56_022145D4: ; 0x022145D4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
ldr r3, _022146C0 ; =0x02216414
|
|
add r2, sp, #0x14
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
mov r0, #4
|
|
mov r1, #0x36
|
|
bl FUN_02012838
|
|
add r1, r5, #0
|
|
add r1, #0xb8
|
|
ldr r4, _022146C4 ; =0x02216480
|
|
str r0, [r1]
|
|
mov r6, #0
|
|
_02214602:
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r0, #0xb8
|
|
add r1, #0xcc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
ldr r2, [r4]
|
|
ldr r3, [r4, #4]
|
|
bl FUN_02012880
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
cmp r6, #4
|
|
blt _02214602
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _02214642
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200CCF8
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
_02214642:
|
|
mov r0, #9
|
|
str r0, [sp]
|
|
mov r0, #0xf
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x33
|
|
str r0, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
mov r1, #0xe3
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0]
|
|
add r1, r5, r1
|
|
mov r2, #2
|
|
mov r3, #0x10
|
|
bl FUN_02019064
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
ldr r2, _022146C8 ; =0x000001D9
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
mov r3, #0xb
|
|
bl FUN_0200CCA4
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
mov r2, #0xe3
|
|
lsl r2, r2, #2
|
|
str r0, [sp, #0x14]
|
|
add r0, r5, r2
|
|
str r0, [sp, #0x20]
|
|
add r2, #0x50
|
|
ldrh r2, [r5, r2]
|
|
add r0, sp, #0x14
|
|
mov r1, #0
|
|
mov r3, #0x36
|
|
bl FUN_020010A8
|
|
add r1, r5, #0
|
|
add r1, #0xbc
|
|
str r0, [r1]
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019220
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x25
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r7, #0
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022146C0: .word 0x02216414
|
|
_022146C4: .word 0x02216480
|
|
_022146C8: .word 0x000001D9
|
|
thumb_func_end MOD56_022145D4
|
|
|
|
thumb_func_start MOD56_022146CC
|
|
MOD56_022146CC: ; 0x022146CC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
bl MOD56_02211F88
|
|
add r7, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
beq _022146EE
|
|
add r0, r6, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022146EE:
|
|
add r0, r5, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
bl FUN_02001204
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_02213BF4
|
|
cmp r0, #0
|
|
beq _02214708
|
|
mov r4, #1
|
|
mvn r4, r4
|
|
_02214708:
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _0221471A
|
|
add r0, r0, #1
|
|
cmp r4, r0
|
|
bne _02214730
|
|
add r0, r6, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0221471A:
|
|
mov r0, #0x3b
|
|
mov r1, #0x13
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
ldr r0, _02214804 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
b _022147CE
|
|
_02214730:
|
|
ldr r0, _02214804 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
cmp r4, #0xf
|
|
bne _02214752
|
|
cmp r7, #2
|
|
bge _02214752
|
|
add r0, r5, #0
|
|
mov r1, #0x34
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1d
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _022147CE
|
|
_02214752:
|
|
cmp r4, #1
|
|
bne _0221476E
|
|
cmp r7, #2
|
|
bge _0221476E
|
|
add r0, r5, #0
|
|
mov r1, #0x42
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1d
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _022147CE
|
|
_0221476E:
|
|
cmp r4, #1
|
|
bhi _022147B8
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200CCF8
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
add r0, r5, #0
|
|
add r0, #0xbc
|
|
mov r2, #0xf7
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
add r2, r5, r2
|
|
bl FUN_02001300
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
bl FUN_02012870
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD56_02214808
|
|
mov r0, #0x3b
|
|
mov r1, #0x26
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r6, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022147B8:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD56_0221617C
|
|
mov r0, #0x3b
|
|
mov r1, #0x13
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
_022147CE:
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200CCF8
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
add r0, r5, #0
|
|
add r0, #0xbc
|
|
mov r2, #0xf7
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
add r2, r5, r2
|
|
bl FUN_02001300
|
|
add r5, #0xb8
|
|
ldr r0, [r5]
|
|
bl FUN_02012870
|
|
add r0, r6, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02214804: .word 0x000005DD
|
|
thumb_func_end MOD56_022146CC
|
|
|
|
thumb_func_start MOD56_02214808
|
|
MOD56_02214808: ; 0x02214808
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
add r5, r0, #0
|
|
cmp r1, #0
|
|
bne _0221481A
|
|
ldr r4, _0221490C ; =0x022164A0
|
|
mov r7, #4
|
|
mov r1, #1
|
|
b _02214820
|
|
_0221481A:
|
|
ldr r4, _02214910 ; =0x022164C0
|
|
mov r7, #4
|
|
mov r1, #0
|
|
_02214820:
|
|
ldr r0, _02214914 ; =0x000003E2
|
|
ldr r3, _02214918 ; =0x02216414
|
|
strh r1, [r5, r0]
|
|
add r2, sp, #0x14
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
add r0, r7, #0
|
|
mov r1, #0x36
|
|
bl FUN_02012838
|
|
add r1, r5, #0
|
|
add r1, #0xb8
|
|
mov r6, #0
|
|
str r0, [r1]
|
|
cmp r7, #0
|
|
ble _02214868
|
|
_0221484C:
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r0, #0xb8
|
|
add r1, #0xcc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
ldr r2, [r4]
|
|
ldr r3, [r4, #4]
|
|
bl FUN_02012880
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
cmp r6, r7
|
|
blt _0221484C
|
|
_02214868:
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _0221488C
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200CCF8
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
_0221488C:
|
|
mov r1, #9
|
|
str r1, [sp]
|
|
mov r1, #0xf
|
|
lsl r0, r7, #1
|
|
str r1, [sp, #4]
|
|
lsl r1, r0, #0x18
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #8]
|
|
mov r1, #0xd
|
|
str r1, [sp, #0xc]
|
|
mov r1, #0x3b
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
mov r1, #0xe3
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0]
|
|
add r1, r5, r1
|
|
mov r2, #2
|
|
mov r3, #0x10
|
|
bl FUN_02019064
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
ldr r2, _0221491C ; =0x000001D9
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
mov r3, #0xb
|
|
bl FUN_0200CCA4
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
mov r3, #0xe3
|
|
lsl r3, r3, #2
|
|
str r0, [sp, #0x14]
|
|
add r0, r5, r3
|
|
add r2, r3, #0
|
|
str r0, [sp, #0x20]
|
|
add r2, #0x56
|
|
ldrh r2, [r5, r2]
|
|
add r3, #0x52
|
|
add r0, sp, #0x14
|
|
lsl r2, r2, #1
|
|
add r2, r5, r2
|
|
ldrh r2, [r2, r3]
|
|
mov r1, #0
|
|
mov r3, #0x36
|
|
bl FUN_020010A8
|
|
add r1, r5, #0
|
|
add r1, #0xbc
|
|
str r0, [r1]
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019220
|
|
mov r0, #1
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0221490C: .word 0x022164A0
|
|
_02214910: .word 0x022164C0
|
|
_02214914: .word 0x000003E2
|
|
_02214918: .word 0x02216414
|
|
_0221491C: .word 0x000001D9
|
|
thumb_func_end MOD56_02214808
|
|
|
|
thumb_func_start MOD56_02214920
|
|
MOD56_02214920: ; 0x02214920
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r6, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
beq _0221493C
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
_0221493C:
|
|
add r0, r5, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
bl FUN_02001204
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_02213BF4
|
|
cmp r0, #0
|
|
beq _02214956
|
|
mov r4, #1
|
|
mvn r4, r4
|
|
_02214956:
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _02214968
|
|
add r0, r0, #1
|
|
cmp r4, r0
|
|
bne _02214978
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02214968:
|
|
ldr r0, _022149D0 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
mov r0, #0x3b
|
|
mov r1, #0x24
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02214994
|
|
_02214978:
|
|
ldr r0, _022149D0 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD56_0221617C
|
|
mov r0, #0x3b
|
|
mov r1, #0x13
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
_02214994:
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200CCF8
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
ldr r3, _022149D4 ; =0x000003DE
|
|
add r0, r5, #0
|
|
add r2, r5, r3
|
|
add r3, r3, #4
|
|
ldrh r3, [r5, r3]
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
lsl r3, r3, #1
|
|
mov r1, #0
|
|
add r2, r2, r3
|
|
bl FUN_02001300
|
|
add r5, #0xb8
|
|
ldr r0, [r5]
|
|
bl FUN_02012870
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_022149D0: .word 0x000005DD
|
|
_022149D4: .word 0x000003DE
|
|
thumb_func_end MOD56_02214920
|
|
|
|
thumb_func_start MOD56_022149D8
|
|
MOD56_022149D8: ; 0x022149D8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x4c
|
|
ldr r3, _02214BB0 ; =0x02216434
|
|
add r5, r0, #0
|
|
mov r0, #3
|
|
add r2, sp, #0x2c
|
|
str r1, [sp, #0x14]
|
|
str r0, [sp, #0x20]
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
add r1, sp, #0x28
|
|
bl FUN_0200143C
|
|
add r0, sp, #0x28
|
|
ldrh r0, [r0]
|
|
add r0, r5, r0
|
|
ldrb r0, [r0, #0xc]
|
|
sub r0, r0, #1
|
|
str r0, [sp, #0x18]
|
|
ldr r1, [sp, #0x18]
|
|
mov r0, #0x24
|
|
mul r0, r1
|
|
ldr r1, [r5, #4]
|
|
add r1, r1, r0
|
|
add r1, #0x3f
|
|
ldrb r6, [r1]
|
|
mov r1, #0xf9
|
|
lsl r1, r1, #2
|
|
strh r6, [r5, r1]
|
|
ldr r2, [r5, #4]
|
|
add r2, #0x45
|
|
ldrb r2, [r2, r0]
|
|
add r0, r1, #2
|
|
mov r1, #0x36
|
|
strh r2, [r5, r0]
|
|
ldr r0, [r5, #4]
|
|
add r0, #0x21
|
|
ldrb r0, [r0]
|
|
add r0, r2, r0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #3
|
|
bl FUN_02012838
|
|
add r1, r5, #0
|
|
add r1, #0xb8
|
|
str r0, [r1]
|
|
mov r0, #0
|
|
ldr r4, _02214BB4 ; =0x02216350
|
|
str r0, [sp, #0x24]
|
|
add r7, sp, #0x28
|
|
_02214A52:
|
|
ldr r0, [sp, #0x24]
|
|
cmp r0, #0
|
|
bne _02214AC8
|
|
add r0, r6, #0
|
|
bl MOD56_02211ECC
|
|
cmp r0, #0
|
|
bne _02214A6A
|
|
cmp r6, #0
|
|
beq _02214A6A
|
|
cmp r6, #0x11
|
|
blo _02214A7E
|
|
_02214A6A:
|
|
ldrh r0, [r7, #0x16]
|
|
sub r0, r0, #1
|
|
strh r0, [r7, #0x16]
|
|
ldrh r0, [r7, #0x14]
|
|
sub r0, r0, #1
|
|
strh r0, [r7, #0x14]
|
|
ldr r0, [sp, #0x20]
|
|
sub r0, r0, #1
|
|
str r0, [sp, #0x20]
|
|
b _02214ADC
|
|
_02214A7E:
|
|
cmp r6, #0x10
|
|
bne _02214AB2
|
|
ldr r0, [sp, #0x1c]
|
|
cmp r0, #2
|
|
bne _02214A9E
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r0, #0xb8
|
|
add r1, #0xcc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
ldr r3, [r4, #4]
|
|
mov r2, #0x1a
|
|
bl FUN_02012880
|
|
b _02214ADC
|
|
_02214A9E:
|
|
ldrh r0, [r7, #0x16]
|
|
sub r0, r0, #1
|
|
strh r0, [r7, #0x16]
|
|
ldrh r0, [r7, #0x14]
|
|
sub r0, r0, #1
|
|
strh r0, [r7, #0x14]
|
|
ldr r0, [sp, #0x20]
|
|
sub r0, r0, #1
|
|
str r0, [sp, #0x20]
|
|
b _02214ADC
|
|
_02214AB2:
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r0, #0xb8
|
|
add r1, #0xcc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
ldr r2, [r4]
|
|
ldr r3, [r4, #4]
|
|
bl FUN_02012880
|
|
b _02214ADC
|
|
_02214AC8:
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r0, #0xb8
|
|
add r1, #0xcc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
ldr r2, [r4]
|
|
ldr r3, [r4, #4]
|
|
bl FUN_02012880
|
|
_02214ADC:
|
|
ldr r0, [sp, #0x24]
|
|
add r4, #8
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x24]
|
|
cmp r0, #3
|
|
blo _02214A52
|
|
ldr r0, [sp, #0x20]
|
|
mov r1, #3
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #1
|
|
add r0, #0xb
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0xf
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x20]
|
|
mov r1, #0xe3
|
|
lsl r0, r0, #0x19
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x3b
|
|
str r0, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0]
|
|
add r1, r5, r1
|
|
mov r2, #2
|
|
mov r3, #0x10
|
|
bl FUN_02019064
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
ldr r2, _02214BB8 ; =0x000001D9
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
mov r3, #0xb
|
|
bl FUN_0200CCA4
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
str r0, [sp, #0x2c]
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
add r2, r1, #0
|
|
mov r3, #0x36
|
|
bl FUN_020010A8
|
|
add r1, r5, #0
|
|
add r1, #0xbc
|
|
str r0, [r1]
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019220
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
cmp r6, #0xf
|
|
bne _02214B6C
|
|
mov r1, #3
|
|
b _02214B9A
|
|
_02214B6C:
|
|
add r0, r6, #0
|
|
bl MOD56_02211E60
|
|
cmp r0, #0
|
|
beq _02214B7A
|
|
mov r1, #2
|
|
b _02214B9A
|
|
_02214B7A:
|
|
cmp r6, #8
|
|
bne _02214B82
|
|
mov r1, #0x30
|
|
b _02214B9A
|
|
_02214B82:
|
|
add r0, r6, #0
|
|
bl MOD56_02211EA4
|
|
cmp r0, #0
|
|
beq _02214B90
|
|
mov r1, #0x2f
|
|
b _02214B9A
|
|
_02214B90:
|
|
cmp r6, #1
|
|
bne _02214B98
|
|
mov r1, #0x31
|
|
b _02214B9A
|
|
_02214B98:
|
|
mov r1, #4
|
|
_02214B9A:
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x2b
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
ldr r0, [sp, #0x14]
|
|
add sp, #0x4c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02214BB0: .word 0x02216434
|
|
_02214BB4: .word 0x02216350
|
|
_02214BB8: .word 0x000001D9
|
|
thumb_func_end MOD56_022149D8
|
|
|
|
thumb_func_start MOD56_02214BBC
|
|
MOD56_02214BBC: ; 0x02214BBC
|
|
push {r4, r5}
|
|
ldr r2, _02214BF8 ; =0x000001EF
|
|
mov r5, #0
|
|
add r1, r2, #0
|
|
sub r1, #0x1f
|
|
add r3, r2, #0
|
|
_02214BC8:
|
|
ldrh r4, [r0]
|
|
cmp r4, r3
|
|
bne _02214BD4
|
|
mov r0, #0
|
|
pop {r4, r5}
|
|
bx lr
|
|
_02214BD4:
|
|
cmp r4, r2
|
|
bls _02214BDE
|
|
mov r0, #0
|
|
pop {r4, r5}
|
|
bx lr
|
|
_02214BDE:
|
|
ldrh r4, [r0, #0xc]
|
|
cmp r4, r1
|
|
bls _02214BEA
|
|
mov r0, #0
|
|
pop {r4, r5}
|
|
bx lr
|
|
_02214BEA:
|
|
add r5, r5, #1
|
|
add r0, r0, #2
|
|
cmp r5, #6
|
|
blt _02214BC8
|
|
mov r0, #1
|
|
pop {r4, r5}
|
|
bx lr
|
|
.align 2, 0
|
|
_02214BF8: .word 0x000001EF
|
|
thumb_func_end MOD56_02214BBC
|
|
|
|
thumb_func_start MOD56_02214BFC
|
|
MOD56_02214BFC: ; 0x02214BFC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
str r1, [sp]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov r6, #0
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
beq _02214C1E
|
|
ldr r0, [sp]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02214C1E:
|
|
add r0, r4, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
bl FUN_02001204
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl MOD56_02213BF4
|
|
cmp r0, #0
|
|
beq _02214C36
|
|
sub r5, r6, #2
|
|
_02214C36:
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
beq _02214C4A
|
|
add r0, r0, #1
|
|
cmp r5, r0
|
|
bne _02214C5A
|
|
ldr r0, [sp]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02214C4A:
|
|
ldr r0, _02214E20 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
mov r0, #0x3b
|
|
mov r1, #0x13
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
b _02214DE2
|
|
_02214C5A:
|
|
ldr r0, _02214E20 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
cmp r5, #1
|
|
beq _02214C66
|
|
b _02214DD6
|
|
_02214C66:
|
|
mov r0, #0x3b
|
|
mov r1, #0x13
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
add r1, sp, #0xc
|
|
bl FUN_0200143C
|
|
add r0, sp, #0xc
|
|
ldrh r0, [r0]
|
|
add r0, r4, r0
|
|
ldrb r5, [r0, #0xc]
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #2
|
|
strh r5, [r4, r0]
|
|
cmp r5, #0
|
|
bne _02214C8E
|
|
b _02214DE2
|
|
_02214C8E:
|
|
add r0, r4, #0
|
|
bl MOD56_02211F88
|
|
sub r1, r5, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0x24
|
|
add r3, r1, #0
|
|
ldr r2, [r4, #4]
|
|
mul r3, r0
|
|
add r0, r2, r3
|
|
add r0, #0x3f
|
|
ldrb r0, [r0]
|
|
str r0, [sp, #4]
|
|
add r0, r2, r3
|
|
add r0, #0x45
|
|
ldrb r7, [r0]
|
|
mov r0, #0xf9
|
|
lsl r0, r0, #2
|
|
ldrh r1, [r4, r0]
|
|
ldr r0, [sp, #4]
|
|
cmp r1, r0
|
|
bne _02214CC6
|
|
mov r0, #0xf9
|
|
lsl r0, r0, #2
|
|
add r0, r0, #2
|
|
ldrh r0, [r4, r0]
|
|
cmp r0, r7
|
|
beq _02214CE4
|
|
_02214CC6:
|
|
add r0, r4, #0
|
|
sub r1, r5, #1
|
|
bl MOD56_022160E4
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1d
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
mov r6, #1
|
|
b _02214DE2
|
|
_02214CE4:
|
|
add r2, #0x24
|
|
add r0, r2, r3
|
|
bl MOD56_02214BBC
|
|
cmp r0, #0
|
|
bne _02214D0E
|
|
add r0, r4, #0
|
|
sub r1, r5, #1
|
|
bl MOD56_022160E4
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1d
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
mov r6, #1
|
|
b _02214DE2
|
|
_02214D0E:
|
|
ldr r0, [sp, #4]
|
|
bl MOD56_02211EEC
|
|
cmp r0, #0
|
|
beq _02214D46
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #2
|
|
bge _02214D46
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #0xf
|
|
bne _02214D30
|
|
add r0, r4, #0
|
|
mov r1, #0x34
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
b _02214D3A
|
|
_02214D30:
|
|
add r0, r4, #0
|
|
mov r1, #0x42
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
_02214D3A:
|
|
mov r0, #0x3b
|
|
mov r1, #0x1d
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
mov r6, #1
|
|
b _02214DE2
|
|
_02214D46:
|
|
ldr r0, [r4, #4]
|
|
add r0, #0x21
|
|
ldrb r0, [r0]
|
|
cmp r7, r0
|
|
beq _02214D76
|
|
cmp r7, #0
|
|
beq _02214D60
|
|
add r0, r4, #0
|
|
mov r1, #0x44
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
b _02214D6A
|
|
_02214D60:
|
|
add r0, r4, #0
|
|
mov r1, #0x45
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
_02214D6A:
|
|
mov r0, #0x3b
|
|
mov r1, #0x3e
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
mov r6, #1
|
|
b _02214DE2
|
|
_02214D76:
|
|
ldr r0, [sp, #4]
|
|
bl MOD56_02211F10
|
|
add r7, r0, #0
|
|
cmp r7, #0x11
|
|
beq _02214DE2
|
|
sub r0, r5, #1
|
|
bl MOD04_021D8480
|
|
cmp r0, #6
|
|
bne _02214DE2
|
|
sub r0, r5, #1
|
|
bl FUN_02032FDC
|
|
cmp r0, #0
|
|
beq _02214DE2
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl MOD56_0221617C
|
|
add r0, r4, #0
|
|
sub r1, r5, #1
|
|
bl MOD56_022160E4
|
|
add r0, r4, #0
|
|
mov r1, #0xd
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
ldr r1, _02214E24 ; =0x000001E2
|
|
add r0, r4, r0
|
|
bl FUN_0200D858
|
|
mov r1, #6
|
|
lsl r1, r1, #6
|
|
str r0, [r4, r1]
|
|
cmp r7, #1
|
|
beq _02214DCA
|
|
mov r1, #0x2c
|
|
b _02214DCC
|
|
_02214DCA:
|
|
mov r1, #0x15
|
|
_02214DCC:
|
|
mov r0, #0x3b
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
mov r6, #1
|
|
b _02214DE2
|
|
_02214DD6:
|
|
cmp r5, #2
|
|
bne _02214DE2
|
|
mov r0, #0x3b
|
|
mov r1, #0x35
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
_02214DE2:
|
|
cmp r6, #0
|
|
bne _02214DEC
|
|
add r0, r4, #0
|
|
bl MOD56_02216120
|
|
_02214DEC:
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #0
|
|
bl FUN_0200CCF8
|
|
mov r0, #0xe3
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
add r0, r4, #0
|
|
add r0, #0xbc
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
add r2, r1, #0
|
|
bl FUN_02001300
|
|
add r4, #0xb8
|
|
ldr r0, [r4]
|
|
bl FUN_02012870
|
|
ldr r0, [sp]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02214E20: .word 0x000005DD
|
|
_02214E24: .word 0x000001E2
|
|
thumb_func_end MOD56_02214BFC
|
|
|
|
thumb_func_start MOD56_02214E28
|
|
MOD56_02214E28: ; 0x02214E28
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldr r1, _02214F08 ; =0x021C48B8
|
|
add r5, r0, #0
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #2
|
|
tst r1, r2
|
|
beq _02214E4A
|
|
mov r1, #0x43
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x2d
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02214F02
|
|
_02214E4A:
|
|
bl FUN_0203300C
|
|
cmp r0, #3
|
|
bne _02214E72
|
|
bl MOD04_021D853C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r1, #0xe
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1b
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02214F02
|
|
_02214E72:
|
|
bl FUN_0203300C
|
|
cmp r0, #5
|
|
bne _02214E9A
|
|
bl MOD04_021D853C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r1, #0xb
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1b
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02214F02
|
|
_02214E9A:
|
|
bl FUN_0203300C
|
|
cmp r0, #4
|
|
beq _02214EAA
|
|
bl FUN_02033128
|
|
cmp r0, #0
|
|
beq _02214ECA
|
|
_02214EAA:
|
|
bl MOD04_021D853C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r1, #0xe
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1b
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02214F02
|
|
_02214ECA:
|
|
bl FUN_02033250
|
|
cmp r0, #0
|
|
beq _02214EDA
|
|
add r0, r5, #0
|
|
bl MOD56_02213030
|
|
b _02214F02
|
|
_02214EDA:
|
|
bl FUN_0203300C
|
|
cmp r0, #1
|
|
bne _02214F02
|
|
add r0, r5, #0
|
|
bl MOD56_02216274
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0202DB14
|
|
mov r0, #0xf1
|
|
mov r1, #0x1e
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
mov r1, #0x30
|
|
sub r0, #0x14
|
|
str r1, [r5, r0]
|
|
_02214F02:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02214F08: .word 0x021C48B8
|
|
thumb_func_end MOD56_02214E28
|
|
|
|
thumb_func_start MOD56_02214F0C
|
|
MOD56_02214F0C: ; 0x02214F0C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02214F46
|
|
mov r0, #0x36
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
ldr r1, _02214F4C ; =0x02216308
|
|
ldr r2, _02214F50 ; =0x000001D9
|
|
mov r3, #0xb
|
|
bl FUN_02002198
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x3b
|
|
mov r1, #0x42
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_02214F46:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02214F4C: .word 0x02216308
|
|
_02214F50: .word 0x000001D9
|
|
thumb_func_end MOD56_02214F0C
|
|
|
|
thumb_func_start MOD56_02214F54
|
|
MOD56_02214F54: ; 0x02214F54
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
add r6, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021AC
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_02213BF4
|
|
cmp r0, #0
|
|
beq _02214F90
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _02214F86
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021EC
|
|
_02214F86:
|
|
mov r0, #0x3b
|
|
mov r1, #0x15
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02214FCC
|
|
_02214F90:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _02214F9C
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02214F9C:
|
|
cmp r4, #0
|
|
bne _02214FC4
|
|
add r0, r5, #0
|
|
bl MOD56_02216248
|
|
add r0, r5, #0
|
|
mov r1, #0x10
|
|
bl MOD56_0221617C
|
|
bl FUN_020331E8
|
|
mov r1, #0
|
|
mov r0, #0xf6
|
|
mvn r1, r1
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
mov r1, #0x13
|
|
sub r0, #0x28
|
|
str r1, [r5, r0]
|
|
b _02214FCC
|
|
_02214FC4:
|
|
mov r0, #0x3b
|
|
mov r1, #0x15
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_02214FCC:
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02214F54
|
|
|
|
thumb_func_start MOD56_02214FD8
|
|
MOD56_02214FD8: ; 0x02214FD8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02215012
|
|
mov r0, #0x36
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
ldr r1, _02215018 ; =0x02216308
|
|
ldr r2, _0221501C ; =0x000001D9
|
|
mov r3, #0xb
|
|
bl FUN_02002198
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x3b
|
|
mov r1, #0x2e
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_02215012:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02215018: .word 0x02216308
|
|
_0221501C: .word 0x000001D9
|
|
thumb_func_end MOD56_02214FD8
|
|
|
|
thumb_func_start MOD56_02215020
|
|
MOD56_02215020: ; 0x02215020
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
add r6, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021AC
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_02213BF4
|
|
cmp r0, #0
|
|
beq _0221505C
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _02215052
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021EC
|
|
_02215052:
|
|
mov r0, #0x3b
|
|
mov r1, #0x2c
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02215098
|
|
_0221505C:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _02215068
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02215068:
|
|
cmp r4, #0
|
|
bne _02215090
|
|
add r0, r5, #0
|
|
bl MOD56_02216248
|
|
add r0, r5, #0
|
|
mov r1, #0x10
|
|
bl MOD56_0221617C
|
|
bl FUN_020331E8
|
|
mov r1, #0
|
|
mov r0, #0xf6
|
|
mvn r1, r1
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
mov r1, #0x13
|
|
sub r0, #0x28
|
|
str r1, [r5, r0]
|
|
b _02215098
|
|
_02215090:
|
|
mov r0, #0x3b
|
|
mov r1, #0x2c
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_02215098:
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02215020
|
|
|
|
thumb_func_start MOD56_022150A4
|
|
MOD56_022150A4: ; 0x022150A4
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
add r6, r1, #0
|
|
ldrb r4, [r0, #0x1b]
|
|
bl MOD04_021D853C
|
|
mov r1, #0x24
|
|
ldr r2, [r5, #4]
|
|
mul r1, r0
|
|
add r0, r2, r1
|
|
add r0, #0x3f
|
|
ldrb r0, [r0]
|
|
cmp r4, #0xc
|
|
bne _022150D0
|
|
cmp r0, #5
|
|
bne _022150D0
|
|
mov r0, #0x3b
|
|
mov r1, #0x30
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _0221517E
|
|
_022150D0:
|
|
cmp r4, #0xd
|
|
bne _022150E2
|
|
cmp r0, #6
|
|
bne _022150E2
|
|
mov r0, #0x3b
|
|
mov r1, #0x30
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _0221517E
|
|
_022150E2:
|
|
cmp r4, #0xe
|
|
bne _022150F4
|
|
cmp r0, #7
|
|
bne _022150F4
|
|
mov r0, #0x3b
|
|
mov r1, #0x30
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _0221517E
|
|
_022150F4:
|
|
cmp r4, #9
|
|
bne _02215106
|
|
cmp r0, #2
|
|
bne _02215106
|
|
mov r0, #0x3b
|
|
mov r1, #0x30
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _0221517E
|
|
_02215106:
|
|
cmp r4, #0xa
|
|
bne _02215118
|
|
cmp r0, #3
|
|
bne _02215118
|
|
mov r0, #0x3b
|
|
mov r1, #0x30
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _0221517E
|
|
_02215118:
|
|
cmp r4, #0xb
|
|
bne _0221512A
|
|
cmp r0, #4
|
|
bne _0221512A
|
|
mov r0, #0x3b
|
|
mov r1, #0x30
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _0221517E
|
|
_0221512A:
|
|
cmp r4, #0xf
|
|
bne _0221513C
|
|
cmp r0, #8
|
|
bne _0221513C
|
|
mov r0, #0x3b
|
|
mov r1, #0x30
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _0221517E
|
|
_0221513C:
|
|
cmp r4, #0x10
|
|
bne _02215150
|
|
cmp r0, #1
|
|
bne _02215150
|
|
mov r0, #0x3b
|
|
mov r1, #0x16
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02215150:
|
|
bl MOD04_021D853C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r1, #0xe
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1d
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r5, #0
|
|
mov r1, #0x10
|
|
bl MOD56_0221617C
|
|
bl FUN_020331E8
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
_0221517E:
|
|
bl MOD04_021D853C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r1, #7
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl FUN_0202DB14
|
|
mov r0, #0x3b
|
|
mov r1, #0x30
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
mov r1, #0x1e
|
|
add r0, #0x14
|
|
str r1, [r5, r0]
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_022150A4
|
|
|
|
thumb_func_start MOD56_022151B4
|
|
MOD56_022151B4: ; 0x022151B4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl FUN_0203300C
|
|
cmp r0, #3
|
|
blt _022151E0
|
|
mov r1, #0xf6
|
|
lsl r1, r1, #2
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl MOD56_022160E4
|
|
add r0, r4, #0
|
|
mov r1, #0xe
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1b
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
b _022151F4
|
|
_022151E0:
|
|
bl FUN_02033250
|
|
cmp r0, #0
|
|
beq _022151F0
|
|
add r0, r4, #0
|
|
bl MOD56_02213030
|
|
b _022151F4
|
|
_022151F0:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_022151F4:
|
|
mov r0, #0xfb
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD56_022151B4
|
|
|
|
thumb_func_start MOD56_02215200
|
|
MOD56_02215200: ; 0x02215200
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl FUN_0203300C
|
|
cmp r0, #4
|
|
bge _02215220
|
|
bl FUN_02033128
|
|
cmp r0, #0
|
|
bne _02215220
|
|
mov r0, #0
|
|
bl FUN_02030E7C
|
|
cmp r0, #0
|
|
bne _0221525A
|
|
_02215220:
|
|
mov r1, #0xfb
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r1]
|
|
cmp r0, #0
|
|
beq _02215236
|
|
add r0, r5, #0
|
|
mov r1, #0x40
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
b _0221524A
|
|
_02215236:
|
|
sub r1, #0x14
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r1, #0xe
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
_0221524A:
|
|
mov r0, #0xfb
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
mov r1, #0x1b
|
|
sub r0, #0x3c
|
|
str r1, [r5, r0]
|
|
b _022152A2
|
|
_0221525A:
|
|
add r0, r5, #0
|
|
bl MOD56_022151B4
|
|
cmp r0, #0
|
|
bne _022152A2
|
|
mov r0, #0xf1
|
|
lsl r0, r0, #2
|
|
ldr r1, [r5, r0]
|
|
cmp r1, #0
|
|
bne _02215292
|
|
mov r0, #0xd
|
|
bl FUN_020315D8
|
|
cmp r0, #0
|
|
beq _022152A2
|
|
bl FUN_0203168C
|
|
mov r0, #0xe
|
|
bl FUN_02031588
|
|
mov r0, #0xfb
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
mov r1, #0x31
|
|
sub r0, #0x3c
|
|
str r1, [r5, r0]
|
|
b _022152A2
|
|
_02215292:
|
|
sub r1, r1, #1
|
|
str r1, [r5, r0]
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _022152A2
|
|
mov r0, #0xd
|
|
bl FUN_02031588
|
|
_022152A2:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02215200
|
|
|
|
thumb_func_start MOD56_022152A8
|
|
MOD56_022152A8: ; 0x022152A8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD56_022151B4
|
|
cmp r0, #0
|
|
bne _022152DA
|
|
mov r0, #0xe
|
|
bl FUN_020315D8
|
|
cmp r0, #0
|
|
beq _022152DA
|
|
ldr r0, [r5, #4]
|
|
ldrb r1, [r0, #0x1b]
|
|
add r0, sp, #0
|
|
strh r1, [r0]
|
|
bl FUN_02031190
|
|
add r1, sp, #0
|
|
bl FUN_020316AC
|
|
mov r0, #0x3b
|
|
mov r1, #0x32
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_022152DA:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_022152A8
|
|
|
|
thumb_func_start MOD56_022152E0
|
|
MOD56_022152E0: ; 0x022152E0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
bl FUN_02031190
|
|
mov r1, #1
|
|
sub r0, r1, r0
|
|
bl FUN_020316E0
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_022151B4
|
|
cmp r0, #0
|
|
bne _0221534A
|
|
cmp r4, #0
|
|
beq _0221534A
|
|
ldr r0, [r5, #4]
|
|
ldrb r0, [r0, #0x1b]
|
|
bl MOD56_02211F10
|
|
lsl r0, r0, #0x10
|
|
ldrh r1, [r4]
|
|
lsr r0, r0, #0x10
|
|
cmp r1, r0
|
|
beq _0221531C
|
|
ldr r0, [r5, #4]
|
|
ldrb r0, [r0, #0x1b]
|
|
cmp r1, r0
|
|
bne _0221532C
|
|
_0221531C:
|
|
mov r0, #0xf
|
|
bl FUN_02031588
|
|
mov r0, #0x3b
|
|
mov r1, #0x33
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _0221534A
|
|
_0221532C:
|
|
bl MOD04_021D853C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r1, #0xc
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1b
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_0221534A:
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_022152E0
|
|
|
|
thumb_func_start MOD56_02215350
|
|
MOD56_02215350: ; 0x02215350
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD56_022151B4
|
|
cmp r0, #0
|
|
bne _02215382
|
|
mov r0, #0xf
|
|
bl FUN_020315D8
|
|
cmp r0, #0
|
|
beq _02215382
|
|
bl FUN_0202DBE0
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl FUN_020334E8
|
|
mov r0, #0x12
|
|
bl FUN_02031588
|
|
mov r0, #0x3b
|
|
mov r1, #0x34
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_02215382:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02215350
|
|
|
|
thumb_func_start MOD56_02215388
|
|
MOD56_02215388: ; 0x02215388
|
|
push {r4, r5, lr}
|
|
sub sp, #0x2c
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
bl MOD56_022151B4
|
|
cmp r0, #0
|
|
bne _02215476
|
|
mov r0, #0x12
|
|
bl FUN_020315D8
|
|
cmp r0, #0
|
|
beq _02215476
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r1, sp, #0xc
|
|
mov r2, #0x36
|
|
bl FUN_020339B4
|
|
add r0, r4, #0
|
|
bl MOD56_02216120
|
|
bl MOD04_021D853C
|
|
mov r1, #0x24
|
|
ldr r2, [r4, #4]
|
|
mul r1, r0
|
|
add r0, r2, r1
|
|
add r0, #0x3f
|
|
ldrb r1, [r0]
|
|
cmp r1, #0xf
|
|
beq _022153CE
|
|
cmp r1, #8
|
|
bne _022153DA
|
|
_022153CE:
|
|
mov r0, #0xed
|
|
mov r2, #7
|
|
lsl r0, r0, #2
|
|
mov r1, #8
|
|
str r2, [r4, r0]
|
|
b _02215450
|
|
_022153DA:
|
|
cmp r1, #9
|
|
beq _022153E2
|
|
cmp r1, #2
|
|
bne _022153EE
|
|
_022153E2:
|
|
mov r0, #0xed
|
|
mov r2, #1
|
|
lsl r0, r0, #2
|
|
mov r1, #2
|
|
str r2, [r4, r0]
|
|
b _02215450
|
|
_022153EE:
|
|
cmp r1, #0xa
|
|
beq _022153F6
|
|
cmp r1, #3
|
|
bne _02215402
|
|
_022153F6:
|
|
mov r0, #0xed
|
|
mov r2, #2
|
|
lsl r0, r0, #2
|
|
mov r1, #3
|
|
str r2, [r4, r0]
|
|
b _02215450
|
|
_02215402:
|
|
cmp r1, #0xb
|
|
beq _0221540A
|
|
cmp r1, #4
|
|
bne _02215416
|
|
_0221540A:
|
|
mov r0, #0xed
|
|
mov r2, #3
|
|
lsl r0, r0, #2
|
|
mov r1, #4
|
|
str r2, [r4, r0]
|
|
b _02215450
|
|
_02215416:
|
|
cmp r1, #0xc
|
|
beq _0221541E
|
|
cmp r1, #5
|
|
bne _0221542A
|
|
_0221541E:
|
|
mov r0, #0xed
|
|
mov r2, #4
|
|
lsl r0, r0, #2
|
|
mov r1, #5
|
|
str r2, [r4, r0]
|
|
b _02215450
|
|
_0221542A:
|
|
cmp r1, #0xd
|
|
beq _02215432
|
|
cmp r1, #6
|
|
bne _0221543E
|
|
_02215432:
|
|
mov r0, #0xed
|
|
mov r2, #5
|
|
lsl r0, r0, #2
|
|
mov r1, #6
|
|
str r2, [r4, r0]
|
|
b _02215450
|
|
_0221543E:
|
|
cmp r1, #0xe
|
|
beq _02215446
|
|
cmp r1, #7
|
|
bne _02215450
|
|
_02215446:
|
|
mov r0, #0xed
|
|
mov r2, #6
|
|
lsl r0, r0, #2
|
|
mov r1, #7
|
|
str r2, [r4, r0]
|
|
_02215450:
|
|
add r0, r4, #0
|
|
bl MOD56_0221617C
|
|
mov r0, #1
|
|
bl FUN_02031400
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x36
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl FUN_0200E1D0
|
|
mov r5, #2
|
|
_02215476:
|
|
add r0, r5, #0
|
|
add sp, #0x2c
|
|
pop {r4, r5, pc}
|
|
thumb_func_end MOD56_02215388
|
|
|
|
thumb_func_start MOD56_0221547C
|
|
MOD56_0221547C: ; 0x0221547C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r0, #0xc0
|
|
add r4, r1, #0
|
|
ldr r0, [r0]
|
|
mov r1, #3
|
|
bl FUN_02018744
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
add r2, r5, #0
|
|
str r3, [sp, #8]
|
|
mov r0, #0x36
|
|
str r0, [sp, #0xc]
|
|
add r2, #0xc0
|
|
ldr r2, [r2]
|
|
mov r0, #0x5c
|
|
mov r1, #5
|
|
bl FUN_020068C8
|
|
mov r0, #0xf3
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
strb r1, [r5, r0]
|
|
mov r1, #0x12
|
|
sub r0, #0x1c
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD56_0221547C
|
|
|
|
thumb_func_start MOD56_022154BC
|
|
MOD56_022154BC: ; 0x022154BC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0
|
|
add r0, #0xc0
|
|
add r7, r1, #0
|
|
ldr r0, [r0]
|
|
mov r1, #3
|
|
bl FUN_02018744
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x36
|
|
add r2, r5, #0
|
|
str r0, [sp, #0xc]
|
|
add r2, #0xc0
|
|
ldr r2, [r2]
|
|
mov r0, #0x5c
|
|
mov r1, #6
|
|
mov r3, #1
|
|
bl FUN_020068C8
|
|
mov r0, #0xcb
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
mov r0, #0x33
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
mov r0, #0xca
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _02215532
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200CCF8
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
_02215532:
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #0x1a
|
|
str r0, [sp, #4]
|
|
mov r0, #0xe
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #1
|
|
str r0, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
mov r1, #0xe7
|
|
lsl r1, r1, #2
|
|
mov r2, #3
|
|
ldr r0, [r0]
|
|
add r1, r5, r1
|
|
add r3, r2, #0
|
|
bl FUN_02019064
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r5, #0
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
add r1, sp, #0x14
|
|
bl FUN_0200143C
|
|
add r0, sp, #0x14
|
|
ldrh r0, [r0]
|
|
add r0, r5, r0
|
|
ldrb r0, [r0, #0xc]
|
|
sub r0, r0, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0x20
|
|
bl FUN_0200A8E0
|
|
mov r2, #0x16
|
|
add r0, r5, #0
|
|
lsl r2, r2, #4
|
|
add r0, #0xc8
|
|
ldr r1, [r5, r2]
|
|
sub r2, #8
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
bl FUN_0200B7B8
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _02215964 ; =0x00010200
|
|
add r2, #0x61
|
|
str r0, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
bl FUN_0201BDE0
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019220
|
|
add r0, r5, #0
|
|
mov r1, #0x29
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
add r0, r5, #0
|
|
mov r2, #0x16
|
|
add r0, #0xcc
|
|
lsl r2, r2, #4
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0x21
|
|
bl FUN_0200A8E0
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _02215964 ; =0x00010200
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
str r1, [sp, #0xc]
|
|
add r2, #0x61
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
add r3, r1, #0
|
|
bl FUN_0201BDE0
|
|
mov r0, #0x36
|
|
bl FUN_02023928
|
|
add r6, r0, #0
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
bl FUN_020283E8
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl FUN_0202395C
|
|
add r0, r5, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
add r2, r6, #0
|
|
bl FUN_0200ABC0
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
add r0, r5, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0x4e
|
|
bl FUN_0200A8E0
|
|
mov r2, #0x16
|
|
add r0, r5, #0
|
|
lsl r2, r2, #4
|
|
add r0, #0xc8
|
|
ldr r1, [r5, r2]
|
|
sub r2, #8
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
bl FUN_0200B7B8
|
|
mov r1, #0x16
|
|
lsl r1, r1, #4
|
|
mov r0, #0
|
|
ldr r1, [r5, r1]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
mov r1, #0xce
|
|
sub r3, r1, r0
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _02215964 ; =0x00010200
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
str r1, [sp, #0xc]
|
|
add r2, #0x61
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
bl FUN_0201BDE0
|
|
add r0, r5, #0
|
|
mov r2, #0x16
|
|
add r0, #0xcc
|
|
lsl r2, r2, #4
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0x22
|
|
bl FUN_0200A8E0
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _02215964 ; =0x00010200
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
str r1, [sp, #0xc]
|
|
add r2, #0x61
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
add r3, r1, #0
|
|
bl FUN_0201BDE0
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
mov r2, #1
|
|
bl FUN_0202822C
|
|
add r2, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
mov r3, #4
|
|
bl FUN_0200AD38
|
|
add r0, r5, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0x23
|
|
bl FUN_0200A8E0
|
|
mov r2, #0x16
|
|
add r0, r5, #0
|
|
lsl r2, r2, #4
|
|
add r0, #0xc8
|
|
ldr r1, [r5, r2]
|
|
sub r2, #8
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
bl FUN_0200B7B8
|
|
mov r0, #0x30
|
|
str r0, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _02215964 ; =0x00010200
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
str r1, [sp, #0xc]
|
|
add r2, #0x61
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
mov r3, #0x1e
|
|
bl FUN_0201BDE0
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
mov r2, #2
|
|
bl FUN_0202822C
|
|
add r2, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
mov r3, #4
|
|
bl FUN_0200AD38
|
|
add r0, r5, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0x24
|
|
bl FUN_0200A8E0
|
|
mov r2, #0x16
|
|
add r0, r5, #0
|
|
lsl r2, r2, #4
|
|
add r0, #0xc8
|
|
ldr r1, [r5, r2]
|
|
sub r2, #8
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
bl FUN_0200B7B8
|
|
mov r1, #0x16
|
|
lsl r1, r1, #4
|
|
mov r0, #0
|
|
ldr r1, [r5, r1]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
add r6, r0, #0
|
|
mov r0, #0x30
|
|
str r0, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _02215964 ; =0x00010200
|
|
mov r3, #0xce
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
str r1, [sp, #0xc]
|
|
add r2, #0x61
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
sub r3, r3, r6
|
|
bl FUN_0201BDE0
|
|
add r0, r5, #0
|
|
mov r2, #0x16
|
|
add r0, #0xcc
|
|
lsl r2, r2, #4
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0x25
|
|
bl FUN_0200A8E0
|
|
mov r0, #0x40
|
|
str r0, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _02215964 ; =0x00010200
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
str r1, [sp, #0xc]
|
|
add r2, #0x61
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
add r3, r1, #0
|
|
bl FUN_0201BDE0
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
mov r2, #3
|
|
bl FUN_0202822C
|
|
add r6, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
add r2, r6, #0
|
|
mov r3, #4
|
|
bl FUN_0200AD38
|
|
cmp r6, #1
|
|
bne _02215810
|
|
add r0, r5, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0x26
|
|
bl FUN_0200A8E0
|
|
b _02215822
|
|
_02215810:
|
|
add r0, r5, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0x4f
|
|
bl FUN_0200A8E0
|
|
_02215822:
|
|
mov r2, #0x16
|
|
add r0, r5, #0
|
|
lsl r2, r2, #4
|
|
add r0, #0xc8
|
|
ldr r1, [r5, r2]
|
|
sub r2, #8
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
bl FUN_0200B7B8
|
|
mov r1, #0x16
|
|
lsl r1, r1, #4
|
|
mov r0, #0
|
|
ldr r1, [r5, r1]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
add r6, r0, #0
|
|
mov r0, #0x40
|
|
str r0, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _02215964 ; =0x00010200
|
|
mov r3, #0xce
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
str r1, [sp, #0xc]
|
|
add r2, #0x61
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
sub r3, r3, r6
|
|
bl FUN_0201BDE0
|
|
add r0, r5, #0
|
|
mov r2, #0x16
|
|
add r0, #0xcc
|
|
lsl r2, r2, #4
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0x27
|
|
bl FUN_0200A8E0
|
|
mov r0, #0x50
|
|
str r0, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _02215964 ; =0x00010200
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
str r1, [sp, #0xc]
|
|
add r2, #0x61
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
add r3, r1, #0
|
|
bl FUN_0201BDE0
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
mov r2, #6
|
|
bl FUN_0202822C
|
|
add r2, r0, #0
|
|
beq _0221594C
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xc8
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
add r3, r1, #0
|
|
bl FUN_0200AD38
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
mov r2, #4
|
|
bl FUN_0202822C
|
|
add r2, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
mov r3, #4
|
|
bl FUN_0200AD38
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
mov r2, #5
|
|
bl FUN_0202822C
|
|
add r2, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl FUN_0200B764
|
|
add r0, r5, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0x28
|
|
bl FUN_0200A8E0
|
|
mov r2, #0x16
|
|
add r0, r5, #0
|
|
lsl r2, r2, #4
|
|
add r0, #0xc8
|
|
ldr r1, [r5, r2]
|
|
sub r2, #8
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
bl FUN_0200B7B8
|
|
mov r1, #0x16
|
|
lsl r1, r1, #4
|
|
mov r0, #0
|
|
ldr r1, [r5, r1]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
add r3, r0, #0
|
|
mov r0, #0x60
|
|
str r0, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _02215964 ; =0x00010200
|
|
mov r4, #0xce
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
str r1, [sp, #0xc]
|
|
add r2, #0x61
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
sub r3, r4, r3
|
|
bl FUN_0201BDE0
|
|
_0221594C:
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019220
|
|
mov r0, #0x3b
|
|
mov r1, #0x36
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r7, #0
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02215964: .word 0x00010200
|
|
thumb_func_end MOD56_022154BC
|
|
|
|
thumb_func_start MOD56_02215968
|
|
MOD56_02215968: ; 0x02215968
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
beq _02215984
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02215984:
|
|
add r0, r5, #0
|
|
bl MOD56_02213BF4
|
|
cmp r0, #0
|
|
beq _02215996
|
|
mov r0, #0x3b
|
|
mov r1, #0x37
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_02215996:
|
|
ldr r0, _022159AC ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _022159A8
|
|
mov r0, #0x3b
|
|
mov r1, #0x37
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_022159A8:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022159AC: .word 0x021C48B8
|
|
thumb_func_end MOD56_02215968
|
|
|
|
thumb_func_start MOD56_022159B0
|
|
MOD56_022159B0: ; 0x022159B0
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
add r4, r1, #0
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200CCF8
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl FUN_02018744
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
mov r1, #3
|
|
bl FUN_02018744
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
add r2, r5, #0
|
|
str r3, [sp, #8]
|
|
mov r0, #0x36
|
|
str r0, [sp, #0xc]
|
|
add r2, #0xc0
|
|
ldr r2, [r2]
|
|
mov r0, #0x5c
|
|
mov r1, #5
|
|
bl FUN_020068C8
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r5, #0
|
|
mov r2, #0x16
|
|
add r0, #0xcc
|
|
lsl r2, r2, #4
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0x12
|
|
bl FUN_0200A8E0
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _02215A88 ; =0x000F0E00
|
|
add r2, #0x61
|
|
str r0, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
bl FUN_0201BDE0
|
|
mov r0, #0xd7
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019220
|
|
add r0, r5, #0
|
|
bl MOD56_02212EFC
|
|
add r0, r5, #0
|
|
bl MOD56_02213A40
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl MOD56_022138A4
|
|
ldr r1, [r5, #4]
|
|
add r0, r5, #0
|
|
ldrb r1, [r1, #0x1b]
|
|
bl MOD56_0221617C
|
|
mov r0, #0x33
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
mov r0, #0x3b
|
|
mov r1, #0x13
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
sub r1, #0x14
|
|
str r1, [r5, #8]
|
|
add r0, r4, #0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02215A88: .word 0x000F0E00
|
|
thumb_func_end MOD56_022159B0
|
|
|
|
thumb_func_start MOD56_02215A8C
|
|
MOD56_02215A8C: ; 0x02215A8C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02215AC6
|
|
mov r0, #0x36
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
ldr r1, _02215ACC ; =0x02216308
|
|
ldr r2, _02215AD0 ; =0x000001D9
|
|
mov r3, #0xb
|
|
bl FUN_02002198
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x3b
|
|
mov r1, #0x39
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_02215AC6:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02215ACC: .word 0x02216308
|
|
_02215AD0: .word 0x000001D9
|
|
thumb_func_end MOD56_02215A8C
|
|
|
|
thumb_func_start MOD56_02215AD4
|
|
MOD56_02215AD4: ; 0x02215AD4
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
add r6, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021AC
|
|
add r4, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
beq _02215AFE
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02215AFE:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _02215B0A
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02215B0A:
|
|
cmp r4, #0
|
|
bne _02215B26
|
|
add r0, r5, #0
|
|
mov r1, #0x19
|
|
mov r2, #1
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x3a
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
mov r1, #1
|
|
add r0, #0x14
|
|
b _02215B32
|
|
_02215B26:
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
mov r0, #0x3b
|
|
mov r1, #0x13
|
|
lsl r0, r0, #4
|
|
_02215B32:
|
|
str r1, [r5, r0]
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD56_02215AD4
|
|
|
|
thumb_func_start MOD56_02215B38
|
|
MOD56_02215B38: ; 0x02215B38
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
beq _02215B54
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02215B54:
|
|
mov r0, #0xf1
|
|
lsl r0, r0, #2
|
|
ldr r1, [r5, r0]
|
|
cmp r1, #1
|
|
bne _02215B66
|
|
mov r1, #0
|
|
str r1, [r5, r0]
|
|
bl FUN_020331C4
|
|
_02215B66:
|
|
bl FUN_02031810
|
|
cmp r0, #0
|
|
bne _02215B8C
|
|
ldr r0, [r5]
|
|
bl FUN_0202858C
|
|
add r0, r5, #0
|
|
mov r1, #0x1a
|
|
mov r2, #1
|
|
bl MOD56_02215EA4
|
|
mov r1, #0x3b
|
|
lsl r0, r1, #4
|
|
str r1, [r5, r0]
|
|
mov r0, #0xf1
|
|
mov r1, #0x1e
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
_02215B8C:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD56_02215B38
|
|
|
|
thumb_func_start MOD56_02215B90
|
|
MOD56_02215B90: ; 0x02215B90
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
beq _02215BAC
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02215BAC:
|
|
mov r1, #0xf1
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r1]
|
|
sub r0, r0, #1
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, r1]
|
|
cmp r0, #0
|
|
bne _02215BD0
|
|
add r0, r1, #0
|
|
mov r2, #8
|
|
sub r0, #0x10
|
|
str r2, [r5, r0]
|
|
mov r0, #0x22
|
|
sub r1, #0x14
|
|
str r0, [r5, r1]
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
_02215BD0:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD56_02215B90
|
|
|
|
thumb_func_start MOD56_02215BD4
|
|
MOD56_02215BD4: ; 0x02215BD4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
add r4, r1, #0
|
|
add r1, r0, #0
|
|
bl FUN_020334E8
|
|
mov r0, #0x10
|
|
bl FUN_020315D8
|
|
cmp r0, #0
|
|
bne _02215BF0
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02215BF0:
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02215C24
|
|
mov r0, #0x36
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
ldr r1, _02215C28 ; =0x02216308
|
|
ldr r2, _02215C2C ; =0x000001D9
|
|
mov r3, #0xb
|
|
bl FUN_02002198
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x3b
|
|
mov r1, #0x3d
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_02215C24:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02215C28: .word 0x02216308
|
|
_02215C2C: .word 0x000001D9
|
|
thumb_func_end MOD56_02215BD4
|
|
|
|
thumb_func_start MOD56_02215C30
|
|
MOD56_02215C30: ; 0x02215C30
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
beq _02215C4C
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02215C4C:
|
|
bl FUN_02033138
|
|
cmp r0, #0
|
|
bne _02215C64
|
|
bl FUN_02033128
|
|
cmp r0, #0
|
|
bne _02215C64
|
|
bl FUN_0203300C
|
|
cmp r0, #3
|
|
blt _02215C84
|
|
_02215C64:
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021EC
|
|
add r0, r5, #0
|
|
mov r1, #0x40
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1c
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02215D18
|
|
_02215C84:
|
|
bl FUN_02033250
|
|
cmp r0, #0
|
|
beq _02215CA0
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021EC
|
|
add r0, r5, #0
|
|
bl MOD56_02213030
|
|
b _02215D18
|
|
_02215CA0:
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021AC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _02215CB8
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02215CB8:
|
|
cmp r0, #0
|
|
bne _02215CF0
|
|
add r0, r5, #0
|
|
mov r1, #0x48
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
ldr r1, _02215D1C ; =0x000001E2
|
|
add r0, r5, r0
|
|
bl FUN_0200D858
|
|
mov r1, #6
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
mov r1, #0xfb
|
|
mov r0, #1
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
mov r2, #0x30
|
|
sub r0, #0x3c
|
|
str r2, [r5, r0]
|
|
mov r0, #0x1e
|
|
sub r1, #0x28
|
|
str r0, [r5, r1]
|
|
b _02215D08
|
|
_02215CF0:
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
bl FUN_0203323C
|
|
mov r0, #0xf1
|
|
mov r1, #0x14
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
mov r1, #0x40
|
|
sub r0, #0x14
|
|
str r1, [r5, r0]
|
|
_02215D08:
|
|
bl FUN_020334DC
|
|
add r1, r0, #0
|
|
str r0, [r5, #4]
|
|
add r1, #0x22
|
|
ldrb r1, [r1]
|
|
add r0, #0x21
|
|
strb r1, [r0]
|
|
_02215D18:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02215D1C: .word 0x000001E2
|
|
thumb_func_end MOD56_02215C30
|
|
|
|
thumb_func_start MOD56_02215D20
|
|
MOD56_02215D20: ; 0x02215D20
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02215D5A
|
|
mov r0, #0x36
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
ldr r1, _02215D60 ; =0x02216308
|
|
ldr r2, _02215D64 ; =0x000001D9
|
|
mov r3, #0xb
|
|
bl FUN_02002198
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0x3b
|
|
mov r1, #0x3f
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_02215D5A:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02215D60: .word 0x02216308
|
|
_02215D64: .word 0x000001D9
|
|
thumb_func_end MOD56_02215D20
|
|
|
|
thumb_func_start MOD56_02215D68
|
|
MOD56_02215D68: ; 0x02215D68
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl FUN_0203300C
|
|
cmp r0, #3
|
|
blt _02215D96
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021EC
|
|
add r0, r5, #0
|
|
mov r1, #0x40
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0x3b
|
|
mov r1, #0x1c
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
b _02215E6A
|
|
_02215D96:
|
|
bl FUN_02033250
|
|
cmp r0, #0
|
|
beq _02215DB2
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021EC
|
|
add r0, r5, #0
|
|
bl MOD56_02213030
|
|
b _02215E6A
|
|
_02215DB2:
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x36
|
|
bl FUN_020021AC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _02215DCA
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02215DCA:
|
|
cmp r0, #0
|
|
bne _02215E58
|
|
mov r0, #0xf9
|
|
lsl r0, r0, #2
|
|
ldrh r0, [r5, r0]
|
|
bl MOD56_02211F10
|
|
add r6, r0, #0
|
|
cmp r6, #0x11
|
|
beq _02215E58
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #2
|
|
ldrh r0, [r5, r0]
|
|
sub r0, r0, #1
|
|
bl MOD04_021D8480
|
|
cmp r0, #6
|
|
bne _02215E58
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #2
|
|
ldrh r0, [r5, r0]
|
|
sub r0, r0, #1
|
|
bl FUN_02032FDC
|
|
cmp r0, #0
|
|
beq _02215E58
|
|
mov r0, #0
|
|
bl FUN_02031400
|
|
add r0, r5, #0
|
|
bl MOD56_022161DC
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl MOD56_0221617C
|
|
mov r1, #0xfa
|
|
lsl r1, r1, #2
|
|
ldrh r1, [r5, r1]
|
|
add r0, r5, #0
|
|
sub r1, r1, #1
|
|
bl MOD56_022160E4
|
|
add r0, r5, #0
|
|
mov r1, #0xd
|
|
mov r2, #0
|
|
bl MOD56_02215EA4
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
ldr r1, _02215E70 ; =0x000001E2
|
|
add r0, r5, r0
|
|
bl FUN_0200D858
|
|
mov r1, #6
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
cmp r6, #1
|
|
beq _02215E4C
|
|
mov r0, #0x3b
|
|
mov r1, #0x2c
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02215E4C:
|
|
mov r0, #0x3b
|
|
mov r1, #0x15
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02215E58:
|
|
add r0, r5, #0
|
|
bl MOD56_02216120
|
|
mov r0, #0x3b
|
|
mov r1, #0x13
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02215E6A:
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02215E70: .word 0x000001E2
|
|
thumb_func_end MOD56_02215D68
|
|
|
|
thumb_func_start MOD56_02215E74
|
|
MOD56_02215E74: ; 0x02215E74
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r1, #0
|
|
bl FUN_02031810
|
|
cmp r0, #0
|
|
bne _02215E9C
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x36
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl FUN_0200E1D0
|
|
mov r4, #2
|
|
_02215E9C:
|
|
add r0, r4, #0
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02215E74
|
|
|
|
thumb_func_start MOD56_02215EA4
|
|
MOD56_02215EA4: ; 0x02215EA4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
bl LoadPlayerDataAddress
|
|
bl FUN_02024FF4
|
|
add r7, r0, #0
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _02215EE0
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
_02215EE0:
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _02215F04
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
_02215F04:
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #8
|
|
beq _02215F30
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
beq _02215F30
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD7C
|
|
mov r0, #0x5e
|
|
mov r1, #8
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
_02215F30:
|
|
mov r0, #0x13
|
|
str r0, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _02215FEC ; =0x0000012D
|
|
mov r1, #0xcf
|
|
str r0, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
lsl r1, r1, #2
|
|
mov r2, #2
|
|
ldr r0, [r0]
|
|
add r1, r5, r1
|
|
add r3, r2, #0
|
|
bl FUN_02019064
|
|
cmp r6, #0
|
|
beq _02215F70
|
|
add r0, r5, #0
|
|
mov r2, #0x56
|
|
add r0, #0xd0
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
add r1, r4, #0
|
|
bl FUN_0200A8E0
|
|
b _02215F82
|
|
_02215F70:
|
|
add r0, r5, #0
|
|
mov r2, #0x56
|
|
add r0, #0xcc
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
add r1, r4, #0
|
|
bl FUN_0200A8E0
|
|
_02215F82:
|
|
mov r2, #0x57
|
|
add r0, r5, #0
|
|
lsl r2, r2, #2
|
|
add r0, #0xc8
|
|
ldr r1, [r5, r2]
|
|
sub r2, r2, #4
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
bl FUN_0200B7B8
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
ldr r2, _02215FF0 ; =0x000001E2
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
mov r3, #0xa
|
|
bl FUN_0200D0BC
|
|
mov r0, #1
|
|
bl FUN_02002B60
|
|
mov r0, #0
|
|
bl FUN_02002B7C
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r7, [sp, #4]
|
|
mov r2, #0x57
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
str r3, [sp, #8]
|
|
lsl r2, r2, #2
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
bl FUN_0201BD84
|
|
mov r1, #0x5e
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019220
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02215FEC: .word 0x0000012D
|
|
_02215FF0: .word 0x000001E2
|
|
thumb_func_end MOD56_02215EA4
|
|
|
|
thumb_func_start MOD56_02215FF4
|
|
MOD56_02215FF4: ; 0x02215FF4
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD56_02216274
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _02216024
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
_02216024:
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _02216048
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
_02216048:
|
|
mov r3, #4
|
|
str r3, [sp]
|
|
mov r0, #0x17
|
|
str r0, [sp, #4]
|
|
mov r0, #0x10
|
|
str r0, [sp, #8]
|
|
mov r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x69
|
|
str r0, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
mov r1, #0xdb
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0]
|
|
add r1, r5, r1
|
|
mov r2, #2
|
|
bl FUN_02019064
|
|
add r0, r5, #0
|
|
mov r2, #0x56
|
|
add r0, #0xd0
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
add r1, r4, #0
|
|
bl FUN_0200A8E0
|
|
mov r2, #0x57
|
|
add r0, r5, #0
|
|
lsl r2, r2, #2
|
|
add r0, #0xc8
|
|
ldr r1, [r5, r2]
|
|
sub r2, r2, #4
|
|
ldr r0, [r0]
|
|
ldr r2, [r5, r2]
|
|
bl FUN_0200B7B8
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
ldr r2, _022160E0 ; =0x000001D9
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
mov r3, #0xb
|
|
bl FUN_0200CCA4
|
|
mov r3, #0
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
str r3, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
str r3, [sp, #8]
|
|
add r2, #0x5d
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
bl FUN_0201BD84
|
|
mov r1, #0x5e
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl FUN_02019220
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_022160E0: .word 0x000001D9
|
|
thumb_func_end MOD56_02215FF4
|
|
|
|
thumb_func_start MOD56_022160E4
|
|
MOD56_022160E4: ; 0x022160E4
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
add r6, r1, #0
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
beq _0221611C
|
|
mov r0, #0x36
|
|
bl FUN_02023928
|
|
add r4, r0, #0
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
bl FUN_020283A4
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl FUN_0202395C
|
|
add r5, #0xc8
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
bl FUN_0200ABC0
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
_0221611C:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_022160E4
|
|
|
|
thumb_func_start MOD56_02216120
|
|
MOD56_02216120: ; 0x02216120
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD56_02216274
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #8
|
|
beq _02216154
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
beq _02216154
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD7C
|
|
mov r0, #0x5e
|
|
mov r1, #8
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_02216154:
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _02216178
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
_02216178:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02216120
|
|
|
|
thumb_func_start MOD56_0221617C
|
|
MOD56_0221617C: ; 0x0221617C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldr r1, [r5, #4]
|
|
ldrb r0, [r1, #0x1b]
|
|
cmp r0, r4
|
|
beq _022161C8
|
|
add r0, r4, #0
|
|
strb r4, [r1, #0x1b]
|
|
bl MOD56_02211EA4
|
|
cmp r0, #0
|
|
bne _022161C8
|
|
cmp r4, #8
|
|
beq _022161C8
|
|
cmp r4, #1
|
|
bne _022161A8
|
|
mov r0, #0
|
|
mov r1, #0x1e
|
|
bl FUN_020053CC
|
|
b _022161C8
|
|
_022161A8:
|
|
cmp r4, #0x10
|
|
bne _022161C8
|
|
ldr r0, _022161D8 ; =0x00000497
|
|
mov r1, #0x5a
|
|
bl FUN_0200488C
|
|
mov r0, #7
|
|
mov r1, #0x12
|
|
mov r2, #0
|
|
bl FUN_02004828
|
|
mov r0, #0x7f
|
|
mov r1, #0x1e
|
|
mov r2, #1
|
|
bl FUN_0200538C
|
|
_022161C8:
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0x24
|
|
bl MOD04_021D8478
|
|
add r0, r5, #0
|
|
bl MOD56_0221341C
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022161D8: .word 0x00000497
|
|
thumb_func_end MOD56_0221617C
|
|
|
|
thumb_func_start MOD56_022161DC
|
|
MOD56_022161DC: ; 0x022161DC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r2, [r4, #4]
|
|
add r0, r2, #0
|
|
add r0, #0x21
|
|
ldrb r1, [r0]
|
|
mov r0, #1
|
|
add r2, #0x21
|
|
sub r0, r0, r1
|
|
strb r0, [r2]
|
|
ldr r0, [r4, #4]
|
|
add r0, #0x21
|
|
ldrb r0, [r0]
|
|
bl MOD04_021D8678
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x24
|
|
bl MOD04_021D8478
|
|
ldr r0, [r4, #4]
|
|
add r0, #0x21
|
|
ldrb r0, [r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_022161DC
|
|
|
|
thumb_func_start MOD56_0221620C
|
|
MOD56_0221620C: ; 0x0221620C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r2, [r4, #4]
|
|
add r0, r2, #0
|
|
add r0, #0x22
|
|
ldrb r1, [r0]
|
|
mov r0, #1
|
|
add r2, #0x22
|
|
sub r0, r0, r1
|
|
strb r0, [r2]
|
|
ldr r1, [r4, #4]
|
|
add r0, r1, #0
|
|
add r0, #0x22
|
|
ldrb r0, [r0]
|
|
add r1, #0x21
|
|
strb r0, [r1]
|
|
ldr r0, [r4, #4]
|
|
add r0, #0x21
|
|
ldrb r0, [r0]
|
|
bl MOD04_021D8678
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x24
|
|
bl MOD04_021D8478
|
|
ldr r0, [r4, #4]
|
|
add r0, #0x22
|
|
ldrb r0, [r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_0221620C
|
|
|
|
thumb_func_start MOD56_02216248
|
|
MOD56_02216248: ; 0x02216248
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #4]
|
|
add r0, r1, #0
|
|
add r0, #0x22
|
|
ldrb r0, [r0]
|
|
add r1, #0x21
|
|
strb r0, [r1]
|
|
ldr r0, [r4, #4]
|
|
add r0, #0x21
|
|
ldrb r0, [r0]
|
|
bl MOD04_021D8678
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x24
|
|
bl MOD04_021D8478
|
|
ldr r0, [r4, #4]
|
|
add r0, #0x22
|
|
ldrb r0, [r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02216248
|
|
|
|
thumb_func_start MOD56_02216274
|
|
MOD56_02216274: ; 0x02216274
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _022162DC
|
|
bl FUN_0200DC24
|
|
mov r0, #6
|
|
mov r1, #0
|
|
lsl r0, r0, #6
|
|
str r1, [r4, r0]
|
|
sub r0, #8
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #8
|
|
beq _022162B8
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
beq _022162B8
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD7C
|
|
mov r0, #0x5e
|
|
mov r1, #8
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_022162B8:
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019048
|
|
cmp r0, #0
|
|
beq _022162DC
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
_022162DC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD56_02216274
|
|
|
|
.section .rodata
|
|
; 0x022162E0
|
|
.byte 0x4A, 0x00, 0x4B, 0x00, 0x4A, 0x08, 0x4B, 0x08, 0x25, 0x00, 0x26, 0x00, 0x2A, 0x00, 0x25, 0x0C
|
|
.byte 0x17, 0x00, 0x18, 0x00, 0x18, 0x0C, 0x20, 0x00, 0x02, 0x19, 0x0D, 0x06, 0x04, 0x0D, 0x51, 0x00
|
|
.byte 0x48, 0x00, 0x49, 0x00, 0x48, 0x08, 0x49, 0x08, 0x02, 0x19, 0x0D, 0x06, 0x04, 0x0D, 0x15, 0x01
|
|
.byte 0x01, 0x19, 0x13, 0x06, 0x04, 0x0D, 0x51, 0x00, 0x2F, 0x00, 0x2F, 0x04, 0x2F, 0x08, 0x2F, 0x0C
|
|
.byte 0x44, 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00
|
|
.byte 0x1D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x1F, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x18, 0x01, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1A, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1C, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00
|
|
.byte 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x04, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x39, 0x21, 0x02, 0x25, 0x36, 0x21, 0x02
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x05, 0x00, 0x00, 0x08, 0x00, 0x10, 0x20, 0x00, 0xC0, 0x80
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x39, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x08, 0x00, 0x10, 0x2F, 0x00, 0x80, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x39, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x08, 0x00, 0x10, 0x2F, 0x00, 0x80, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.section .data
|
|
; 0x02216480
|
|
.byte 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x3A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x3C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x3D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x3F, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF
|
|
.byte 0x1D, 0x2A, 0x21, 0x02, 0x3D, 0x2B, 0x21, 0x02, 0x85, 0x2B, 0x21, 0x02, 0xE9, 0x2B, 0x21, 0x02
|
|
.byte 0x51, 0x2C, 0x21, 0x02, 0xCD, 0x2C, 0x21, 0x02, 0x55, 0x2D, 0x21, 0x02, 0x49, 0x30, 0x21, 0x02
|
|
.byte 0x8D, 0x30, 0x21, 0x02, 0x99, 0x30, 0x21, 0x02, 0xA5, 0x30, 0x21, 0x02, 0xF5, 0x30, 0x21, 0x02
|
|
.byte 0x3D, 0x31, 0x21, 0x02, 0x95, 0x31, 0x21, 0x02, 0xD9, 0x2D, 0x21, 0x02, 0x7D, 0x32, 0x21, 0x02
|
|
.byte 0x69, 0x33, 0x21, 0x02, 0x89, 0x33, 0x21, 0x02, 0x95, 0x3A, 0x21, 0x02, 0x99, 0x3D, 0x21, 0x02
|
|
.byte 0x91, 0x3F, 0x21, 0x02, 0xCD, 0x3F, 0x21, 0x02, 0xA5, 0x40, 0x21, 0x02, 0xDD, 0x40, 0x21, 0x02
|
|
.byte 0x21, 0x41, 0x21, 0x02, 0x39, 0x42, 0x21, 0x02, 0x8D, 0x42, 0x21, 0x02, 0x2D, 0x43, 0x21, 0x02
|
|
.byte 0xB5, 0x43, 0x21, 0x02, 0x05, 0x44, 0x21, 0x02, 0x65, 0x44, 0x21, 0x02, 0x69, 0x44, 0x21, 0x02
|
|
.byte 0x6D, 0x44, 0x21, 0x02, 0x7D, 0x54, 0x21, 0x02, 0x75, 0x5E, 0x21, 0x02, 0xDD, 0x44, 0x21, 0x02
|
|
.byte 0xD5, 0x45, 0x21, 0x02, 0xCD, 0x46, 0x21, 0x02, 0x21, 0x49, 0x21, 0x02, 0x05, 0x45, 0x21, 0x02
|
|
.byte 0x21, 0x45, 0x21, 0x02, 0x69, 0x45, 0x21, 0x02, 0xD9, 0x49, 0x21, 0x02, 0xFD, 0x4B, 0x21, 0x02
|
|
.byte 0x29, 0x4E, 0x21, 0x02, 0xD9, 0x4F, 0x21, 0x02, 0x21, 0x50, 0x21, 0x02, 0xA5, 0x50, 0x21, 0x02
|
|
.byte 0x01, 0x52, 0x21, 0x02, 0xA9, 0x52, 0x21, 0x02, 0xE1, 0x52, 0x21, 0x02, 0x51, 0x53, 0x21, 0x02
|
|
.byte 0x89, 0x53, 0x21, 0x02, 0xBD, 0x54, 0x21, 0x02, 0x69, 0x59, 0x21, 0x02, 0xB1, 0x59, 0x21, 0x02
|
|
.byte 0x8D, 0x5A, 0x21, 0x02, 0xD5, 0x5A, 0x21, 0x02, 0x39, 0x5B, 0x21, 0x02, 0x91, 0x5B, 0x21, 0x02
|
|
.byte 0xD5, 0x5B, 0x21, 0x02, 0x31, 0x5C, 0x21, 0x02, 0x21, 0x5D, 0x21, 0x02, 0x69, 0x5D, 0x21, 0x02
|
|
.byte 0xFD, 0x32, 0x21, 0x02, 0x0D, 0x4F, 0x21, 0x02, 0x55, 0x4F, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|