mirror of
https://github.com/pret/pokediamond.git
synced 2026-08-16 22:07:11 -05:00
5402 lines
102 KiB
ArmAsm
5402 lines
102 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
.section .text
|
|
.balign 4, 0
|
|
|
|
thumb_func_start MOD07_02211E60
|
|
MOD07_02211E60: ; 0x02211E60
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _02211E88 ; =MOD07_02211E94
|
|
ldr r1, _02211E8C ; =0x00000B84
|
|
ldr r3, [r5, #0x24]
|
|
mov r2, #0x64
|
|
bl FUN_020061E8
|
|
bl FUN_0201B6C8
|
|
ldr r2, _02211E8C ; =0x00000B84
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
ldr r0, _02211E90 ; =0x00000B7F
|
|
str r5, [r4]
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02211E88: .word MOD07_02211E94
|
|
_02211E8C: .word 0x00000B84
|
|
_02211E90: .word 0x00000B7F
|
|
|
|
thumb_func_start MOD07_02211E94
|
|
MOD07_02211E94: ; 0x02211E94
|
|
push {r4, r5, r6, lr}
|
|
ldr r2, _02211F0C ; =0x00000B7F
|
|
add r5, r1, #0
|
|
ldrb r2, [r5, r2]
|
|
cmp r2, #0
|
|
beq _02211EAA
|
|
cmp r2, #1
|
|
beq _02211EB6
|
|
cmp r2, #2
|
|
beq _02211ED8
|
|
b _02211EE0
|
|
_02211EAA:
|
|
add r0, r5, #0
|
|
bl MOD07_02211F34
|
|
ldr r1, _02211F0C ; =0x00000B7F
|
|
strb r0, [r5, r1]
|
|
b _02211EE0
|
|
_02211EB6:
|
|
mov r4, #0x2e
|
|
lsl r4, r4, #6
|
|
add r6, r4, #0
|
|
_02211EBC:
|
|
ldrb r1, [r5, r6]
|
|
ldr r2, [r5, #4]
|
|
add r0, r5, #0
|
|
lsl r1, r1, #2
|
|
ldr r1, [r2, r1]
|
|
blx r1
|
|
cmp r0, #0
|
|
beq _02211ED2
|
|
ldrb r1, [r5, r4]
|
|
add r1, r1, #1
|
|
strb r1, [r5, r4]
|
|
_02211ED2:
|
|
cmp r0, #2
|
|
beq _02211EBC
|
|
b _02211EE0
|
|
_02211ED8:
|
|
bl MOD07_02212B64
|
|
cmp r0, #1
|
|
beq _02211F0A
|
|
_02211EE0:
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #6
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _02211EFA
|
|
add r0, r5, #0
|
|
bl MOD07_02212D30
|
|
mov r0, #0x65
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_0200BC1C
|
|
_02211EFA:
|
|
ldr r0, [r5]
|
|
add r0, #0x28
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _02211F0A
|
|
ldr r0, _02211F10 ; =0x04000540
|
|
mov r1, #1
|
|
str r1, [r0]
|
|
_02211F0A:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02211F0C: .word 0x00000B7F
|
|
_02211F10: .word 0x04000540
|
|
|
|
thumb_func_start MOD07_02211F14
|
|
MOD07_02211F14: ; 0x02211F14
|
|
push {r4, lr}
|
|
sub sp, #0x28
|
|
ldr r4, _02211F30 ; =0x02214AD8
|
|
add r3, sp, #0
|
|
mov r2, #5
|
|
_02211F1E:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _02211F1E
|
|
add r0, sp, #0
|
|
bl FUN_0201E66C
|
|
add sp, #0x28
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02211F30: .word 0x02214AD8
|
|
|
|
thumb_func_start MOD07_02211F34
|
|
MOD07_02211F34: ; 0x02211F34
|
|
push {r4, lr}
|
|
ldr r1, _02211FE0 ; =0x04000050
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
strh r0, [r1]
|
|
add r1, r0, #0
|
|
bl FUN_02015F10
|
|
bl FUN_02015F1C
|
|
bl FUN_0201E6D8
|
|
bl FUN_0201E740
|
|
mov r0, #1
|
|
lsl r0, r0, #0x1a
|
|
ldr r2, [r0]
|
|
ldr r1, _02211FE4 ; =0xFFFFE0FF
|
|
ldr r3, _02211FE8 ; =0x04001000
|
|
and r2, r1
|
|
str r2, [r0]
|
|
ldr r2, [r3]
|
|
add r0, #0x50
|
|
and r1, r2
|
|
str r1, [r3]
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
add r3, #0x50
|
|
strh r1, [r3]
|
|
bl MOD07_02211F14
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x24]
|
|
bl FUN_02016B94
|
|
str r0, [r4, #0xc]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x24]
|
|
bl FUN_02002FD0
|
|
str r0, [r4, #8]
|
|
ldr r3, [r4]
|
|
mov r1, #0
|
|
ldr r3, [r3, #0x24]
|
|
mov r2, #0x60
|
|
bl FUN_02003008
|
|
ldr r0, _02211FEC ; =0x00000B82
|
|
mov r3, #0
|
|
strb r3, [r4, r0]
|
|
sub r1, r0, #1
|
|
mov r2, #8
|
|
strb r2, [r4, r1]
|
|
sub r0, r0, #2
|
|
strb r3, [r4, r0]
|
|
ldr r1, [r4]
|
|
add r0, r1, #0
|
|
add r0, #0x28
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _02211FB8
|
|
cmp r0, #1
|
|
beq _02211FBE
|
|
cmp r0, #2
|
|
beq _02211FC4
|
|
b _02211FDA
|
|
_02211FB8:
|
|
ldr r0, _02211FF0 ; =0x022149A0
|
|
str r0, [r4, #4]
|
|
b _02211FDA
|
|
_02211FBE:
|
|
ldr r0, _02211FF4 ; =0x022149B4
|
|
str r0, [r4, #4]
|
|
b _02211FDA
|
|
_02211FC4:
|
|
add r1, #0x2a
|
|
ldrb r0, [r1]
|
|
cmp r0, #3
|
|
bne _02211FD0
|
|
ldr r0, _02211FF8 ; =0x02214B00
|
|
b _02211FD2
|
|
_02211FD0:
|
|
ldr r0, _02211FFC ; =0x02214B64
|
|
_02211FD2:
|
|
str r0, [r4, #4]
|
|
ldr r0, [r4]
|
|
bl MOD07_02214720
|
|
_02211FDA:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
nop
|
|
_02211FE0: .word 0x04000050
|
|
_02211FE4: .word 0xFFFFE0FF
|
|
_02211FE8: .word 0x04001000
|
|
_02211FEC: .word 0x00000B82
|
|
_02211FF0: .word 0x022149A0
|
|
_02211FF4: .word 0x022149B4
|
|
_02211FF8: .word 0x02214B00
|
|
_02211FFC: .word 0x02214B64
|
|
|
|
thumb_func_start MOD07_02212000
|
|
MOD07_02212000: ; 0x02212000
|
|
push {r4, lr}
|
|
ldr r1, _02212074 ; =0x00000B82
|
|
add r4, r0, #0
|
|
ldrb r2, [r4, r1]
|
|
cmp r2, #0
|
|
beq _02212016
|
|
cmp r2, #1
|
|
beq _02212022
|
|
cmp r2, #2
|
|
beq _0221202E
|
|
b _02212068
|
|
_02212016:
|
|
bl MOD07_02213858
|
|
add r0, r4, #0
|
|
bl MOD07_02213924
|
|
b _02212068
|
|
_02212022:
|
|
bl MOD07_02213D30
|
|
add r0, r4, #0
|
|
bl MOD07_02213F28
|
|
b _02212068
|
|
_0221202E:
|
|
mov r2, #0
|
|
strb r2, [r4, r1]
|
|
mov r2, #0x20
|
|
sub r1, r1, #1
|
|
strb r2, [r4, r1]
|
|
bl MOD07_022139BC
|
|
add r0, r4, #0
|
|
bl MOD07_0221424C
|
|
add r0, r4, #0
|
|
bl MOD07_0221469C
|
|
add r0, r4, #0
|
|
bl MOD07_02213AEC
|
|
bl FUN_02033E74
|
|
ldr r1, [r4]
|
|
mov r0, #0
|
|
ldr r1, [r1, #0x24]
|
|
bl FUN_02079A70
|
|
ldr r0, _02212078 ; =MOD07_02212D68
|
|
add r1, r4, #0
|
|
bl FUN_02015F10
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02212068:
|
|
ldr r0, _02212074 ; =0x00000B82
|
|
ldrb r1, [r4, r0]
|
|
add r1, r1, #1
|
|
strb r1, [r4, r0]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02212074: .word 0x00000B82
|
|
_02212078: .word MOD07_02212D68
|
|
|
|
thumb_func_start MOD07_0221207C
|
|
MOD07_0221207C: ; 0x0221207C
|
|
push {r4, lr}
|
|
ldr r1, _022120F4 ; =0x00000B82
|
|
add r4, r0, #0
|
|
ldrb r1, [r4, r1]
|
|
cmp r1, #0
|
|
beq _02212092
|
|
cmp r1, #1
|
|
beq _022120A2
|
|
cmp r1, #2
|
|
beq _022120B8
|
|
b _022120E6
|
|
_02212092:
|
|
bl MOD07_02212D98
|
|
add r0, r4, #0
|
|
bl MOD07_02212E90
|
|
bl MOD07_02212F2C
|
|
b _022120E6
|
|
_022120A2:
|
|
bl MOD07_022133B4
|
|
add r0, r4, #0
|
|
bl MOD07_02212F44
|
|
bl FUN_02033E74
|
|
add r0, r4, #0
|
|
bl MOD07_022136B4
|
|
b _022120E6
|
|
_022120B8:
|
|
ldr r1, [r4]
|
|
mov r0, #0
|
|
ldr r1, [r1, #0x24]
|
|
bl FUN_02079A70
|
|
ldr r0, _022120F8 ; =MOD07_02212D68
|
|
add r1, r4, #0
|
|
bl FUN_02015F10
|
|
ldr r1, _022120F4 ; =0x00000B82
|
|
mov r0, #0
|
|
strb r0, [r4, r1]
|
|
mov r2, #8
|
|
sub r0, r1, #6
|
|
strb r2, [r4, r0]
|
|
sub r0, r1, #5
|
|
mov r2, #4
|
|
strb r2, [r4, r0]
|
|
mov r0, #0x10
|
|
sub r1, #0xe
|
|
str r0, [r4, r1]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_022120E6:
|
|
ldr r0, _022120F4 ; =0x00000B82
|
|
ldrb r1, [r4, r0]
|
|
add r1, r1, #1
|
|
strb r1, [r4, r0]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_022120F4: .word 0x00000B82
|
|
_022120F8: .word MOD07_02212D68
|
|
|
|
thumb_func_start MOD07_022120FC
|
|
MOD07_022120FC: ; 0x022120FC
|
|
push {r4, lr}
|
|
ldr r1, _0221216C ; =0x00000B82
|
|
add r4, r0, #0
|
|
ldrb r1, [r4, r1]
|
|
cmp r1, #0
|
|
beq _02212112
|
|
cmp r1, #1
|
|
beq _02212122
|
|
cmp r1, #2
|
|
beq _02212132
|
|
b _02212160
|
|
_02212112:
|
|
bl MOD07_02212D98
|
|
add r0, r4, #0
|
|
bl MOD07_02212E90
|
|
bl MOD07_02212F2C
|
|
b _02212160
|
|
_02212122:
|
|
bl MOD07_022133B4
|
|
add r0, r4, #0
|
|
bl MOD07_02213484
|
|
bl FUN_02033E74
|
|
b _02212160
|
|
_02212132:
|
|
ldr r1, [r4]
|
|
mov r0, #0
|
|
ldr r1, [r1, #0x24]
|
|
bl FUN_02079A70
|
|
ldr r0, _02212170 ; =MOD07_02212D68
|
|
add r1, r4, #0
|
|
bl FUN_02015F10
|
|
ldr r1, _0221216C ; =0x00000B82
|
|
mov r0, #0
|
|
strb r0, [r4, r1]
|
|
mov r2, #4
|
|
sub r0, r1, #6
|
|
strb r2, [r4, r0]
|
|
sub r0, r1, #5
|
|
mov r2, #2
|
|
strb r2, [r4, r0]
|
|
mov r0, #0xc
|
|
sub r1, #0xe
|
|
str r0, [r4, r1]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02212160:
|
|
ldr r0, _0221216C ; =0x00000B82
|
|
ldrb r1, [r4, r0]
|
|
add r1, r1, #1
|
|
strb r1, [r4, r0]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0221216C: .word 0x00000B82
|
|
_02212170: .word MOD07_02212D68
|
|
|
|
thumb_func_start MOD07_02212174
|
|
MOD07_02212174: ; 0x02212174
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl FUN_0200E308
|
|
cmp r0, #0
|
|
bne _02212184
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_02212184:
|
|
ldr r1, _022121A8 ; =0x00000B81
|
|
add r0, r1, #1
|
|
ldrb r2, [r4, r1]
|
|
ldrb r0, [r4, r0]
|
|
cmp r2, r0
|
|
bne _0221219A
|
|
mov r2, #0
|
|
add r0, r1, #1
|
|
strb r2, [r4, r0]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_0221219A:
|
|
add r0, r1, #1
|
|
ldrb r0, [r4, r0]
|
|
add r2, r0, #1
|
|
add r0, r1, #1
|
|
strb r2, [r4, r0]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_022121A8: .word 0x00000B81
|
|
|
|
thumb_func_start MOD07_022121AC
|
|
MOD07_022121AC: ; 0x022121AC
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #3
|
|
bl FUN_02017B48
|
|
cmp r0, #0x18
|
|
bgt _02212248
|
|
ldr r1, _02212370 ; =0x00000B82
|
|
mov r2, #0
|
|
add r0, r1, #0
|
|
strb r2, [r4, r1]
|
|
sub r0, #0xa
|
|
strh r2, [r4, r0]
|
|
sub r1, #8
|
|
strh r2, [r4, r1]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #3
|
|
mov r3, #0x18
|
|
bl FUN_0201AEE4
|
|
mov r2, #0
|
|
add r3, r2, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #2
|
|
sub r3, #0x18
|
|
bl FUN_0201AEE4
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl MOD07_0221309C
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r3, r2, #0
|
|
bl MOD07_0221309C
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
add r3, r2, #0
|
|
bl MOD07_0221309C
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
add r3, r2, #0
|
|
bl MOD07_0221309C
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl MOD07_02213354
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r3, r2, #0
|
|
bl MOD07_02213354
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
add r3, r2, #0
|
|
bl MOD07_02213354
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
add r3, r2, #0
|
|
bl MOD07_02213354
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_02212248:
|
|
ldr r3, _02212374 ; =0x00000B74
|
|
ldr r0, [r4, #0xc]
|
|
ldr r3, [r4, r3]
|
|
mov r1, #3
|
|
mov r2, #2
|
|
bl FUN_0201AEE4
|
|
ldr r3, _02212374 ; =0x00000B74
|
|
ldr r0, [r4, #0xc]
|
|
ldr r3, [r4, r3]
|
|
mov r1, #2
|
|
mov r2, #1
|
|
bl FUN_0201AEE4
|
|
ldr r3, _02212370 ; =0x00000B82
|
|
mov r1, #0
|
|
ldrb r0, [r4, r3]
|
|
add r2, r3, #0
|
|
sub r2, #0xe
|
|
add r0, r0, #1
|
|
strb r0, [r4, r3]
|
|
ldr r5, [r4, r2]
|
|
ldrb r2, [r4, r3]
|
|
add r3, r5, #0
|
|
add r0, r4, #0
|
|
mul r3, r2
|
|
mov r2, #1
|
|
lsl r2, r2, #8
|
|
sub r2, r3, r2
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add r3, r1, #0
|
|
bl MOD07_0221309C
|
|
ldr r2, _02212374 ; =0x00000B74
|
|
mov r1, #1
|
|
ldr r3, [r4, r2]
|
|
add r2, #0xe
|
|
add r5, r3, #0
|
|
ldrb r2, [r4, r2]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
mul r5, r2
|
|
add r2, r1, #0
|
|
add r2, #0xff
|
|
sub r2, r5, r2
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_0221309C
|
|
ldr r2, _02212374 ; =0x00000B74
|
|
mov r1, #2
|
|
ldr r3, [r4, r2]
|
|
add r2, #0xe
|
|
add r5, r3, #0
|
|
ldrb r2, [r4, r2]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
mul r5, r2
|
|
add r2, r1, #0
|
|
add r2, #0xfe
|
|
sub r2, r2, r5
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_0221309C
|
|
ldr r2, _02212374 ; =0x00000B74
|
|
mov r1, #3
|
|
ldr r3, [r4, r2]
|
|
add r2, #0xe
|
|
add r5, r3, #0
|
|
ldrb r2, [r4, r2]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
mul r5, r2
|
|
add r2, r1, #0
|
|
add r2, #0xfd
|
|
sub r2, r2, r5
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_0221309C
|
|
ldr r2, _02212374 ; =0x00000B74
|
|
mov r1, #0
|
|
ldr r3, [r4, r2]
|
|
add r2, #0xe
|
|
add r5, r3, #0
|
|
ldrb r2, [r4, r2]
|
|
add r0, r4, #0
|
|
add r3, r1, #0
|
|
mul r5, r2
|
|
mov r2, #1
|
|
lsl r2, r2, #8
|
|
sub r2, r5, r2
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_02213354
|
|
ldr r2, _02212374 ; =0x00000B74
|
|
mov r1, #1
|
|
ldr r3, [r4, r2]
|
|
add r2, #0xe
|
|
add r5, r3, #0
|
|
ldrb r2, [r4, r2]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
mul r5, r2
|
|
add r2, r1, #0
|
|
add r2, #0xff
|
|
sub r2, r5, r2
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_02213354
|
|
ldr r2, _02212374 ; =0x00000B74
|
|
mov r1, #2
|
|
ldr r3, [r4, r2]
|
|
add r2, #0xe
|
|
add r5, r3, #0
|
|
ldrb r2, [r4, r2]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
mul r5, r2
|
|
add r2, r1, #0
|
|
add r2, #0xfe
|
|
sub r2, r2, r5
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_02213354
|
|
ldr r2, _02212374 ; =0x00000B74
|
|
add r0, r4, #0
|
|
ldr r3, [r4, r2]
|
|
add r2, #0xe
|
|
ldrb r2, [r4, r2]
|
|
add r4, r3, #0
|
|
mov r1, #3
|
|
mul r4, r2
|
|
add r2, r1, #0
|
|
add r2, #0xfd
|
|
sub r2, r2, r4
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
mov r3, #0
|
|
bl MOD07_02213354
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02212370: .word 0x00000B82
|
|
_02212374: .word 0x00000B74
|
|
|
|
thumb_func_start MOD07_02212378
|
|
MOD07_02212378: ; 0x02212378
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
bl MOD07_022137A4
|
|
cmp r0, #0
|
|
bne _02212394
|
|
ldr r0, _02212574 ; =0x00000B82
|
|
ldrb r1, [r5, r0]
|
|
cmp r1, #0x18
|
|
bls _02212394
|
|
mov r1, #0
|
|
strb r1, [r5, r0]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_02212394:
|
|
ldr r0, _02212574 ; =0x00000B82
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _022123B4
|
|
ldr r0, [r5]
|
|
add r0, #0x28
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _022123AE
|
|
ldr r0, _02212578 ; =0x00000715
|
|
bl FUN_020054C8
|
|
b _022123B4
|
|
_022123AE:
|
|
ldr r0, _0221257C ; =0x00000852
|
|
bl FUN_020054C8
|
|
_022123B4:
|
|
ldr r0, _02212574 ; =0x00000B82
|
|
ldrb r1, [r5, r0]
|
|
cmp r1, #0x18
|
|
bne _02212450
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #3
|
|
mov r2, #0
|
|
mov r3, #0x18
|
|
bl FUN_0201AEE4
|
|
mov r2, #0
|
|
add r3, r2, #0
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
sub r3, #0x18
|
|
bl FUN_0201AEE4
|
|
mov r1, #3
|
|
ldr r0, [r5, #0xc]
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl FUN_0201AEE4
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl FUN_0201AEE4
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl MOD07_0221309C
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r3, r2, #0
|
|
bl MOD07_0221309C
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
add r3, r2, #0
|
|
bl MOD07_0221309C
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
add r3, r2, #0
|
|
bl MOD07_0221309C
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl MOD07_02213354
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r3, r2, #0
|
|
bl MOD07_02213354
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
add r3, r2, #0
|
|
bl MOD07_02213354
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
add r3, r2, #0
|
|
bl MOD07_02213354
|
|
b _02212568
|
|
_02212450:
|
|
blo _02212454
|
|
b _02212568
|
|
_02212454:
|
|
sub r0, r0, #6
|
|
ldrsb r4, [r5, r0]
|
|
bl rand_LC
|
|
add r1, r4, #0
|
|
bl _s32_div_f
|
|
lsr r0, r4, #0x1f
|
|
add r0, r4, r0
|
|
asr r0, r0, #1
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
asr r6, r0, #0x10
|
|
ldr r0, _02212580 ; =0x00000B7D
|
|
ldrsb r4, [r5, r0]
|
|
bl rand_LC
|
|
add r1, r4, #0
|
|
bl _s32_div_f
|
|
lsr r0, r4, #0x1f
|
|
add r0, r4, r0
|
|
asr r0, r0, #1
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
asr r4, r0, #0x10
|
|
cmp r6, #0
|
|
bge _02212494
|
|
ldr r0, _02212584 ; =0x00000B78
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #0
|
|
blt _022124A0
|
|
_02212494:
|
|
cmp r6, #0
|
|
ble _022124AA
|
|
ldr r0, _02212584 ; =0x00000B78
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _022124AA
|
|
_022124A0:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
mul r0, r6
|
|
lsl r0, r0, #0x10
|
|
asr r6, r0, #0x10
|
|
_022124AA:
|
|
cmp r4, #0
|
|
bge _022124B6
|
|
ldr r0, _02212588 ; =0x00000B7A
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #0
|
|
blt _022124C2
|
|
_022124B6:
|
|
cmp r4, #0
|
|
ble _022124CC
|
|
ldr r0, _02212588 ; =0x00000B7A
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _022124CC
|
|
_022124C2:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
mul r0, r4
|
|
lsl r0, r0, #0x10
|
|
asr r4, r0, #0x10
|
|
_022124CC:
|
|
add r3, r6, #0
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #3
|
|
mov r2, #0
|
|
add r3, #0x18
|
|
bl FUN_0201AEE4
|
|
add r3, r6, #0
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
mov r2, #0
|
|
sub r3, #0x18
|
|
bl FUN_0201AEE4
|
|
mov r1, #3
|
|
ldr r0, [r5, #0xc]
|
|
add r2, r1, #0
|
|
add r3, r4, #0
|
|
bl FUN_0201AEE4
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
mov r2, #3
|
|
add r3, r4, #0
|
|
bl FUN_0201AEE4
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
add r2, r6, #0
|
|
add r3, r4, #0
|
|
bl MOD07_0221309C
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r2, r6, #0
|
|
add r3, r4, #0
|
|
bl MOD07_0221309C
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
add r2, r6, #0
|
|
add r3, r4, #0
|
|
bl MOD07_0221309C
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
add r2, r6, #0
|
|
add r3, r4, #0
|
|
bl MOD07_0221309C
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
add r2, r6, #0
|
|
add r3, r4, #0
|
|
bl MOD07_02213354
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r2, r6, #0
|
|
add r3, r4, #0
|
|
bl MOD07_02213354
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
add r2, r6, #0
|
|
add r3, r4, #0
|
|
bl MOD07_02213354
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
add r2, r6, #0
|
|
add r3, r4, #0
|
|
bl MOD07_02213354
|
|
ldr r0, _02212584 ; =0x00000B78
|
|
strh r6, [r5, r0]
|
|
add r0, r0, #2
|
|
strh r4, [r5, r0]
|
|
_02212568:
|
|
ldr r0, _02212574 ; =0x00000B82
|
|
ldrb r1, [r5, r0]
|
|
add r1, r1, #1
|
|
strb r1, [r5, r0]
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02212574: .word 0x00000B82
|
|
_02212578: .word 0x00000715
|
|
_0221257C: .word 0x00000852
|
|
_02212580: .word 0x00000B7D
|
|
_02212584: .word 0x00000B78
|
|
_02212588: .word 0x00000B7A
|
|
|
|
thumb_func_start MOD07_0221258C
|
|
MOD07_0221258C: ; 0x0221258C
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
ldr r0, _022126A4 ; =0x00000B82
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #8
|
|
bne _022125B4
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
ldr r3, _022126A8 ; =0x00007FFF
|
|
ldr r0, [r0, #0x24]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
bl FUN_0200E1D0
|
|
_022125B4:
|
|
ldr r0, _022126A4 ; =0x00000B82
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #8
|
|
blo _022125D0
|
|
bl FUN_0200E308
|
|
cmp r0, #1
|
|
bne _022125D0
|
|
ldr r0, _022126AC ; =0x00000B7F
|
|
mov r1, #2
|
|
strb r1, [r4, r0]
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r3, r4, pc}
|
|
_022125D0:
|
|
ldr r0, _022126A4 ; =0x00000B82
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _022125DE
|
|
ldr r0, _022126B0 ; =0x00000719
|
|
bl FUN_020054C8
|
|
_022125DE:
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #3
|
|
mov r2, #1
|
|
mov r3, #0x10
|
|
bl FUN_0201AEE4
|
|
mov r1, #2
|
|
ldr r0, [r4, #0xc]
|
|
add r2, r1, #0
|
|
mov r3, #0x10
|
|
bl FUN_0201AEE4
|
|
ldr r2, _022126A4 ; =0x00000B82
|
|
mov r1, #0
|
|
ldrb r0, [r4, r2]
|
|
add r3, r1, #0
|
|
add r0, r0, #1
|
|
strb r0, [r4, r2]
|
|
ldrb r2, [r4, r2]
|
|
add r0, r4, #0
|
|
lsl r2, r2, #4
|
|
neg r2, r2
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_0221309C
|
|
ldr r2, _022126A4 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #1
|
|
mov r3, #0
|
|
lsl r2, r2, #4
|
|
neg r2, r2
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_0221309C
|
|
ldr r2, _022126A4 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0x14
|
|
asr r2, r2, #0x10
|
|
bl MOD07_0221309C
|
|
ldr r2, _022126A4 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #3
|
|
mov r3, #0
|
|
lsl r2, r2, #0x14
|
|
asr r2, r2, #0x10
|
|
bl MOD07_0221309C
|
|
ldr r2, _022126A4 ; =0x00000B82
|
|
mov r1, #0
|
|
ldrb r2, [r4, r2]
|
|
add r0, r4, #0
|
|
add r3, r1, #0
|
|
lsl r2, r2, #4
|
|
neg r2, r2
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_02213354
|
|
ldr r2, _022126A4 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #1
|
|
mov r3, #0
|
|
lsl r2, r2, #4
|
|
neg r2, r2
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_02213354
|
|
ldr r2, _022126A4 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0x14
|
|
asr r2, r2, #0x10
|
|
bl MOD07_02213354
|
|
ldr r2, _022126A4 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #3
|
|
mov r3, #0
|
|
lsl r2, r2, #0x14
|
|
asr r2, r2, #0x10
|
|
bl MOD07_02213354
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_022126A4: .word 0x00000B82
|
|
_022126A8: .word 0x00007FFF
|
|
_022126AC: .word 0x00000B7F
|
|
_022126B0: .word 0x00000719
|
|
|
|
thumb_func_start MOD07_022126B4
|
|
MOD07_022126B4: ; 0x022126B4
|
|
ldr r1, _022126C0 ; =0x00000B81
|
|
mov r2, #0x10
|
|
strb r2, [r0, r1]
|
|
mov r0, #2
|
|
bx lr
|
|
nop
|
|
_022126C0: .word 0x00000B81
|
|
|
|
thumb_func_start MOD07_022126C4
|
|
MOD07_022126C4: ; 0x022126C4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD07_02212BD4
|
|
cmp r0, #1
|
|
ldr r0, [r4]
|
|
bne _022126E8
|
|
add r0, #0x2a
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
ldr r0, _02212700 ; =0x00000B7E
|
|
bne _022126E2
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
b _022126FC
|
|
_022126E2:
|
|
mov r1, #1
|
|
strb r1, [r4, r0]
|
|
b _022126FC
|
|
_022126E8:
|
|
add r0, #0x2a
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
ldr r0, _02212700 ; =0x00000B7E
|
|
bne _022126F8
|
|
mov r1, #1
|
|
strb r1, [r4, r0]
|
|
b _022126FC
|
|
_022126F8:
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
_022126FC:
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02212700: .word 0x00000B7E
|
|
|
|
thumb_func_start MOD07_02212704
|
|
MOD07_02212704: ; 0x02212704
|
|
push {r3, lr}
|
|
ldr r1, _0221271C ; =0x00000B7E
|
|
ldrb r1, [r0, r1]
|
|
cmp r1, #0
|
|
bne _02212714
|
|
bl MOD07_02212720
|
|
pop {r3, pc}
|
|
_02212714:
|
|
bl MOD07_02212824
|
|
pop {r3, pc}
|
|
nop
|
|
_0221271C: .word 0x00000B7E
|
|
|
|
thumb_func_start MOD07_02212720
|
|
MOD07_02212720: ; 0x02212720
|
|
push {r3, r4, r5, lr}
|
|
ldr r3, _02212814 ; =0x00000B82
|
|
add r4, r0, #0
|
|
ldrb r3, [r4, r3]
|
|
mov r1, #2
|
|
ldr r0, [r4, #0xc]
|
|
lsl r5, r3, #1
|
|
ldr r3, _02212818 ; =0x02214960
|
|
add r2, r1, #0
|
|
ldrb r3, [r3, r5]
|
|
bl FUN_0201AEE4
|
|
ldr r3, _02212814 ; =0x00000B82
|
|
ldr r0, [r4, #0xc]
|
|
ldrb r3, [r4, r3]
|
|
mov r1, #3
|
|
mov r2, #2
|
|
lsl r5, r3, #1
|
|
ldr r3, _02212818 ; =0x02214960
|
|
ldrb r3, [r3, r5]
|
|
bl FUN_0201AEE4
|
|
ldr r2, _02212814 ; =0x00000B82
|
|
mov r1, #0
|
|
ldrb r2, [r4, r2]
|
|
add r0, r4, #0
|
|
lsl r3, r2, #1
|
|
ldr r2, _0221281C ; =0x02214961
|
|
ldrb r2, [r2, r3]
|
|
add r3, r1, #0
|
|
bl MOD07_0221309C
|
|
ldr r2, _02212814 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #1
|
|
lsl r3, r2, #1
|
|
ldr r2, _0221281C ; =0x02214961
|
|
ldrb r2, [r2, r3]
|
|
mov r3, #0
|
|
bl MOD07_0221309C
|
|
ldr r2, _02212814 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #2
|
|
lsl r3, r2, #1
|
|
ldr r2, _0221281C ; =0x02214961
|
|
ldrb r2, [r2, r3]
|
|
mov r3, #0
|
|
bl MOD07_0221309C
|
|
ldr r2, _02212814 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #3
|
|
lsl r3, r2, #1
|
|
ldr r2, _0221281C ; =0x02214961
|
|
ldrb r2, [r2, r3]
|
|
mov r3, #0
|
|
bl MOD07_0221309C
|
|
ldr r2, _02212814 ; =0x00000B82
|
|
mov r1, #0
|
|
ldrb r2, [r4, r2]
|
|
add r0, r4, #0
|
|
lsl r3, r2, #1
|
|
ldr r2, _0221281C ; =0x02214961
|
|
ldrb r2, [r2, r3]
|
|
add r3, r1, #0
|
|
bl MOD07_02213354
|
|
ldr r2, _02212814 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #1
|
|
lsl r3, r2, #1
|
|
ldr r2, _0221281C ; =0x02214961
|
|
ldrb r2, [r2, r3]
|
|
mov r3, #0
|
|
bl MOD07_02213354
|
|
ldr r2, _02212814 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #2
|
|
lsl r3, r2, #1
|
|
ldr r2, _0221281C ; =0x02214961
|
|
ldrb r2, [r2, r3]
|
|
mov r3, #0
|
|
bl MOD07_02213354
|
|
ldr r2, _02212814 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #3
|
|
lsl r3, r2, #1
|
|
ldr r2, _0221281C ; =0x02214961
|
|
ldrb r2, [r2, r3]
|
|
mov r3, #0
|
|
bl MOD07_02213354
|
|
ldr r0, _02212814 ; =0x00000B82
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _022127FA
|
|
ldr r0, _02212820 ; =0x00000853
|
|
bl FUN_020054C8
|
|
_022127FA:
|
|
ldr r0, _02212814 ; =0x00000B82
|
|
ldrb r1, [r4, r0]
|
|
cmp r1, #5
|
|
bne _0221280A
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_0221280A:
|
|
add r1, r1, #1
|
|
strb r1, [r4, r0]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02212814: .word 0x00000B82
|
|
_02212818: .word 0x02214960
|
|
_0221281C: .word 0x02214961
|
|
_02212820: .word 0x00000853
|
|
|
|
thumb_func_start MOD07_02212824
|
|
MOD07_02212824: ; 0x02212824
|
|
push {r3, r4, r5, lr}
|
|
ldr r3, _02212948 ; =0x00000B82
|
|
add r4, r0, #0
|
|
ldrb r3, [r4, r3]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #2
|
|
lsl r5, r3, #1
|
|
ldr r3, _0221294C ; =0x02214960
|
|
mov r2, #1
|
|
ldrb r3, [r3, r5]
|
|
bl FUN_0201AEE4
|
|
ldr r3, _02212948 ; =0x00000B82
|
|
ldr r0, [r4, #0xc]
|
|
ldrb r3, [r4, r3]
|
|
mov r1, #3
|
|
mov r2, #1
|
|
lsl r5, r3, #1
|
|
ldr r3, _0221294C ; =0x02214960
|
|
ldrb r3, [r3, r5]
|
|
bl FUN_0201AEE4
|
|
ldr r2, _02212948 ; =0x00000B82
|
|
mov r1, #0
|
|
ldrb r2, [r4, r2]
|
|
add r0, r4, #0
|
|
lsl r3, r2, #1
|
|
ldr r2, _02212950 ; =0x02214961
|
|
ldrb r2, [r2, r3]
|
|
add r3, r1, #0
|
|
neg r2, r2
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_0221309C
|
|
ldr r2, _02212948 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #1
|
|
lsl r3, r2, #1
|
|
ldr r2, _02212950 ; =0x02214961
|
|
ldrb r2, [r2, r3]
|
|
mov r3, #0
|
|
neg r2, r2
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_0221309C
|
|
ldr r2, _02212948 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #2
|
|
lsl r3, r2, #1
|
|
ldr r2, _02212950 ; =0x02214961
|
|
ldrb r2, [r2, r3]
|
|
mov r3, #0
|
|
neg r2, r2
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_0221309C
|
|
ldr r2, _02212948 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #3
|
|
lsl r3, r2, #1
|
|
ldr r2, _02212950 ; =0x02214961
|
|
ldrb r2, [r2, r3]
|
|
mov r3, #0
|
|
neg r2, r2
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_0221309C
|
|
ldr r2, _02212948 ; =0x00000B82
|
|
mov r1, #0
|
|
ldrb r2, [r4, r2]
|
|
add r0, r4, #0
|
|
lsl r3, r2, #1
|
|
ldr r2, _02212950 ; =0x02214961
|
|
ldrb r2, [r2, r3]
|
|
add r3, r1, #0
|
|
neg r2, r2
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_02213354
|
|
ldr r2, _02212948 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #1
|
|
lsl r3, r2, #1
|
|
ldr r2, _02212950 ; =0x02214961
|
|
ldrb r2, [r2, r3]
|
|
mov r3, #0
|
|
neg r2, r2
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_02213354
|
|
ldr r2, _02212948 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #2
|
|
lsl r3, r2, #1
|
|
ldr r2, _02212950 ; =0x02214961
|
|
ldrb r2, [r2, r3]
|
|
mov r3, #0
|
|
neg r2, r2
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_02213354
|
|
ldr r2, _02212948 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
mov r1, #3
|
|
lsl r3, r2, #1
|
|
ldr r2, _02212950 ; =0x02214961
|
|
ldrb r2, [r2, r3]
|
|
mov r3, #0
|
|
neg r2, r2
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl MOD07_02213354
|
|
ldr r0, _02212948 ; =0x00000B82
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0221292E
|
|
ldr r0, _02212954 ; =0x00000853
|
|
bl FUN_020054C8
|
|
_0221292E:
|
|
ldr r0, _02212948 ; =0x00000B82
|
|
ldrb r1, [r4, r0]
|
|
cmp r1, #5
|
|
bne _0221293E
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_0221293E:
|
|
add r1, r1, #1
|
|
strb r1, [r4, r0]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02212948: .word 0x00000B82
|
|
_0221294C: .word 0x02214960
|
|
_02212950: .word 0x02214961
|
|
_02212954: .word 0x00000853
|
|
|
|
thumb_func_start MOD07_02212958
|
|
MOD07_02212958: ; 0x02212958
|
|
ldr r1, _02212964 ; =0x00000B81
|
|
mov r2, #0x10
|
|
strb r2, [r0, r1]
|
|
mov r0, #2
|
|
bx lr
|
|
nop
|
|
_02212964: .word 0x00000B81
|
|
|
|
thumb_func_start MOD07_02212968
|
|
MOD07_02212968: ; 0x02212968
|
|
push {r4, r5, r6, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _022129F0 ; =0x00000B82
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _022129AC
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl FUN_0201E6E4
|
|
mov r0, #1
|
|
lsl r0, r0, #0x1a
|
|
add r3, r0, #0
|
|
ldr r2, [r0]
|
|
ldr r1, _022129F4 ; =0xFFFF1FFF
|
|
add r3, #0x48
|
|
and r2, r1
|
|
lsr r1, r0, #0xd
|
|
orr r1, r2
|
|
str r1, [r0]
|
|
ldrh r5, [r3]
|
|
mov r2, #0x3f
|
|
mov r1, #0x1f
|
|
bic r5, r2
|
|
orr r5, r1
|
|
mov r1, #0x20
|
|
orr r1, r5
|
|
strh r1, [r3]
|
|
add r0, #0x4a
|
|
ldrh r3, [r0]
|
|
mov r1, #0x1d
|
|
bic r3, r2
|
|
orr r1, r3
|
|
strh r1, [r0]
|
|
_022129AC:
|
|
ldr r3, _022129F0 ; =0x00000B82
|
|
ldrb r1, [r4, r3]
|
|
cmp r1, #0x10
|
|
bne _022129CC
|
|
mov r0, #0
|
|
mov r1, #0x20
|
|
strb r0, [r4, r3]
|
|
sub r0, r3, #1
|
|
strb r1, [r4, r0]
|
|
lsl r2, r1, #0x15
|
|
ldr r1, [r2]
|
|
ldr r0, _022129F4 ; =0xFFFF1FFF
|
|
and r0, r1
|
|
str r0, [r2]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_022129CC:
|
|
mov r2, #0x5f
|
|
sub r2, r2, r1
|
|
add r1, #0x60
|
|
lsl r1, r1, #0x18
|
|
mov r6, #0xff
|
|
ldr r0, _022129F8 ; =0x04000040
|
|
lsl r5, r2, #8
|
|
lsl r2, r6, #8
|
|
and r2, r5
|
|
lsr r1, r1, #0x18
|
|
strh r6, [r0]
|
|
orr r1, r2
|
|
strh r1, [r0, #4]
|
|
ldrb r0, [r4, r3]
|
|
add r0, r0, #1
|
|
strb r0, [r4, r3]
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_022129F0: .word 0x00000B82
|
|
_022129F4: .word 0xFFFF1FFF
|
|
_022129F8: .word 0x04000040
|
|
|
|
thumb_func_start MOD07_022129FC
|
|
MOD07_022129FC: ; 0x022129FC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02212A34 ; =0x0000071A
|
|
bl FUN_020054C8
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl FUN_0200C644
|
|
mov r0, #0x73
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl FUN_0200C644
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C5C0
|
|
ldr r0, _02212A38 ; =0x00000B81
|
|
mov r1, #0x20
|
|
strb r1, [r4, r0]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02212A34: .word 0x0000071A
|
|
_02212A38: .word 0x00000B81
|
|
|
|
thumb_func_start MOD07_02212A3C
|
|
MOD07_02212A3C: ; 0x02212A3C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02212A5C ; =0x0000071A
|
|
bl FUN_020054C8
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl FUN_0200C644
|
|
ldr r0, _02212A60 ; =0x00000B81
|
|
mov r1, #0x40
|
|
strb r1, [r4, r0]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02212A5C: .word 0x0000071A
|
|
_02212A60: .word 0x00000B81
|
|
|
|
thumb_func_start MOD07_02212A64
|
|
MOD07_02212A64: ; 0x02212A64
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
bl MOD07_02212BD4
|
|
cmp r0, #1
|
|
ldr r0, [r4]
|
|
bne _02212AA8
|
|
add r0, #0x2a
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _02212A92
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
str r3, [sp, #8]
|
|
ldr r0, [r4, #8]
|
|
mov r1, #1
|
|
mov r2, #2
|
|
bl FUN_02003210
|
|
b _02212ADA
|
|
_02212A92:
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
str r3, [sp, #8]
|
|
mov r1, #1
|
|
ldr r0, [r4, #8]
|
|
add r2, r1, #0
|
|
bl FUN_02003210
|
|
b _02212ADA
|
|
_02212AA8:
|
|
add r0, #0x2a
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _02212AC6
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
str r3, [sp, #8]
|
|
mov r1, #1
|
|
ldr r0, [r4, #8]
|
|
add r2, r1, #0
|
|
bl FUN_02003210
|
|
b _02212ADA
|
|
_02212AC6:
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
str r3, [sp, #8]
|
|
ldr r0, [r4, #8]
|
|
mov r1, #1
|
|
mov r2, #2
|
|
bl FUN_02003210
|
|
_02212ADA:
|
|
ldr r0, _02212AEC ; =0x0000071B
|
|
bl FUN_020054C8
|
|
ldr r0, _02212AF0 ; =0x00000B81
|
|
mov r1, #0x40
|
|
strb r1, [r4, r0]
|
|
mov r0, #1
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_02212AEC: .word 0x0000071B
|
|
_02212AF0: .word 0x00000B81
|
|
|
|
thumb_func_start MOD07_02212AF4
|
|
MOD07_02212AF4: ; 0x02212AF4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02212B40 ; =0x00000B82
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _02212B06
|
|
ldr r0, _02212B44 ; =0x00000719
|
|
bl FUN_020054C8
|
|
_02212B06:
|
|
ldr r1, _02212B40 ; =0x00000B82
|
|
ldrb r0, [r4, r1]
|
|
cmp r0, #0x10
|
|
bne _02212B1C
|
|
mov r0, #0
|
|
strb r0, [r4, r1]
|
|
mov r2, #0x40
|
|
sub r0, r1, #1
|
|
strb r2, [r4, r0]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02212B1C:
|
|
add r0, r0, #1
|
|
strb r0, [r4, r1]
|
|
ldrb r2, [r4, r1]
|
|
mov r1, #0x10
|
|
add r0, r4, #0
|
|
sub r1, r1, r2
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
bl MOD07_022141CC
|
|
ldr r1, _02212B40 ; =0x00000B82
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
bl MOD07_02213B20
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_02212B40: .word 0x00000B82
|
|
_02212B44: .word 0x00000719
|
|
|
|
thumb_func_start MOD07_02212B48
|
|
MOD07_02212B48: ; 0x02212B48
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4]
|
|
mov r0, #1
|
|
ldr r1, [r1, #0x24]
|
|
bl FUN_02079A70
|
|
ldr r0, _02212B60 ; =0x00000B7F
|
|
mov r1, #2
|
|
strb r1, [r4, r0]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02212B60: .word 0x00000B7F
|
|
|
|
thumb_func_start MOD07_02212B64
|
|
MOD07_02212B64: ; 0x02212B64
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl FUN_0200E308
|
|
cmp r0, #0
|
|
bne _02212B76
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02212B76:
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl FUN_02015F10
|
|
ldr r0, [r4]
|
|
add r0, #0x28
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _02212B9C
|
|
add r0, r4, #0
|
|
bl MOD07_02212E64
|
|
add r0, r4, #0
|
|
bl MOD07_022137DC
|
|
add r0, r4, #0
|
|
bl MOD07_02213380
|
|
b _02212BA8
|
|
_02212B9C:
|
|
add r0, r4, #0
|
|
bl MOD07_022138F8
|
|
add r0, r4, #0
|
|
bl MOD07_02214274
|
|
_02212BA8:
|
|
add r0, r4, #0
|
|
bl MOD07_02212CEC
|
|
bl FUN_0201C29C
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0
|
|
bl FUN_02003038
|
|
ldr r0, [r4, #8]
|
|
bl FUN_02002FEC
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
add r0, #0x2b
|
|
strb r1, [r0]
|
|
add r0, r5, #0
|
|
bl FUN_0200621C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD07_02212BD4
|
|
MOD07_02212BD4: ; 0x02212BD4
|
|
push {r3, lr}
|
|
bl FUN_02031190
|
|
bl FUN_020313CC
|
|
cmp r0, #3
|
|
bhi _02212BFE
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02212BEE: ; jump table
|
|
.short _02212BF6 - _02212BEE - 2 ; case 0
|
|
.short _02212BFA - _02212BEE - 2 ; case 1
|
|
.short _02212BF6 - _02212BEE - 2 ; case 2
|
|
.short _02212BFA - _02212BEE - 2 ; case 3
|
|
_02212BF6:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02212BFA:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_02212BFE:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD07_02212C04
|
|
MOD07_02212C04: ; 0x02212C04
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x38
|
|
add r5, r0, #0
|
|
str r1, [sp]
|
|
ldr r1, [r5]
|
|
mov r0, #0x40
|
|
ldr r1, [r1, #0x24]
|
|
add r4, r2, #0
|
|
bl FUN_0201C24C
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #0x24]
|
|
bl FUN_0200BB14
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, r1]
|
|
bl FUN_0200BB34
|
|
mov r1, #0x65
|
|
lsl r1, r1, #2
|
|
add r2, sp, #0x18
|
|
ldr r3, _02212C9C ; =0x02214AB8
|
|
str r0, [r5, r1]
|
|
ldmia r3!, {r0, r1}
|
|
add r6, r2, #0
|
|
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}
|
|
ldr r3, _02212CA0 ; =0x0221498C
|
|
add r2, sp, #4
|
|
ldmia r3!, {r0, r1}
|
|
add r7, r2, #0
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
add r1, r6, #0
|
|
str r0, [r2]
|
|
mov r0, #0x65
|
|
lsl r0, r0, #2
|
|
str r4, [sp, #4]
|
|
sub r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
add r2, r7, #0
|
|
mov r3, #0x10
|
|
bl FUN_0200BB6C
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0
|
|
bl FUN_0200BBF0
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [sp]
|
|
bl FUN_0200BF60
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl FUN_0201E6E4
|
|
add sp, #0x38
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02212C9C: .word 0x02214AB8
|
|
_02212CA0: .word 0x0221498C
|
|
|
|
thumb_func_start MOD07_02212CA4
|
|
MOD07_02212CA4: ; 0x02212CA4
|
|
push {lr}
|
|
sub sp, #0x34
|
|
add r2, r0, #0
|
|
mov r0, #0
|
|
add r3, sp, #0
|
|
strh r0, [r3]
|
|
strh r0, [r3, #2]
|
|
strh r0, [r3, #4]
|
|
strh r0, [r3, #6]
|
|
ldr r3, [r1, #0x14]
|
|
str r3, [sp, #8]
|
|
ldr r3, [r1, #0x18]
|
|
str r3, [sp, #0xc]
|
|
mov r3, #1
|
|
str r3, [sp, #0x10]
|
|
ldr r3, [r1]
|
|
str r3, [sp, #0x14]
|
|
ldr r3, [r1, #4]
|
|
str r3, [sp, #0x18]
|
|
ldr r3, [r1, #8]
|
|
str r3, [sp, #0x1c]
|
|
ldr r3, [r1, #0xc]
|
|
str r3, [sp, #0x20]
|
|
ldr r1, [r1, #0x10]
|
|
str r1, [sp, #0x2c]
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #0x30]
|
|
ldr r0, [r2, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r2, r1]
|
|
add r2, sp, #0
|
|
bl FUN_0200C154
|
|
add sp, #0x34
|
|
pop {pc}
|
|
|
|
thumb_func_start MOD07_02212CEC
|
|
MOD07_02212CEC: ; 0x02212CEC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
mov r0, #0x21
|
|
lsl r0, r0, #4
|
|
ldr r0, [r6, r0]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
bls _02212D16
|
|
mov r7, #0x21
|
|
add r5, r6, #0
|
|
lsl r7, r7, #4
|
|
_02212D02:
|
|
mov r0, #0x66
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl FUN_0200C3DC
|
|
ldr r0, [r6, r7]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, r0
|
|
blo _02212D02
|
|
_02212D16:
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
ldr r0, [r6, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r6, r1]
|
|
bl FUN_0200C398
|
|
mov r0, #0x19
|
|
lsl r0, r0, #4
|
|
ldr r0, [r6, r0]
|
|
bl FUN_0200BD04
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start MOD07_02212D30
|
|
MOD07_02212D30: ; 0x02212D30
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x21
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
bls _02212D64
|
|
mov r7, #0x66
|
|
lsl r7, r7, #2
|
|
add r6, r7, #0
|
|
add r6, #0x78
|
|
_02212D48:
|
|
lsl r0, r4, #2
|
|
add r0, r5, r0
|
|
ldr r0, [r0, r7]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
lsl r1, r1, #0xc
|
|
bl FUN_020201E4
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
ldr r0, [r5, r6]
|
|
cmp r4, r0
|
|
blo _02212D48
|
|
_02212D64:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD07_02212D68
|
|
MOD07_02212D68: ; 0x02212D68
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
bl FUN_0201AB60
|
|
ldr r0, [r4, #8]
|
|
bl FUN_0200372C
|
|
bl FUN_0201C30C
|
|
bl FUN_0200BC30
|
|
ldr r3, _02212D90 ; =0x027E0000
|
|
ldr r1, _02212D94 ; =0x00003FF8
|
|
mov r0, #1
|
|
ldr r2, [r3, r1]
|
|
orr r0, r2
|
|
str r0, [r3, r1]
|
|
pop {r4, pc}
|
|
nop
|
|
_02212D90: .word 0x027E0000
|
|
_02212D94: .word 0x00003FF8
|
|
|
|
thumb_func_start MOD07_02212D98
|
|
MOD07_02212D98: ; 0x02212D98
|
|
push {r4, r5, lr}
|
|
sub sp, #0x64
|
|
ldr r5, _02212E54 ; =0x0221496C
|
|
add r3, sp, #0x54
|
|
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, _02212E58 ; =0x02214A2C
|
|
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, #3
|
|
str r0, [r3]
|
|
ldr r0, [r4, #0xc]
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #3
|
|
bl FUN_02018744
|
|
mov r1, #3
|
|
add r3, r1, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r2, #0
|
|
add r3, #0xfd
|
|
bl FUN_0201AEE4
|
|
ldr r5, _02212E5C ; =0x02214A48
|
|
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, #2
|
|
str r0, [r3]
|
|
ldr r0, [r4, #0xc]
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #2
|
|
bl FUN_02018744
|
|
mov r3, #0xff
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #2
|
|
mov r2, #0
|
|
mvn r3, r3
|
|
bl FUN_0201AEE4
|
|
ldr r5, _02212E60 ; =0x02214A64
|
|
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, #1
|
|
str r0, [r3]
|
|
ldr r0, [r4, #0xc]
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
bl FUN_02018744
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl FUN_0201E6E4
|
|
add sp, #0x64
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_02212E54: .word 0x0221496C
|
|
_02212E58: .word 0x02214A2C
|
|
_02212E5C: .word 0x02214A48
|
|
_02212E60: .word 0x02214A64
|
|
|
|
thumb_func_start MOD07_02212E64
|
|
MOD07_02212E64: ; 0x02212E64
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x1f
|
|
mov r1, #0
|
|
bl FUN_0201E6E4
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #3
|
|
bl FUN_020178A0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #2
|
|
bl FUN_020178A0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
bl FUN_020178A0
|
|
ldr r0, [r4, #0xc]
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start MOD07_02212E90
|
|
MOD07_02212E90: ; 0x02212E90
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
add r4, r0, #0
|
|
str r1, [sp, #8]
|
|
ldr r0, [r4]
|
|
mov r3, #1
|
|
ldr r0, [r0, #0x24]
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4, #0xc]
|
|
mov r0, #0x6c
|
|
bl FUN_0200687C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
mov r1, #4
|
|
ldr r0, [r0, #0x24]
|
|
mov r3, #1
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4, #0xc]
|
|
mov r0, #0x6c
|
|
bl FUN_020068C8
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x24]
|
|
add r3, r1, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4, #0xc]
|
|
mov r0, #0x6c
|
|
bl FUN_020068C8
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x24]
|
|
add r3, r1, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4, #0xc]
|
|
mov r0, #0x6c
|
|
bl FUN_020068C8
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x24]
|
|
add r3, r2, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x6c
|
|
bl FUN_02006930
|
|
mov r1, #0
|
|
ldr r0, [r4, #8]
|
|
add r2, r1, #0
|
|
mov r3, #0x60
|
|
bl FUN_02003108
|
|
ldr r1, _02212F28 ; =0x000018C6
|
|
mov r0, #1
|
|
bl FUN_02017FE4
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02212F28: .word 0x000018C6
|
|
|
|
thumb_func_start MOD07_02212F2C
|
|
MOD07_02212F2C: ; 0x02212F2C
|
|
push {r3, lr}
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
ldr r0, _02212F40 ; =0x04000050
|
|
mov r1, #3
|
|
mov r2, #0x1c
|
|
mov r3, #0x17
|
|
bl G2x_SetBlendAlpha_
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_02212F40: .word 0x04000050
|
|
|
|
thumb_func_start MOD07_02212F44
|
|
MOD07_02212F44: ; 0x02212F44
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
ldr r4, _02213014 ; =0x022149E0
|
|
add r3, sp, #0
|
|
add r6, r0, #0
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r1, r2, #0
|
|
add r0, r6, #0
|
|
mov r2, #0x15
|
|
bl MOD07_02212C04
|
|
add r0, r6, #0
|
|
bl MOD07_0221301C
|
|
ldr r4, _02213018 ; =0x02214C64
|
|
mov r7, #0
|
|
add r5, r6, #0
|
|
_02212F72:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD07_02212CA4
|
|
mov r1, #0x66
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add r7, r7, #1
|
|
add r4, #0x1c
|
|
add r5, r5, #4
|
|
cmp r7, #0xc
|
|
blo _02212F72
|
|
mov r1, #0
|
|
mov r2, #0xff
|
|
add r0, r6, #0
|
|
mvn r2, r2
|
|
add r3, r1, #0
|
|
bl MOD07_0221309C
|
|
mov r2, #0xff
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
mvn r2, r2
|
|
mov r3, #0
|
|
bl MOD07_0221309C
|
|
mov r1, #2
|
|
add r2, r1, #0
|
|
add r0, r6, #0
|
|
add r2, #0xfe
|
|
mov r3, #0
|
|
bl MOD07_0221309C
|
|
mov r1, #3
|
|
add r2, r1, #0
|
|
add r0, r6, #0
|
|
add r2, #0xfd
|
|
mov r3, #0
|
|
bl MOD07_0221309C
|
|
add r0, r6, #0
|
|
bl MOD07_022131C0
|
|
mov r0, #0x21
|
|
mov r1, #0xc
|
|
lsl r0, r0, #4
|
|
str r1, [r6, r0]
|
|
add r0, r6, #0
|
|
bl MOD07_022132CC
|
|
mov r1, #0
|
|
mov r2, #0xff
|
|
add r0, r6, #0
|
|
mvn r2, r2
|
|
add r3, r1, #0
|
|
bl MOD07_02213354
|
|
mov r2, #0xff
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
mvn r2, r2
|
|
mov r3, #0
|
|
bl MOD07_02213354
|
|
mov r1, #2
|
|
add r2, r1, #0
|
|
add r0, r6, #0
|
|
add r2, #0xfe
|
|
mov r3, #0
|
|
bl MOD07_02213354
|
|
mov r1, #3
|
|
add r2, r1, #0
|
|
add r0, r6, #0
|
|
add r2, #0xfd
|
|
mov r3, #0
|
|
bl MOD07_02213354
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02213014: .word 0x022149E0
|
|
_02213018: .word 0x02214C64
|
|
|
|
thumb_func_start MOD07_0221301C
|
|
MOD07_0221301C: ; 0x0221301C
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02213098 ; =0x0000B807
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x1b
|
|
mov r3, #0x90
|
|
bl FUN_0200C00C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, _02213098 ; =0x0000B807
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x6c
|
|
mov r3, #8
|
|
bl FUN_0200C06C
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, _02213098 ; =0x0000B807
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x1b
|
|
mov r3, #0x8f
|
|
bl FUN_0200C124
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, _02213098 ; =0x0000B807
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x1b
|
|
mov r3, #0x91
|
|
bl FUN_0200C13C
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02213098: .word 0x0000B807
|
|
|
|
thumb_func_start MOD07_0221309C
|
|
MOD07_0221309C: ; 0x0221309C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
ldr r4, _022130F8 ; =0x02214950
|
|
str r2, [sp]
|
|
ldrb r5, [r4]
|
|
str r3, [sp, #4]
|
|
add r3, sp, #8
|
|
strb r5, [r3]
|
|
ldrb r5, [r4, #1]
|
|
add r2, sp, #8
|
|
mov r7, #0
|
|
strb r5, [r3, #1]
|
|
ldrb r5, [r4, #2]
|
|
ldrb r4, [r4, #3]
|
|
add r6, r0, r1
|
|
strb r5, [r3, #2]
|
|
strb r4, [r3, #3]
|
|
ldrb r2, [r2, r1]
|
|
add r4, r7, #0
|
|
lsl r2, r2, #2
|
|
add r5, r0, r2
|
|
_022130C6:
|
|
ldr r1, _022130FC ; =0x00000B64
|
|
mov r0, #0x66
|
|
ldrb r1, [r6, r1]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r2, r1, r4
|
|
ldr r1, [sp]
|
|
add r1, r1, r2
|
|
ldr r2, _02213100 ; =0x00000B68
|
|
lsl r1, r1, #0x10
|
|
ldrb r3, [r6, r2]
|
|
ldr r2, [sp, #4]
|
|
asr r1, r1, #0x10
|
|
add r2, r2, r3
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
bl FUN_0200C714
|
|
add r7, r7, #1
|
|
add r4, #0x13
|
|
add r5, r5, #4
|
|
cmp r7, #3
|
|
blo _022130C6
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022130F8: .word 0x02214950
|
|
_022130FC: .word 0x00000B64
|
|
_02213100: .word 0x00000B68
|
|
|
|
thumb_func_start MOD07_02213104
|
|
MOD07_02213104: ; 0x02213104
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r6, r0, #0
|
|
add r0, r1, #0
|
|
str r1, [sp]
|
|
str r2, [sp, #4]
|
|
add r7, r3, #0
|
|
bl FUN_0206B9AC
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r5, #0
|
|
ldr r0, [sp, #4]
|
|
add r4, r5, #0
|
|
cmp r0, #0
|
|
ble _022131BC
|
|
lsl r0, r7, #2
|
|
add r6, r6, r0
|
|
_0221312A:
|
|
lsl r0, r4, #2
|
|
add r1, r6, r0
|
|
mov r0, #0x66
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C5C0
|
|
ldr r0, [sp, #8]
|
|
cmp r0, r4
|
|
bls _022131B0
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl FUN_0206B9B0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
add r7, r0, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _022131B0
|
|
add r0, r7, #0
|
|
mov r1, #0x4c
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
bne _022131B0
|
|
add r0, r7, #0
|
|
bl FUN_0207C2D4
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #6
|
|
bne _02213184
|
|
lsl r0, r5, #2
|
|
add r1, r6, r0
|
|
mov r0, #0x66
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #3
|
|
bl FUN_0200C5C0
|
|
b _022131AA
|
|
_02213184:
|
|
cmp r0, #7
|
|
beq _0221319A
|
|
lsl r0, r5, #2
|
|
add r1, r6, r0
|
|
mov r0, #0x66
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #2
|
|
bl FUN_0200C5C0
|
|
b _022131AA
|
|
_0221319A:
|
|
lsl r0, r5, #2
|
|
add r1, r6, r0
|
|
mov r0, #0x66
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #1
|
|
bl FUN_0200C5C0
|
|
_022131AA:
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
_022131B0:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
ldr r0, [sp, #4]
|
|
cmp r4, r0
|
|
blt _0221312A
|
|
_022131BC:
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start MOD07_022131C0
|
|
MOD07_022131C0: ; 0x022131C0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r2, [r4]
|
|
add r1, r2, #0
|
|
add r1, #0x29
|
|
ldrb r1, [r1]
|
|
cmp r1, #0
|
|
ldr r1, [r2, #4]
|
|
bne _022131EA
|
|
mov r2, #6
|
|
mov r3, #0
|
|
bl MOD07_02213104
|
|
ldr r1, [r4]
|
|
mov r2, #6
|
|
ldr r1, [r1, #8]
|
|
add r0, r4, #0
|
|
add r3, r2, #0
|
|
bl MOD07_02213104
|
|
pop {r4, pc}
|
|
_022131EA:
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl MOD07_02213104
|
|
ldr r1, [r4]
|
|
mov r2, #3
|
|
ldr r1, [r1, #0xc]
|
|
add r0, r4, #0
|
|
add r3, r2, #0
|
|
bl MOD07_02213104
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
ldr r1, [r1, #8]
|
|
mov r2, #3
|
|
mov r3, #6
|
|
bl MOD07_02213104
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
ldr r1, [r1, #0x10]
|
|
mov r2, #3
|
|
mov r3, #9
|
|
bl MOD07_02213104
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD07_02213220
|
|
MOD07_02213220: ; 0x02213220
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x40
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
add r5, r4, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r7, r2, #0
|
|
add r5, #0x10
|
|
add r6, r1, #0
|
|
ldr r0, [r4, #0xc]
|
|
add r1, r5, #0
|
|
mov r2, #8
|
|
mov r3, #2
|
|
bl FUN_020190EC
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r2, r7, #0
|
|
add r3, r1, #0
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
ldr r0, _022132C0 ; =0x00000B44
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x65
|
|
str r5, [sp, #0x14]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200CA40
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0x65
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, _022132C4 ; =0x0000B807
|
|
bl FUN_0200C334
|
|
mov r1, #0x3e
|
|
lsl r2, r6, #4
|
|
lsl r1, r1, #4
|
|
sub r1, r1, r2
|
|
lsl r1, r1, #5
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #0
|
|
str r1, [sp, #0x24]
|
|
mov r1, #2
|
|
str r0, [sp, #0x20]
|
|
str r0, [sp, #0x28]
|
|
str r0, [sp, #0x2c]
|
|
str r0, [sp, #0x34]
|
|
mov r0, #1
|
|
str r1, [sp, #0x30]
|
|
str r0, [sp, #0x38]
|
|
ldr r0, [r4]
|
|
lsl r6, r6, #2
|
|
ldr r0, [r0, #0x24]
|
|
str r0, [sp, #0x3c]
|
|
ldr r0, _022132C8 ; =0x00000B48
|
|
add r4, r4, r0
|
|
add r0, sp, #0x10
|
|
bl FUN_020117E8
|
|
str r0, [r4, r6]
|
|
ldr r0, [r4, r6]
|
|
mov r1, #0
|
|
bl FUN_02011A60
|
|
add r0, r5, #0
|
|
bl FUN_02019178
|
|
add sp, #0x40
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022132C0: .word 0x00000B44
|
|
_022132C4: .word 0x0000B807
|
|
_022132C8: .word 0x00000B48
|
|
|
|
thumb_func_start MOD07_022132CC
|
|
MOD07_022132CC: ; 0x022132CC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4]
|
|
mov r0, #8
|
|
ldr r1, [r1, #0x24]
|
|
bl FUN_02011744
|
|
ldr r1, _02213348 ; =0x00000B44
|
|
str r0, [r4, r1]
|
|
ldr r2, [r4]
|
|
add r0, r4, #0
|
|
ldr r2, [r2, #0x14]
|
|
mov r1, #0
|
|
bl MOD07_02213220
|
|
ldr r2, [r4]
|
|
add r0, r4, #0
|
|
ldr r2, [r2, #0x18]
|
|
mov r1, #2
|
|
bl MOD07_02213220
|
|
ldr r2, [r4]
|
|
add r0, r2, #0
|
|
add r0, #0x29
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _0221331A
|
|
ldr r2, [r2, #0x1c]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD07_02213220
|
|
ldr r2, [r4]
|
|
add r0, r4, #0
|
|
ldr r2, [r2, #0x20]
|
|
mov r1, #3
|
|
bl MOD07_02213220
|
|
pop {r4, pc}
|
|
_0221331A:
|
|
ldr r2, [r2, #0x14]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD07_02213220
|
|
ldr r2, [r4]
|
|
add r0, r4, #0
|
|
ldr r2, [r2, #0x18]
|
|
mov r1, #3
|
|
bl MOD07_02213220
|
|
ldr r0, _0221334C ; =0x00000B4C
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020119D0
|
|
ldr r0, _02213350 ; =0x00000B54
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020119D0
|
|
pop {r4, pc}
|
|
nop
|
|
_02213348: .word 0x00000B44
|
|
_0221334C: .word 0x00000B4C
|
|
_02213350: .word 0x00000B54
|
|
|
|
thumb_func_start MOD07_02213354
|
|
MOD07_02213354: ; 0x02213354
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r1, r2, #0
|
|
add r2, r3, #0
|
|
add r4, r0, #0
|
|
lsl r0, r5, #2
|
|
add r0, r4, r0
|
|
ldr r3, _0221337C ; =0x00000B48
|
|
add r4, r4, r5
|
|
add r5, r3, #0
|
|
ldr r0, [r0, r3]
|
|
add r5, #0x24
|
|
add r3, #0x28
|
|
ldrb r5, [r4, r5]
|
|
ldrb r3, [r4, r3]
|
|
add r1, r1, r5
|
|
add r2, r2, r3
|
|
bl FUN_020118C4
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0221337C: .word 0x00000B48
|
|
|
|
thumb_func_start MOD07_02213380
|
|
MOD07_02213380: ; 0x02213380
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
ldr r0, [r7]
|
|
add r0, #0x28
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _022133AA
|
|
ldr r6, _022133AC ; =0x00000B48
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
_02213394:
|
|
ldr r0, [r5, r6]
|
|
bl FUN_02011870
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blo _02213394
|
|
ldr r0, _022133B0 ; =0x00000B44
|
|
ldr r0, [r7, r0]
|
|
bl FUN_020117BC
|
|
_022133AA:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022133AC: .word 0x00000B48
|
|
_022133B0: .word 0x00000B44
|
|
|
|
thumb_func_start MOD07_022133B4
|
|
MOD07_022133B4: ; 0x022133B4
|
|
push {r3, r4}
|
|
ldr r1, [r0]
|
|
add r1, #0x29
|
|
ldrb r1, [r1]
|
|
cmp r1, #1
|
|
ldr r1, _02213480 ; =0x00000B64
|
|
bne _02213432
|
|
mov r2, #0x18
|
|
strb r2, [r0, r1]
|
|
mov r3, #0x8c
|
|
add r2, r1, #4
|
|
strb r3, [r0, r2]
|
|
mov r3, #0x55
|
|
add r2, r1, #1
|
|
strb r3, [r0, r2]
|
|
mov r3, #0xa4
|
|
add r2, r1, #5
|
|
strb r3, [r0, r2]
|
|
mov r3, #0x84
|
|
add r2, r1, #2
|
|
strb r3, [r0, r2]
|
|
mov r3, #0x2c
|
|
add r2, r1, #6
|
|
strb r3, [r0, r2]
|
|
mov r3, #0xc1
|
|
add r2, r1, #3
|
|
strb r3, [r0, r2]
|
|
mov r3, #0x44
|
|
add r2, r1, #7
|
|
strb r3, [r0, r2]
|
|
add r2, r1, #0
|
|
mov r3, #0xf
|
|
add r2, #8
|
|
strb r3, [r0, r2]
|
|
add r2, r1, #0
|
|
mov r3, #0x72
|
|
add r2, #0xc
|
|
strb r3, [r0, r2]
|
|
add r2, r1, #0
|
|
mov r3, #0x4c
|
|
add r2, #9
|
|
strb r3, [r0, r2]
|
|
add r2, r1, #0
|
|
mov r3, #0x8a
|
|
add r2, #0xd
|
|
strb r3, [r0, r2]
|
|
add r2, r1, #0
|
|
mov r3, #0x7b
|
|
add r2, #0xa
|
|
strb r3, [r0, r2]
|
|
add r2, r1, #0
|
|
mov r3, #0x12
|
|
add r2, #0xe
|
|
strb r3, [r0, r2]
|
|
add r2, r1, #0
|
|
mov r3, #0xb8
|
|
add r2, #0xb
|
|
strb r3, [r0, r2]
|
|
mov r2, #0x2a
|
|
add r1, #0xf
|
|
strb r2, [r0, r1]
|
|
pop {r3, r4}
|
|
bx lr
|
|
_02213432:
|
|
mov r2, #0x18
|
|
strb r2, [r0, r1]
|
|
mov r4, #0xa0
|
|
add r2, r1, #4
|
|
strb r4, [r0, r2]
|
|
mov r3, #0x51
|
|
add r2, r1, #1
|
|
strb r3, [r0, r2]
|
|
add r2, r1, #5
|
|
strb r4, [r0, r2]
|
|
mov r3, #0x88
|
|
add r2, r1, #2
|
|
strb r3, [r0, r2]
|
|
mov r4, #0x30
|
|
add r2, r1, #6
|
|
strb r4, [r0, r2]
|
|
mov r3, #0xc1
|
|
add r2, r1, #3
|
|
strb r3, [r0, r2]
|
|
add r2, r1, #7
|
|
strb r4, [r0, r2]
|
|
add r2, r1, #0
|
|
mov r3, #0xf
|
|
add r2, #8
|
|
strb r3, [r0, r2]
|
|
add r2, r1, #0
|
|
mov r3, #0x86
|
|
add r2, #0xc
|
|
strb r3, [r0, r2]
|
|
add r2, r1, #0
|
|
mov r3, #0x80
|
|
add r2, #0xa
|
|
strb r3, [r0, r2]
|
|
mov r2, #0x16
|
|
add r1, #0xe
|
|
strb r2, [r0, r1]
|
|
pop {r3, r4}
|
|
bx lr
|
|
nop
|
|
_02213480: .word 0x00000B64
|
|
|
|
thumb_func_start MOD07_02213484
|
|
MOD07_02213484: ; 0x02213484
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
ldr r4, _02213560 ; =0x022149C8
|
|
add r3, sp, #0
|
|
add r6, r0, #0
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r1, r2, #0
|
|
add r0, r6, #0
|
|
mov r2, #0x17
|
|
bl MOD07_02212C04
|
|
add r0, r6, #0
|
|
bl MOD07_0221301C
|
|
add r0, r6, #0
|
|
bl MOD07_02213568
|
|
ldr r4, _02213564 ; =0x02214C64
|
|
mov r7, #0
|
|
add r5, r6, #0
|
|
_022134B8:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD07_02212CA4
|
|
mov r1, #0x66
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add r7, r7, #1
|
|
add r4, #0x1c
|
|
add r5, r5, #4
|
|
cmp r7, #0xe
|
|
blo _022134B8
|
|
mov r1, #0
|
|
mov r2, #0xff
|
|
add r0, r6, #0
|
|
mvn r2, r2
|
|
add r3, r1, #0
|
|
bl MOD07_0221309C
|
|
mov r2, #0xff
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
mvn r2, r2
|
|
mov r3, #0
|
|
bl MOD07_0221309C
|
|
mov r1, #2
|
|
add r2, r1, #0
|
|
add r0, r6, #0
|
|
add r2, #0xfe
|
|
mov r3, #0
|
|
bl MOD07_0221309C
|
|
mov r1, #3
|
|
add r2, r1, #0
|
|
add r0, r6, #0
|
|
add r2, #0xfd
|
|
mov r3, #0
|
|
bl MOD07_0221309C
|
|
add r0, r6, #0
|
|
bl MOD07_022131C0
|
|
add r0, r6, #0
|
|
bl MOD07_022135C8
|
|
add r0, r6, #0
|
|
bl MOD07_022132CC
|
|
mov r1, #0
|
|
mov r2, #0xff
|
|
add r0, r6, #0
|
|
mvn r2, r2
|
|
add r3, r1, #0
|
|
bl MOD07_02213354
|
|
mov r2, #0xff
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
mvn r2, r2
|
|
mov r3, #0
|
|
bl MOD07_02213354
|
|
mov r1, #2
|
|
add r2, r1, #0
|
|
add r0, r6, #0
|
|
add r2, #0xfe
|
|
mov r3, #0
|
|
bl MOD07_02213354
|
|
mov r1, #3
|
|
add r2, r1, #0
|
|
add r0, r6, #0
|
|
add r2, #0xfd
|
|
mov r3, #0
|
|
bl MOD07_02213354
|
|
mov r0, #0x21
|
|
mov r1, #0xe
|
|
lsl r0, r0, #4
|
|
str r1, [r6, r0]
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02213560: .word 0x022149C8
|
|
_02213564: .word 0x02214C64
|
|
|
|
thumb_func_start MOD07_02213568
|
|
MOD07_02213568: ; 0x02213568
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _022135C4 ; =0x0000B808
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x6c
|
|
mov r3, #5
|
|
bl FUN_0200C00C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _022135C4 ; =0x0000B808
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x6c
|
|
mov r3, #6
|
|
bl FUN_0200C124
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _022135C4 ; =0x0000B808
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x6c
|
|
mov r3, #7
|
|
bl FUN_0200C13C
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_022135C4: .word 0x0000B808
|
|
|
|
thumb_func_start MOD07_022135C8
|
|
MOD07_022135C8: ; 0x022135C8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
mov r0, #0x73
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
ldr r0, [r4]
|
|
add r0, #0x2a
|
|
ldrb r0, [r0]
|
|
cmp r0, #3
|
|
bne _0221360A
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x80
|
|
mov r2, #0x60
|
|
bl FUN_0200C714
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #2
|
|
bl FUN_0200C5C0
|
|
pop {r4, pc}
|
|
_0221360A:
|
|
bl MOD07_02212BD4
|
|
cmp r0, #1
|
|
ldr r0, [r4]
|
|
bne _02213658
|
|
add r0, #0x2a
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _0221363A
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x30
|
|
mov r2, #0x60
|
|
bl FUN_0200C714
|
|
mov r0, #0x73
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xd0
|
|
mov r2, #0x60
|
|
bl FUN_0200C714
|
|
b _0221369A
|
|
_0221363A:
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xd0
|
|
mov r2, #0x60
|
|
bl FUN_0200C714
|
|
mov r0, #0x73
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x30
|
|
mov r2, #0x60
|
|
bl FUN_0200C714
|
|
b _0221369A
|
|
_02213658:
|
|
add r0, #0x2a
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _0221367E
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xd0
|
|
mov r2, #0x60
|
|
bl FUN_0200C714
|
|
mov r0, #0x73
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x30
|
|
mov r2, #0x60
|
|
bl FUN_0200C714
|
|
b _0221369A
|
|
_0221367E:
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x30
|
|
mov r2, #0x60
|
|
bl FUN_0200C714
|
|
mov r0, #0x73
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0xd0
|
|
mov r2, #0x60
|
|
bl FUN_0200C714
|
|
_0221369A:
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C5C0
|
|
mov r0, #0x73
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl FUN_0200C5C0
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start MOD07_022136B4
|
|
MOD07_022136B4: ; 0x022136B4
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
mov r0, #2
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r4]
|
|
mov r2, #4
|
|
ldr r0, [r0, #0x24]
|
|
add r3, r1, #0
|
|
bl FUN_02022318
|
|
ldr r1, _0221378C ; =0x00000B58
|
|
ldr r2, _02213790 ; =0x04000060
|
|
str r0, [r4, r1]
|
|
ldrh r1, [r2]
|
|
ldr r0, _02213794 ; =0xFFFFCFFF
|
|
and r1, r0
|
|
mov r0, #8
|
|
orr r0, r1
|
|
strh r0, [r2]
|
|
bl FUN_02012CC8
|
|
ldr r0, [r4]
|
|
mov r1, #0x12
|
|
ldr r0, [r0, #0x24]
|
|
lsl r1, r1, #0xa
|
|
bl AllocFromHeap
|
|
mov r2, #0xb6
|
|
lsl r2, r2, #4
|
|
str r0, [r4, r2]
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
mov r3, #0x12
|
|
ldr r0, [r0, #0x24]
|
|
ldr r1, _02213798 ; =MOD07_02213834
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221379C ; =MOD07_02213810
|
|
ldr r2, [r4, r2]
|
|
lsl r3, r3, #0xa
|
|
bl FUN_02012CDC
|
|
ldr r1, _022137A0 ; =0x00000B5C
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
bl FUN_0201343C
|
|
add r2, r0, #0
|
|
mov r0, #1
|
|
mov r1, #0xe1
|
|
lsl r0, r0, #0xc
|
|
lsl r1, r1, #0xe
|
|
bl FUN_0201EC94
|
|
ldr r2, [r4]
|
|
mov r0, #0x3d
|
|
ldr r2, [r2, #0x24]
|
|
mov r1, #2
|
|
bl FUN_0201318C
|
|
add r1, r0, #0
|
|
ldr r0, _022137A0 ; =0x00000B5C
|
|
mov r2, #0xa
|
|
ldr r0, [r4, r0]
|
|
mov r3, #1
|
|
bl FUN_02013194
|
|
mov r1, #0
|
|
ldr r0, _022137A0 ; =0x00000B5C
|
|
add r2, r1, #0
|
|
ldr r0, [r4, r0]
|
|
add r3, r1, #0
|
|
bl FUN_020133AC
|
|
ldr r0, _022137A0 ; =0x00000B5C
|
|
mov r2, #0
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
add r3, r2, #0
|
|
bl FUN_020133AC
|
|
ldr r0, _022137A0 ; =0x00000B5C
|
|
mov r2, #0
|
|
ldr r0, [r4, r0]
|
|
mov r1, #2
|
|
add r3, r2, #0
|
|
bl FUN_020133AC
|
|
ldr r0, _022137A0 ; =0x00000B5C
|
|
mov r2, #0
|
|
ldr r0, [r4, r0]
|
|
mov r1, #3
|
|
add r3, r2, #0
|
|
bl FUN_020133AC
|
|
ldr r0, _022137A0 ; =0x00000B5C
|
|
mov r2, #0
|
|
ldr r0, [r4, r0]
|
|
mov r1, #4
|
|
add r3, r2, #0
|
|
bl FUN_020133AC
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
nop
|
|
_0221378C: .word 0x00000B58
|
|
_02213790: .word 0x04000060
|
|
_02213794: .word 0xFFFFCFFF
|
|
_02213798: .word MOD07_02213834
|
|
_0221379C: .word MOD07_02213810
|
|
_022137A0: .word 0x00000B5C
|
|
|
|
thumb_func_start MOD07_022137A4
|
|
MOD07_022137A4: ; 0x022137A4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
add r0, #0x28
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
beq _022137B6
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_022137B6:
|
|
bl FUN_020222AC
|
|
ldr r0, _022137D8 ; =0x00000B5C
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020133C8
|
|
cmp r0, #0
|
|
bne _022137CA
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_022137CA:
|
|
bl FUN_02013364
|
|
bl FUN_02013388
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
nop
|
|
_022137D8: .word 0x00000B5C
|
|
|
|
thumb_func_start MOD07_022137DC
|
|
MOD07_022137DC: ; 0x022137DC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
add r0, #0x28
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _02213804
|
|
ldr r0, _02213808 ; =0x00000B5C
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02012DE4
|
|
mov r0, #0xb6
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
ldr r0, _0221380C ; =0x00000B58
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020223BC
|
|
_02213804:
|
|
pop {r4, pc}
|
|
nop
|
|
_02213808: .word 0x00000B5C
|
|
_0221380C: .word 0x00000B58
|
|
|
|
thumb_func_start MOD07_02213810
|
|
MOD07_02213810: ; 0x02213810
|
|
push {r4, lr}
|
|
ldr r3, _02213830 ; =0x021064B8
|
|
mov r2, #0
|
|
ldr r3, [r3]
|
|
blx r3
|
|
add r4, r0, #0
|
|
bl FUN_0201327C
|
|
cmp r4, #0
|
|
bne _02213828
|
|
bl ErrorHandling
|
|
_02213828:
|
|
lsl r0, r4, #0x10
|
|
lsr r0, r0, #0xd
|
|
pop {r4, pc}
|
|
nop
|
|
_02213830: .word 0x021064B8
|
|
|
|
thumb_func_start MOD07_02213834
|
|
MOD07_02213834: ; 0x02213834
|
|
push {r4, lr}
|
|
ldr r3, _02213854 ; =0x021064C0
|
|
mov r2, #1
|
|
ldr r3, [r3]
|
|
blx r3
|
|
add r4, r0, #0
|
|
bl FUN_020132BC
|
|
cmp r4, #0
|
|
bne _0221384C
|
|
bl ErrorHandling
|
|
_0221384C:
|
|
lsl r0, r4, #0x10
|
|
lsr r0, r0, #0xd
|
|
pop {r4, pc}
|
|
nop
|
|
_02213854: .word 0x021064C0
|
|
|
|
thumb_func_start MOD07_02213858
|
|
MOD07_02213858: ; 0x02213858
|
|
push {r4, r5, lr}
|
|
sub sp, #0x64
|
|
ldr r5, _022138E8 ; =0x0221497C
|
|
add r3, sp, #0x54
|
|
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, _022138EC ; =0x02214A9C
|
|
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, #1
|
|
str r0, [r3]
|
|
ldr r0, [r4, #0xc]
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
bl FUN_02018744
|
|
ldr r5, _022138F0 ; =0x02214A10
|
|
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, #2
|
|
str r0, [r3]
|
|
ldr r0, [r4, #0xc]
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #2
|
|
bl FUN_02018744
|
|
ldr r5, _022138F4 ; =0x02214A80
|
|
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, #3
|
|
str r0, [r3]
|
|
ldr r0, [r4, #0xc]
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
add sp, #0x64
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_022138E8: .word 0x0221497C
|
|
_022138EC: .word 0x02214A9C
|
|
_022138F0: .word 0x02214A10
|
|
_022138F4: .word 0x02214A80
|
|
|
|
thumb_func_start MOD07_022138F8
|
|
MOD07_022138F8: ; 0x022138F8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x1e
|
|
mov r1, #0
|
|
bl FUN_0201E6E4
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #3
|
|
bl FUN_020178A0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #2
|
|
bl FUN_020178A0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
bl FUN_020178A0
|
|
ldr r0, [r4, #0xc]
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start MOD07_02213924
|
|
MOD07_02213924: ; 0x02213924
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
mov r1, #0xf
|
|
ldr r0, [r0, #0x24]
|
|
mov r3, #3
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #0xc]
|
|
mov r0, #0x14
|
|
bl FUN_0200687C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
mov r1, #0x11
|
|
ldr r0, [r0, #0x24]
|
|
mov r3, #3
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #0xc]
|
|
mov r0, #0x14
|
|
bl FUN_020068C8
|
|
ldr r2, [r5]
|
|
mov r0, #0x14
|
|
ldr r2, [r2, #0x24]
|
|
mov r1, #0x10
|
|
bl AllocAndReadWholeNarcMemberByIdPair
|
|
add r1, sp, #0x10
|
|
add r4, r0, #0
|
|
bl FUN_020B0138
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, #3
|
|
ldr r1, [r2, #0xc]
|
|
ldr r2, [r2, #8]
|
|
mov r3, #0
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x10
|
|
bl FUN_02017FB4
|
|
ldr r1, [sp, #0x10]
|
|
ldr r0, _022139B4 ; =0x000004E4
|
|
ldr r1, [r1, #0xc]
|
|
add r0, r5, r0
|
|
add r1, #0x60
|
|
mov r2, #0x60
|
|
bl memcpy
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
ldr r0, [r5]
|
|
mov r2, #0xa9
|
|
lsl r2, r2, #2
|
|
ldr r3, _022139B8 ; =0x00000424
|
|
add r1, r5, r2
|
|
add r2, #0xc0
|
|
ldr r0, [r0, #0x24]
|
|
add r2, r5, r2
|
|
add r3, r5, r3
|
|
bl FUN_020724D4
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_022139B4: .word 0x000004E4
|
|
_022139B8: .word 0x00000424
|
|
|
|
thumb_func_start MOD07_022139BC
|
|
MOD07_022139BC: ; 0x022139BC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
ldr r6, _02213A90 ; =0x02214954
|
|
mov r4, #0
|
|
add r7, r5, #0
|
|
_022139C8:
|
|
cmp r4, #0
|
|
beq _022139D0
|
|
cmp r4, #3
|
|
bne _022139D8
|
|
_022139D0:
|
|
mov r0, #0xa9
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
b _022139EE
|
|
_022139D8:
|
|
mov r0, #0x86
|
|
lsl r0, r0, #2
|
|
ldrh r0, [r7, r0]
|
|
cmp r0, #0
|
|
bne _022139E8
|
|
ldr r0, _02213A94 ; =0x00000424
|
|
add r1, r5, r0
|
|
b _022139EE
|
|
_022139E8:
|
|
mov r0, #0xd9
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
_022139EE:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x14]
|
|
mov r0, #6
|
|
str r0, [sp, #0x18]
|
|
ldrb r2, [r6]
|
|
ldrb r3, [r6, #1]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
bl FUN_02018170
|
|
mov r0, #0x86
|
|
lsl r0, r0, #2
|
|
ldrh r0, [r7, r0]
|
|
cmp r0, #0
|
|
beq _02213A7A
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
add r0, r4, #3
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldrb r2, [r6]
|
|
ldrb r3, [r6, #1]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
bl FUN_020186B4
|
|
cmp r4, #3
|
|
bhs _02213A46
|
|
ldr r0, [r5]
|
|
add r0, #0x29
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
beq _02213A54
|
|
_02213A46:
|
|
cmp r4, #3
|
|
blo _02213A68
|
|
ldr r0, [r5]
|
|
add r0, #0x29
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _02213A68
|
|
_02213A54:
|
|
ldr r1, _02213A98 ; =0x00000504
|
|
add r3, r4, #3
|
|
lsl r3, r3, #0x15
|
|
mov r0, #2
|
|
add r1, r5, r1
|
|
mov r2, #0x20
|
|
lsr r3, r3, #0x10
|
|
bl FUN_02017FB4
|
|
b _02213A7A
|
|
_02213A68:
|
|
ldr r1, _02213A9C ; =0x000004E4
|
|
add r3, r4, #3
|
|
lsl r3, r3, #0x15
|
|
mov r0, #2
|
|
add r1, r5, r1
|
|
mov r2, #0x20
|
|
lsr r3, r3, #0x10
|
|
bl FUN_02017FB4
|
|
_02213A7A:
|
|
add r4, r4, #1
|
|
add r7, #0x18
|
|
add r6, r6, #2
|
|
cmp r4, #6
|
|
blo _022139C8
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
bl FUN_0201AC68
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02213A90: .word 0x02214954
|
|
_02213A94: .word 0x00000424
|
|
_02213A98: .word 0x00000504
|
|
_02213A9C: .word 0x000004E4
|
|
|
|
thumb_func_start MOD07_02213AA0
|
|
MOD07_02213AA0: ; 0x02213AA0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
str r1, [sp]
|
|
add r1, r2, #0
|
|
bl FUN_0201886C
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
add r0, #0x29
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _02213ABE
|
|
mov r7, #0x10
|
|
b _02213AC0
|
|
_02213ABE:
|
|
mov r7, #0
|
|
_02213AC0:
|
|
mov r5, #0
|
|
_02213AC2:
|
|
lsl r0, r5, #5
|
|
add r0, r7, r0
|
|
lsl r4, r0, #1
|
|
ldr r0, [sp]
|
|
lsl r1, r5, #5
|
|
add r0, r0, r1
|
|
add r1, r6, r4
|
|
mov r2, #0x20
|
|
bl memcpy
|
|
add r0, r6, r4
|
|
mov r1, #0
|
|
mov r2, #0x20
|
|
bl memset
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
cmp r5, #0x18
|
|
blo _02213AC2
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start MOD07_02213AEC
|
|
MOD07_02213AEC: ; 0x02213AEC
|
|
push {r4, lr}
|
|
ldr r1, _02213B18 ; =0x00000544
|
|
add r4, r0, #0
|
|
add r1, r4, r1
|
|
mov r2, #1
|
|
bl MOD07_02213AA0
|
|
ldr r1, _02213B1C ; =0x00000844
|
|
add r0, r4, #0
|
|
add r1, r4, r1
|
|
mov r2, #2
|
|
bl MOD07_02213AA0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
bl FUN_0201AC68
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #2
|
|
bl FUN_0201AC68
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02213B18: .word 0x00000544
|
|
_02213B1C: .word 0x00000844
|
|
|
|
thumb_func_start MOD07_02213B20
|
|
MOD07_02213B20: ; 0x02213B20
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
add r0, #0x29
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _02213B80
|
|
mov r0, #0x20
|
|
sub r6, r0, r4
|
|
ldr r1, _02213BE4 ; =0x00000544
|
|
str r4, [sp]
|
|
mov r0, #0x18
|
|
str r0, [sp, #4]
|
|
add r1, r5, r1
|
|
str r1, [sp, #8]
|
|
mov r3, #0
|
|
str r3, [sp, #0xc]
|
|
lsl r2, r6, #0x18
|
|
str r3, [sp, #0x10]
|
|
mov r1, #0x10
|
|
str r1, [sp, #0x14]
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
lsr r2, r2, #0x18
|
|
bl FUN_02018170
|
|
ldr r0, _02213BE8 ; =0x00000844
|
|
lsl r2, r6, #0x18
|
|
str r4, [sp]
|
|
mov r1, #0x18
|
|
str r1, [sp, #4]
|
|
add r0, r5, r0
|
|
str r0, [sp, #8]
|
|
mov r3, #0
|
|
str r3, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x14]
|
|
str r1, [sp, #0x18]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
lsr r2, r2, #0x18
|
|
bl FUN_02018170
|
|
b _02213BCE
|
|
_02213B80:
|
|
ldr r2, _02213BE4 ; =0x00000544
|
|
mov r0, #0x10
|
|
str r4, [sp]
|
|
mov r1, #0x18
|
|
sub r6, r0, r4
|
|
str r1, [sp, #4]
|
|
add r2, r5, r2
|
|
str r2, [sp, #8]
|
|
lsl r2, r6, #0x18
|
|
lsr r2, r2, #0x18
|
|
str r2, [sp, #0xc]
|
|
mov r2, #0
|
|
str r2, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
str r1, [sp, #0x18]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
add r3, r2, #0
|
|
bl FUN_02018170
|
|
ldr r1, _02213BE8 ; =0x00000844
|
|
mov r2, #0
|
|
str r4, [sp]
|
|
mov r0, #0x18
|
|
str r0, [sp, #4]
|
|
add r1, r5, r1
|
|
str r1, [sp, #8]
|
|
lsl r1, r6, #0x18
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
mov r1, #0x10
|
|
str r1, [sp, #0x14]
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
add r3, r2, #0
|
|
bl FUN_02018170
|
|
_02213BCE:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
bl FUN_0201AC68
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
bl FUN_0201AC68
|
|
add sp, #0x1c
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_02213BE4: .word 0x00000544
|
|
_02213BE8: .word 0x00000844
|
|
|
|
thumb_func_start MOD07_02213BEC
|
|
MOD07_02213BEC: ; 0x02213BEC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
add r0, r1, #0
|
|
str r1, [sp]
|
|
add r5, r2, #0
|
|
bl FUN_0206B9AC
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #8]
|
|
mov r0, #0x18
|
|
mul r0, r5
|
|
add r0, r4, r0
|
|
mov r6, #0
|
|
str r0, [sp, #4]
|
|
_02213C0C:
|
|
ldr r0, [sp, #8]
|
|
cmp r0, r6
|
|
bhi _02213C2E
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
bl FUN_0206B6D4
|
|
mov r1, #0x18
|
|
add r2, r6, #0
|
|
mul r2, r1
|
|
ldr r1, [sp, #4]
|
|
add r2, r1, r2
|
|
mov r1, #0x85
|
|
lsl r1, r1, #2
|
|
str r0, [r2, r1]
|
|
b _02213D08
|
|
_02213C2E:
|
|
ldr r0, [sp]
|
|
add r1, r6, #0
|
|
bl FUN_0206B9B0
|
|
mov r1, #0x18
|
|
add r2, r6, #0
|
|
mul r2, r1
|
|
ldr r1, [sp, #4]
|
|
add r4, r0, #0
|
|
add r7, r1, r2
|
|
bl FUN_0206B6C8
|
|
mov r1, #0x85
|
|
lsl r1, r1, #2
|
|
str r0, [r7, r1]
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
mov r1, #0x86
|
|
lsl r1, r1, #2
|
|
strh r0, [r7, r1]
|
|
add r0, r1, #0
|
|
ldrh r0, [r7, r0]
|
|
cmp r0, #0
|
|
beq _02213D08
|
|
mov r0, #0x18
|
|
add r1, r6, #0
|
|
mul r1, r0
|
|
ldr r0, [sp, #4]
|
|
mov r2, #0
|
|
add r5, r0, r1
|
|
add r0, r4, #0
|
|
mov r1, #0x4c
|
|
bl FUN_020671BC
|
|
ldr r1, _02213D18 ; =0x00000223
|
|
mov r2, #0
|
|
strb r0, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r1, #0xa2
|
|
bl FUN_020671BC
|
|
ldr r1, _02213D1C ; =0x0000021A
|
|
mov r2, #0
|
|
strh r0, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r1, #0xa3
|
|
bl FUN_020671BC
|
|
mov r1, #0x87
|
|
lsl r1, r1, #2
|
|
strh r0, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r1, #0xa0
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
mov r1, #0x22
|
|
lsl r1, r1, #4
|
|
strb r0, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
ldr r1, _02213D20 ; =0x0000021E
|
|
mov r2, #0
|
|
strh r0, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r1, #0xa1
|
|
bl FUN_020671BC
|
|
mov r1, #0x89
|
|
lsl r1, r1, #2
|
|
strb r0, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r1, #0x70
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
ldr r1, _02213D24 ; =0x00000225
|
|
mov r2, #0
|
|
strb r0, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r1, #0xaf
|
|
bl FUN_020671BC
|
|
cmp r0, #1
|
|
bne _02213CE8
|
|
mov r1, #0
|
|
b _02213CEA
|
|
_02213CE8:
|
|
mov r1, #1
|
|
_02213CEA:
|
|
ldr r0, _02213D28 ; =0x00000222
|
|
strb r1, [r7, r0]
|
|
add r0, r4, #0
|
|
bl FUN_020689E0
|
|
ldr r1, _02213D2C ; =0x00000221
|
|
strb r0, [r5, r1]
|
|
add r0, r4, #0
|
|
bl FUN_0207C2D4
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
mov r0, #0x8a
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
_02213D08:
|
|
add r0, r6, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r6, r0, #0x10
|
|
cmp r6, #3
|
|
bhs _02213D14
|
|
b _02213C0C
|
|
_02213D14:
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02213D18: .word 0x00000223
|
|
_02213D1C: .word 0x0000021A
|
|
_02213D20: .word 0x0000021E
|
|
_02213D24: .word 0x00000225
|
|
_02213D28: .word 0x00000222
|
|
_02213D2C: .word 0x00000221
|
|
|
|
thumb_func_start MOD07_02213D30
|
|
MOD07_02213D30: ; 0x02213D30
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x85
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #0
|
|
mov r2, #0x90
|
|
bl memset
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
ldr r1, [r1, #4]
|
|
mov r2, #0
|
|
bl MOD07_02213BEC
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
ldr r1, [r1, #0xc]
|
|
mov r2, #3
|
|
bl MOD07_02213BEC
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start MOD07_02213D5C
|
|
MOD07_02213D5C: ; 0x02213D5C
|
|
push {r4, lr}
|
|
add r3, r0, #0
|
|
add r2, r1, #0
|
|
mov r0, #0x18
|
|
mul r2, r0
|
|
ldr r1, _02213DC0 ; =0x0000021A
|
|
add r4, r3, r2
|
|
ldrh r0, [r4, r1]
|
|
cmp r0, #0
|
|
bne _02213D74
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_02213D74:
|
|
add r1, #0xe
|
|
ldr r1, [r4, r1]
|
|
cmp r1, #7
|
|
beq _02213D84
|
|
cmp r1, #0
|
|
beq _02213D84
|
|
mov r0, #5
|
|
pop {r4, pc}
|
|
_02213D84:
|
|
mov r1, #0x87
|
|
add r2, r3, r2
|
|
lsl r1, r1, #2
|
|
ldrh r1, [r2, r1]
|
|
mov r2, #0x30
|
|
bl FUN_02079A54
|
|
cmp r0, #4
|
|
bhi _02213DBC
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02213DA2: ; jump table
|
|
.short _02213DBC - _02213DA2 - 2 ; case 0
|
|
.short _02213DB8 - _02213DA2 - 2 ; case 1
|
|
.short _02213DB4 - _02213DA2 - 2 ; case 2
|
|
.short _02213DB0 - _02213DA2 - 2 ; case 3
|
|
.short _02213DAC - _02213DA2 - 2 ; case 4
|
|
_02213DAC:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02213DB0:
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
_02213DB4:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
_02213DB8:
|
|
mov r0, #4
|
|
pop {r4, pc}
|
|
_02213DBC:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02213DC0: .word 0x0000021A
|
|
|
|
thumb_func_start MOD07_02213DC4
|
|
MOD07_02213DC4: ; 0x02213DC4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r1, [sp]
|
|
add r0, r1, #0
|
|
lsl r1, r0, #2
|
|
ldr r0, [sp]
|
|
ldr r2, _02213F1C ; =0x02214B28
|
|
add r7, r0, r1
|
|
lsl r0, r7, #2
|
|
add r4, r5, r0
|
|
ldr r0, [sp]
|
|
mov r1, #0xa
|
|
mul r1, r0
|
|
str r4, [sp, #4]
|
|
add r6, r2, r1
|
|
_02213DE8:
|
|
mov r1, #0x1c
|
|
add r2, r7, #0
|
|
mul r2, r1
|
|
ldr r1, _02213F20 ; =0x02214DEC
|
|
add r0, r5, #0
|
|
add r1, r1, r2
|
|
bl MOD07_02212CA4
|
|
mov r1, #0x66
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0
|
|
ldrb r1, [r6]
|
|
ldrb r2, [r6, #1]
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200C714
|
|
ldr r0, [sp, #8]
|
|
add r7, r7, #1
|
|
add r0, r0, #1
|
|
add r4, r4, #4
|
|
add r6, r6, #2
|
|
str r0, [sp, #8]
|
|
cmp r0, #5
|
|
blo _02213DE8
|
|
ldr r0, [sp]
|
|
mov r3, #0x86
|
|
mov r1, #0x18
|
|
add r6, r0, #0
|
|
mul r6, r1
|
|
add r2, r5, r6
|
|
lsl r3, r3, #2
|
|
ldrh r0, [r2, r3]
|
|
cmp r0, #0
|
|
bne _02213E50
|
|
mov r5, #0
|
|
add r4, r3, #0
|
|
add r6, r5, #0
|
|
sub r4, #0x80
|
|
_02213E36:
|
|
ldr r0, [sp, #4]
|
|
add r1, r6, #0
|
|
ldr r0, [r0, r4]
|
|
bl FUN_0200C644
|
|
ldr r0, [sp, #4]
|
|
add r5, r5, #1
|
|
add r0, r0, #4
|
|
str r0, [sp, #4]
|
|
cmp r5, #5
|
|
blo _02213E36
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02213E50:
|
|
ldr r1, [sp]
|
|
mov r4, #0x14
|
|
mul r4, r1
|
|
add r1, r3, #0
|
|
sub r1, #0x80
|
|
add r7, r5, r1
|
|
add r1, r3, #0
|
|
add r1, #0xd
|
|
add r3, #0xb
|
|
ldrb r1, [r2, r1]
|
|
ldrb r2, [r2, r3]
|
|
bl FUN_0206B7BC
|
|
add r1, r0, #0
|
|
ldr r0, [r7, r4]
|
|
bl FUN_0200C66C
|
|
ldr r1, [sp]
|
|
add r0, r5, #0
|
|
bl MOD07_02213D5C
|
|
add r1, r0, #0
|
|
ldr r0, [r7, r4]
|
|
bl FUN_0200C5C0
|
|
ldr r1, _02213F24 ; =0x0000021E
|
|
add r0, r5, r6
|
|
ldrh r0, [r0, r1]
|
|
cmp r0, #0
|
|
bne _02213E9A
|
|
add r0, r5, r4
|
|
sub r1, #0x82
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
b _02213EC0
|
|
_02213E9A:
|
|
bl FUN_0206EA98
|
|
cmp r0, #1
|
|
bne _02213EB2
|
|
mov r0, #0x67
|
|
add r1, r5, r4
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #1
|
|
bl FUN_0200C5C0
|
|
b _02213EC0
|
|
_02213EB2:
|
|
mov r0, #0x67
|
|
add r1, r5, r4
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C5C0
|
|
_02213EC0:
|
|
mov r0, #0x89
|
|
add r1, r5, r6
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r1, r0]
|
|
cmp r1, #0
|
|
bne _02213EDA
|
|
add r1, r5, r4
|
|
sub r0, #0x84
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
b _02213EE6
|
|
_02213EDA:
|
|
add r1, r5, r4
|
|
sub r0, #0x84
|
|
ldr r0, [r1, r0]
|
|
mov r1, #2
|
|
bl FUN_0200C5C0
|
|
_02213EE6:
|
|
mov r3, #0x8a
|
|
add r0, r5, r6
|
|
lsl r3, r3, #2
|
|
ldr r0, [r0, r3]
|
|
cmp r0, #7
|
|
bne _02213F02
|
|
add r0, r5, r4
|
|
sub r3, #0x84
|
|
ldr r0, [r0, r3]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02213F02:
|
|
add r0, r3, #0
|
|
add r1, r5, r4
|
|
sub r0, #0x84
|
|
ldr r0, [r1, r0]
|
|
ldr r1, [sp, #8]
|
|
mov r2, #0x18
|
|
mul r2, r1
|
|
add r1, r5, r2
|
|
ldr r1, [r1, r3]
|
|
bl FUN_0200C5C0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02213F1C: .word 0x02214B28
|
|
_02213F20: .word 0x02214DEC
|
|
_02213F24: .word 0x0000021E
|
|
|
|
thumb_func_start MOD07_02213F28
|
|
MOD07_02213F28: ; 0x02213F28
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x18
|
|
ldr r5, _02213F88 ; =0x022149F8
|
|
add r3, sp, #0
|
|
add r4, r0, #0
|
|
add r2, r3, #0
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r1, r2, #0
|
|
add r0, r4, #0
|
|
mov r2, #0x1f
|
|
bl MOD07_02212C04
|
|
add r0, r4, #0
|
|
bl MOD07_02213F8C
|
|
add r0, r4, #0
|
|
bl MOD07_02214034
|
|
add r0, r4, #0
|
|
bl MOD07_022140BC
|
|
add r0, r4, #0
|
|
bl MOD07_02214144
|
|
mov r5, #0
|
|
_02213F64:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD07_02213DC4
|
|
add r5, r5, #1
|
|
cmp r5, #6
|
|
blo _02213F64
|
|
add r0, r4, #0
|
|
mov r1, #0x10
|
|
bl MOD07_022141CC
|
|
mov r0, #0x21
|
|
mov r1, #0x1e
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02213F88: .word 0x022149F8
|
|
|
|
thumb_func_start MOD07_02213F8C
|
|
MOD07_02213F8C: ; 0x02213F8C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
bl FUN_0206B888
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, _0221402C ; =0x0000B808
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
mov r2, #0x13
|
|
bl FUN_0200C06C
|
|
bl FUN_0206B890
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02214030 ; =0x0000B809
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
mov r2, #0x13
|
|
bl FUN_0200C124
|
|
bl FUN_0206B89C
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02214030 ; =0x0000B809
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
mov r2, #0x13
|
|
bl FUN_0200C13C
|
|
mov r4, #0
|
|
add r6, r5, #0
|
|
add r7, r4, #0
|
|
_02213FFA:
|
|
str r7, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214030 ; =0x0000B809
|
|
mov r1, #0x65
|
|
add r0, r4, r0
|
|
str r0, [sp, #8]
|
|
mov r0, #0x19
|
|
mov r3, #0x85
|
|
lsl r0, r0, #4
|
|
lsl r1, r1, #2
|
|
lsl r3, r3, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
ldr r3, [r6, r3]
|
|
mov r2, #0x13
|
|
bl FUN_0200C00C
|
|
add r4, r4, #1
|
|
add r6, #0x18
|
|
cmp r4, #6
|
|
blo _02213FFA
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0221402C: .word 0x0000B808
|
|
_02214030: .word 0x0000B809
|
|
|
|
thumb_func_start MOD07_02214034
|
|
MOD07_02214034: ; 0x02214034
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _022140B0 ; =0x0000B80F
|
|
mov r1, #0x19
|
|
mov r2, #0x14
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
add r3, r2, #0
|
|
bl FUN_0200C00C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, _022140B4 ; =0x0000B809
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x14
|
|
mov r3, #0x15
|
|
bl FUN_0200C06C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _022140B8 ; =0x0000B80A
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x14
|
|
mov r3, #0x13
|
|
bl FUN_0200C124
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _022140B8 ; =0x0000B80A
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x14
|
|
mov r3, #0x12
|
|
bl FUN_0200C13C
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_022140B0: .word 0x0000B80F
|
|
_022140B4: .word 0x0000B809
|
|
_022140B8: .word 0x0000B80A
|
|
|
|
thumb_func_start MOD07_022140BC
|
|
MOD07_022140BC: ; 0x022140BC
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214138 ; =0x0000B810
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x27
|
|
mov r3, #0x40
|
|
bl FUN_0200C00C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, _0221413C ; =0x0000B80A
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x27
|
|
mov r3, #0x41
|
|
bl FUN_0200C06C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02214140 ; =0x0000B80B
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x27
|
|
mov r3, #0x3f
|
|
bl FUN_0200C124
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02214140 ; =0x0000B80B
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x27
|
|
mov r3, #0x3e
|
|
bl FUN_0200C13C
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02214138: .word 0x0000B810
|
|
_0221413C: .word 0x0000B80A
|
|
_02214140: .word 0x0000B80B
|
|
|
|
thumb_func_start MOD07_02214144
|
|
MOD07_02214144: ; 0x02214144
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _022141C0 ; =0x0000B811
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x14
|
|
mov r3, #2
|
|
bl FUN_0200C00C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, _022141C4 ; =0x0000B80B
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x14
|
|
mov r3, #8
|
|
bl FUN_0200C06C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _022141C8 ; =0x0000B80C
|
|
mov r1, #0x19
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x14
|
|
mov r3, #1
|
|
bl FUN_0200C124
|
|
mov r3, #0
|
|
mov r1, #0x19
|
|
ldr r0, _022141C8 ; =0x0000B80C
|
|
str r3, [sp]
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x14
|
|
bl FUN_0200C13C
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_022141C0: .word 0x0000B811
|
|
_022141C4: .word 0x0000B80B
|
|
_022141C8: .word 0x0000B80C
|
|
|
|
thumb_func_start MOD07_022141CC
|
|
MOD07_022141CC: ; 0x022141CC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
str r0, [sp]
|
|
ldr r0, [r0]
|
|
add r7, r1, #0
|
|
add r0, #0x29
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _022141E6
|
|
mov r0, #3
|
|
str r0, [sp, #8]
|
|
lsl r0, r7, #0x13
|
|
b _022141F0
|
|
_022141E6:
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
lsl r0, r7, #3
|
|
neg r0, r0
|
|
lsl r0, r0, #0x10
|
|
_022141F0:
|
|
asr r7, r0, #0x10
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #8]
|
|
mov r1, #0xa
|
|
ldr r2, _02214248 ; =0x02214B28
|
|
mul r1, r0
|
|
add r0, r2, r1
|
|
str r0, [sp, #4]
|
|
_02214202:
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [sp, #0xc]
|
|
ldr r4, [sp, #4]
|
|
add r1, r1, r0
|
|
lsl r0, r1, #2
|
|
add r0, r1, r0
|
|
lsl r1, r0, #2
|
|
ldr r0, [sp]
|
|
mov r6, #0
|
|
add r5, r0, r1
|
|
_02214216:
|
|
ldrb r1, [r4]
|
|
mov r0, #0x66
|
|
lsl r0, r0, #2
|
|
add r1, r7, r1
|
|
lsl r1, r1, #0x10
|
|
ldrb r2, [r4, #1]
|
|
ldr r0, [r5, r0]
|
|
asr r1, r1, #0x10
|
|
bl FUN_0200C714
|
|
add r6, r6, #1
|
|
add r4, r4, #2
|
|
add r5, r5, #4
|
|
cmp r6, #5
|
|
blt _02214216
|
|
ldr r0, [sp, #4]
|
|
add r0, #0xa
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0xc]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0xc]
|
|
cmp r0, #3
|
|
blt _02214202
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02214248: .word 0x02214B28
|
|
|
|
thumb_func_start MOD07_0221424C
|
|
MOD07_0221424C: ; 0x0221424C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
add r5, r7, #0
|
|
ldr r4, _02214270 ; =0x02214BA4
|
|
mov r6, #0
|
|
add r5, #0x10
|
|
_02214258:
|
|
ldr r0, [r7, #0xc]
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl FUN_02019150
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
add r5, #0x10
|
|
cmp r6, #0x18
|
|
blo _02214258
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02214270: .word 0x02214BA4
|
|
|
|
thumb_func_start MOD07_02214274
|
|
MOD07_02214274: ; 0x02214274
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
add r5, #0x10
|
|
_0221427C:
|
|
add r0, r5, #0
|
|
bl FUN_02019178
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #0x18
|
|
blo _0221427C
|
|
pop {r3, r4, r5, pc}
|
|
|
|
thumb_func_start MOD07_0221428C
|
|
MOD07_0221428C: ; 0x0221428C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
ldr r4, [sp, #0x3c]
|
|
add r5, r0, #0
|
|
add r7, r5, #0
|
|
lsl r0, r4, #6
|
|
add r7, #0x10
|
|
str r0, [sp, #0x1c]
|
|
str r1, [sp, #0x10]
|
|
str r3, [sp, #0x14]
|
|
ldr r6, [sp, #0x38]
|
|
cmp r4, #3
|
|
ldr r0, [r5]
|
|
bhs _022142B4
|
|
ldr r0, [r0, #4]
|
|
add r1, r4, #0
|
|
bl FUN_0206B9B0
|
|
str r0, [sp, #0x18]
|
|
b _022142BE
|
|
_022142B4:
|
|
ldr r0, [r0, #0xc]
|
|
sub r1, r4, #3
|
|
bl FUN_0206B9B0
|
|
str r0, [sp, #0x18]
|
|
_022142BE:
|
|
add r1, r4, #0
|
|
ldr r0, [sp, #0x10]
|
|
add r1, #8
|
|
bl FUN_0200A914
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x18]
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, [sp, #0x14]
|
|
mov r1, #0
|
|
bl FUN_0200ACF8
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, [sp, #0x20]
|
|
add r1, r6, #0
|
|
bl FUN_0200B7B8
|
|
ldr r0, [sp, #0x20]
|
|
bl FUN_02021A20
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214370 ; =0x000F0E00
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x1c]
|
|
add r3, r1, #0
|
|
add r0, r7, r0
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
mov r0, #0x18
|
|
mul r0, r4
|
|
add r2, r5, r0
|
|
ldr r0, _02214374 ; =0x00000222
|
|
ldrb r1, [r2, r0]
|
|
cmp r1, #0
|
|
bne _0221436C
|
|
sub r0, r0, #1
|
|
ldrb r0, [r2, r0]
|
|
cmp r0, #0
|
|
bne _02214344
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x1b
|
|
add r2, r6, #0
|
|
bl FUN_0200A8E0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x1c]
|
|
add r2, r6, #0
|
|
add r0, r7, r0
|
|
mov r3, #0x40
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02214344:
|
|
cmp r0, #1
|
|
bne _0221436C
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x1c
|
|
add r2, r6, #0
|
|
bl FUN_0200A8E0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214378 ; =0x00050600
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x1c]
|
|
mov r3, #0x40
|
|
add r0, r7, r0
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
_0221436C:
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02214370: .word 0x000F0E00
|
|
_02214374: .word 0x00000222
|
|
_02214378: .word 0x00050600
|
|
|
|
thumb_func_start MOD07_0221437C
|
|
MOD07_0221437C: ; 0x0221437C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
ldr r0, [sp, #0x2c]
|
|
add r5, r6, #0
|
|
lsl r0, r0, #2
|
|
add r0, r0, #1
|
|
lsl r4, r0, #4
|
|
mov r0, #5
|
|
add r7, r1, #0
|
|
str r3, [sp, #0x10]
|
|
str r0, [sp]
|
|
add r5, #0x10
|
|
add r0, r2, #0
|
|
mov r1, #1
|
|
add r2, r5, r4
|
|
mov r3, #0
|
|
bl FUN_0200B9A8
|
|
ldr r1, [sp, #0x2c]
|
|
add r0, r7, #0
|
|
add r1, r1, #2
|
|
bl FUN_0200A914
|
|
mov r1, #0
|
|
add r7, r0, #0
|
|
ldr r3, [sp, #0x2c]
|
|
mov r2, #0x18
|
|
mul r2, r3
|
|
add r3, r6, r2
|
|
mov r2, #0x22
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
lsl r2, r2, #4
|
|
ldrb r2, [r3, r2]
|
|
ldr r0, [sp, #0x10]
|
|
mov r3, #3
|
|
bl FUN_0200AD38
|
|
ldr r0, [sp, #0x10]
|
|
ldr r1, [sp, #0x28]
|
|
add r2, r7, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r7, #0
|
|
bl FUN_02021A20
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022143F8 ; =0x000F0E00
|
|
ldr r2, [sp, #0x28]
|
|
str r0, [sp, #8]
|
|
add r0, r5, r4
|
|
mov r3, #0x10
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022143F8: .word 0x000F0E00
|
|
|
|
thumb_func_start MOD07_022143FC
|
|
MOD07_022143FC: ; 0x022143FC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x2c
|
|
ldr r5, [sp, #0x44]
|
|
add r7, r0, #0
|
|
str r0, [sp, #0x10]
|
|
lsl r0, r5, #2
|
|
add r0, r0, #2
|
|
lsl r0, r0, #4
|
|
str r0, [sp, #0x28]
|
|
str r1, [sp, #0x14]
|
|
add r0, r1, #0
|
|
add r1, r5, #0
|
|
add r1, #0x14
|
|
str r3, [sp, #0x18]
|
|
ldr r4, [sp, #0x40]
|
|
add r7, #0x10
|
|
bl FUN_0200A914
|
|
str r0, [sp, #0x20]
|
|
mov r0, #0x18
|
|
mul r0, r5
|
|
str r0, [sp, #0x1c]
|
|
mov r1, #0
|
|
ldr r3, [sp, #0x10]
|
|
ldr r2, [sp, #0x1c]
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
add r3, r3, r2
|
|
str r0, [sp, #4]
|
|
ldr r2, _02214508 ; =0x0000021A
|
|
ldr r0, [sp, #0x18]
|
|
ldrh r2, [r3, r2]
|
|
mov r3, #3
|
|
bl FUN_0200AD38
|
|
ldr r0, [sp, #0x18]
|
|
ldr r2, [sp, #0x20]
|
|
add r1, r4, #0
|
|
bl FUN_0200B7B8
|
|
ldr r0, [sp, #0x20]
|
|
bl FUN_02021A20
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
mov ip, r0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221450C ; =0x000F0E00
|
|
mov r6, ip
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x28]
|
|
mov r3, #0x1c
|
|
add r0, r7, r0
|
|
add r2, r4, #0
|
|
sub r3, r3, r6
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
ldr r0, [sp, #0x14]
|
|
mov r1, #0x1a
|
|
add r2, r4, #0
|
|
bl FUN_0200A8E0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221450C ; =0x000F0E00
|
|
add r2, r4, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x28]
|
|
mov r3, #0x1c
|
|
add r0, r7, r0
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
str r0, [sp, #0x24]
|
|
add r5, #0xe
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r5, #0
|
|
bl FUN_0200A914
|
|
add r5, r0, #0
|
|
ldr r3, [sp, #0x10]
|
|
ldr r2, [sp, #0x1c]
|
|
mov r1, #0
|
|
add r3, r3, r2
|
|
mov r2, #0x87
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
lsl r2, r2, #2
|
|
ldrh r2, [r3, r2]
|
|
ldr r0, [sp, #0x18]
|
|
mov r3, #3
|
|
bl FUN_0200AD38
|
|
ldr r0, [sp, #0x18]
|
|
add r1, r4, #0
|
|
add r2, r5, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r5, #0
|
|
bl FUN_02021A20
|
|
mov r1, #0
|
|
ldr r3, [sp, #0x24]
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221450C ; =0x000F0E00
|
|
add r3, #0x1c
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x28]
|
|
add r2, r4, #0
|
|
add r0, r7, r0
|
|
str r1, [sp, #0xc]
|
|
str r3, [sp, #0x24]
|
|
bl FUN_0201BDE0
|
|
add sp, #0x2c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02214508: .word 0x0000021A
|
|
_0221450C: .word 0x000F0E00
|
|
|
|
thumb_func_start MOD07_02214510
|
|
MOD07_02214510: ; 0x02214510
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
lsl r0, r1, #2
|
|
add r2, r5, #0
|
|
add r0, r0, #3
|
|
add r2, #0x10
|
|
lsl r0, r0, #4
|
|
add r4, r2, r0
|
|
mov r0, #0x18
|
|
add r6, r1, #0
|
|
mul r6, r0
|
|
mov r0, #0x87
|
|
lsl r0, r0, #2
|
|
add r7, r5, r0
|
|
sub r0, r0, #2
|
|
add r0, r5, r0
|
|
str r0, [sp, #8]
|
|
ldrh r0, [r0, r6]
|
|
ldrh r1, [r7, r6]
|
|
mov r2, #0x30
|
|
bl FUN_02079A54
|
|
cmp r0, #4
|
|
bhi _0221459E
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0221454E: ; jump table
|
|
.short _0221459E - _0221454E - 2 ; case 0
|
|
.short _02214588 - _0221454E - 2 ; case 1
|
|
.short _02214570 - _0221454E - 2 ; case 2
|
|
.short _02214558 - _0221454E - 2 ; case 3
|
|
.short _02214558 - _0221454E - 2 ; case 4
|
|
_02214558:
|
|
ldrb r3, [r4, #9]
|
|
ldr r1, _022145F4 ; =0x000004F6
|
|
mov r0, #1
|
|
lsl r3, r3, #4
|
|
add r3, #9
|
|
lsl r3, r3, #0x11
|
|
add r1, r5, r1
|
|
mov r2, #4
|
|
lsr r3, r3, #0x10
|
|
bl FUN_02017FB4
|
|
b _0221459E
|
|
_02214570:
|
|
ldrb r3, [r4, #9]
|
|
ldr r1, _022145F8 ; =0x00000516
|
|
mov r0, #1
|
|
lsl r3, r3, #4
|
|
add r3, #9
|
|
lsl r3, r3, #0x11
|
|
add r1, r5, r1
|
|
mov r2, #4
|
|
lsr r3, r3, #0x10
|
|
bl FUN_02017FB4
|
|
b _0221459E
|
|
_02214588:
|
|
ldrb r3, [r4, #9]
|
|
ldr r1, _022145FC ; =0x00000536
|
|
mov r0, #1
|
|
lsl r3, r3, #4
|
|
add r3, #9
|
|
lsl r3, r3, #0x11
|
|
add r1, r5, r1
|
|
mov r2, #4
|
|
lsr r3, r3, #0x10
|
|
bl FUN_02017FB4
|
|
_0221459E:
|
|
ldr r0, [sp, #8]
|
|
ldrh r1, [r7, r6]
|
|
ldrh r0, [r0, r6]
|
|
mov r2, #0x30
|
|
bl FUN_02079A0C
|
|
add r5, r0, #0
|
|
lsl r0, r5, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
mov r2, #0
|
|
mov r3, #2
|
|
bl FUN_020196F4
|
|
lsl r0, r5, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #9
|
|
mov r2, #0
|
|
mov r3, #3
|
|
bl FUN_020196F4
|
|
lsl r0, r5, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
mov r2, #0
|
|
mov r3, #5
|
|
bl FUN_020196F4
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_022145F4: .word 0x000004F6
|
|
_022145F8: .word 0x00000516
|
|
_022145FC: .word 0x00000536
|
|
|
|
thumb_func_start MOD07_02214600
|
|
MOD07_02214600: ; 0x02214600
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r0, #0
|
|
ldr r6, [sp, #0x2c]
|
|
add r5, r7, #0
|
|
str r1, [sp, #8]
|
|
add r5, #0x10
|
|
lsl r4, r6, #6
|
|
add r0, r5, r4
|
|
mov r1, #0
|
|
str r2, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
bl FUN_02019620
|
|
add r0, r5, r4
|
|
add r0, #0x10
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r5, r4
|
|
add r0, #0x20
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r5, r4
|
|
add r0, #0x30
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
ldr r0, [sp, #0x28]
|
|
ldr r1, [sp, #8]
|
|
str r0, [sp]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r3, [sp, #0x10]
|
|
add r0, r7, #0
|
|
str r6, [sp, #4]
|
|
bl MOD07_0221428C
|
|
ldr r0, [sp, #0x28]
|
|
ldr r1, [sp, #8]
|
|
str r0, [sp]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r3, [sp, #0x10]
|
|
add r0, r7, #0
|
|
str r6, [sp, #4]
|
|
bl MOD07_0221437C
|
|
ldr r0, [sp, #0x28]
|
|
ldr r1, [sp, #8]
|
|
str r0, [sp]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r3, [sp, #0x10]
|
|
add r0, r7, #0
|
|
str r6, [sp, #4]
|
|
bl MOD07_022143FC
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl MOD07_02214510
|
|
add r0, r5, r4
|
|
bl FUN_02019220
|
|
add r0, r5, r4
|
|
add r0, #0x10
|
|
bl FUN_02019220
|
|
add r0, r5, r4
|
|
add r0, #0x20
|
|
bl FUN_02019220
|
|
add r0, r5, r4
|
|
add r0, #0x30
|
|
bl FUN_02019220
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD07_0221469C
|
|
MOD07_0221469C: ; 0x0221469C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
ldr r3, [r6]
|
|
ldr r2, _0221471C ; =0x00000192
|
|
ldr r3, [r3, #0x24]
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
bl FUN_0200A86C
|
|
ldr r3, [r6]
|
|
str r0, [sp, #0x10]
|
|
ldr r3, [r3, #0x24]
|
|
mov r0, #0xf
|
|
mov r1, #0xe
|
|
mov r2, #0
|
|
bl FUN_0200B870
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, #0x24]
|
|
bl FUN_0200AA80
|
|
ldr r1, [r6]
|
|
str r0, [sp, #8]
|
|
ldr r1, [r1, #0x24]
|
|
mov r0, #0x20
|
|
bl FUN_020219F4
|
|
add r7, r0, #0
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
_022146DC:
|
|
mov r0, #0x86
|
|
lsl r0, r0, #2
|
|
ldrh r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _022146F6
|
|
ldr r1, [sp, #0x10]
|
|
str r7, [sp]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r3, [sp, #8]
|
|
add r0, r6, #0
|
|
str r4, [sp, #4]
|
|
bl MOD07_02214600
|
|
_022146F6:
|
|
add r4, r4, #1
|
|
add r5, #0x18
|
|
cmp r4, #6
|
|
blo _022146DC
|
|
add r0, r7, #0
|
|
bl FUN_02021A20
|
|
ldr r0, [sp, #0x10]
|
|
bl FUN_0200A8B8
|
|
ldr r0, [sp, #0xc]
|
|
bl FUN_0200B990
|
|
ldr r0, [sp, #8]
|
|
bl FUN_0200AB18
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0221471C: .word 0x00000192
|
|
|
|
thumb_func_start MOD07_02214720
|
|
MOD07_02214720: ; 0x02214720
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
beq _022147A4
|
|
bl FUN_02031190
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
add r0, r4, #0
|
|
add r0, #0x2a
|
|
ldrb r0, [r0]
|
|
ldr r1, [r4]
|
|
sub r0, r0, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
bl FUN_02034998
|
|
cmp r0, #1
|
|
bne _0221479C
|
|
mov r0, #1
|
|
add r7, r5, #0
|
|
eor r7, r0
|
|
mov r0, #0x34
|
|
ldr r1, [r4]
|
|
mul r0, r7
|
|
add r0, r1, r0
|
|
add r0, #0x29
|
|
ldrb r0, [r0]
|
|
bl FUN_0206AE00
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #0x24]
|
|
mov r1, #0x10
|
|
bl AllocFromHeap
|
|
add r5, r0, #0
|
|
add r0, r7, #0
|
|
bl FUN_020313CC
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #0x14]
|
|
add r1, r5, #0
|
|
mov r2, #8
|
|
bl FUN_02021EF0
|
|
ldr r1, [sp, #0x10]
|
|
ldr r3, [r4, #0x24]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl FUN_020294B4
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
b _0221493A
|
|
_0221479C:
|
|
bl FUN_02033534
|
|
cmp r0, #4
|
|
bls _022147A6
|
|
_022147A4:
|
|
b _0221494A
|
|
_022147A6:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022147B2: ; jump table
|
|
.short _02214936 - _022147B2 - 2 ; case 0
|
|
.short _022147BC - _022147B2 - 2 ; case 1
|
|
.short _02214808 - _022147B2 - 2 ; case 2
|
|
.short _02214854 - _022147B2 - 2 ; case 3
|
|
.short _022148A0 - _022147B2 - 2 ; case 4
|
|
_022147BC:
|
|
mov r0, #1
|
|
add r7, r5, #0
|
|
eor r7, r0
|
|
mov r0, #0x34
|
|
ldr r1, [r4]
|
|
mul r0, r7
|
|
add r0, r1, r0
|
|
add r0, #0x29
|
|
ldrb r0, [r0]
|
|
bl FUN_0206AE00
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r4, #0x24]
|
|
mov r1, #0x10
|
|
bl AllocFromHeap
|
|
add r5, r0, #0
|
|
add r0, r7, #0
|
|
bl FUN_020313CC
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #0x14]
|
|
add r1, r5, #0
|
|
mov r2, #8
|
|
bl FUN_02021EF0
|
|
ldr r1, [sp, #0x14]
|
|
ldr r3, [r4, #0x24]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl FUN_0202930C
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
b _0221493A
|
|
_02214808:
|
|
mov r0, #1
|
|
add r7, r5, #0
|
|
eor r7, r0
|
|
mov r0, #0x34
|
|
ldr r1, [r4]
|
|
mul r0, r7
|
|
add r0, r1, r0
|
|
add r0, #0x29
|
|
ldrb r0, [r0]
|
|
bl FUN_0206AE00
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r4, #0x24]
|
|
mov r1, #0x10
|
|
bl AllocFromHeap
|
|
add r5, r0, #0
|
|
add r0, r7, #0
|
|
bl FUN_020313CC
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #0x14]
|
|
add r1, r5, #0
|
|
mov r2, #8
|
|
bl FUN_02021EF0
|
|
ldr r1, [sp, #0x18]
|
|
ldr r3, [r4, #0x24]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl FUN_0202934C
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
b _0221493A
|
|
_02214854:
|
|
mov r0, #1
|
|
add r7, r5, #0
|
|
eor r7, r0
|
|
mov r0, #0x34
|
|
ldr r1, [r4]
|
|
mul r0, r7
|
|
add r0, r1, r0
|
|
add r0, #0x29
|
|
ldrb r0, [r0]
|
|
bl FUN_0206AE00
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r4, #0x24]
|
|
mov r1, #0x10
|
|
bl AllocFromHeap
|
|
add r5, r0, #0
|
|
add r0, r7, #0
|
|
bl FUN_020313CC
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #0x14]
|
|
add r1, r5, #0
|
|
mov r2, #8
|
|
bl FUN_02021EF0
|
|
ldr r1, [sp, #0x1c]
|
|
ldr r3, [r4, #0x24]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl FUN_020293EC
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
b _0221493A
|
|
_022148A0:
|
|
ldr r0, [r4, #0x24]
|
|
mov r1, #0x10
|
|
bl AllocFromHeap
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #0x24]
|
|
mov r1, #0x10
|
|
bl AllocFromHeap
|
|
add r7, r0, #0
|
|
bl MOD07_02212BD4
|
|
cmp r0, #1
|
|
ldr r0, [r4]
|
|
bne _022148EA
|
|
add r0, #0x5d
|
|
ldrb r0, [r0]
|
|
bl FUN_0206AE00
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
add r0, #0xc5
|
|
ldrb r0, [r0]
|
|
bl FUN_0206AE00
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x18]
|
|
add r1, r5, #0
|
|
mov r2, #8
|
|
bl FUN_02021EF0
|
|
ldr r0, [r4, #0x20]
|
|
add r1, r7, #0
|
|
mov r2, #8
|
|
bl FUN_02021EF0
|
|
b _02214914
|
|
_022148EA:
|
|
add r0, #0x29
|
|
ldrb r0, [r0]
|
|
bl FUN_0206AE00
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
add r0, #0x91
|
|
ldrb r0, [r0]
|
|
bl FUN_0206AE00
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x14]
|
|
add r1, r5, #0
|
|
mov r2, #8
|
|
bl FUN_02021EF0
|
|
ldr r0, [r4, #0x1c]
|
|
add r1, r7, #0
|
|
mov r2, #8
|
|
bl FUN_02021EF0
|
|
_02214914:
|
|
str r6, [sp]
|
|
ldr r0, [r4, #0x24]
|
|
add r1, r7, #0
|
|
str r0, [sp, #4]
|
|
ldr r2, [sp, #8]
|
|
ldr r3, [sp, #0xc]
|
|
add r0, r5, #0
|
|
bl FUN_0202938C
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
add r0, r7, #0
|
|
bl FreeToHeap
|
|
b _0221493A
|
|
_02214936:
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0221493A:
|
|
mov r0, #0x52
|
|
ldr r1, [r4]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
add r1, r6, #0
|
|
mov r2, #4
|
|
bl FUN_02028AD4
|
|
_0221494A:
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
|
|
.section .rodata
|
|
; 0x02214950
|
|
.byte 0x00, 0x03, 0x06, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0C, 0x10, 0x01, 0x10, 0x07, 0x10, 0x0D
|
|
.byte 0x08, 0x08, 0x00, 0x08, 0x00, 0x08, 0x04, 0x0C, 0x00, 0x0C, 0x00, 0x0C, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x20, 0x21, 0x02, 0x75, 0x21, 0x21, 0x02, 0xF5, 0x2A, 0x21, 0x02, 0x75, 0x21, 0x21, 0x02
|
|
.byte 0x49, 0x2B, 0x21, 0x02, 0x7D, 0x20, 0x21, 0x02, 0x75, 0x21, 0x21, 0x02, 0xAD, 0x21, 0x21, 0x02
|
|
.byte 0x79, 0x23, 0x21, 0x02, 0x8D, 0x25, 0x21, 0x02, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x1E, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x1E, 0x00
|
|
.byte 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x1C, 0x00, 0x01, 0x02, 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, 0x1B, 0x00, 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, 0x1D, 0x04, 0x00, 0x03, 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 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
|
|
.byte 0xFD, 0x20, 0x21, 0x02, 0x75, 0x21, 0x21, 0x02, 0xAD, 0x21, 0x21, 0x02, 0x79, 0x23, 0x21, 0x02
|
|
.byte 0x59, 0x29, 0x21, 0x02, 0x69, 0x29, 0x21, 0x02, 0x75, 0x21, 0x21, 0x02, 0x3D, 0x2A, 0x21, 0x02
|
|
.byte 0x75, 0x21, 0x21, 0x02, 0x49, 0x2B, 0x21, 0x02, 0x1E, 0x10, 0x26, 0x18, 0x2E, 0x18, 0x24, 0x2C
|
|
.byte 0x10, 0x0E, 0x1E, 0x40, 0x26, 0x48, 0x2E, 0x48, 0x24, 0x5C, 0x10, 0x3E, 0x1E, 0x70, 0x26, 0x78
|
|
.byte 0x2E, 0x78, 0x24, 0x8C, 0x10, 0x6E, 0x9E, 0x18, 0xA6, 0x20, 0xAE, 0x20, 0xA4, 0x34, 0x90, 0x16
|
|
.byte 0x9E, 0x48, 0xA6, 0x50, 0xAE, 0x50, 0xA4, 0x64, 0x90, 0x46, 0x9E, 0x78, 0xA6, 0x80, 0xAE, 0x80
|
|
.byte 0xA4, 0x94, 0x90, 0x76, 0xFD, 0x20, 0x21, 0x02, 0x75, 0x21, 0x21, 0x02, 0xAD, 0x21, 0x21, 0x02
|
|
.byte 0x79, 0x23, 0x21, 0x02, 0xB5, 0x26, 0x21, 0x02, 0x75, 0x21, 0x21, 0x02, 0xC5, 0x26, 0x21, 0x02
|
|
.byte 0x05, 0x27, 0x21, 0x02, 0x59, 0x29, 0x21, 0x02, 0x69, 0x29, 0x21, 0x02, 0x75, 0x21, 0x21, 0x02
|
|
.byte 0xFD, 0x29, 0x21, 0x02, 0x75, 0x21, 0x21, 0x02, 0x65, 0x2A, 0x21, 0x02, 0x75, 0x21, 0x21, 0x02
|
|
.byte 0x49, 0x2B, 0x21, 0x02, 0x01, 0x06, 0x01, 0x09, 0x02, 0x00, 0x01, 0x00, 0x01, 0x01, 0x04, 0x05
|
|
.byte 0x02, 0x00, 0x13, 0x00, 0x01, 0x07, 0x04, 0x08, 0x02, 0x00, 0x1D, 0x00, 0x01, 0x08, 0x03, 0x06
|
|
.byte 0x01, 0x03, 0x2D, 0x00, 0x01, 0x06, 0x07, 0x09, 0x02, 0x00, 0x33, 0x00, 0x01, 0x01, 0x0A, 0x05
|
|
.byte 0x02, 0x00, 0x45, 0x00, 0x01, 0x07, 0x0A, 0x08, 0x02, 0x00, 0x4F, 0x00, 0x01, 0x08, 0x09, 0x06
|
|
.byte 0x01, 0x04, 0x5F, 0x00, 0x01, 0x06, 0x0D, 0x09, 0x02, 0x00, 0x65, 0x00, 0x01, 0x01, 0x10, 0x05
|
|
.byte 0x02, 0x00, 0x77, 0x00, 0x01, 0x07, 0x10, 0x08, 0x02, 0x00, 0x81, 0x00, 0x01, 0x08, 0x0F, 0x06
|
|
.byte 0x01, 0x05, 0x91, 0x00, 0x01, 0x16, 0x02, 0x09, 0x02, 0x00, 0x97, 0x00, 0x01, 0x11, 0x05, 0x05
|
|
.byte 0x02, 0x00, 0xA9, 0x00, 0x01, 0x17, 0x05, 0x08, 0x02, 0x00, 0xB3, 0x00, 0x01, 0x18, 0x04, 0x06
|
|
.byte 0x01, 0x06, 0xC3, 0x00, 0x01, 0x16, 0x08, 0x09, 0x02, 0x00, 0xC9, 0x00, 0x01, 0x11, 0x0B, 0x05
|
|
.byte 0x02, 0x00, 0xDB, 0x00, 0x01, 0x17, 0x0B, 0x08, 0x02, 0x00, 0xE5, 0x00, 0x01, 0x18, 0x0A, 0x06
|
|
.byte 0x01, 0x07, 0xF5, 0x00, 0x01, 0x16, 0x0E, 0x09, 0x02, 0x00, 0xFB, 0x00, 0x01, 0x11, 0x11, 0x05
|
|
.byte 0x02, 0x00, 0x0D, 0x01, 0x01, 0x17, 0x11, 0x08, 0x02, 0x00, 0x17, 0x01, 0x01, 0x18, 0x10, 0x06
|
|
.byte 0x01, 0x08, 0x27, 0x01, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
|
|
.byte 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
|
|
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
|
|
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
|
|
.byte 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
|
|
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
|
|
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
|
|
.byte 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
|
|
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00
|
|
.byte 0x07, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x08, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x08, 0xB8, 0x00, 0x00
|
|
.byte 0x08, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0xB8, 0x00, 0x00, 0x07, 0xB8, 0x00, 0x00, 0x08, 0xB8, 0x00, 0x00, 0x08, 0xB8, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00
|
|
.byte 0x08, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00
|
|
.byte 0x0A, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00
|
|
.byte 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xB8, 0x00, 0x00
|
|
.byte 0x0B, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x08, 0xB8, 0x00, 0x00
|
|
.byte 0x09, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00
|
|
.byte 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xB8, 0x00, 0x00
|
|
.byte 0x0A, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00
|
|
.byte 0x0C, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x08, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00
|
|
.byte 0x09, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00
|
|
.byte 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00
|
|
.byte 0x0B, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x11, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00
|
|
.byte 0x0C, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0xB8, 0x00, 0x00, 0x08, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00
|
|
.byte 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00
|
|
.byte 0x0A, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x10, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00
|
|
.byte 0x0B, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xB8, 0x00, 0x00
|
|
.byte 0x08, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00
|
|
.byte 0x0A, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00
|
|
.byte 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xB8, 0x00, 0x00
|
|
.byte 0x0B, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xB8, 0x00, 0x00, 0x08, 0xB8, 0x00, 0x00
|
|
.byte 0x09, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00
|
|
.byte 0x0A, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0xB8, 0x00, 0x00, 0x09, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xB8, 0x00, 0x00
|
|
.byte 0x0A, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xB8, 0x00, 0x00, 0x0B, 0xB8, 0x00, 0x00
|
|
.byte 0x0C, 0xB8, 0x00, 0x00, 0x0C, 0xB8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|