mirror of
https://github.com/pret/pokediamond.git
synced 2026-08-08 11:44:58 -05:00
18420 lines
352 KiB
ArmAsm
18420 lines
352 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
.section .text
|
|
.balign 4, 0
|
|
|
|
thumb_func_start MOD09_02211E60
|
|
MOD09_02211E60: ; 0x02211E60
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldrb r0, [r5, #0x11]
|
|
cmp r0, #5
|
|
bls _02211E6E
|
|
mov r0, #0
|
|
strb r0, [r5, #0x11]
|
|
_02211E6E:
|
|
ldr r0, _02211ED8 ; =MOD09_02211EEC
|
|
ldr r1, _02211EDC ; =0x00002090
|
|
ldr r3, [r5, #0xc]
|
|
mov r2, #0
|
|
bl FUN_020061E8
|
|
bl FUN_0201B6C8
|
|
ldr r2, _02211EDC ; =0x00002090
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
bl memset
|
|
str r5, [r4]
|
|
ldr r0, [r5, #8]
|
|
bl MOD11_0222FF68
|
|
mov r1, #0x79
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r5, #8]
|
|
bl MOD11_022300CC
|
|
mov r1, #0x7a
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, _02211EE0 ; =0x00002078
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
ldrb r1, [r5, #0x11]
|
|
sub r0, r0, #2
|
|
strb r1, [r4, r0]
|
|
ldr r0, [r5, #8]
|
|
bl MOD11_02231238
|
|
ldr r3, _02211EE4 ; =0x00002077
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsl r0, r0, #0x1c
|
|
ldrb r1, [r4, r3]
|
|
mov r2, #0xf0
|
|
lsr r0, r0, #0x18
|
|
bic r1, r2
|
|
orr r0, r1
|
|
strb r0, [r4, r3]
|
|
ldr r0, [r5, #8]
|
|
ldr r1, [r5, #0x28]
|
|
bl MOD11_02230260
|
|
ldr r1, _02211EE8 ; =0x0000208F
|
|
strb r0, [r4, r1]
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02211ED8: .word MOD09_02211EEC
|
|
_02211EDC: .word 0x00002090
|
|
_02211EE0: .word 0x00002078
|
|
_02211EE4: .word 0x00002077
|
|
_02211EE8: .word 0x0000208F
|
|
|
|
thumb_func_start MOD09_02211EEC
|
|
MOD09_02211EEC: ; 0x02211EEC
|
|
push {r4, lr}
|
|
ldr r2, _02212094 ; =0x00002078
|
|
add r4, r1, #0
|
|
ldrb r2, [r4, r2]
|
|
cmp r2, #0x1a
|
|
bls _02211EFA
|
|
b _0221207C
|
|
_02211EFA:
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_02211F06: ; jump table
|
|
.short _02211F3C - _02211F06 - 2 ; case 0
|
|
.short _02211F48 - _02211F06 - 2 ; case 1
|
|
.short _02211F54 - _02211F06 - 2 ; case 2
|
|
.short _02211F60 - _02211F06 - 2 ; case 3
|
|
.short _02211F6C - _02211F06 - 2 ; case 4
|
|
.short _02211F78 - _02211F06 - 2 ; case 5
|
|
.short _02211F84 - _02211F06 - 2 ; case 6
|
|
.short _02211F90 - _02211F06 - 2 ; case 7
|
|
.short _02211F9C - _02211F06 - 2 ; case 8
|
|
.short _02211FA8 - _02211F06 - 2 ; case 9
|
|
.short _02211FB4 - _02211F06 - 2 ; case 10
|
|
.short _02211FC0 - _02211F06 - 2 ; case 11
|
|
.short _02211FCC - _02211F06 - 2 ; case 12
|
|
.short _02211FD8 - _02211F06 - 2 ; case 13
|
|
.short _02211FE4 - _02211F06 - 2 ; case 14
|
|
.short _02211FF0 - _02211F06 - 2 ; case 15
|
|
.short _02211FFC - _02211F06 - 2 ; case 16
|
|
.short _02212008 - _02211F06 - 2 ; case 17
|
|
.short _02212014 - _02211F06 - 2 ; case 18
|
|
.short _02212020 - _02211F06 - 2 ; case 19
|
|
.short _0221202C - _02211F06 - 2 ; case 20
|
|
.short _02212038 - _02211F06 - 2 ; case 21
|
|
.short _02212044 - _02211F06 - 2 ; case 22
|
|
.short _02212050 - _02211F06 - 2 ; case 23
|
|
.short _0221205C - _02211F06 - 2 ; case 24
|
|
.short _02212068 - _02211F06 - 2 ; case 25
|
|
.short _02212074 - _02211F06 - 2 ; case 26
|
|
_02211F3C:
|
|
add r0, r4, #0
|
|
bl MOD09_0221209C
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02211F48:
|
|
add r0, r4, #0
|
|
bl MOD09_022121A0
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02211F54:
|
|
add r0, r4, #0
|
|
bl MOD09_0221236C
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02211F60:
|
|
add r0, r4, #0
|
|
bl MOD09_0221241C
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02211F6C:
|
|
add r0, r4, #0
|
|
bl MOD09_022124DC
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02211F78:
|
|
add r0, r4, #0
|
|
bl MOD09_022125E0
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02211F84:
|
|
add r0, r4, #0
|
|
bl MOD09_0221296C
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02211F90:
|
|
add r0, r4, #0
|
|
bl MOD09_02212978
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02211F9C:
|
|
add r0, r4, #0
|
|
bl MOD09_02212984
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02211FA8:
|
|
add r0, r4, #0
|
|
bl MOD09_02212990
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02211FB4:
|
|
add r0, r4, #0
|
|
bl MOD09_0221299C
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02211FC0:
|
|
add r0, r4, #0
|
|
bl MOD09_022129A8
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02211FCC:
|
|
add r0, r4, #0
|
|
bl MOD09_022129CC
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02211FD8:
|
|
add r0, r4, #0
|
|
bl MOD09_022129F8
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02211FE4:
|
|
add r0, r4, #0
|
|
bl MOD09_02212A1C
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02211FF0:
|
|
add r0, r4, #0
|
|
bl MOD09_02212A5C
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02211FFC:
|
|
add r0, r4, #0
|
|
bl MOD09_02212A74
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02212008:
|
|
add r0, r4, #0
|
|
bl MOD09_02212A88
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02212014:
|
|
add r0, r4, #0
|
|
bl MOD09_02212AA4
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02212020:
|
|
add r0, r4, #0
|
|
bl MOD09_02212658
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_0221202C:
|
|
add r0, r4, #0
|
|
bl MOD09_0221274C
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02212038:
|
|
add r0, r4, #0
|
|
bl MOD09_02212868
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02212044:
|
|
add r0, r4, #0
|
|
bl MOD09_02212ACC
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02212050:
|
|
add r0, r4, #0
|
|
bl MOD09_02212AE4
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_0221205C:
|
|
add r0, r4, #0
|
|
bl MOD09_02212C8C
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02212068:
|
|
add r0, r4, #0
|
|
bl MOD09_02212DB8
|
|
ldr r1, _02212094 ; =0x00002078
|
|
strb r0, [r4, r1]
|
|
b _0221207C
|
|
_02212074:
|
|
bl MOD09_02212DE4
|
|
cmp r0, #1
|
|
beq _02212090
|
|
_0221207C:
|
|
add r0, r4, #0
|
|
bl MOD09_02217580
|
|
ldr r0, _02212098 ; =0x00001FB4
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200BC1C
|
|
add r0, r4, #0
|
|
bl MOD09_02218218
|
|
_02212090:
|
|
pop {r4, pc}
|
|
nop
|
|
_02212094: .word 0x00002078
|
|
_02212098: .word 0x00001FB4
|
|
|
|
thumb_func_start MOD09_0221209C
|
|
MOD09_0221209C: ; 0x0221209C
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, _02212190 ; =0x04001050
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
ldr r0, [r5]
|
|
add r0, #0x35
|
|
ldrb r0, [r0]
|
|
cmp r0, #3
|
|
ldr r0, _02212194 ; =0x0000207A
|
|
bne _022120BC
|
|
mov r1, #6
|
|
strb r1, [r5, r0]
|
|
mov r4, #0x13
|
|
b _022120C0
|
|
_022120BC:
|
|
strb r1, [r5, r0]
|
|
mov r4, #1
|
|
_022120C0:
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #0xc]
|
|
bl MOD09_0221AC04
|
|
ldr r1, _02212198 ; =0x00002088
|
|
str r0, [r5, r1]
|
|
add r0, r5, #0
|
|
bl MOD09_022131C8
|
|
add r0, r5, #0
|
|
bl MOD09_02212E4C
|
|
add r0, r5, #0
|
|
bl MOD09_02212F8C
|
|
add r0, r5, #0
|
|
bl MOD09_02213138
|
|
ldr r1, [r5]
|
|
mov r0, #2
|
|
ldr r1, [r1, #0xc]
|
|
bl FUN_02002C50
|
|
ldr r1, _02212194 ; =0x0000207A
|
|
add r0, r5, #0
|
|
ldrb r1, [r5, r1]
|
|
bl MOD09_02213968
|
|
ldr r1, _02212194 ; =0x0000207A
|
|
add r0, r5, #0
|
|
ldrb r1, [r5, r1]
|
|
bl MOD09_022182E8
|
|
ldr r1, _02212194 ; =0x0000207A
|
|
add r0, r5, #0
|
|
ldrb r1, [r5, r1]
|
|
bl MOD09_02218640
|
|
add r0, r5, #0
|
|
bl MOD09_02216734
|
|
ldr r1, _02212194 ; =0x0000207A
|
|
add r0, r5, #0
|
|
ldrb r1, [r5, r1]
|
|
bl MOD09_02216D80
|
|
add r0, r5, #0
|
|
bl MOD09_02213CB8
|
|
ldr r1, _02212194 ; =0x0000207A
|
|
add r0, r5, #0
|
|
ldrb r1, [r5, r1]
|
|
bl MOD09_02213E28
|
|
ldr r0, [r5]
|
|
add r0, #0x32
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _02212140
|
|
ldr r0, _02212198 ; =0x00002088
|
|
mov r1, #1
|
|
ldr r0, [r5, r0]
|
|
bl MOD09_0221AC2C
|
|
_02212140:
|
|
ldr r0, _02212194 ; =0x0000207A
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _0221215A
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl MOD09_02213BDC
|
|
cmp r0, #1
|
|
bne _0221215A
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
strb r1, [r0, #0x11]
|
|
_0221215A:
|
|
ldr r1, _02212194 ; =0x0000207A
|
|
add r0, r5, #0
|
|
ldrb r1, [r5, r1]
|
|
bl MOD09_02217838
|
|
ldr r1, _02212194 ; =0x0000207A
|
|
add r0, r5, #0
|
|
ldrb r1, [r5, r1]
|
|
bl MOD09_02213710
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
mov r1, #0xa
|
|
add r3, r1, #0
|
|
ldr r0, [r5, r0]
|
|
ldr r2, _0221219C ; =0x0000FFFF
|
|
sub r3, #0x12
|
|
bl FUN_02003210
|
|
add r0, r4, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_02212190: .word 0x04001050
|
|
_02212194: .word 0x0000207A
|
|
_02212198: .word 0x00002088
|
|
_0221219C: .word 0x0000FFFF
|
|
|
|
thumb_func_start MOD09_022121A0
|
|
MOD09_022121A0: ; 0x022121A0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020038E4
|
|
cmp r0, #0
|
|
beq _022121B6
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_022121B6:
|
|
add r0, r4, #0
|
|
bl MOD09_0221347C
|
|
cmp r0, #1
|
|
bne _0221220E
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, #0x11]
|
|
cmp r0, #6
|
|
bne _022121E2
|
|
add r1, #0x35
|
|
ldrb r0, [r1]
|
|
cmp r0, #1
|
|
beq _0221220E
|
|
ldr r0, _02212214 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl MOD09_022181C8
|
|
mov r0, #0x19
|
|
pop {r4, pc}
|
|
_022121E2:
|
|
ldr r0, _02212214 ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
ldrb r1, [r1, #0x11]
|
|
bl MOD09_022181C8
|
|
ldr r0, [r4]
|
|
add r0, #0x35
|
|
ldrb r0, [r0]
|
|
cmp r0, #2
|
|
bne _02212204
|
|
add r0, r4, #0
|
|
bl MOD09_0221221C
|
|
pop {r4, pc}
|
|
_02212204:
|
|
ldr r0, _02212218 ; =0x00002079
|
|
mov r1, #7
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r4, pc}
|
|
_0221220E:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
nop
|
|
_02212214: .word 0x000005DD
|
|
_02212218: .word 0x00002079
|
|
|
|
thumb_func_start MOD09_0221221C
|
|
MOD09_0221221C: ; 0x0221221C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5]
|
|
ldrb r1, [r4, #0x11]
|
|
cmp r1, #0
|
|
bne _0221222E
|
|
ldr r0, [r4, #0x18]
|
|
cmp r0, #0
|
|
bne _02212238
|
|
_0221222E:
|
|
cmp r1, #1
|
|
bne _02212254
|
|
ldr r0, [r4, #0x1c]
|
|
cmp r0, #0
|
|
beq _02212254
|
|
_02212238:
|
|
add r0, r5, #0
|
|
bl MOD09_022166D0
|
|
add r0, r5, #0
|
|
bl MOD09_02216314
|
|
ldr r0, [r5]
|
|
mov r1, #6
|
|
strb r1, [r0, #0x11]
|
|
ldr r0, _02212360 ; =0x00002079
|
|
mov r1, #0x19
|
|
strb r1, [r5, r0]
|
|
mov r0, #0x11
|
|
pop {r3, r4, r5, pc}
|
|
_02212254:
|
|
ldrh r0, [r4, #0x22]
|
|
ldr r2, [r4, #0xc]
|
|
mov r1, #0x24
|
|
bl GetItemAttr
|
|
cmp r0, #0
|
|
beq _0221228A
|
|
ldrh r0, [r4, #0x22]
|
|
ldr r2, [r4, #0xc]
|
|
mov r1, #0x25
|
|
bl GetItemAttr
|
|
cmp r0, #0
|
|
bne _0221228A
|
|
ldrb r1, [r4, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r0, r5, r0
|
|
ldrb r0, [r0, #0x1b]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1f
|
|
bne _0221228A
|
|
ldr r0, _02212360 ; =0x00002079
|
|
mov r1, #0xd
|
|
strb r1, [r5, r0]
|
|
mov r0, #0x16
|
|
pop {r3, r4, r5, pc}
|
|
_0221228A:
|
|
ldrh r0, [r4, #0x22]
|
|
mov r3, #0
|
|
str r0, [sp]
|
|
ldrb r2, [r4, #0x11]
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r4, #0x28]
|
|
add r2, r4, r2
|
|
add r2, #0x2c
|
|
ldrb r2, [r2]
|
|
bl MOD11_02230370
|
|
cmp r0, #1
|
|
bne _0221233A
|
|
ldrh r0, [r4, #0x22]
|
|
ldr r2, [r4, #0xc]
|
|
mov r1, #0x25
|
|
bl GetItemAttr
|
|
cmp r0, #0
|
|
beq _022122BA
|
|
ldr r0, _02212360 ; =0x00002079
|
|
mov r1, #0xd
|
|
strb r1, [r5, r0]
|
|
b _02212330
|
|
_022122BA:
|
|
ldrb r1, [r4, #0x11]
|
|
add r0, r5, #0
|
|
bl MOD09_02213620
|
|
cmp r0, #1
|
|
bne _0221232A
|
|
ldrh r0, [r4, #0x22]
|
|
ldr r2, [r4, #0xc]
|
|
mov r1, #0x17
|
|
bl GetItemAttr
|
|
cmp r0, #0
|
|
bne _0221232A
|
|
add r2, r4, #0
|
|
add r2, #0x33
|
|
ldrh r1, [r4, #0x22]
|
|
ldrb r2, [r2]
|
|
ldr r0, [r4, #8]
|
|
ldr r3, [r4, #0xc]
|
|
bl MOD09_02213C84
|
|
ldrb r2, [r4, #0x11]
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r4, #0x28]
|
|
add r2, r4, r2
|
|
add r2, #0x2c
|
|
ldrb r2, [r2]
|
|
bl MOD11_02230014
|
|
ldrb r2, [r4, #0x11]
|
|
mov r1, #0x50
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
add r2, r5, r3
|
|
str r0, [r2, #4]
|
|
ldrb r0, [r4, #0x11]
|
|
mov r2, #0
|
|
mul r1, r0
|
|
add r0, r5, r1
|
|
ldr r0, [r0, #4]
|
|
mov r1, #0xa2
|
|
bl GetMonData
|
|
strh r0, [r4, #0x20]
|
|
ldrb r1, [r4, #0x11]
|
|
mov r0, #0x50
|
|
ldrh r2, [r4, #0x20]
|
|
mul r0, r1
|
|
add r0, r5, r0
|
|
ldrh r0, [r0, #0x14]
|
|
mov r1, #0x19
|
|
sub r0, r2, r0
|
|
strh r0, [r4, #0x20]
|
|
ldr r0, _02212360 ; =0x00002079
|
|
strb r1, [r5, r0]
|
|
b _02212330
|
|
_0221232A:
|
|
ldr r0, _02212360 ; =0x00002079
|
|
mov r1, #0x17
|
|
strb r1, [r5, r0]
|
|
_02212330:
|
|
ldr r0, _02212364 ; =0x0000207C
|
|
mov r1, #0
|
|
strb r1, [r5, r0]
|
|
mov r0, #0x16
|
|
pop {r3, r4, r5, pc}
|
|
_0221233A:
|
|
ldr r2, _02212368 ; =0x00001FA8
|
|
mov r1, #0x51
|
|
ldr r0, [r5, r2]
|
|
add r2, #8
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
add r0, r5, #0
|
|
bl MOD09_02216314
|
|
ldr r0, [r5]
|
|
mov r1, #6
|
|
strb r1, [r0, #0x11]
|
|
ldr r0, _02212360 ; =0x00002079
|
|
mov r1, #0x19
|
|
strb r1, [r5, r0]
|
|
mov r0, #0x11
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02212360: .word 0x00002079
|
|
_02212364: .word 0x0000207C
|
|
_02212368: .word 0x00001FA8
|
|
|
|
thumb_func_start MOD09_0221236C
|
|
MOD09_0221236C: ; 0x0221236C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD09_022134F4
|
|
cmp r0, #3
|
|
bhi _0221240E
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02212384: ; jump table
|
|
.short _0221238C - _02212384 - 2 ; case 0
|
|
.short _022123B2 - _02212384 - 2 ; case 1
|
|
.short _022123D4 - _02212384 - 2 ; case 2
|
|
.short _022123F6 - _02212384 - 2 ; case 3
|
|
_0221238C:
|
|
ldr r0, _02212414 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
bl MOD09_022181C8
|
|
add r0, r4, #0
|
|
bl MOD09_022139D4
|
|
cmp r0, #1
|
|
bne _022123A8
|
|
mov r0, #0x19
|
|
pop {r4, pc}
|
|
_022123A8:
|
|
ldr r0, _02212418 ; =0x00002079
|
|
mov r1, #0xf
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r4, pc}
|
|
_022123B2:
|
|
add r0, r4, #0
|
|
bl MOD09_02213B7C
|
|
cmp r0, #1
|
|
beq _0221240E
|
|
ldr r0, _02212414 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #8
|
|
bl MOD09_022181C8
|
|
ldr r0, _02212418 ; =0x00002079
|
|
mov r1, #8
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r4, pc}
|
|
_022123D4:
|
|
add r0, r4, #0
|
|
bl MOD09_02213B7C
|
|
cmp r0, #1
|
|
beq _0221240E
|
|
ldr r0, _02212414 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
bl MOD09_022181C8
|
|
ldr r0, _02212418 ; =0x00002079
|
|
mov r1, #9
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r4, pc}
|
|
_022123F6:
|
|
ldr r0, _02212414 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl MOD09_022181C8
|
|
ldr r0, _02212418 ; =0x00002079
|
|
mov r1, #6
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r4, pc}
|
|
_0221240E:
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
nop
|
|
_02212414: .word 0x000005DD
|
|
_02212418: .word 0x00002079
|
|
|
|
thumb_func_start MOD09_0221241C
|
|
MOD09_0221241C: ; 0x0221241C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD09_0221353C
|
|
cmp r0, #3
|
|
bhi _022124CC
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02212434: ; jump table
|
|
.short _0221243C - _02212434 - 2 ; case 0
|
|
.short _0221246A - _02212434 - 2 ; case 1
|
|
.short _02212496 - _02212434 - 2 ; case 2
|
|
.short _022124AE - _02212434 - 2 ; case 3
|
|
_0221243C:
|
|
ldr r1, [r4]
|
|
mov r2, #0
|
|
ldrb r1, [r1, #0x11]
|
|
add r0, r4, #0
|
|
mvn r2, r2
|
|
bl MOD09_02213658
|
|
cmp r0, #0xff
|
|
beq _022124CC
|
|
ldr r1, [r4]
|
|
strb r0, [r1, #0x11]
|
|
ldr r0, _022124D0 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
bl MOD09_022181C8
|
|
ldr r0, _022124D4 ; =0x00002079
|
|
mov r1, #0xe
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r4, pc}
|
|
_0221246A:
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
ldrb r1, [r1, #0x11]
|
|
mov r2, #1
|
|
bl MOD09_02213658
|
|
cmp r0, #0xff
|
|
beq _022124CC
|
|
ldr r1, [r4]
|
|
strb r0, [r1, #0x11]
|
|
ldr r0, _022124D0 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #0xd
|
|
bl MOD09_022181C8
|
|
ldr r0, _022124D4 ; =0x00002079
|
|
mov r1, #0xe
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r4, pc}
|
|
_02212496:
|
|
ldr r0, _022124D0 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #0xb
|
|
bl MOD09_022181C8
|
|
ldr r0, _022124D4 ; =0x00002079
|
|
mov r1, #9
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r4, pc}
|
|
_022124AE:
|
|
ldr r0, _022124D0 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl MOD09_022181C8
|
|
ldr r0, _022124D8 ; =0x0000208C
|
|
mov r1, #1
|
|
strb r1, [r4, r0]
|
|
mov r1, #7
|
|
sub r0, #0x13
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r4, pc}
|
|
_022124CC:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_022124D0: .word 0x000005DD
|
|
_022124D4: .word 0x00002079
|
|
_022124D8: .word 0x0000208C
|
|
|
|
thumb_func_start MOD09_022124DC
|
|
MOD09_022124DC: ; 0x022124DC
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl MOD09_02213584
|
|
add r5, r0, #0
|
|
cmp r5, #7
|
|
bhi _022125CE
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022124F6: ; jump table
|
|
.short _02212506 - _022124F6 - 2 ; case 0
|
|
.short _02212506 - _022124F6 - 2 ; case 1
|
|
.short _02212506 - _022124F6 - 2 ; case 2
|
|
.short _02212506 - _022124F6 - 2 ; case 3
|
|
.short _0221253E - _022124F6 - 2 ; case 4
|
|
.short _0221256C - _022124F6 - 2 ; case 5
|
|
.short _02212598 - _022124F6 - 2 ; case 6
|
|
.short _022125B0 - _022124F6 - 2 ; case 7
|
|
_02212506:
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r1, r4, r0
|
|
lsl r0, r5, #3
|
|
add r0, r1, r0
|
|
ldrh r0, [r0, #0x34]
|
|
cmp r0, #0
|
|
beq _022125CE
|
|
ldr r0, _022125D4 ; =0x000005DD
|
|
bl PlaySE
|
|
add r1, r5, #0
|
|
add r1, #0xe
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD09_022181C8
|
|
ldr r0, [r4]
|
|
mov r1, #0xa
|
|
add r0, #0x34
|
|
strb r5, [r0]
|
|
ldr r0, _022125D8 ; =0x00002079
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r3, r4, r5, pc}
|
|
_0221253E:
|
|
ldr r1, [r4]
|
|
mov r2, #0
|
|
ldrb r1, [r1, #0x11]
|
|
add r0, r4, #0
|
|
mvn r2, r2
|
|
bl MOD09_02213658
|
|
cmp r0, #0xff
|
|
beq _022125CE
|
|
ldr r1, [r4]
|
|
strb r0, [r1, #0x11]
|
|
ldr r0, _022125D4 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
bl MOD09_022181C8
|
|
ldr r0, _022125D8 ; =0x00002079
|
|
mov r1, #0xe
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r3, r4, r5, pc}
|
|
_0221256C:
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
ldrb r1, [r1, #0x11]
|
|
mov r2, #1
|
|
bl MOD09_02213658
|
|
cmp r0, #0xff
|
|
beq _022125CE
|
|
ldr r1, [r4]
|
|
strb r0, [r1, #0x11]
|
|
ldr r0, _022125D4 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #0xd
|
|
bl MOD09_022181C8
|
|
ldr r0, _022125D8 ; =0x00002079
|
|
mov r1, #0xe
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r3, r4, r5, pc}
|
|
_02212598:
|
|
ldr r0, _022125D4 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #9
|
|
bl MOD09_022181C8
|
|
ldr r0, _022125D8 ; =0x00002079
|
|
mov r1, #8
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r3, r4, r5, pc}
|
|
_022125B0:
|
|
ldr r0, _022125D4 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl MOD09_022181C8
|
|
ldr r0, _022125DC ; =0x0000208C
|
|
mov r1, #2
|
|
strb r1, [r4, r0]
|
|
mov r1, #7
|
|
sub r0, #0x13
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r3, r4, r5, pc}
|
|
_022125CE:
|
|
mov r0, #4
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_022125D4: .word 0x000005DD
|
|
_022125D8: .word 0x00002079
|
|
_022125DC: .word 0x0000208C
|
|
|
|
thumb_func_start MOD09_022125E0
|
|
MOD09_022125E0: ; 0x022125E0
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl MOD09_022135CC
|
|
add r5, r0, #0
|
|
cmp r5, #4
|
|
bhi _0221264A
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022125FA: ; jump table
|
|
.short _02212604 - _022125FA - 2 ; case 0
|
|
.short _02212604 - _022125FA - 2 ; case 1
|
|
.short _02212604 - _022125FA - 2 ; case 2
|
|
.short _02212604 - _022125FA - 2 ; case 3
|
|
.short _02212632 - _022125FA - 2 ; case 4
|
|
_02212604:
|
|
ldr r1, [r4]
|
|
add r0, r1, #0
|
|
add r0, #0x34
|
|
ldrb r0, [r0]
|
|
cmp r0, r5
|
|
beq _02212622
|
|
ldrb r1, [r1, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r1, r4, r0
|
|
lsl r0, r5, #3
|
|
add r0, r1, r0
|
|
ldrh r0, [r0, #0x34]
|
|
cmp r0, #0
|
|
beq _0221264A
|
|
_02212622:
|
|
ldr r0, _02212650 ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r0, [r4]
|
|
add r0, #0x34
|
|
strb r5, [r0]
|
|
mov r0, #0xa
|
|
pop {r3, r4, r5, pc}
|
|
_02212632:
|
|
ldr r0, _02212650 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl MOD09_022181C8
|
|
ldr r0, _02212654 ; =0x00002079
|
|
mov r1, #9
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r3, r4, r5, pc}
|
|
_0221264A:
|
|
mov r0, #5
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02212650: .word 0x000005DD
|
|
_02212654: .word 0x00002079
|
|
|
|
thumb_func_start MOD09_02212658
|
|
MOD09_02212658: ; 0x02212658
|
|
push {r3, r4, r5, lr}
|
|
ldr r1, _02212734 ; =0x0221AFD8
|
|
add r4, r0, #0
|
|
bl MOD09_02213614
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _02212682
|
|
ldr r0, _02212738 ; =0x00002088
|
|
ldr r0, [r4, r0]
|
|
bl MOD09_0221AD30
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _02212688
|
|
mov r5, #6
|
|
b _02212688
|
|
_02212682:
|
|
add r0, r4, #0
|
|
bl MOD09_022178E4
|
|
_02212688:
|
|
cmp r5, #6
|
|
bhi _02212730
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02212698: ; jump table
|
|
.short _022126A6 - _02212698 - 2 ; case 0
|
|
.short _022126A6 - _02212698 - 2 ; case 1
|
|
.short _022126A6 - _02212698 - 2 ; case 2
|
|
.short _022126A6 - _02212698 - 2 ; case 3
|
|
.short _022126A6 - _02212698 - 2 ; case 4
|
|
.short _022126D0 - _02212698 - 2 ; case 5
|
|
.short _02212710 - _02212698 - 2 ; case 6
|
|
_022126A6:
|
|
lsl r0, r5, #0x18
|
|
lsr r1, r0, #0x18
|
|
ldr r0, [r4]
|
|
add r0, #0x34
|
|
strb r1, [r0]
|
|
ldr r0, _0221273C ; =0x0000208D
|
|
strb r1, [r4, r0]
|
|
ldr r0, _02212740 ; =0x000005DD
|
|
bl PlaySE
|
|
add r5, #0x17
|
|
lsl r1, r5, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD09_022181C8
|
|
ldr r0, _02212744 ; =0x00002079
|
|
mov r1, #0xc
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r3, r4, r5, pc}
|
|
_022126D0:
|
|
ldr r0, _02212748 ; =0x00002077
|
|
ldrb r3, [r4, r0]
|
|
lsl r1, r3, #0x18
|
|
lsr r1, r1, #0x1c
|
|
beq _02212730
|
|
mov r2, #0xf
|
|
add r1, r3, #0
|
|
bic r1, r2
|
|
lsl r2, r3, #0x1c
|
|
lsr r3, r2, #0x1c
|
|
mov r2, #1
|
|
eor r2, r3
|
|
lsl r2, r2, #0x18
|
|
lsr r3, r2, #0x18
|
|
mov r2, #0xf
|
|
and r2, r3
|
|
orr r1, r2
|
|
strb r1, [r4, r0]
|
|
add r0, #0x16
|
|
strb r5, [r4, r0]
|
|
ldr r0, _02212740 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #0x12
|
|
bl MOD09_022181C8
|
|
ldr r0, _02212744 ; =0x00002079
|
|
mov r1, #0xb
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r3, r4, r5, pc}
|
|
_02212710:
|
|
ldr r0, [r4]
|
|
mov r1, #4
|
|
add r0, #0x34
|
|
strb r1, [r0]
|
|
ldr r0, _02212740 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl MOD09_022181C8
|
|
ldr r0, _02212744 ; =0x00002079
|
|
mov r1, #0x19
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x16
|
|
pop {r3, r4, r5, pc}
|
|
_02212730:
|
|
mov r0, #0x13
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02212734: .word MOD9_0221AFD8
|
|
_02212738: .word 0x00002088
|
|
_0221273C: .word 0x0000208D
|
|
_02212740: .word 0x000005DD
|
|
_02212744: .word 0x00002079
|
|
_02212748: .word 0x00002077
|
|
|
|
thumb_func_start MOD09_0221274C
|
|
MOD09_0221274C: ; 0x0221274C
|
|
push {r3, r4, r5, lr}
|
|
ldr r1, _02212850 ; =0x0221AEE0
|
|
add r5, r0, #0
|
|
bl MOD09_02213614
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _02212776
|
|
ldr r0, _02212854 ; =0x00002088
|
|
ldr r0, [r5, r0]
|
|
bl MOD09_0221AD30
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _0221277C
|
|
mov r4, #2
|
|
b _0221277C
|
|
_02212776:
|
|
add r0, r5, #0
|
|
bl MOD09_022178E4
|
|
_0221277C:
|
|
cmp r4, #0
|
|
beq _0221278A
|
|
cmp r4, #1
|
|
beq _022127E6
|
|
cmp r4, #2
|
|
beq _0221282C
|
|
b _0221284A
|
|
_0221278A:
|
|
ldr r0, _02212858 ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r0, _0221285C ; =0x00002077
|
|
ldrb r0, [r5, r0]
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1c
|
|
bne _022127A4
|
|
add r0, r5, #0
|
|
mov r1, #0x1c
|
|
bl MOD09_022181C8
|
|
b _022127AC
|
|
_022127A4:
|
|
add r0, r5, #0
|
|
mov r1, #0x1d
|
|
bl MOD09_022181C8
|
|
_022127AC:
|
|
add r0, r5, #0
|
|
bl MOD09_02213C0C
|
|
cmp r0, #1
|
|
bne _022127DC
|
|
add r0, r5, #0
|
|
bl MOD09_0221534C
|
|
ldr r0, _0221285C ; =0x00002077
|
|
ldrb r0, [r5, r0]
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1c
|
|
bne _022127CE
|
|
add r0, r5, #0
|
|
bl MOD09_02213C34
|
|
b _022127D4
|
|
_022127CE:
|
|
add r0, r5, #0
|
|
bl MOD09_02213C6C
|
|
_022127D4:
|
|
ldr r0, _02212860 ; =0x00002079
|
|
mov r1, #0x14
|
|
strb r1, [r5, r0]
|
|
b _022127E2
|
|
_022127DC:
|
|
ldr r0, _02212860 ; =0x00002079
|
|
mov r1, #0x19
|
|
strb r1, [r5, r0]
|
|
_022127E2:
|
|
mov r0, #0x16
|
|
pop {r3, r4, r5, pc}
|
|
_022127E6:
|
|
ldr r0, _0221285C ; =0x00002077
|
|
ldrb r0, [r5, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
beq _0221284A
|
|
ldr r0, _02212858 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
mov r1, #0x12
|
|
bl MOD09_022181C8
|
|
ldr r2, _0221285C ; =0x00002077
|
|
mov r1, #0xf
|
|
ldrb r3, [r5, r2]
|
|
add r0, r3, #0
|
|
bic r0, r1
|
|
lsl r1, r3, #0x1c
|
|
lsr r3, r1, #0x1c
|
|
mov r1, #1
|
|
eor r1, r3
|
|
lsl r1, r1, #0x18
|
|
lsr r3, r1, #0x18
|
|
mov r1, #0xf
|
|
and r1, r3
|
|
orr r0, r1
|
|
strb r0, [r5, r2]
|
|
add r0, r2, #0
|
|
add r0, #0x17
|
|
strb r4, [r5, r0]
|
|
mov r1, #0xc
|
|
add r0, r2, #2
|
|
strb r1, [r5, r0]
|
|
mov r0, #0x16
|
|
pop {r3, r4, r5, pc}
|
|
_0221282C:
|
|
ldr r0, _02212858 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
mov r1, #6
|
|
bl MOD09_022181C8
|
|
ldr r0, _02212864 ; =0x0000208E
|
|
mov r1, #0
|
|
strb r1, [r5, r0]
|
|
mov r1, #0xb
|
|
sub r0, #0x15
|
|
strb r1, [r5, r0]
|
|
mov r0, #0x16
|
|
pop {r3, r4, r5, pc}
|
|
_0221284A:
|
|
mov r0, #0x14
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02212850: .word MOD9_0221AEE0
|
|
_02212854: .word 0x00002088
|
|
_02212858: .word 0x000005DD
|
|
_0221285C: .word 0x00002077
|
|
_02212860: .word 0x00002079
|
|
_02212864: .word 0x0000208E
|
|
|
|
thumb_func_start MOD09_02212868
|
|
MOD09_02212868: ; 0x02212868
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
ldr r1, _02212954 ; =0x0221AF30
|
|
add r4, r0, #0
|
|
ldr r6, [r4]
|
|
bl MOD09_02213614
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _02212896
|
|
ldr r0, _02212958 ; =0x00002088
|
|
ldr r0, [r4, r0]
|
|
bl MOD09_0221AD30
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _0221289C
|
|
mov r5, #4
|
|
b _0221289C
|
|
_02212896:
|
|
add r0, r4, #0
|
|
bl MOD09_022178E4
|
|
_0221289C:
|
|
cmp r5, #4
|
|
bhi _0221294E
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022128AC: ; jump table
|
|
.short _022128B6 - _022128AC - 2 ; case 0
|
|
.short _022128B6 - _022128AC - 2 ; case 1
|
|
.short _022128B6 - _022128AC - 2 ; case 2
|
|
.short _022128B6 - _022128AC - 2 ; case 3
|
|
.short _02212934 - _022128AC - 2 ; case 4
|
|
_022128B6:
|
|
ldrb r1, [r6, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r1, r4, r0
|
|
lsl r0, r5, #3
|
|
add r0, r1, r0
|
|
ldrh r0, [r0, #0x34]
|
|
cmp r0, #0
|
|
beq _0221294E
|
|
ldr r0, [r4]
|
|
add r0, #0x34
|
|
strb r5, [r0]
|
|
ldr r0, _0221295C ; =0x000005DD
|
|
bl PlaySE
|
|
add r1, r5, #0
|
|
add r1, #0x13
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD09_022181C8
|
|
ldrh r0, [r6, #0x22]
|
|
add r3, r5, #0
|
|
str r0, [sp]
|
|
ldrb r2, [r6, #0x11]
|
|
ldr r0, [r6, #8]
|
|
ldr r1, [r6, #0x28]
|
|
add r2, r6, r2
|
|
add r2, #0x2c
|
|
ldrb r2, [r2]
|
|
bl MOD11_02230370
|
|
cmp r0, #1
|
|
bne _0221290E
|
|
ldr r0, _02212960 ; =0x0000207C
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
mov r1, #0x17
|
|
sub r0, r0, #3
|
|
strb r1, [r4, r0]
|
|
add sp, #4
|
|
mov r0, #0x16
|
|
pop {r3, r4, r5, r6, pc}
|
|
_0221290E:
|
|
ldr r2, _02212964 ; =0x00001FA8
|
|
mov r1, #0x51
|
|
ldr r0, [r4, r2]
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
bl ReadMsgDataIntoString
|
|
add r0, r4, #0
|
|
bl MOD09_02216314
|
|
ldr r0, [r4]
|
|
mov r1, #6
|
|
strb r1, [r0, #0x11]
|
|
ldr r0, _02212968 ; =0x00002079
|
|
mov r1, #0x19
|
|
strb r1, [r4, r0]
|
|
add sp, #4
|
|
mov r0, #0x11
|
|
pop {r3, r4, r5, r6, pc}
|
|
_02212934:
|
|
ldr r0, _0221295C ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl MOD09_022181C8
|
|
ldr r0, _02212968 ; =0x00002079
|
|
mov r1, #6
|
|
strb r1, [r4, r0]
|
|
add sp, #4
|
|
mov r0, #0x16
|
|
pop {r3, r4, r5, r6, pc}
|
|
_0221294E:
|
|
mov r0, #0x15
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02212954: .word MOD9_0221AF30
|
|
_02212958: .word 0x00002088
|
|
_0221295C: .word 0x000005DD
|
|
_02212960: .word 0x0000207C
|
|
_02212964: .word 0x00001FA8
|
|
_02212968: .word 0x00002079
|
|
|
|
thumb_func_start MOD09_0221296C
|
|
MOD09_0221296C: ; 0x0221296C
|
|
push {r3, lr}
|
|
mov r1, #0
|
|
bl MOD09_022138F0
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start MOD09_02212978
|
|
MOD09_02212978: ; 0x02212978
|
|
push {r3, lr}
|
|
mov r1, #1
|
|
bl MOD09_022138F0
|
|
mov r0, #2
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start MOD09_02212984
|
|
MOD09_02212984: ; 0x02212984
|
|
push {r3, lr}
|
|
mov r1, #2
|
|
bl MOD09_022138F0
|
|
mov r0, #3
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start MOD09_02212990
|
|
MOD09_02212990: ; 0x02212990
|
|
push {r3, lr}
|
|
mov r1, #3
|
|
bl MOD09_022138F0
|
|
mov r0, #4
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start MOD09_0221299C
|
|
MOD09_0221299C: ; 0x0221299C
|
|
push {r3, lr}
|
|
mov r1, #4
|
|
bl MOD09_022138F0
|
|
mov r0, #5
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start MOD09_022129A8
|
|
MOD09_022129A8: ; 0x022129A8
|
|
push {r3, lr}
|
|
ldr r1, _022129C8 ; =0x00002077
|
|
ldrb r1, [r0, r1]
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x1c
|
|
bne _022129BC
|
|
mov r1, #6
|
|
bl MOD09_022138F0
|
|
b _022129C2
|
|
_022129BC:
|
|
mov r1, #8
|
|
bl MOD09_022138F0
|
|
_022129C2:
|
|
mov r0, #0x13
|
|
pop {r3, pc}
|
|
nop
|
|
_022129C8: .word 0x00002077
|
|
|
|
thumb_func_start MOD09_022129CC
|
|
MOD09_022129CC: ; 0x022129CC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD09_022174EC
|
|
ldr r0, _022129F4 ; =0x00002077
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1c
|
|
bne _022129E8
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
bl MOD09_022138F0
|
|
b _022129F0
|
|
_022129E8:
|
|
add r0, r4, #0
|
|
mov r1, #9
|
|
bl MOD09_022138F0
|
|
_022129F0:
|
|
mov r0, #0x14
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_022129F4: .word 0x00002077
|
|
|
|
thumb_func_start MOD09_022129F8
|
|
MOD09_022129F8: ; 0x022129F8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #5
|
|
bl MOD09_022138F0
|
|
ldr r2, [r4]
|
|
mov r1, #0x25
|
|
ldrh r0, [r2, #0x22]
|
|
ldr r2, [r2, #0xc]
|
|
bl GetItemAttr
|
|
cmp r0, #0
|
|
beq _02212A16
|
|
mov r0, #0x18
|
|
pop {r4, pc}
|
|
_02212A16:
|
|
mov r0, #0x15
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02212A1C
|
|
MOD09_02212A1C: ; 0x02212A1C
|
|
push {r4, lr}
|
|
ldr r1, _02212A58 ; =0x0000207A
|
|
add r4, r0, #0
|
|
ldrb r1, [r4, r1]
|
|
bl MOD09_02216D80
|
|
ldr r1, _02212A58 ; =0x0000207A
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
bl MOD09_02213E28
|
|
ldr r1, _02212A58 ; =0x0000207A
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
bl MOD09_022182E8
|
|
ldr r1, _02212A58 ; =0x0000207A
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
bl MOD09_02213710
|
|
ldr r0, _02212A58 ; =0x0000207A
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #2
|
|
bne _02212A52
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
_02212A52:
|
|
mov r0, #4
|
|
pop {r4, pc}
|
|
nop
|
|
_02212A58: .word 0x0000207A
|
|
|
|
thumb_func_start MOD09_02212A5C
|
|
MOD09_02212A5C: ; 0x02212A5C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD09_02216314
|
|
ldr r0, _02212A70 ; =0x00002079
|
|
mov r1, #0x10
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x11
|
|
pop {r4, pc}
|
|
nop
|
|
_02212A70: .word 0x00002079
|
|
|
|
thumb_func_start MOD09_02212A74
|
|
MOD09_02212A74: ; 0x02212A74
|
|
push {r3, lr}
|
|
ldr r1, _02212A84 ; =0x00002060
|
|
add r0, r0, r1
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
mov r0, #2
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_02212A84: .word 0x00002060
|
|
|
|
thumb_func_start MOD09_02212A88
|
|
MOD09_02212A88: ; 0x02212A88
|
|
push {r3, lr}
|
|
ldr r1, _02212AA0 ; =0x0000207B
|
|
ldrb r0, [r0, r1]
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02212A9A
|
|
mov r0, #0x12
|
|
pop {r3, pc}
|
|
_02212A9A:
|
|
mov r0, #0x11
|
|
pop {r3, pc}
|
|
nop
|
|
_02212AA0: .word 0x0000207B
|
|
|
|
thumb_func_start MOD09_02212AA4
|
|
MOD09_02212AA4: ; 0x02212AA4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02212AC4 ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
bne _02212ABA
|
|
bl FUN_02020AA4
|
|
cmp r0, #1
|
|
bne _02212AC0
|
|
_02212ABA:
|
|
ldr r0, _02212AC8 ; =0x00002079
|
|
ldrb r0, [r4, r0]
|
|
pop {r4, pc}
|
|
_02212AC0:
|
|
mov r0, #0x12
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02212AC4: .word gMain
|
|
_02212AC8: .word 0x00002079
|
|
|
|
thumb_func_start MOD09_02212ACC
|
|
MOD09_02212ACC: ; 0x02212ACC
|
|
ldr r1, _02212AE0 ; =0x00001FA3
|
|
ldrb r2, [r0, r1]
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x1f
|
|
bne _02212ADC
|
|
add r1, #0xd6
|
|
ldrb r0, [r0, r1]
|
|
bx lr
|
|
_02212ADC:
|
|
mov r0, #0x16
|
|
bx lr
|
|
.align 2, 0
|
|
_02212AE0: .word 0x00001FA3
|
|
|
|
thumb_func_start MOD09_02212AE4
|
|
MOD09_02212AE4: ; 0x02212AE4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r7, _02212C7C ; =0x0000207C
|
|
add r4, r0, #0
|
|
ldrb r1, [r4, r7]
|
|
ldr r5, [r4]
|
|
cmp r1, #4
|
|
bls _02212AF4
|
|
b _02212C78
|
|
_02212AF4:
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02212B00: ; jump table
|
|
.short _02212B0A - _02212B00 - 2 ; case 0
|
|
.short _02212BCE - _02212B00 - 2 ; case 1
|
|
.short _02212BF6 - _02212B00 - 2 ; case 2
|
|
.short _02212C2E - _02212B00 - 2 ; case 3
|
|
.short _02212C4E - _02212B00 - 2 ; case 4
|
|
_02212B0A:
|
|
ldrb r2, [r5, #0x11]
|
|
ldr r0, [r5, #8]
|
|
ldr r1, [r5, #0x28]
|
|
add r2, r5, r2
|
|
add r2, #0x2c
|
|
ldrb r2, [r2]
|
|
bl MOD11_02230014
|
|
ldrb r2, [r5, #0x11]
|
|
mov r1, #0x50
|
|
mul r1, r2
|
|
add r1, r4, r1
|
|
str r0, [r1, #4]
|
|
add r0, r4, #0
|
|
bl MOD09_02216378
|
|
sub r0, r7, #2
|
|
ldrb r0, [r4, r0]
|
|
ldrb r1, [r5, #0x11]
|
|
cmp r0, #5
|
|
bne _02212B54
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r5, #0x34
|
|
ldrb r1, [r5]
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #4]
|
|
add r1, #0x3a
|
|
mov r2, #0
|
|
bl GetMonData
|
|
add r1, r7, #4
|
|
strh r0, [r4, r1]
|
|
mov r2, #2
|
|
sub r0, r1, #4
|
|
strb r2, [r4, r0]
|
|
b _02212BC6
|
|
_02212B54:
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #4]
|
|
bl FUN_0207C2D4
|
|
add r6, r0, #0
|
|
ldrb r0, [r5, #0x11]
|
|
add r3, r4, #0
|
|
mov r7, #0x50
|
|
add r2, r0, #0
|
|
add r3, #0x1b
|
|
mul r2, r7
|
|
ldrb r1, [r3, r2]
|
|
mov r0, #0x78
|
|
bic r1, r0
|
|
lsl r0, r6, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x19
|
|
orr r0, r1
|
|
strb r0, [r3, r2]
|
|
ldrb r0, [r5, #0x11]
|
|
add r1, r0, #0
|
|
mul r1, r7
|
|
add r1, r4, r1
|
|
ldrb r1, [r1, #0x1b]
|
|
lsl r1, r1, #0x19
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, #7
|
|
bne _02212BAA
|
|
add r0, #0xd
|
|
lsl r0, r0, #2
|
|
add r1, r4, r0
|
|
ldr r0, _02212C80 ; =0x00001FB8
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
ldrb r1, [r5, #0x11]
|
|
add r0, r4, #0
|
|
bl MOD09_022156DC
|
|
_02212BAA:
|
|
ldrb r1, [r5, #0x11]
|
|
mov r0, #0x50
|
|
mov r2, #0
|
|
mul r0, r1
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #4]
|
|
mov r1, #0xa2
|
|
bl GetMonData
|
|
ldr r1, _02212C84 ; =0x0000207E
|
|
mov r2, #4
|
|
strh r0, [r4, r1]
|
|
sub r0, r1, #2
|
|
strb r2, [r4, r0]
|
|
_02212BC6:
|
|
ldr r0, _02212C88 ; =0x000005EC
|
|
bl PlaySE
|
|
b _02212C78
|
|
_02212BCE:
|
|
ldrb r1, [r5, #0x11]
|
|
add r6, r4, #0
|
|
mov r2, #0x50
|
|
add r3, r1, #0
|
|
add r6, #0x14
|
|
mul r3, r2
|
|
add r1, r7, #2
|
|
ldrh r2, [r4, r1]
|
|
ldrh r1, [r6, r3]
|
|
cmp r2, r1
|
|
beq _02212BF0
|
|
add r1, r1, #1
|
|
strh r1, [r6, r3]
|
|
ldrb r1, [r5, #0x11]
|
|
bl MOD09_0221567C
|
|
b _02212C78
|
|
_02212BF0:
|
|
mov r0, #3
|
|
strb r0, [r4, r7]
|
|
b _02212C78
|
|
_02212BF6:
|
|
ldrb r3, [r5, #0x11]
|
|
add r1, r4, #0
|
|
mov r2, #0x50
|
|
add r1, #0x36
|
|
mul r2, r3
|
|
add r6, r1, r2
|
|
add r1, r5, #0
|
|
add r1, #0x34
|
|
ldrb r1, [r1]
|
|
lsl r3, r1, #3
|
|
add r1, r7, #4
|
|
ldrh r2, [r4, r1]
|
|
ldrb r1, [r6, r3]
|
|
cmp r2, r1
|
|
beq _02212C28
|
|
add r1, r1, #1
|
|
strb r1, [r6, r3]
|
|
add r5, #0x34
|
|
ldrb r2, [r5]
|
|
add r1, r2, #1
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
bl MOD09_02216190
|
|
b _02212C78
|
|
_02212C28:
|
|
mov r0, #3
|
|
strb r0, [r4, r7]
|
|
b _02212C78
|
|
_02212C2E:
|
|
add r2, r5, #0
|
|
add r2, #0x33
|
|
ldrh r1, [r5, #0x22]
|
|
ldrb r2, [r2]
|
|
ldr r0, [r5, #8]
|
|
ldr r3, [r5, #0xc]
|
|
bl MOD09_02213C84
|
|
add r0, r4, #0
|
|
bl MOD09_02216314
|
|
mov r1, #0x19
|
|
sub r0, r7, #3
|
|
strb r1, [r4, r0]
|
|
mov r0, #0x11
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02212C4E:
|
|
ldrb r1, [r5, #0x11]
|
|
add r3, r4, #0
|
|
mov r2, #0x50
|
|
mul r2, r1
|
|
add r1, r7, #2
|
|
add r3, #0x14
|
|
ldrh r6, [r4, r1]
|
|
ldrh r1, [r3, r2]
|
|
cmp r6, r1
|
|
beq _02212C72
|
|
add r1, r1, #1
|
|
strh r1, [r3, r2]
|
|
ldrb r1, [r5, #0x11]
|
|
bl MOD09_0221567C
|
|
add r0, r4, #0
|
|
bl MOD09_022186C0
|
|
_02212C72:
|
|
ldr r0, _02212C7C ; =0x0000207C
|
|
mov r1, #1
|
|
strb r1, [r4, r0]
|
|
_02212C78:
|
|
mov r0, #0x17
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02212C7C: .word 0x0000207C
|
|
_02212C80: .word 0x00001FB8
|
|
_02212C84: .word 0x0000207E
|
|
_02212C88: .word 0x000005EC
|
|
|
|
thumb_func_start MOD09_02212C8C
|
|
MOD09_02212C8C: ; 0x02212C8C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02212DAC ; =0x0000207C
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _02212CA8
|
|
cmp r0, #1
|
|
beq _02212D12
|
|
cmp r0, #2
|
|
beq _02212D7C
|
|
b _02212DA4
|
|
_02212CA8:
|
|
ldr r2, [sp, #4]
|
|
ldr r0, [sp, #4]
|
|
ldrb r3, [r2, #0x11]
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [r0, #8]
|
|
add r2, r2, r3
|
|
add r2, #0x2c
|
|
ldrb r2, [r2]
|
|
ldr r1, [r1, #0x28]
|
|
bl MOD11_02230014
|
|
ldr r1, [sp, #4]
|
|
mov r7, #0
|
|
ldrb r2, [r1, #0x11]
|
|
mov r1, #0x50
|
|
add r6, r7, #0
|
|
mul r1, r2
|
|
add r1, r5, r1
|
|
str r0, [r1, #4]
|
|
add r4, r5, #0
|
|
_02212CD0:
|
|
ldr r0, [sp, #4]
|
|
ldrb r1, [r0, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r1, r5, r0
|
|
add r0, r1, r6
|
|
ldrh r0, [r0, #0x34]
|
|
cmp r0, #0
|
|
beq _02212CF4
|
|
ldr r0, [r1, #4]
|
|
add r1, r7, #0
|
|
add r1, #0x3a
|
|
mov r2, #0
|
|
bl GetMonData
|
|
mov r1, #0x82
|
|
lsl r1, r1, #6
|
|
strh r0, [r4, r1]
|
|
_02212CF4:
|
|
add r7, r7, #1
|
|
add r6, #8
|
|
add r4, r4, #2
|
|
cmp r7, #4
|
|
blo _02212CD0
|
|
add r0, r5, #0
|
|
bl MOD09_02216378
|
|
ldr r0, _02212DB0 ; =0x000005EC
|
|
bl PlaySE
|
|
ldr r0, _02212DAC ; =0x0000207C
|
|
mov r1, #1
|
|
strb r1, [r5, r0]
|
|
b _02212DA4
|
|
_02212D12:
|
|
mov r6, #0
|
|
add r4, r6, #0
|
|
str r6, [sp]
|
|
add r7, r5, #0
|
|
_02212D1A:
|
|
ldr r0, [sp, #4]
|
|
ldrb r1, [r0, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r1, r5, r0
|
|
ldr r0, [sp]
|
|
add r1, r1, r0
|
|
ldrh r0, [r1, #0x34]
|
|
cmp r0, #0
|
|
bne _02212D32
|
|
add r6, r6, #1
|
|
b _02212D62
|
|
_02212D32:
|
|
mov r0, #0x82
|
|
add r2, r1, #0
|
|
lsl r0, r0, #6
|
|
add r2, #0x36
|
|
ldrh r0, [r7, r0]
|
|
ldrb r2, [r2]
|
|
cmp r0, r2
|
|
beq _02212D60
|
|
add r0, r1, #0
|
|
add r0, #0x36
|
|
ldrb r0, [r0]
|
|
lsl r2, r4, #0x10
|
|
add r1, #0x36
|
|
add r0, r0, #1
|
|
strb r0, [r1]
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x10
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x10
|
|
lsr r2, r2, #0x10
|
|
bl MOD09_02216190
|
|
b _02212D62
|
|
_02212D60:
|
|
add r6, r6, #1
|
|
_02212D62:
|
|
ldr r0, [sp]
|
|
add r4, r4, #1
|
|
add r0, #8
|
|
add r7, r7, #2
|
|
str r0, [sp]
|
|
cmp r4, #4
|
|
blo _02212D1A
|
|
cmp r6, #4
|
|
bne _02212DA4
|
|
ldr r0, _02212DAC ; =0x0000207C
|
|
mov r1, #2
|
|
strb r1, [r5, r0]
|
|
b _02212DA4
|
|
_02212D7C:
|
|
ldr r2, [sp, #4]
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [sp, #4]
|
|
add r2, #0x33
|
|
ldr r3, [sp, #4]
|
|
ldrh r1, [r1, #0x22]
|
|
ldrb r2, [r2]
|
|
ldr r0, [r0, #8]
|
|
ldr r3, [r3, #0xc]
|
|
bl MOD09_02213C84
|
|
add r0, r5, #0
|
|
bl MOD09_02216314
|
|
ldr r0, _02212DB4 ; =0x00002079
|
|
mov r1, #0x19
|
|
strb r1, [r5, r0]
|
|
add sp, #8
|
|
mov r0, #0x11
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02212DA4:
|
|
mov r0, #0x18
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02212DAC: .word 0x0000207C
|
|
_02212DB0: .word 0x000005EC
|
|
_02212DB4: .word 0x00002079
|
|
|
|
thumb_func_start MOD09_02212DB8
|
|
MOD09_02212DB8: ; 0x02212DB8
|
|
push {lr}
|
|
sub sp, #0xc
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r1, #0x10
|
|
str r1, [sp, #4]
|
|
mov r1, #0x7a
|
|
str r2, [sp, #8]
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0xa
|
|
add r3, r1, #0
|
|
ldr r2, _02212DE0 ; =0x0000FFFF
|
|
sub r3, #0x12
|
|
bl FUN_02003210
|
|
mov r0, #0x1a
|
|
add sp, #0xc
|
|
pop {pc}
|
|
nop
|
|
_02212DE0: .word 0x0000FFFF
|
|
|
|
thumb_func_start MOD09_02212DE4
|
|
MOD09_02212DE4: ; 0x02212DE4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x7a
|
|
add r4, r1, #0
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020038E4
|
|
cmp r0, #0
|
|
beq _02212DFC
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02212DFC:
|
|
add r0, r4, #0
|
|
bl MOD09_02213190
|
|
add r0, r4, #0
|
|
bl MOD09_02216B74
|
|
add r0, r4, #0
|
|
bl MOD09_02213DF8
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl MOD09_02212F5C
|
|
ldr r0, _02212E48 ; =0x00002088
|
|
ldr r0, [r4, r0]
|
|
bl MOD09_0221AC28
|
|
ldr r1, [r4]
|
|
add r1, #0x32
|
|
strb r0, [r1]
|
|
ldr r0, _02212E48 ; =0x00002088
|
|
ldr r0, [r4, r0]
|
|
bl MOD09_0221AC1C
|
|
mov r0, #2
|
|
bl FUN_02002CF8
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
add r0, #0x36
|
|
strb r1, [r0]
|
|
add r0, r5, #0
|
|
bl FUN_0200621C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02212E48: .word 0x00002088
|
|
|
|
thumb_func_start MOD09_02212E4C
|
|
MOD09_02212E4C: ; 0x02212E4C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x80
|
|
ldr r5, _02212F48 ; =0x0221AED0
|
|
add r3, sp, #0x70
|
|
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
|
|
mov r1, #1
|
|
bl SetScreenModeAndDisable
|
|
ldr r5, _02212F4C ; =0x0221AF48
|
|
add r3, sp, #0x54
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #7
|
|
str r0, [r3]
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
ldr r5, _02212F50 ; =0x0221AF80
|
|
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, #6
|
|
str r0, [r3]
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
ldr r5, _02212F54 ; =0x0221AF9C
|
|
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, #5
|
|
str r0, [r3]
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #5
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r5, _02212F58 ; =0x0221AF64
|
|
add r3, sp, #0
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #4
|
|
str r0, [r3]
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #4
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r3, [r4]
|
|
mov r0, #5
|
|
ldr r3, [r3, #0xc]
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl BG_ClearCharDataRange
|
|
ldr r3, [r4]
|
|
mov r0, #4
|
|
ldr r3, [r3, #0xc]
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl BG_ClearCharDataRange
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #5
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #4
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x80
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02212F48: .word MOD9_0221AED0
|
|
_02212F4C: .word MOD9_0221AF48
|
|
_02212F50: .word MOD9_0221AF80
|
|
_02212F54: .word MOD9_0221AF9C
|
|
_02212F58: .word MOD9_0221AF64
|
|
|
|
thumb_func_start MOD09_02212F5C
|
|
MOD09_02212F5C: ; 0x02212F5C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x1f
|
|
mov r1, #0
|
|
bl GX_EngineBToggleLayers
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FreeBgTilemapBuffer
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
bl FreeBgTilemapBuffer
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl FreeBgTilemapBuffer
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
bl FreeBgTilemapBuffer
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02212F8C
|
|
MOD09_02212F8C: ; 0x02212F8C
|
|
push {r3, r4, r5, r6, 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 r2, #0x79
|
|
ldr r0, [r0, #0xc]
|
|
lsl r2, r2, #2
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, r2]
|
|
mov r0, #0x48
|
|
mov r1, #0x16
|
|
mov r3, #7
|
|
bl GfGfxLoader_LoadCharData
|
|
ldr r2, [r5]
|
|
mov r0, #0x48
|
|
ldr r2, [r2, #0xc]
|
|
mov r1, #0x14
|
|
bl AllocAndReadWholeNarcMemberByIdPair
|
|
add r1, sp, #0x10
|
|
add r4, r0, #0
|
|
bl NNS_G2dGetUnpackedScreenData
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r1, #0xc
|
|
bl MOD09_0221790C
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
ldr r2, [r5]
|
|
mov r0, #0x48
|
|
ldr r2, [r2, #0xc]
|
|
mov r1, #0x15
|
|
bl AllocAndReadWholeNarcMemberByIdPair
|
|
add r1, sp, #0x10
|
|
add r4, r0, #0
|
|
bl NNS_G2dGetUnpackedScreenData
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r1, #0xc
|
|
bl MOD09_02217C38
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
lsl r0, r0, #9
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0x7a
|
|
ldr r3, [r5]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r3, [r3, #0xc]
|
|
mov r1, #0x48
|
|
mov r2, #0x17
|
|
bl PaletteData_LoadNarc
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl PaletteData_GetUnfadedBuf
|
|
add r2, r0, #0
|
|
ldr r0, _02213134 ; =0x00001F60
|
|
mov r1, #6
|
|
lsl r1, r1, #6
|
|
add r1, r2, r1
|
|
add r0, r5, r0
|
|
mov r2, #0x40
|
|
bl memcpy
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
mov r0, #0xd0
|
|
str r0, [sp, #8]
|
|
mov r0, #0x7a
|
|
ldr r3, [r5]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r3, [r3, #0xc]
|
|
mov r1, #0xe
|
|
mov r2, #6
|
|
bl PaletteData_LoadNarc
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
mov r0, #0xf0
|
|
str r0, [sp, #8]
|
|
ldr r3, [r5]
|
|
add r0, #0xf8
|
|
ldr r0, [r5, r0]
|
|
ldr r3, [r3, #0xc]
|
|
mov r1, #0xe
|
|
mov r2, #7
|
|
bl PaletteData_LoadNarc
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #8]
|
|
bl MOD11_02230E44
|
|
add r4, r0, #0
|
|
bl FUN_0200CD60
|
|
add r1, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
mov r2, #0x79
|
|
ldr r0, [r0, #0xc]
|
|
lsl r2, r2, #2
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, r2]
|
|
mov r0, #0x26
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadCharData
|
|
add r0, r4, #0
|
|
bl FUN_0200CD64
|
|
add r2, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
mov r0, #0xe0
|
|
str r0, [sp, #8]
|
|
mov r0, #0x7a
|
|
ldr r3, [r5]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r3, [r3, #0xc]
|
|
mov r1, #0x26
|
|
bl PaletteData_LoadNarc
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl PaletteData_GetUnfadedBuf
|
|
add r6, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #0x20
|
|
ldr r0, [r0, #0xc]
|
|
bl AllocFromHeap
|
|
mov r1, #0x1a
|
|
lsl r1, r1, #4
|
|
add r1, r6, r1
|
|
mov r2, #0x20
|
|
add r4, r0, #0
|
|
bl memcpy
|
|
mov r2, #0x4d
|
|
lsl r2, r2, #2
|
|
add r0, r6, r2
|
|
ldrb r3, [r0]
|
|
add r1, r4, #0
|
|
add r1, #0xe
|
|
strb r3, [r4, #0xe]
|
|
ldrb r3, [r0, #1]
|
|
strb r3, [r1, #1]
|
|
ldrb r3, [r0, #2]
|
|
strb r3, [r1, #2]
|
|
ldrb r0, [r0, #3]
|
|
mov r3, #0xd0
|
|
strb r0, [r1, #3]
|
|
add r1, r2, #4
|
|
add r0, r2, #4
|
|
ldrb r1, [r6, r1]
|
|
add r0, r6, r0
|
|
add r2, #0xb4
|
|
strb r1, [r4, #6]
|
|
ldrb r1, [r0, #1]
|
|
strb r1, [r4, #7]
|
|
ldrb r1, [r0, #2]
|
|
strb r1, [r4, #8]
|
|
ldrb r0, [r0, #3]
|
|
add r1, r4, #0
|
|
strb r0, [r4, #9]
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
ldr r0, [r5, r2]
|
|
mov r2, #1
|
|
bl PaletteData_LoadPalette
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_02213134: .word 0x00001F60
|
|
|
|
thumb_func_start MOD09_02213138
|
|
MOD09_02213138: ; 0x02213138
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r3, [r4]
|
|
mov r0, #0
|
|
ldr r3, [r3, #0xc]
|
|
mov r1, #0x1a
|
|
mov r2, #3
|
|
bl NewMsgDataFromNarc
|
|
ldr r1, _02213180 ; =0x00001FA8
|
|
mov r2, #0
|
|
str r0, [r4, r1]
|
|
ldr r3, [r4]
|
|
mov r0, #0xf
|
|
ldr r3, [r3, #0xc]
|
|
mov r1, #0xe
|
|
bl MessagePrinter_new
|
|
ldr r1, _02213184 ; =0x00001FA4
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0xc]
|
|
bl ScrStrBufs_new
|
|
ldr r1, _02213188 ; =0x00001FAC
|
|
str r0, [r4, r1]
|
|
ldr r1, [r4]
|
|
mov r0, #2
|
|
ldr r1, [r1, #0xc]
|
|
lsl r0, r0, #8
|
|
bl String_ctor
|
|
ldr r1, _0221318C ; =0x00001FB0
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
nop
|
|
_02213180: .word 0x00001FA8
|
|
_02213184: .word 0x00001FA4
|
|
_02213188: .word 0x00001FAC
|
|
_0221318C: .word 0x00001FB0
|
|
|
|
thumb_func_start MOD09_02213190
|
|
MOD09_02213190: ; 0x02213190
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _022131B8 ; =0x00001FA8
|
|
ldr r0, [r4, r0]
|
|
bl DestroyMsgData
|
|
ldr r0, _022131BC ; =0x00001FA4
|
|
ldr r0, [r4, r0]
|
|
bl MessagePrinter_delete
|
|
ldr r0, _022131C0 ; =0x00001FAC
|
|
ldr r0, [r4, r0]
|
|
bl ScrStrBufs_delete
|
|
ldr r0, _022131C4 ; =0x00001FB0
|
|
ldr r0, [r4, r0]
|
|
bl String_dtor
|
|
pop {r4, pc}
|
|
nop
|
|
_022131B8: .word 0x00001FA8
|
|
_022131BC: .word 0x00001FA4
|
|
_022131C0: .word 0x00001FAC
|
|
_022131C4: .word 0x00001FB0
|
|
|
|
thumb_func_start MOD09_022131C8
|
|
MOD09_022131C8: ; 0x022131C8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl GetPartyCount
|
|
cmp r0, #0
|
|
bgt _022131E2
|
|
b _02213476
|
|
_022131E2:
|
|
ldr r0, [sp, #8]
|
|
mov r1, #0x50
|
|
mul r1, r0
|
|
ldr r0, [sp]
|
|
str r1, [sp, #4]
|
|
add r4, r0, r1
|
|
ldr r0, [r0]
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [r0]
|
|
bl GetPartyMonByIndex
|
|
str r0, [r4, #4]
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl GetMonData
|
|
strh r0, [r4, #8]
|
|
ldrh r0, [r4, #8]
|
|
cmp r0, #0
|
|
bne _0221320C
|
|
b _0221345A
|
|
_0221320C:
|
|
ldr r0, [sp, #8]
|
|
mov r1, #0x50
|
|
add r5, r0, #0
|
|
mul r5, r1
|
|
ldr r0, [sp]
|
|
mov r1, #0xa4
|
|
add r4, r0, r5
|
|
ldr r0, [r4, #4]
|
|
mov r2, #0
|
|
bl GetMonData
|
|
strh r0, [r4, #0xa]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0xa5
|
|
mov r2, #0
|
|
bl GetMonData
|
|
strh r0, [r4, #0xc]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0xa6
|
|
mov r2, #0
|
|
bl GetMonData
|
|
strh r0, [r4, #0xe]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0xa7
|
|
mov r2, #0
|
|
bl GetMonData
|
|
strh r0, [r4, #0x10]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0xa8
|
|
mov r2, #0
|
|
bl GetMonData
|
|
strh r0, [r4, #0x12]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
bl GetMonData
|
|
strh r0, [r4, #0x14]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0xa3
|
|
mov r2, #0
|
|
bl GetMonData
|
|
strh r0, [r4, #0x16]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0xb0
|
|
mov r2, #0
|
|
bl GetMonData
|
|
strb r0, [r4, #0x18]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0xb1
|
|
mov r2, #0
|
|
bl GetMonData
|
|
ldr r6, [sp]
|
|
strb r0, [r4, #0x19]
|
|
ldr r0, [r4, #4]
|
|
add r6, #0x1a
|
|
mov r1, #0xa0
|
|
mov r2, #0
|
|
bl GetMonData
|
|
ldrb r1, [r6, r5]
|
|
mov r2, #0x7f
|
|
lsl r0, r0, #0x18
|
|
bic r1, r2
|
|
lsr r2, r0, #0x18
|
|
mov r0, #0x7f
|
|
and r0, r2
|
|
orr r0, r1
|
|
strb r0, [r6, r5]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0xaf
|
|
mov r2, #0
|
|
bl GetMonData
|
|
cmp r0, #1
|
|
ldrb r1, [r6, r5]
|
|
bne _022132BC
|
|
mov r0, #0x80
|
|
bic r1, r0
|
|
strb r1, [r6, r5]
|
|
b _022132C2
|
|
_022132BC:
|
|
mov r0, #0x80
|
|
orr r0, r1
|
|
strb r0, [r6, r5]
|
|
_022132C2:
|
|
ldr r0, [sp]
|
|
add r4, r0, r5
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #4]
|
|
add r6, #0x1b
|
|
bl GetMonGender
|
|
ldrb r1, [r6, r5]
|
|
mov r2, #7
|
|
bic r1, r2
|
|
mov r2, #7
|
|
and r0, r2
|
|
orr r0, r1
|
|
strb r0, [r6, r5]
|
|
ldr r0, [r4, #4]
|
|
bl FUN_0207C2D4
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsl r0, r0, #0x1c
|
|
ldrb r1, [r6, r5]
|
|
mov r2, #0x78
|
|
lsr r0, r0, #0x19
|
|
bic r1, r2
|
|
orr r0, r1
|
|
strb r0, [r6, r5]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x4c
|
|
mov r2, #0
|
|
bl GetMonData
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsl r0, r0, #0x1f
|
|
ldrb r1, [r6, r5]
|
|
mov r2, #0x80
|
|
lsr r0, r0, #0x18
|
|
bic r1, r2
|
|
orr r0, r1
|
|
strb r0, [r6, r5]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0xa
|
|
mov r2, #0
|
|
bl GetMonData
|
|
strh r0, [r4, #0x1c]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl GetMonData
|
|
strh r0, [r4, #0x1e]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #8
|
|
mov r2, #0
|
|
bl GetMonData
|
|
ldr r6, [sp]
|
|
str r0, [r4, #0x20]
|
|
add r6, #0x1a
|
|
ldrb r1, [r6, r5]
|
|
ldrh r0, [r4, #8]
|
|
lsl r1, r1, #0x19
|
|
lsr r1, r1, #0x19
|
|
bl GetMonExpBySpeciesAndLevel
|
|
str r0, [r4, #0x24]
|
|
ldrb r0, [r6, r5]
|
|
lsl r0, r0, #0x19
|
|
lsr r1, r0, #0x19
|
|
cmp r1, #0x64
|
|
bne _0221335A
|
|
ldr r0, [sp]
|
|
add r4, r0, r5
|
|
ldr r0, [r4, #0x24]
|
|
b _02213366
|
|
_0221335A:
|
|
ldr r0, [sp]
|
|
add r1, r1, #1
|
|
add r4, r0, r5
|
|
ldrh r0, [r4, #8]
|
|
bl GetMonExpBySpeciesAndLevel
|
|
_02213366:
|
|
str r0, [r4, #0x28]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x13
|
|
mov r2, #0
|
|
bl GetMonData
|
|
add r1, r4, #0
|
|
add r1, #0x2c
|
|
strb r0, [r1]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x14
|
|
mov r2, #0
|
|
bl GetMonData
|
|
add r1, r4, #0
|
|
add r1, #0x2d
|
|
strb r0, [r1]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x15
|
|
mov r2, #0
|
|
bl GetMonData
|
|
add r1, r4, #0
|
|
add r1, #0x2e
|
|
strb r0, [r1]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x16
|
|
mov r2, #0
|
|
bl GetMonData
|
|
add r1, r4, #0
|
|
add r1, #0x2f
|
|
strb r0, [r1]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x17
|
|
mov r2, #0
|
|
bl GetMonData
|
|
add r1, r4, #0
|
|
add r1, #0x30
|
|
strb r0, [r1]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0xa1
|
|
mov r2, #0
|
|
bl GetMonData
|
|
add r1, r4, #0
|
|
add r1, #0x31
|
|
strb r0, [r1]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x70
|
|
mov r2, #0
|
|
bl GetMonData
|
|
add r4, #0x32
|
|
strb r0, [r4]
|
|
ldr r1, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r1, #0x34
|
|
add r7, r1, r0
|
|
ldr r1, [sp]
|
|
mov r4, #0
|
|
add r6, r1, r0
|
|
_022133E4:
|
|
lsl r0, r4, #3
|
|
add r1, r4, #0
|
|
str r0, [sp, #0xc]
|
|
add r5, r7, r0
|
|
ldr r0, [r6, #4]
|
|
add r1, #0x36
|
|
mov r2, #0
|
|
bl GetMonData
|
|
ldr r1, [sp, #0xc]
|
|
strh r0, [r7, r1]
|
|
add r0, r1, #0
|
|
ldrh r0, [r7, r0]
|
|
cmp r0, #0
|
|
beq _02213450
|
|
add r1, r4, #0
|
|
ldr r0, [r6, #4]
|
|
add r1, #0x3a
|
|
mov r2, #0
|
|
bl GetMonData
|
|
strb r0, [r5, #2]
|
|
add r1, r4, #0
|
|
ldr r0, [r6, #4]
|
|
add r1, #0x3e
|
|
mov r2, #0
|
|
bl GetMonData
|
|
strb r0, [r5, #3]
|
|
ldrh r0, [r5]
|
|
ldrb r1, [r5, #3]
|
|
bl WazaGetMaxPp
|
|
strb r0, [r5, #3]
|
|
ldrh r0, [r5]
|
|
mov r1, #3
|
|
bl GetWazaAttr
|
|
strb r0, [r5, #4]
|
|
ldrh r0, [r5]
|
|
mov r1, #1
|
|
bl GetWazaAttr
|
|
strb r0, [r5, #5]
|
|
ldrh r0, [r5]
|
|
mov r1, #4
|
|
bl GetWazaAttr
|
|
strb r0, [r5, #6]
|
|
ldrh r0, [r5]
|
|
mov r1, #2
|
|
bl GetWazaAttr
|
|
strb r0, [r5, #7]
|
|
_02213450:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #4
|
|
blo _022133E4
|
|
_0221345A:
|
|
ldr r0, [sp, #8]
|
|
add r0, r0, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl GetPartyCount
|
|
ldr r1, [sp, #8]
|
|
cmp r1, r0
|
|
bge _02213476
|
|
b _022131E2
|
|
_02213476:
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_0221347C
|
|
MOD09_0221347C: ; 0x0221347C
|
|
push {r3, r4, r5, lr}
|
|
ldr r1, _022134EC ; =0x0221AFB8
|
|
add r4, r0, #0
|
|
bl MOD09_02213614
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _022134C8
|
|
ldr r0, _022134F0 ; =0x00002088
|
|
ldr r0, [r4, r0]
|
|
bl MOD09_0221AD30
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _022134A6
|
|
mov r5, #6
|
|
b _022134B0
|
|
_022134A6:
|
|
add r0, r0, #1
|
|
cmp r5, r0
|
|
bne _022134B0
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_022134B0:
|
|
cmp r5, #6
|
|
beq _022134C0
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD09_02213620
|
|
cmp r0, #0
|
|
beq _022134E6
|
|
_022134C0:
|
|
ldr r0, [r4]
|
|
strb r5, [r0, #0x11]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_022134C8:
|
|
cmp r5, #6
|
|
beq _022134D8
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD09_02213620
|
|
cmp r0, #0
|
|
beq _022134E6
|
|
_022134D8:
|
|
ldr r0, [r4]
|
|
strb r5, [r0, #0x11]
|
|
add r0, r4, #0
|
|
bl MOD09_022178E4
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_022134E6:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_022134EC: .word MOD9_0221AFB8
|
|
_022134F0: .word 0x00002088
|
|
|
|
thumb_func_start MOD09_022134F4
|
|
MOD09_022134F4: ; 0x022134F4
|
|
push {r3, r4, r5, lr}
|
|
ldr r1, _02213534 ; =0x0221AEF0
|
|
add r5, r0, #0
|
|
bl MOD09_02213614
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _02213528
|
|
ldr r0, _02213538 ; =0x00002088
|
|
ldr r0, [r5, r0]
|
|
bl MOD09_0221AD30
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _0221351E
|
|
mov r4, #3
|
|
b _0221352E
|
|
_0221351E:
|
|
add r0, r0, #1
|
|
cmp r4, r0
|
|
bne _0221352E
|
|
mov r0, #0xff
|
|
pop {r3, r4, r5, pc}
|
|
_02213528:
|
|
add r0, r5, #0
|
|
bl MOD09_022178E4
|
|
_0221352E:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02213534: .word MOD9_0221AEF0
|
|
_02213538: .word 0x00002088
|
|
|
|
thumb_func_start MOD09_0221353C
|
|
MOD09_0221353C: ; 0x0221353C
|
|
push {r3, r4, r5, lr}
|
|
ldr r1, _0221357C ; =0x0221AF04
|
|
add r5, r0, #0
|
|
bl MOD09_02213614
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _02213570
|
|
ldr r0, _02213580 ; =0x00002088
|
|
ldr r0, [r5, r0]
|
|
bl MOD09_0221AD30
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _02213566
|
|
mov r4, #3
|
|
b _02213576
|
|
_02213566:
|
|
add r0, r0, #1
|
|
cmp r4, r0
|
|
bne _02213576
|
|
mov r0, #0xff
|
|
pop {r3, r4, r5, pc}
|
|
_02213570:
|
|
add r0, r5, #0
|
|
bl MOD09_022178E4
|
|
_02213576:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0221357C: .word MOD9_0221AF04
|
|
_02213580: .word 0x00002088
|
|
|
|
thumb_func_start MOD09_02213584
|
|
MOD09_02213584: ; 0x02213584
|
|
push {r3, r4, r5, lr}
|
|
ldr r1, _022135C4 ; =0x0221AFF8
|
|
add r5, r0, #0
|
|
bl MOD09_02213614
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _022135B8
|
|
ldr r0, _022135C8 ; =0x00002088
|
|
ldr r0, [r5, r0]
|
|
bl MOD09_0221AD30
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _022135AE
|
|
mov r4, #7
|
|
b _022135BE
|
|
_022135AE:
|
|
add r0, r0, #1
|
|
cmp r4, r0
|
|
bne _022135BE
|
|
mov r0, #0xff
|
|
pop {r3, r4, r5, pc}
|
|
_022135B8:
|
|
add r0, r5, #0
|
|
bl MOD09_022178E4
|
|
_022135BE:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022135C4: .word MOD9_0221AFF8
|
|
_022135C8: .word 0x00002088
|
|
|
|
thumb_func_start MOD09_022135CC
|
|
MOD09_022135CC: ; 0x022135CC
|
|
push {r3, r4, r5, lr}
|
|
ldr r1, _0221360C ; =0x0221AF18
|
|
add r5, r0, #0
|
|
bl MOD09_02213614
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _02213600
|
|
ldr r0, _02213610 ; =0x00002088
|
|
ldr r0, [r5, r0]
|
|
bl MOD09_0221AD30
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _022135F6
|
|
mov r4, #4
|
|
b _02213606
|
|
_022135F6:
|
|
add r0, r0, #1
|
|
cmp r4, r0
|
|
bne _02213606
|
|
mov r0, #0xff
|
|
pop {r3, r4, r5, pc}
|
|
_02213600:
|
|
add r0, r5, #0
|
|
bl MOD09_022178E4
|
|
_02213606:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0221360C: .word MOD9_0221AF18
|
|
_02213610: .word 0x00002088
|
|
|
|
thumb_func_start MOD09_02213614
|
|
MOD09_02213614: ; 0x02213614
|
|
ldr r3, _0221361C ; =FUN_02020988
|
|
add r0, r1, #0
|
|
bx r3
|
|
nop
|
|
_0221361C: .word FUN_02020988
|
|
|
|
thumb_func_start MOD09_02213620
|
|
MOD09_02213620: ; 0x02213620
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
mov r1, #0x50
|
|
add r5, r0, #0
|
|
mul r1, r4
|
|
add r1, r5, r1
|
|
ldrh r1, [r1, #8]
|
|
cmp r1, #0
|
|
bne _02213636
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02213636:
|
|
cmp r4, #0
|
|
beq _02213650
|
|
bl MOD09_02213B9C
|
|
cmp r0, #0
|
|
bne _0221364C
|
|
add r0, r5, #0
|
|
bl MOD09_02213BBC
|
|
cmp r0, #0
|
|
beq _02213654
|
|
_0221364C:
|
|
cmp r4, #1
|
|
bne _02213654
|
|
_02213650:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_02213654:
|
|
mov r0, #2
|
|
pop {r3, r4, r5, pc}
|
|
|
|
thumb_func_start MOD09_02213658
|
|
MOD09_02213658: ; 0x02213658
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r7, r2, #0
|
|
add r6, r4, #0
|
|
bl MOD09_02213BBC
|
|
cmp r0, #1
|
|
bne _022136D0
|
|
ldr r2, _0221370C ; =0x0221AEC8
|
|
add r1, sp, #0
|
|
ldrb r3, [r2]
|
|
add r0, sp, #0
|
|
mov r4, #0
|
|
strb r3, [r1]
|
|
ldrb r3, [r2, #1]
|
|
strb r3, [r1, #1]
|
|
ldrb r3, [r2, #2]
|
|
strb r3, [r1, #2]
|
|
ldrb r3, [r2, #3]
|
|
strb r3, [r1, #3]
|
|
ldrb r3, [r2, #4]
|
|
ldrb r2, [r2, #5]
|
|
strb r3, [r1, #4]
|
|
strb r2, [r1, #5]
|
|
_0221368C:
|
|
ldrb r1, [r0]
|
|
cmp r6, r1
|
|
beq _0221369A
|
|
add r4, r4, #1
|
|
add r0, r0, #1
|
|
cmp r4, #6
|
|
blt _0221368C
|
|
_0221369A:
|
|
add r4, r4, r7
|
|
bpl _022136A2
|
|
mov r4, #5
|
|
b _022136A8
|
|
_022136A2:
|
|
cmp r4, #6
|
|
blt _022136A8
|
|
mov r4, #0
|
|
_022136A8:
|
|
add r0, sp, #0
|
|
ldrb r1, [r0, r4]
|
|
cmp r6, r1
|
|
beq _02213704
|
|
add r0, r5, #0
|
|
bl MOD09_02213620
|
|
cmp r0, #0
|
|
beq _0221369A
|
|
add r0, sp, #0
|
|
ldrb r0, [r0, r4]
|
|
mov r1, #0x50
|
|
mul r1, r0
|
|
add r1, r5, r1
|
|
ldrb r1, [r1, #0x1b]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x1f
|
|
bne _0221369A
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022136D0:
|
|
add r4, r4, r7
|
|
bpl _022136D8
|
|
mov r4, #5
|
|
b _022136DE
|
|
_022136D8:
|
|
cmp r4, #6
|
|
blt _022136DE
|
|
mov r4, #0
|
|
_022136DE:
|
|
cmp r6, r4
|
|
beq _02213704
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02213620
|
|
cmp r0, #0
|
|
beq _022136D0
|
|
mov r0, #0x50
|
|
mul r0, r4
|
|
add r0, r5, r0
|
|
ldrb r0, [r0, #0x1b]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1f
|
|
bne _022136D0
|
|
lsl r0, r4, #0x18
|
|
add sp, #8
|
|
lsr r0, r0, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02213704:
|
|
mov r0, #0xff
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0221370C: .word MOD9_0221AEC8
|
|
|
|
thumb_func_start MOD09_02213710
|
|
MOD09_02213710: ; 0x02213710
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
cmp r1, #2
|
|
bne _0221378E
|
|
ldr r0, [r6]
|
|
add r2, r6, #4
|
|
ldrb r1, [r0, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
ldrb r1, [r0, #0x16]
|
|
lsl r1, r1, #0x19
|
|
lsr r1, r1, #0x19
|
|
cmp r1, #0x64
|
|
bhs _0221373A
|
|
ldr r2, [r0, #0x20]
|
|
ldr r1, [r0, #0x24]
|
|
ldr r0, [r0, #0x1c]
|
|
sub r1, r1, r2
|
|
sub r0, r0, r2
|
|
b _0221373E
|
|
_0221373A:
|
|
mov r1, #0
|
|
add r0, r1, #0
|
|
_0221373E:
|
|
mov r2, #0x40
|
|
bl FUN_02079A0C
|
|
add r4, r0, #0
|
|
mov r5, #0
|
|
mov r7, #0x1e
|
|
_0221374A:
|
|
cmp r4, #8
|
|
blo _02213752
|
|
add r1, r7, #0
|
|
b _0221375A
|
|
_02213752:
|
|
add r0, r4, #0
|
|
add r0, #0x16
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
_0221375A:
|
|
add r2, r5, #0
|
|
add r2, #0xa
|
|
lsl r2, r2, #0x10
|
|
add r0, r6, #0
|
|
lsr r2, r2, #0x10
|
|
mov r3, #8
|
|
bl MOD09_02213790
|
|
cmp r4, #8
|
|
bhs _02213772
|
|
mov r4, #0
|
|
b _02213778
|
|
_02213772:
|
|
sub r4, #8
|
|
lsl r0, r4, #0x18
|
|
lsr r4, r0, #0x18
|
|
_02213778:
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
cmp r5, #8
|
|
blo _0221374A
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r1, #7
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
_0221378E:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start MOD09_02213790
|
|
MOD09_02213790: ; 0x02213790
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r1, #0
|
|
lsl r1, r3, #0x18
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
add r4, r2, #0
|
|
str r1, [sp, #8]
|
|
mov r1, #0x10
|
|
str r1, [sp, #0xc]
|
|
mov r1, #0x79
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
lsl r3, r4, #0x18
|
|
mov r1, #7
|
|
add r2, r5, #0
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_022137C0
|
|
MOD09_022137C0: ; 0x022137C0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #0xe
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x10
|
|
lsl r6, r2, #1
|
|
add r4, r1, #0
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x79
|
|
add r7, r6, #2
|
|
lsl r0, r0, #2
|
|
lsl r3, r7, #0x18
|
|
ldr r0, [r5, r0]
|
|
mov r1, #7
|
|
add r2, r4, #0
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
mov r0, #0xe
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x79
|
|
add r6, r6, #3
|
|
lsl r0, r0, #2
|
|
add r2, r4, #1
|
|
lsl r2, r2, #0x10
|
|
lsl r3, r6, #0x18
|
|
ldr r0, [r5, r0]
|
|
mov r1, #7
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
mov r0, #0xf
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x79
|
|
add r2, r4, #0
|
|
lsl r0, r0, #2
|
|
add r2, #0x20
|
|
lsl r2, r2, #0x10
|
|
lsl r3, r7, #0x18
|
|
ldr r0, [r5, r0]
|
|
mov r1, #7
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
mov r0, #0xf
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
add r4, #0x21
|
|
lsl r2, r4, #0x10
|
|
lsl r3, r6, #0x18
|
|
ldr r0, [r5, r0]
|
|
mov r1, #7
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start MOD09_02213860
|
|
MOD09_02213860: ; 0x02213860
|
|
push {r4, r5, r6, lr}
|
|
ldr r6, _02213880 ; =0x00000125
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_02213868:
|
|
lsl r2, r4, #0x18
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
lsr r2, r2, #0x18
|
|
bl MOD09_022137C0
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #6
|
|
blo _02213868
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02213880: .word 0x00000125
|
|
|
|
thumb_func_start MOD09_02213884
|
|
MOD09_02213884: ; 0x02213884
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
cmp r1, #9
|
|
bne _022138EE
|
|
bl MOD09_02213860
|
|
ldr r1, [r5]
|
|
add r0, r1, #0
|
|
add r0, #0x34
|
|
ldrb r2, [r0]
|
|
cmp r2, #4
|
|
bhs _022138AC
|
|
ldrb r1, [r1, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r1, r5, r0
|
|
lsl r0, r2, #3
|
|
add r0, r1, r0
|
|
ldrh r0, [r0, #0x34]
|
|
b _022138AE
|
|
_022138AC:
|
|
ldrh r0, [r1, #0x24]
|
|
_022138AE:
|
|
mov r1, #0xa
|
|
bl GetWazaAttr
|
|
bl FUN_02083114
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x18
|
|
asr r6, r0, #0x18
|
|
mov r4, #0
|
|
cmp r6, #0
|
|
ble _022138E2
|
|
mov r7, #5
|
|
lsl r7, r7, #6
|
|
_022138CC:
|
|
lsl r2, r4, #0x18
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
lsr r2, r2, #0x18
|
|
bl MOD09_022137C0
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, r6
|
|
blt _022138CC
|
|
_022138E2:
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #7
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
_022138EE:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start MOD09_022138F0
|
|
MOD09_022138F0: ; 0x022138F0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD09_02213968
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #4
|
|
mov r2, #0
|
|
bl BgFillTilemapBufferAndSchedule
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl BgFillTilemapBufferAndSchedule
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02216D80
|
|
add r0, r5, #0
|
|
bl MOD09_02213DE0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02213CF4
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02213E28
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02213710
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02213884
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02217838
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_022182E8
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02218640
|
|
ldr r0, _02213964 ; =0x0000207A
|
|
strb r4, [r5, r0]
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02213964: .word 0x0000207A
|
|
|
|
thumb_func_start MOD09_02213968
|
|
MOD09_02213968: ; 0x02213968
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r2, _022139D0 ; =0x0221B01C
|
|
add r5, r0, #0
|
|
lsl r0, r1, #3
|
|
mov r4, #0
|
|
add r6, r2, r0
|
|
_02213976:
|
|
ldr r2, [r5]
|
|
ldr r1, [r6]
|
|
ldr r2, [r2, #0xc]
|
|
mov r0, #0x48
|
|
bl AllocAndReadWholeNarcMemberByIdPair
|
|
add r1, sp, #0xc
|
|
add r7, r0, #0
|
|
bl NNS_G2dGetUnpackedScreenData
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
mov r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
add r1, r4, #6
|
|
ldr r2, [sp, #0xc]
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0x18
|
|
add r2, #0xc
|
|
mov r3, #0
|
|
bl LoadRectToBgTilemapRect
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
add r1, r4, #6
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0x18
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add r0, r7, #0
|
|
bl FreeToHeap
|
|
add r4, r4, #1
|
|
add r6, r6, #4
|
|
cmp r4, #2
|
|
blo _02213976
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_022139D0: .word MOD9_0221B01C
|
|
|
|
thumb_func_start MOD09_022139D4
|
|
MOD09_022139D4: ; 0x022139D4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r1, [r5]
|
|
mov r2, #0x50
|
|
ldrb r1, [r1, #0x11]
|
|
add r3, r5, #4
|
|
mul r2, r1
|
|
add r4, r3, r2
|
|
bl MOD09_02213BDC
|
|
cmp r0, #1
|
|
bne _02213A30
|
|
ldr r0, _02213B70 ; =0x00001FA8
|
|
mov r1, #0x50
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
ldr r1, [r5]
|
|
add r4, r0, #0
|
|
ldr r0, [r1, #8]
|
|
ldr r1, [r1, #0x28]
|
|
bl MOD11_022302BC
|
|
add r1, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #8]
|
|
bl MOD11_02230188
|
|
add r2, r0, #0
|
|
ldr r0, _02213B74 ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl BufferTrainerNameFromDataStruct
|
|
ldr r1, _02213B74 ; =0x00001FAC
|
|
add r2, r4, #0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02213A30:
|
|
ldrh r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
bne _02213A6C
|
|
ldr r0, _02213B70 ; =0x00001FA8
|
|
mov r1, #0x4d
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, _02213B74 ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl BufferBoxMonNickname
|
|
ldr r1, _02213B74 ; =0x00001FAC
|
|
add r2, r6, #0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02213A6C:
|
|
ldr r2, [r5]
|
|
ldrb r0, [r2, #0x11]
|
|
add r0, r2, r0
|
|
add r0, #0x2c
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r2, #0x14]
|
|
cmp r0, r1
|
|
beq _02213A82
|
|
ldrb r0, [r2, #0x15]
|
|
cmp r0, r1
|
|
bne _02213AB8
|
|
_02213A82:
|
|
ldr r0, _02213B70 ; =0x00001FA8
|
|
mov r1, #0x4c
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, _02213B74 ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl BufferBoxMonNickname
|
|
ldr r1, _02213B74 ; =0x00001FAC
|
|
add r2, r6, #0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02213AB8:
|
|
add r0, r5, #0
|
|
bl MOD09_02213B7C
|
|
cmp r0, #1
|
|
bne _02213AD4
|
|
ldr r2, _02213B70 ; =0x00001FA8
|
|
mov r1, #0x4f
|
|
ldr r0, [r5, r2]
|
|
add r2, #8
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02213AD4:
|
|
ldr r2, [r5]
|
|
ldrb r1, [r2, #0x12]
|
|
cmp r1, #6
|
|
beq _02213B24
|
|
ldrb r4, [r2, #0x11]
|
|
add r0, r2, r4
|
|
add r0, #0x2c
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
bne _02213B24
|
|
ldr r0, _02213B70 ; =0x00001FA8
|
|
mov r1, #0x5d
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0
|
|
mov r0, #0x50
|
|
mul r0, r4
|
|
add r0, r5, r0
|
|
ldr r0, [r0, #4]
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, _02213B74 ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl BufferBoxMonNickname
|
|
ldr r1, _02213B74 ; =0x00001FAC
|
|
add r2, r6, #0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02213B24:
|
|
ldrh r0, [r2, #0x24]
|
|
cmp r0, #0
|
|
beq _02213B6C
|
|
ldr r1, _02213B78 ; =0x00002076
|
|
mov r0, #0x50
|
|
ldrb r2, [r5, r1]
|
|
sub r1, #0xce
|
|
add r4, r5, #4
|
|
add r6, r2, #0
|
|
mul r6, r0
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x4e
|
|
bl NewString_ReadMsgData
|
|
add r7, r0, #0
|
|
ldr r0, [r4, r6]
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, _02213B74 ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl BufferBoxMonNickname
|
|
ldr r1, _02213B74 ; =0x00001FAC
|
|
add r2, r7, #0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r7, #0
|
|
bl String_dtor
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02213B6C:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02213B70: .word 0x00001FA8
|
|
_02213B74: .word 0x00001FAC
|
|
_02213B78: .word 0x00002076
|
|
|
|
thumb_func_start MOD09_02213B7C
|
|
MOD09_02213B7C: ; 0x02213B7C
|
|
ldr r1, [r0]
|
|
ldrb r2, [r1, #0x11]
|
|
mov r1, #0x50
|
|
mul r1, r2
|
|
add r0, r0, r1
|
|
ldrb r0, [r0, #0x1b]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1f
|
|
beq _02213B92
|
|
mov r0, #1
|
|
b _02213B94
|
|
_02213B92:
|
|
mov r0, #0
|
|
_02213B94:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02213B9C
|
|
MOD09_02213B9C: ; 0x02213B9C
|
|
push {r3, lr}
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
bl MOD11_0222FF74
|
|
cmp r0, #0x4a
|
|
beq _02213BB8
|
|
cmp r0, #0x4b
|
|
beq _02213BB8
|
|
mov r1, #0x12
|
|
tst r0, r1
|
|
beq _02213BB8
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02213BB8:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start MOD09_02213BBC
|
|
MOD09_02213BBC: ; 0x02213BBC
|
|
push {r3, lr}
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
bl MOD11_0222FF74
|
|
cmp r0, #0x4a
|
|
beq _02213BD8
|
|
cmp r0, #0x4b
|
|
beq _02213BD8
|
|
mov r1, #8
|
|
tst r0, r1
|
|
beq _02213BD8
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02213BD8:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start MOD09_02213BDC
|
|
MOD09_02213BDC: ; 0x02213BDC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD09_02213BBC
|
|
cmp r0, #1
|
|
bne _02213C04
|
|
ldr r0, _02213C08 ; =0x0000208F
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #2
|
|
bne _02213BFC
|
|
mov r0, #1
|
|
add r1, r4, #0
|
|
tst r1, r0
|
|
beq _02213C04
|
|
pop {r3, r4, r5, pc}
|
|
_02213BFC:
|
|
mov r0, #1
|
|
add r1, r4, #0
|
|
tst r1, r0
|
|
beq _02213C06
|
|
_02213C04:
|
|
mov r0, #0
|
|
_02213C06:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02213C08: .word 0x0000208F
|
|
|
|
thumb_func_start MOD09_02213C0C
|
|
MOD09_02213C0C: ; 0x02213C0C
|
|
ldr r2, [r0]
|
|
add r1, r2, #0
|
|
add r1, #0x34
|
|
ldrb r3, [r1]
|
|
cmp r3, #4
|
|
bne _02213C1C
|
|
ldrh r0, [r2, #0x24]
|
|
b _02213C2A
|
|
_02213C1C:
|
|
ldrb r2, [r2, #0x11]
|
|
mov r1, #0x50
|
|
mul r1, r2
|
|
add r1, r0, r1
|
|
lsl r0, r3, #3
|
|
add r0, r1, r0
|
|
ldrh r0, [r0, #0x34]
|
|
_02213C2A:
|
|
ldr r3, _02213C30 ; =MoveIsHM
|
|
bx r3
|
|
nop
|
|
_02213C30: .word MoveIsHM
|
|
|
|
thumb_func_start MOD09_02213C34
|
|
MOD09_02213C34: ; 0x02213C34
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02213C64 ; =0x00002020
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200C644
|
|
ldr r0, _02213C68 ; =0x00002070
|
|
ldr r0, [r4, r0]
|
|
add r0, #0xa0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
ldr r0, _02213C68 ; =0x00002070
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x60
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
ldr r0, _02213C68 ; =0x00002070
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x70
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
pop {r4, pc}
|
|
nop
|
|
_02213C64: .word 0x00002020
|
|
_02213C68: .word 0x00002070
|
|
|
|
thumb_func_start MOD09_02213C6C
|
|
MOD09_02213C6C: ; 0x02213C6C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD09_02213860
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #7
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02213C84
|
|
MOD09_02213C84: ; 0x02213C84
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
cmp r4, #0x41
|
|
beq _02213CA8
|
|
cmp r4, #0x43
|
|
beq _02213CA8
|
|
cmp r4, #0x42
|
|
beq _02213CA8
|
|
bl MOD11_02230214
|
|
add r1, r4, #0
|
|
mov r2, #1
|
|
add r3, r7, #0
|
|
bl Bag_TakeItem
|
|
_02213CA8:
|
|
add r0, r5, #0
|
|
bl MOD11_02230218
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl FUN_0206F1E4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start MOD09_02213CB8
|
|
MOD09_02213CB8: ; 0x02213CB8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
ldr r0, _02213CE8 ; =0x00002050
|
|
ldr r4, _02213CEC ; =0x0221B06C
|
|
mov r6, #0
|
|
add r5, r7, r0
|
|
_02213CC4:
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl AddWindow
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
add r5, #0x10
|
|
cmp r6, #2
|
|
blo _02213CC4
|
|
ldr r1, _02213CF0 ; =0x0000207A
|
|
add r0, r7, #0
|
|
ldrb r1, [r7, r1]
|
|
bl MOD09_02213CF4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02213CE8: .word 0x00002050
|
|
_02213CEC: .word MOD9_0221B06C
|
|
_02213CF0: .word 0x0000207A
|
|
|
|
thumb_func_start MOD09_02213CF4
|
|
MOD09_02213CF4: ; 0x02213CF4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #9
|
|
bhi _02213D74
|
|
add r0, r1, r1
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02213D08: ; jump table
|
|
.short _02213D1C - _02213D08 - 2 ; case 0
|
|
.short _02213D26 - _02213D08 - 2 ; case 1
|
|
.short _02213D30 - _02213D08 - 2 ; case 2
|
|
.short _02213D3A - _02213D08 - 2 ; case 3
|
|
.short _02213D44 - _02213D08 - 2 ; case 4
|
|
.short _02213D4E - _02213D08 - 2 ; case 5
|
|
.short _02213D58 - _02213D08 - 2 ; case 6
|
|
.short _02213D62 - _02213D08 - 2 ; case 7
|
|
.short _02213D58 - _02213D08 - 2 ; case 8
|
|
.short _02213D6C - _02213D08 - 2 ; case 9
|
|
_02213D1C:
|
|
ldr r0, _02213DB4 ; =0x00002074
|
|
mov r1, #6
|
|
ldr r6, _02213DB8 ; =0x0221B120
|
|
strb r1, [r4, r0]
|
|
b _02213D74
|
|
_02213D26:
|
|
ldr r0, _02213DB4 ; =0x00002074
|
|
mov r1, #4
|
|
ldr r6, _02213DBC ; =0x0221B0A8
|
|
strb r1, [r4, r0]
|
|
b _02213D74
|
|
_02213D30:
|
|
ldr r0, _02213DB4 ; =0x00002074
|
|
mov r1, #0x23
|
|
ldr r6, _02213DC0 ; =0x0221B2C8
|
|
strb r1, [r4, r0]
|
|
b _02213D74
|
|
_02213D3A:
|
|
ldr r0, _02213DB4 ; =0x00002074
|
|
mov r1, #0xb
|
|
ldr r6, _02213DC4 ; =0x0221B188
|
|
strb r1, [r4, r0]
|
|
b _02213D74
|
|
_02213D44:
|
|
ldr r0, _02213DB4 ; =0x00002074
|
|
mov r1, #0x11
|
|
ldr r6, _02213DC8 ; =0x0221B240
|
|
strb r1, [r4, r0]
|
|
b _02213D74
|
|
_02213D4E:
|
|
ldr r0, _02213DB4 ; =0x00002074
|
|
mov r1, #5
|
|
ldr r6, _02213DCC ; =0x0221B0C8
|
|
strb r1, [r4, r0]
|
|
b _02213D74
|
|
_02213D58:
|
|
ldr r0, _02213DB4 ; =0x00002074
|
|
mov r1, #6
|
|
ldr r6, _02213DD0 ; =0x0221B0F0
|
|
strb r1, [r4, r0]
|
|
b _02213D74
|
|
_02213D62:
|
|
ldr r0, _02213DB4 ; =0x00002074
|
|
mov r1, #0xc
|
|
ldr r6, _02213DD4 ; =0x0221B1E0
|
|
strb r1, [r4, r0]
|
|
b _02213D74
|
|
_02213D6C:
|
|
ldr r0, _02213DB4 ; =0x00002074
|
|
mov r1, #7
|
|
ldr r6, _02213DD8 ; =0x0221B150
|
|
strb r1, [r4, r0]
|
|
_02213D74:
|
|
ldr r1, _02213DB4 ; =0x00002074
|
|
ldr r0, [r4]
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r0, #0xc]
|
|
bl AllocWindows
|
|
ldr r1, _02213DDC ; =0x00002070
|
|
mov r5, #0
|
|
str r0, [r4, r1]
|
|
add r0, r1, #4
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0
|
|
bls _02213DB2
|
|
add r7, r1, #4
|
|
_02213D90:
|
|
ldr r1, _02213DDC ; =0x00002070
|
|
mov r0, #0x79
|
|
ldr r2, [r4, r1]
|
|
lsl r0, r0, #2
|
|
lsl r1, r5, #4
|
|
add r1, r2, r1
|
|
lsl r2, r5, #3
|
|
ldr r0, [r4, r0]
|
|
add r2, r6, r2
|
|
bl AddWindow
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
ldrb r0, [r4, r7]
|
|
cmp r5, r0
|
|
blo _02213D90
|
|
_02213DB2:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02213DB4: .word 0x00002074
|
|
_02213DB8: .word MOD9_0221B120
|
|
_02213DBC: .word MOD9_0221B0A8
|
|
_02213DC0: .word MOD9_0221B2C8
|
|
_02213DC4: .word MOD9_0221B188
|
|
_02213DC8: .word MOD9_0221B240
|
|
_02213DCC: .word MOD9_0221B0C8
|
|
_02213DD0: .word MOD9_0221B0F0
|
|
_02213DD4: .word MOD9_0221B1E0
|
|
_02213DD8: .word MOD9_0221B150
|
|
_02213DDC: .word 0x00002070
|
|
|
|
thumb_func_start MOD09_02213DE0
|
|
MOD09_02213DE0: ; 0x02213DE0
|
|
ldr r1, _02213DF0 ; =0x00002070
|
|
add r2, r0, #0
|
|
ldr r0, [r2, r1]
|
|
add r1, r1, #4
|
|
ldr r3, _02213DF4 ; =FUN_020191A4
|
|
ldrb r1, [r2, r1]
|
|
bx r3
|
|
nop
|
|
_02213DF0: .word 0x00002070
|
|
_02213DF4: .word WindowArray_dtor
|
|
|
|
thumb_func_start MOD09_02213DF8
|
|
MOD09_02213DF8: ; 0x02213DF8
|
|
push {r3, r4, r5, lr}
|
|
ldr r1, _02213E20 ; =0x00002070
|
|
add r5, r0, #0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldrb r1, [r5, r1]
|
|
bl WindowArray_dtor
|
|
ldr r0, _02213E24 ; =0x00002050
|
|
mov r4, #0
|
|
add r5, r5, r0
|
|
_02213E0E:
|
|
add r0, r5, #0
|
|
bl RemoveWindow
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #2
|
|
blo _02213E0E
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02213E20: .word 0x00002070
|
|
_02213E24: .word 0x00002050
|
|
|
|
thumb_func_start MOD09_02213E28
|
|
MOD09_02213E28: ; 0x02213E28
|
|
push {r3, lr}
|
|
cmp r1, #9
|
|
bhi _02213E82
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02213E3A: ; jump table
|
|
.short _02213E4E - _02213E3A - 2 ; case 0
|
|
.short _02213E54 - _02213E3A - 2 ; case 1
|
|
.short _02213E5A - _02213E3A - 2 ; case 2
|
|
.short _02213E60 - _02213E3A - 2 ; case 3
|
|
.short _02213E66 - _02213E3A - 2 ; case 4
|
|
.short _02213E6C - _02213E3A - 2 ; case 5
|
|
.short _02213E72 - _02213E3A - 2 ; case 6
|
|
.short _02213E78 - _02213E3A - 2 ; case 7
|
|
.short _02213E72 - _02213E3A - 2 ; case 8
|
|
.short _02213E7E - _02213E3A - 2 ; case 9
|
|
_02213E4E:
|
|
bl MOD09_022155D0
|
|
pop {r3, pc}
|
|
_02213E54:
|
|
bl MOD09_022156FC
|
|
pop {r3, pc}
|
|
_02213E5A:
|
|
bl MOD09_02215A2C
|
|
pop {r3, pc}
|
|
_02213E60:
|
|
bl MOD09_022158EC
|
|
pop {r3, pc}
|
|
_02213E66:
|
|
bl MOD09_02215C44
|
|
pop {r3, pc}
|
|
_02213E6C:
|
|
bl MOD09_0221609C
|
|
pop {r3, pc}
|
|
_02213E72:
|
|
bl MOD09_02215DA8
|
|
pop {r3, pc}
|
|
_02213E78:
|
|
bl MOD09_02215ED0
|
|
pop {r3, pc}
|
|
_02213E7E:
|
|
bl MOD09_022161B0
|
|
_02213E82:
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start MOD09_02213E84
|
|
MOD09_02213E84: ; 0x02213E84
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
add r6, r0, #0
|
|
ldr r0, _02214014 ; =0x00002070
|
|
str r3, [sp, #0x14]
|
|
ldr r5, [r6, r0]
|
|
lsl r4, r1, #4
|
|
ldr r0, [sp, #0x14]
|
|
mov r1, #0x50
|
|
mul r1, r0
|
|
add r7, r6, #4
|
|
add r0, r7, r1
|
|
str r1, [sp, #0x24]
|
|
ldr r1, [r6]
|
|
str r0, [sp, #0x20]
|
|
ldr r1, [r1, #0xc]
|
|
mov r0, #0xc
|
|
str r2, [sp, #0x10]
|
|
bl String_ctor
|
|
ldr r1, [sp, #0x14]
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, _02214018 ; =0x00001FA8
|
|
lsl r2, r1, #2
|
|
ldr r1, _0221401C ; =0x0221B090
|
|
ldr r0, [r6, r0]
|
|
ldr r1, [r1, r2]
|
|
bl NewString_ReadMsgData
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x24]
|
|
ldr r0, [r7, r0]
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, _02214020 ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r6, r0]
|
|
bl BufferBoxMonNickname
|
|
ldr r0, _02214020 ; =0x00001FAC
|
|
ldr r1, [sp, #0x1c]
|
|
ldr r0, [r6, r0]
|
|
ldr r2, [sp, #0x18]
|
|
bl StringExpandPlaceholders
|
|
ldr r0, [sp, #0x10]
|
|
add r3, sp, #0x38
|
|
cmp r0, #0
|
|
bne _02213F06
|
|
ldrb r7, [r3, #0x14]
|
|
mov r0, #0xff
|
|
ldr r1, [sp, #0x10]
|
|
str r7, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214024 ; =0x000F0E00
|
|
ldr r2, [sp, #0x1c]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldrb r3, [r3, #0x10]
|
|
add r0, r5, r4
|
|
bl AddTextPrinterParameterized2
|
|
b _02213F22
|
|
_02213F06:
|
|
ldrb r7, [r3, #0x14]
|
|
mov r0, #0xff
|
|
ldr r1, [sp, #0x10]
|
|
str r7, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214028 ; =0x00070809
|
|
ldr r2, [sp, #0x1c]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldrb r3, [r3, #0x10]
|
|
add r0, r5, r4
|
|
bl AddTextPrinterParameterized2
|
|
_02213F22:
|
|
ldr r0, [sp, #0x18]
|
|
bl String_dtor
|
|
ldr r0, [sp, #0x1c]
|
|
bl String_dtor
|
|
ldr r0, [sp, #0x20]
|
|
ldrb r0, [r0, #0x16]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1f
|
|
bne _02214008
|
|
ldr r0, [sp, #0x20]
|
|
ldrb r0, [r0, #0x17]
|
|
lsl r1, r0, #0x18
|
|
lsr r1, r1, #0x1f
|
|
bne _02214008
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1d
|
|
bne _02213FA6
|
|
ldr r0, _02214018 ; =0x00001FA8
|
|
mov r1, #0x10
|
|
ldr r0, [r6, r0]
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0
|
|
add r0, r5, r4
|
|
bl GetWindowWidth
|
|
str r0, [sp, #0x28]
|
|
mov r0, #0
|
|
add r1, r6, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
ldr r1, [sp, #0x28]
|
|
str r7, [sp]
|
|
lsl r1, r1, #3
|
|
sub r3, r1, r0
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
bne _02213F8A
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221402C ; =0x00070800
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, r4
|
|
add r2, r6, #0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
b _02213F9E
|
|
_02213F8A:
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214030 ; =0x000A0B00
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, r4
|
|
add r2, r6, #0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
_02213F9E:
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
b _02214008
|
|
_02213FA6:
|
|
cmp r0, #1
|
|
bne _02214008
|
|
ldr r0, _02214018 ; =0x00001FA8
|
|
mov r1, #0x11
|
|
ldr r0, [r6, r0]
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0
|
|
add r0, r5, r4
|
|
bl GetWindowWidth
|
|
str r0, [sp, #0x2c]
|
|
mov r0, #0
|
|
add r1, r6, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
ldr r1, [sp, #0x2c]
|
|
str r7, [sp]
|
|
lsl r1, r1, #3
|
|
sub r3, r1, r0
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
bne _02213FEE
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
add r0, r5, r4
|
|
add r2, r6, #0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
b _02214002
|
|
_02213FEE:
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214034 ; =0x000C0D00
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, r4
|
|
add r2, r6, #0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
_02214002:
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
_02214008:
|
|
add r0, r5, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02214014: .word 0x00002070
|
|
_02214018: .word 0x00001FA8
|
|
_0221401C: .word MOD9_0221B090
|
|
_02214020: .word 0x00001FAC
|
|
_02214024: .word 0x000F0E00
|
|
_02214028: .word 0x00070809
|
|
_0221402C: .word 0x00070800
|
|
_02214030: .word 0x000A0B00
|
|
_02214034: .word 0x000C0D00
|
|
|
|
thumb_func_start MOD09_02214038
|
|
MOD09_02214038: ; 0x02214038
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _0221407C ; =0x00002070
|
|
lsl r4, r1, #4
|
|
ldr r1, [r5, r0]
|
|
add r3, #8
|
|
add r1, r1, r4
|
|
str r1, [sp, #4]
|
|
str r3, [sp, #8]
|
|
add r1, sp, #0x10
|
|
ldrb r1, [r1, #0x10]
|
|
mov r3, #0x50
|
|
mul r3, r2
|
|
str r1, [sp, #0xc]
|
|
add r2, r5, r3
|
|
ldrb r2, [r2, #0x1a]
|
|
sub r0, #0xcc
|
|
ldr r0, [r5, r0]
|
|
lsl r2, r2, #0x19
|
|
mov r1, #1
|
|
lsr r2, r2, #0x19
|
|
mov r3, #3
|
|
bl FUN_0200BA78
|
|
ldr r0, _0221407C ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0221407C: .word 0x00002070
|
|
|
|
thumb_func_start MOD09_02214080
|
|
MOD09_02214080: ; 0x02214080
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #0x50
|
|
add r7, r3, #0
|
|
mul r0, r2
|
|
add r3, r5, #4
|
|
add r0, r3, r0
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0x18
|
|
ldrb r6, [r0, #0x10]
|
|
ldr r0, _022140F8 ; =0x00002070
|
|
lsl r4, r1, #4
|
|
ldr r1, [r5, r0]
|
|
sub r0, #0xcc
|
|
add r1, r1, r4
|
|
str r1, [sp]
|
|
str r7, [sp, #4]
|
|
str r6, [sp, #8]
|
|
ldr r1, [sp, #0xc]
|
|
ldr r0, [r5, r0]
|
|
ldrh r1, [r1, #0x10]
|
|
mov r2, #3
|
|
mov r3, #1
|
|
bl FUN_0200B9EC
|
|
add r3, r7, #0
|
|
ldr r2, _022140FC ; =0x00001FA4
|
|
str r6, [sp]
|
|
ldr r0, [r5, r2]
|
|
add r2, #0xcc
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0
|
|
add r2, r2, r4
|
|
add r3, #0x18
|
|
bl FUN_0200B9A8
|
|
ldr r0, _022140F8 ; =0x00002070
|
|
add r7, #0x20
|
|
ldr r1, [r5, r0]
|
|
sub r0, #0xcc
|
|
add r1, r1, r4
|
|
str r1, [sp]
|
|
str r7, [sp, #4]
|
|
str r6, [sp, #8]
|
|
ldr r1, [sp, #0xc]
|
|
ldr r0, [r5, r0]
|
|
ldrh r1, [r1, #0x12]
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl FUN_0200B9EC
|
|
ldr r0, _022140F8 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_022140F8: .word 0x00002070
|
|
_022140FC: .word 0x00001FA4
|
|
|
|
thumb_func_start MOD09_02214100
|
|
MOD09_02214100: ; 0x02214100
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r4, r0, #0
|
|
mov r0, #0x50
|
|
str r1, [sp, #8]
|
|
mul r0, r2
|
|
add r1, r4, #4
|
|
str r3, [sp, #0xc]
|
|
add r5, r1, r0
|
|
ldrh r0, [r5, #0x10]
|
|
ldrh r1, [r5, #0x12]
|
|
mov r2, #0x30
|
|
mov r7, #1
|
|
bl FUN_02079A0C
|
|
str r0, [sp, #0x14]
|
|
ldrh r0, [r5, #0x10]
|
|
ldrh r1, [r5, #0x12]
|
|
mov r2, #0x30
|
|
bl FUN_02079A54
|
|
cmp r0, #4
|
|
bhi _0221415E
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0221413A: ; jump table
|
|
.short _02214144 - _0221413A - 2 ; case 0
|
|
.short _0221415C - _0221413A - 2 ; case 1
|
|
.short _02214158 - _0221413A - 2 ; case 2
|
|
.short _02214156 - _0221413A - 2 ; case 3
|
|
.short _02214156 - _0221413A - 2 ; case 4
|
|
_02214144:
|
|
ldr r0, _022141D4 ; =0x00002070
|
|
ldr r1, [r4, r0]
|
|
ldr r0, [sp, #8]
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02214156:
|
|
b _0221415E
|
|
_02214158:
|
|
mov r7, #3
|
|
b _0221415E
|
|
_0221415C:
|
|
mov r7, #5
|
|
_0221415E:
|
|
add r0, sp, #0x20
|
|
ldrb r6, [r0, #0x10]
|
|
add r0, r7, #1
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [sp, #0x10]
|
|
lsl r5, r0, #4
|
|
ldr r0, [sp, #0x14]
|
|
add r3, r6, #1
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _022141D4 ; =0x00002070
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r4, r0]
|
|
lsl r3, r3, #0x10
|
|
ldr r2, [sp, #0xc]
|
|
add r0, r0, r5
|
|
lsr r1, r1, #0x18
|
|
lsr r3, r3, #0x10
|
|
bl FillWindowPixelRect
|
|
ldr r0, [sp, #0x14]
|
|
add r3, r6, #2
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, _022141D4 ; =0x00002070
|
|
lsl r3, r3, #0x10
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [sp, #0xc]
|
|
add r0, r0, r5
|
|
add r1, r7, #0
|
|
lsr r3, r3, #0x10
|
|
bl FillWindowPixelRect
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x10]
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _022141D4 ; =0x00002070
|
|
add r3, r6, #4
|
|
ldr r0, [r4, r0]
|
|
lsl r1, r1, #0x18
|
|
lsl r3, r3, #0x10
|
|
ldr r2, [sp, #0xc]
|
|
add r0, r0, r5
|
|
lsr r1, r1, #0x18
|
|
lsr r3, r3, #0x10
|
|
bl FillWindowPixelRect
|
|
ldr r0, _022141D4 ; =0x00002070
|
|
ldr r0, [r4, r0]
|
|
add r0, r0, r5
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022141D4: .word 0x00002070
|
|
|
|
thumb_func_start MOD09_022141D8
|
|
MOD09_022141D8: ; 0x022141D8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldr r1, [r5]
|
|
mov r0, #0x10
|
|
ldr r1, [r1, #0xc]
|
|
add r7, r2, #0
|
|
bl String_ctor
|
|
add r6, r0, #0
|
|
ldr r0, _02214250 ; =0x00001FA8
|
|
mov r1, #8
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r2, #0x50
|
|
mul r2, r7
|
|
str r0, [sp, #0x10]
|
|
ldr r0, _02214254 ; =0x00001FAC
|
|
add r2, r5, r2
|
|
ldrh r2, [r2, #0x1c]
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl BufferAbilityName
|
|
ldr r0, _02214254 ; =0x00001FAC
|
|
ldr r2, [sp, #0x10]
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
bl StringExpandPlaceholders
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214258 ; =0x000F0E00
|
|
lsl r4, r4, #4
|
|
str r0, [sp, #8]
|
|
ldr r0, _0221425C ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, r0]
|
|
add r2, r6, #0
|
|
add r0, r0, r4
|
|
add r3, r1, #0
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x10]
|
|
bl String_dtor
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
ldr r0, _0221425C ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02214250: .word 0x00001FA8
|
|
_02214254: .word 0x00001FAC
|
|
_02214258: .word 0x000F0E00
|
|
_0221425C: .word 0x00002070
|
|
|
|
thumb_func_start MOD09_02214260
|
|
MOD09_02214260: ; 0x02214260
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
mov r0, #0x50
|
|
add r7, r1, #0
|
|
add r1, r4, #4
|
|
mul r0, r2
|
|
add r5, r1, r0
|
|
ldrh r0, [r5, #0x1a]
|
|
cmp r0, #0
|
|
bne _02214284
|
|
ldr r0, _022142EC ; =0x00001FA8
|
|
mov r1, #0x14
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0
|
|
b _022142BA
|
|
_02214284:
|
|
ldr r1, [r4]
|
|
mov r0, #0x12
|
|
ldr r1, [r1, #0xc]
|
|
bl String_ctor
|
|
add r6, r0, #0
|
|
ldr r0, _022142EC ; =0x00001FA8
|
|
mov r1, #9
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
str r0, [sp, #0x10]
|
|
ldr r0, _022142F0 ; =0x00001FAC
|
|
ldrh r2, [r5, #0x1a]
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl BufferItemName
|
|
ldr r0, _022142F0 ; =0x00001FAC
|
|
ldr r2, [sp, #0x10]
|
|
ldr r0, [r4, r0]
|
|
add r1, r6, #0
|
|
bl StringExpandPlaceholders
|
|
ldr r0, [sp, #0x10]
|
|
bl String_dtor
|
|
_022142BA:
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022142F4 ; =0x000F0E00
|
|
lsl r5, r7, #4
|
|
str r0, [sp, #8]
|
|
ldr r0, _022142F8 ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r4, r0]
|
|
add r2, r6, #0
|
|
add r0, r0, r5
|
|
add r3, r1, #0
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
ldr r0, _022142F8 ; =0x00002070
|
|
ldr r0, [r4, r0]
|
|
add r0, r0, r5
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022142EC: .word 0x00001FA8
|
|
_022142F0: .word 0x00001FAC
|
|
_022142F4: .word 0x000F0E00
|
|
_022142F8: .word 0x00002070
|
|
|
|
thumb_func_start MOD09_022142FC
|
|
MOD09_022142FC: ; 0x022142FC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
str r1, [sp, #0x10]
|
|
ldr r1, [r5]
|
|
ldr r0, _02214394 ; =0x00002070
|
|
ldr r1, [r1, #0xc]
|
|
ldr r4, [r5, r0]
|
|
mov r0, #0x10
|
|
str r3, [sp, #0x14]
|
|
lsl r6, r2, #4
|
|
bl String_ctor
|
|
add r7, r0, #0
|
|
ldr r0, _02214398 ; =0x00001FA8
|
|
ldr r1, [sp, #0x14]
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
str r0, [sp, #0x18]
|
|
ldr r0, _0221439C ; =0x00001FAC
|
|
ldr r2, [sp, #0x10]
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl BufferMoveName
|
|
ldr r0, _0221439C ; =0x00001FAC
|
|
ldr r2, [sp, #0x18]
|
|
ldr r0, [r5, r0]
|
|
add r1, r7, #0
|
|
bl StringExpandPlaceholders
|
|
add r0, sp, #0x20
|
|
ldrh r0, [r0, #0x10]
|
|
cmp r0, #2
|
|
bne _02214360
|
|
add r0, r4, r6
|
|
bl GetWindowWidth
|
|
add r5, r0, #0
|
|
add r0, sp, #0x20
|
|
ldrh r0, [r0, #0x10]
|
|
add r1, r7, #0
|
|
mov r2, #0
|
|
bl FUN_02002E14
|
|
lsl r1, r5, #3
|
|
sub r0, r1, r0
|
|
lsr r3, r0, #1
|
|
b _02214362
|
|
_02214360:
|
|
mov r3, #0
|
|
_02214362:
|
|
add r1, sp, #0x20
|
|
ldrh r0, [r1, #0x14]
|
|
add r2, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x38]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldrh r1, [r1, #0x10]
|
|
add r0, r4, r6
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x18]
|
|
bl String_dtor
|
|
add r0, r7, #0
|
|
bl String_dtor
|
|
add r0, r4, r6
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02214394: .word 0x00002070
|
|
_02214398: .word 0x00001FA8
|
|
_0221439C: .word 0x00001FAC
|
|
|
|
thumb_func_start MOD09_022143A0
|
|
MOD09_022143A0: ; 0x022143A0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
ldr r0, _022143EC ; =0x00001FA8
|
|
str r2, [sp, #0x10]
|
|
add r5, r1, #0
|
|
ldr r0, [r4, r0]
|
|
add r6, r3, #0
|
|
mov r1, #0xe
|
|
bl NewString_ReadMsgData
|
|
add r7, r0, #0
|
|
str r6, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022143F0 ; =0x000F0E00
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, _022143F4 ; =0x00002070
|
|
lsl r5, r5, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r3, [sp, #0x10]
|
|
add r0, r0, r5
|
|
add r2, r7, #0
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r7, #0
|
|
bl String_dtor
|
|
ldr r0, _022143F4 ; =0x00002070
|
|
ldr r0, [r4, r0]
|
|
add r0, r0, r5
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_022143EC: .word 0x00001FA8
|
|
_022143F0: .word 0x000F0E00
|
|
_022143F4: .word 0x00002070
|
|
|
|
thumb_func_start MOD09_022143F8
|
|
MOD09_022143F8: ; 0x022143F8
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
ldr r0, _02214450 ; =0x00002050
|
|
add r5, r1, #0
|
|
mov r1, #1
|
|
add r0, r4, r0
|
|
add r2, r1, #0
|
|
mov r3, #0xe
|
|
bl FUN_0200D0BC
|
|
ldr r0, _02214450 ; =0x00002050
|
|
mov r1, #0xf
|
|
add r0, r4, r0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02214454 ; =0x00001FA8
|
|
add r1, r5, #0
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214458 ; =0x00010200
|
|
mov r1, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, _02214450 ; =0x00002050
|
|
add r2, r5, #0
|
|
add r0, r4, r0
|
|
str r3, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r5, #0
|
|
bl String_dtor
|
|
ldr r0, _02214450 ; =0x00002050
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02214450: .word 0x00002050
|
|
_02214454: .word 0x00001FA8
|
|
_02214458: .word 0x00010200
|
|
|
|
thumb_func_start MOD09_0221445C
|
|
MOD09_0221445C: ; 0x0221445C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r3, _022144B8 ; =0x00002070
|
|
lsl r4, r1, #4
|
|
ldr r5, [r0, r3]
|
|
sub r3, #0xc8
|
|
ldr r0, [r0, r3]
|
|
add r1, r2, #0
|
|
bl NewString_ReadMsgData
|
|
add r7, r0, #0
|
|
mov r0, #2
|
|
add r1, r7, #0
|
|
mov r2, #0
|
|
bl FUN_02002E14
|
|
add r6, r0, #0
|
|
add r0, r5, r4
|
|
bl GetWindowWidth
|
|
add r3, r0, #0
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022144BC ; =0x00070809
|
|
lsl r3, r3, #3
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
sub r3, r3, r6
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, r4
|
|
mov r1, #2
|
|
add r2, r7, #0
|
|
lsr r3, r3, #1
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r7, #0
|
|
bl String_dtor
|
|
add r0, r5, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_022144B8: .word 0x00002070
|
|
_022144BC: .word 0x00070809
|
|
|
|
thumb_func_start MOD09_022144C0
|
|
MOD09_022144C0: ; 0x022144C0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
add r5, r0, #0
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r2, r5, #4
|
|
add r4, r2, r0
|
|
ldr r1, _0221467C ; =0x00002075
|
|
mov r0, #0x16
|
|
ldrb r2, [r5, r1]
|
|
sub r1, #0xcd
|
|
mul r0, r2
|
|
lsl r0, r0, #0x10
|
|
lsr r6, r0, #0x10
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x17
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
add r7, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r2, _02214680 ; =0x000F0E00
|
|
add r0, #0x31
|
|
str r2, [sp, #8]
|
|
ldr r2, _02214684 ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r5, r2]
|
|
add r3, r1, #0
|
|
add r0, r2, r0
|
|
add r2, r7, #0
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r7, #0
|
|
bl String_dtor
|
|
ldr r0, _02214688 ; =0x00001FA8
|
|
mov r1, #0x18
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
ldr r1, [r5]
|
|
str r0, [sp, #0x18]
|
|
ldr r1, [r1, #0xc]
|
|
mov r0, #8
|
|
bl String_ctor
|
|
mov r1, #0
|
|
str r0, [sp, #0x1c]
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldrb r2, [r4, #0x16]
|
|
ldr r0, _0221468C ; =0x00001FAC
|
|
mov r3, #3
|
|
lsl r2, r2, #0x19
|
|
ldr r0, [r5, r0]
|
|
lsr r2, r2, #0x19
|
|
bl BufferIntegerAsString
|
|
ldr r0, _0221468C ; =0x00001FAC
|
|
ldr r1, [sp, #0x1c]
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [sp, #0x18]
|
|
bl StringExpandPlaceholders
|
|
mov r1, #0
|
|
add r0, r6, #0
|
|
add r0, #0xb
|
|
lsl r7, r0, #4
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214680 ; =0x000F0E00
|
|
ldr r2, [sp, #0x1c]
|
|
str r0, [sp, #8]
|
|
ldr r0, _02214684 ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, r0]
|
|
add r3, r1, #0
|
|
add r0, r0, r7
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x18]
|
|
bl String_dtor
|
|
ldr r0, [sp, #0x1c]
|
|
bl String_dtor
|
|
ldr r0, _02214688 ; =0x00001FA8
|
|
mov r1, #0x19
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r2, _02214680 ; =0x000F0E00
|
|
add r0, #0x41
|
|
str r2, [sp, #8]
|
|
ldr r2, _02214684 ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r5, r2]
|
|
add r3, r1, #0
|
|
add r0, r2, r0
|
|
ldr r2, [sp, #0x20]
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x20]
|
|
bl String_dtor
|
|
ldr r0, _02214688 ; =0x00001FA8
|
|
mov r1, #0x1a
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
ldr r1, [r5]
|
|
str r0, [sp, #0x14]
|
|
ldr r1, [r1, #0xc]
|
|
mov r0, #0xe
|
|
bl String_ctor
|
|
str r0, [sp, #0x10]
|
|
ldrb r0, [r4, #0x16]
|
|
lsl r0, r0, #0x19
|
|
lsr r0, r0, #0x19
|
|
cmp r0, #0x64
|
|
bhs _022145E0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221468C ; =0x00001FAC
|
|
ldr r2, [r4, #0x24]
|
|
ldr r3, [r4, #0x1c]
|
|
ldr r0, [r5, r0]
|
|
sub r2, r2, r3
|
|
mov r1, #0
|
|
mov r3, #6
|
|
bl BufferIntegerAsString
|
|
b _022145F4
|
|
_022145E0:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221468C ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r2, r1, #0
|
|
mov r3, #6
|
|
bl BufferIntegerAsString
|
|
_022145F4:
|
|
ldr r0, _0221468C ; =0x00001FAC
|
|
ldr r1, [sp, #0x10]
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [sp, #0x14]
|
|
bl StringExpandPlaceholders
|
|
ldr r0, _02214684 ; =0x00002070
|
|
add r6, #0xc
|
|
ldr r0, [r5, r0]
|
|
lsl r4, r6, #4
|
|
add r0, r0, r4
|
|
bl GetWindowWidth
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
ldr r1, [sp, #0x10]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
lsl r1, r6, #3
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
mov r1, #0
|
|
lsr r3, r0, #0x10
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214690 ; =0x00010200
|
|
ldr r2, [sp, #0x10]
|
|
str r0, [sp, #8]
|
|
ldr r0, _02214684 ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r4
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x14]
|
|
bl String_dtor
|
|
ldr r0, [sp, #0x10]
|
|
bl String_dtor
|
|
ldr r0, _02214684 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
mov r0, #0x13
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02214684 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r7
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02214684 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
add r0, r1, r0
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02214684 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0221467C: .word 0x00002075
|
|
_02214680: .word 0x000F0E00
|
|
_02214684: .word 0x00002070
|
|
_02214688: .word 0x00001FA8
|
|
_0221468C: .word 0x00001FAC
|
|
_02214690: .word 0x00010200
|
|
|
|
thumb_func_start MOD09_02214694
|
|
MOD09_02214694: ; 0x02214694
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r1, #0
|
|
add r5, r0, #0
|
|
ldr r1, _02214778 ; =0x00002075
|
|
mov r0, #0x16
|
|
ldrb r2, [r5, r1]
|
|
sub r1, #0xcd
|
|
mul r0, r2
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x20
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221477C ; =0x000F0E00
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, _02214780 ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, r0]
|
|
add r3, r1, #0
|
|
add r0, #0xe0
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
ldr r0, _02214784 ; =0x00001FA8
|
|
mov r1, #0x21
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
ldr r1, [r5]
|
|
str r0, [sp, #0x10]
|
|
ldr r1, [r1, #0xc]
|
|
mov r0, #8
|
|
bl String_ctor
|
|
mov r1, #0
|
|
mov r2, #0x50
|
|
add r6, r0, #0
|
|
mul r2, r7
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214788 ; =0x00001FAC
|
|
add r2, r5, r2
|
|
ldrh r2, [r2, #0xa]
|
|
ldr r0, [r5, r0]
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
ldr r0, _02214788 ; =0x00001FAC
|
|
ldr r2, [sp, #0x10]
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0
|
|
add r1, r6, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
add r0, r4, #5
|
|
lsl r4, r0, #4
|
|
ldr r0, _02214780 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r4
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #3
|
|
sub r0, r0, r7
|
|
lsl r0, r0, #0x18
|
|
mov r1, #0
|
|
lsr r3, r0, #0x18
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221478C ; =0x00010200
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, _02214780 ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r4
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x10]
|
|
bl String_dtor
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
ldr r0, _02214780 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, #0xe0
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02214780 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02214778: .word 0x00002075
|
|
_0221477C: .word 0x000F0E00
|
|
_02214780: .word 0x00002070
|
|
_02214784: .word 0x00001FA8
|
|
_02214788: .word 0x00001FAC
|
|
_0221478C: .word 0x00010200
|
|
|
|
thumb_func_start MOD09_02214790
|
|
MOD09_02214790: ; 0x02214790
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r1, #0
|
|
add r5, r0, #0
|
|
ldr r1, _02214874 ; =0x00002075
|
|
mov r0, #0x16
|
|
ldrb r2, [r5, r1]
|
|
sub r1, #0xcd
|
|
mul r0, r2
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x22
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214878 ; =0x000F0E00
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, _0221487C ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, r0]
|
|
add r3, r1, #0
|
|
add r0, #0xf0
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
ldr r0, _02214880 ; =0x00001FA8
|
|
mov r1, #0x23
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
ldr r1, [r5]
|
|
str r0, [sp, #0x10]
|
|
ldr r1, [r1, #0xc]
|
|
mov r0, #8
|
|
bl String_ctor
|
|
mov r1, #0
|
|
mov r2, #0x50
|
|
add r6, r0, #0
|
|
mul r2, r7
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214884 ; =0x00001FAC
|
|
add r2, r5, r2
|
|
ldrh r2, [r2, #0xc]
|
|
ldr r0, [r5, r0]
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
ldr r0, _02214884 ; =0x00001FAC
|
|
ldr r2, [sp, #0x10]
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0
|
|
add r1, r6, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
add r0, r4, #6
|
|
lsl r4, r0, #4
|
|
ldr r0, _0221487C ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r4
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #3
|
|
sub r0, r0, r7
|
|
lsl r0, r0, #0x18
|
|
mov r1, #0
|
|
lsr r3, r0, #0x18
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214888 ; =0x00010200
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, _0221487C ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r4
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x10]
|
|
bl String_dtor
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
ldr r0, _0221487C ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, #0xf0
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _0221487C ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02214874: .word 0x00002075
|
|
_02214878: .word 0x000F0E00
|
|
_0221487C: .word 0x00002070
|
|
_02214880: .word 0x00001FA8
|
|
_02214884: .word 0x00001FAC
|
|
_02214888: .word 0x00010200
|
|
|
|
thumb_func_start MOD09_0221488C
|
|
MOD09_0221488C: ; 0x0221488C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r1, #0
|
|
add r5, r0, #0
|
|
ldr r1, _02214974 ; =0x00002075
|
|
mov r0, #0x16
|
|
ldrb r2, [r5, r1]
|
|
sub r1, #0xcd
|
|
mul r0, r2
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x28
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _02214978 ; =0x000F0E00
|
|
add r2, r2, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, _0221497C ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, r0]
|
|
add r3, r1, #0
|
|
add r0, r0, r2
|
|
add r2, r6, #0
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
ldr r0, _02214980 ; =0x00001FA8
|
|
mov r1, #0x29
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
ldr r1, [r5]
|
|
str r0, [sp, #0x10]
|
|
ldr r1, [r1, #0xc]
|
|
mov r0, #8
|
|
bl String_ctor
|
|
mov r1, #0
|
|
mov r2, #0x50
|
|
add r6, r0, #0
|
|
mul r2, r7
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214984 ; =0x00001FAC
|
|
add r2, r5, r2
|
|
ldrh r2, [r2, #0xe]
|
|
ldr r0, [r5, r0]
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
ldr r0, _02214984 ; =0x00001FAC
|
|
ldr r2, [sp, #0x10]
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0
|
|
add r1, r6, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
add r0, r4, #7
|
|
lsl r4, r0, #4
|
|
ldr r0, _0221497C ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r4
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #3
|
|
sub r0, r0, r7
|
|
lsl r0, r0, #0x18
|
|
mov r1, #0
|
|
lsr r3, r0, #0x18
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214988 ; =0x00010200
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, _0221497C ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r4
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x10]
|
|
bl String_dtor
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
ldr r0, _0221497C ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
add r0, r1, r0
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _0221497C ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02214974: .word 0x00002075
|
|
_02214978: .word 0x000F0E00
|
|
_0221497C: .word 0x00002070
|
|
_02214980: .word 0x00001FA8
|
|
_02214984: .word 0x00001FAC
|
|
_02214988: .word 0x00010200
|
|
|
|
thumb_func_start MOD09_0221498C
|
|
MOD09_0221498C: ; 0x0221498C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r1, #0
|
|
add r4, r0, #0
|
|
ldr r1, _02214A74 ; =0x00002075
|
|
mov r0, #0x16
|
|
ldrb r2, [r4, r1]
|
|
sub r1, #0xcd
|
|
mul r0, r2
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0x24
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r2, _02214A78 ; =0x000F0E00
|
|
add r0, #0x11
|
|
str r2, [sp, #8]
|
|
ldr r2, _02214A7C ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r4, r2]
|
|
add r3, r1, #0
|
|
add r0, r2, r0
|
|
add r2, r6, #0
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
ldr r0, _02214A80 ; =0x00001FA8
|
|
mov r1, #0x25
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
ldr r1, [r4]
|
|
str r0, [sp, #0x10]
|
|
ldr r1, [r1, #0xc]
|
|
mov r0, #8
|
|
bl String_ctor
|
|
mov r1, #0
|
|
mov r2, #0x50
|
|
add r6, r0, #0
|
|
mul r2, r7
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214A84 ; =0x00001FAC
|
|
add r2, r4, r2
|
|
ldrh r2, [r2, #0x10]
|
|
ldr r0, [r4, r0]
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
ldr r0, _02214A84 ; =0x00001FAC
|
|
ldr r2, [sp, #0x10]
|
|
ldr r0, [r4, r0]
|
|
add r1, r6, #0
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0
|
|
add r1, r6, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
ldr r0, _02214A7C ; =0x00002070
|
|
add r5, #8
|
|
ldr r0, [r4, r0]
|
|
lsl r5, r5, #4
|
|
add r0, r0, r5
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #3
|
|
sub r0, r0, r7
|
|
lsl r0, r0, #0x18
|
|
mov r1, #0
|
|
lsr r3, r0, #0x18
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214A88 ; =0x00010200
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, _02214A7C ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r4, r0]
|
|
add r0, r0, r5
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x10]
|
|
bl String_dtor
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
ldr r0, _02214A7C ; =0x00002070
|
|
ldr r1, [r4, r0]
|
|
mov r0, #0x11
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02214A7C ; =0x00002070
|
|
ldr r0, [r4, r0]
|
|
add r0, r0, r5
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02214A74: .word 0x00002075
|
|
_02214A78: .word 0x000F0E00
|
|
_02214A7C: .word 0x00002070
|
|
_02214A80: .word 0x00001FA8
|
|
_02214A84: .word 0x00001FAC
|
|
_02214A88: .word 0x00010200
|
|
|
|
thumb_func_start MOD09_02214A8C
|
|
MOD09_02214A8C: ; 0x02214A8C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r1, #0
|
|
add r4, r0, #0
|
|
ldr r1, _02214B74 ; =0x00002075
|
|
mov r0, #0x16
|
|
ldrb r2, [r4, r1]
|
|
sub r1, #0xcd
|
|
mul r0, r2
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0x26
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r2, _02214B78 ; =0x000F0E00
|
|
add r0, #0x21
|
|
str r2, [sp, #8]
|
|
ldr r2, _02214B7C ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r4, r2]
|
|
add r3, r1, #0
|
|
add r0, r2, r0
|
|
add r2, r6, #0
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
ldr r0, _02214B80 ; =0x00001FA8
|
|
mov r1, #0x27
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
ldr r1, [r4]
|
|
str r0, [sp, #0x10]
|
|
ldr r1, [r1, #0xc]
|
|
mov r0, #8
|
|
bl String_ctor
|
|
mov r1, #0
|
|
mov r2, #0x50
|
|
add r6, r0, #0
|
|
mul r2, r7
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214B84 ; =0x00001FAC
|
|
add r2, r4, r2
|
|
ldrh r2, [r2, #0x12]
|
|
ldr r0, [r4, r0]
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
ldr r0, _02214B84 ; =0x00001FAC
|
|
ldr r2, [sp, #0x10]
|
|
ldr r0, [r4, r0]
|
|
add r1, r6, #0
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0
|
|
add r1, r6, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
ldr r0, _02214B7C ; =0x00002070
|
|
add r5, #9
|
|
ldr r0, [r4, r0]
|
|
lsl r5, r5, #4
|
|
add r0, r0, r5
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #3
|
|
sub r0, r0, r7
|
|
lsl r0, r0, #0x18
|
|
mov r1, #0
|
|
lsr r3, r0, #0x18
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214B88 ; =0x00010200
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, _02214B7C ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r4, r0]
|
|
add r0, r0, r5
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x10]
|
|
bl String_dtor
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
ldr r0, _02214B7C ; =0x00002070
|
|
ldr r1, [r4, r0]
|
|
mov r0, #0x12
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02214B7C ; =0x00002070
|
|
ldr r0, [r4, r0]
|
|
add r0, r0, r5
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02214B74: .word 0x00002075
|
|
_02214B78: .word 0x000F0E00
|
|
_02214B7C: .word 0x00002070
|
|
_02214B80: .word 0x00001FA8
|
|
_02214B84: .word 0x00001FAC
|
|
_02214B88: .word 0x00010200
|
|
|
|
thumb_func_start MOD09_02214B8C
|
|
MOD09_02214B8C: ; 0x02214B8C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r5, r0, #0
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r2, r5, #4
|
|
add r7, r2, r0
|
|
ldr r1, _02214D0C ; =0x00002075
|
|
mov r0, #0x16
|
|
ldrb r2, [r5, r1]
|
|
sub r1, #0xcd
|
|
mul r0, r2
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x1c
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214D10 ; =0x000F0E00
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, _02214D14 ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, r0]
|
|
add r3, r1, #0
|
|
add r0, #0xd0
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
ldr r0, _02214D18 ; =0x00001FA8
|
|
mov r1, #0x1f
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0
|
|
ldr r1, [sp, #0x10]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
str r0, [sp, #0x14]
|
|
ldr r0, _02214D14 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x40
|
|
bl GetWindowWidth
|
|
lsl r1, r0, #3
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, [sp, #0x10]
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0xf
|
|
lsr r6, r0, #0x10
|
|
add r0, r4, #4
|
|
mov r1, #0
|
|
lsl r4, r0, #4
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214D1C ; =0x00010200
|
|
add r3, r6, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, _02214D14 ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r4
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x10]
|
|
bl String_dtor
|
|
ldr r0, _02214D18 ; =0x00001FA8
|
|
mov r1, #0x1d
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
ldr r1, [r5]
|
|
str r0, [sp, #0x18]
|
|
ldr r1, [r1, #0xc]
|
|
mov r0, #8
|
|
bl String_ctor
|
|
str r0, [sp, #0x1c]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214D20 ; =0x00001FAC
|
|
ldrh r2, [r7, #0x10]
|
|
ldr r0, [r5, r0]
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
ldr r0, _02214D20 ; =0x00001FAC
|
|
ldr r1, [sp, #0x1c]
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [sp, #0x18]
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0
|
|
ldr r1, [sp, #0x1c]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
add r3, r0, #0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214D1C ; =0x00010200
|
|
ldr r2, [sp, #0x1c]
|
|
str r0, [sp, #8]
|
|
ldr r0, _02214D14 ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, r0]
|
|
sub r3, r6, r3
|
|
add r0, r0, r4
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x18]
|
|
bl String_dtor
|
|
ldr r0, [sp, #0x1c]
|
|
bl String_dtor
|
|
ldr r0, _02214D18 ; =0x00001FA8
|
|
mov r1, #0x1e
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
ldr r1, [r5]
|
|
str r0, [sp, #0x20]
|
|
ldr r1, [r1, #0xc]
|
|
mov r0, #8
|
|
bl String_ctor
|
|
mov r1, #0
|
|
str r0, [sp, #0x24]
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214D20 ; =0x00001FAC
|
|
ldrh r2, [r7, #0x12]
|
|
ldr r0, [r5, r0]
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
ldr r0, _02214D20 ; =0x00001FAC
|
|
ldr r1, [sp, #0x24]
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [sp, #0x20]
|
|
bl StringExpandPlaceholders
|
|
mov r1, #0
|
|
ldr r3, [sp, #0x14]
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214D1C ; =0x00010200
|
|
ldr r2, [sp, #0x24]
|
|
str r0, [sp, #8]
|
|
ldr r0, _02214D14 ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, r0]
|
|
add r3, r6, r3
|
|
add r0, r0, r4
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x20]
|
|
bl String_dtor
|
|
ldr r0, [sp, #0x24]
|
|
bl String_dtor
|
|
ldr r0, _02214D14 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, #0xd0
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02214D14 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02214D0C: .word 0x00002075
|
|
_02214D10: .word 0x000F0E00
|
|
_02214D14: .word 0x00002070
|
|
_02214D18: .word 0x00001FA8
|
|
_02214D1C: .word 0x00010200
|
|
_02214D20: .word 0x00001FAC
|
|
|
|
thumb_func_start MOD09_02214D24
|
|
MOD09_02214D24: ; 0x02214D24
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, _02214D90 ; =0x00002075
|
|
add r6, r1, #0
|
|
ldrb r1, [r5, r0]
|
|
ldr r3, [r5]
|
|
mov r0, #0x16
|
|
add r4, r1, #0
|
|
mul r4, r0
|
|
ldr r2, _02214D94 ; =0x0000022A
|
|
ldr r3, [r3, #0xc]
|
|
mov r0, #1
|
|
mov r1, #0x1a
|
|
bl NewMsgDataFromNarc
|
|
mov r1, #0x50
|
|
mul r1, r6
|
|
add r1, r5, r1
|
|
ldrh r1, [r1, #0x1c]
|
|
add r7, r0, #0
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0
|
|
mov r1, #0
|
|
add r0, r4, #2
|
|
lsl r4, r0, #4
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214D98 ; =0x00010200
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, _02214D9C ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, r0]
|
|
add r3, r1, #0
|
|
add r0, r0, r4
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
add r0, r7, #0
|
|
bl DestroyMsgData
|
|
ldr r0, _02214D9C ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02214D90: .word 0x00002075
|
|
_02214D94: .word 0x0000022A
|
|
_02214D98: .word 0x00010200
|
|
_02214D9C: .word 0x00002070
|
|
|
|
thumb_func_start MOD09_02214DA0
|
|
MOD09_02214DA0: ; 0x02214DA0
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
ldr r2, _02214DE0 ; =0x00002070
|
|
lsl r4, r1, #4
|
|
ldr r5, [r0, r2]
|
|
sub r2, #0xc8
|
|
ldr r0, [r0, r2]
|
|
mov r1, #0x33
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214DE4 ; =0x000F0E00
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, r4
|
|
add r3, r1, #0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
add r0, r5, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02214DE0: .word 0x00002070
|
|
_02214DE4: .word 0x000F0E00
|
|
|
|
thumb_func_start MOD09_02214DE8
|
|
MOD09_02214DE8: ; 0x02214DE8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
str r2, [sp, #0x10]
|
|
add r5, r0, #0
|
|
ldr r2, _02214EC4 ; =0x00002070
|
|
ldr r0, [sp, #0x10]
|
|
lsl r6, r1, #4
|
|
ldr r4, [r5, r2]
|
|
cmp r0, #0
|
|
bne _02214E42
|
|
sub r2, #0xc8
|
|
ldr r0, [r5, r2]
|
|
mov r1, #0x32
|
|
bl NewString_ReadMsgData
|
|
add r7, r0, #0
|
|
mov r0, #0
|
|
add r1, r7, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
add r0, r4, r6
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #3
|
|
sub r0, r0, r5
|
|
lsl r0, r0, #0x10
|
|
mov r1, #0
|
|
lsr r3, r0, #0x10
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214EC8 ; =0x00010200
|
|
add r2, r7, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, r6
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r7, #0
|
|
bl String_dtor
|
|
b _02214EB8
|
|
_02214E42:
|
|
sub r2, #0xc8
|
|
ldr r0, [r5, r2]
|
|
mov r1, #0x34
|
|
bl NewString_ReadMsgData
|
|
ldr r1, [r5]
|
|
str r0, [sp, #0x14]
|
|
ldr r1, [r1, #0xc]
|
|
mov r0, #8
|
|
bl String_ctor
|
|
mov r1, #0
|
|
add r7, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214ECC ; =0x00001FAC
|
|
ldr r2, [sp, #0x10]
|
|
ldr r0, [r5, r0]
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
ldr r0, _02214ECC ; =0x00001FAC
|
|
ldr r2, [sp, #0x14]
|
|
ldr r0, [r5, r0]
|
|
add r1, r7, #0
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0
|
|
add r1, r7, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
add r0, r4, r6
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #3
|
|
sub r0, r0, r5
|
|
lsl r0, r0, #0x10
|
|
mov r1, #0
|
|
lsr r3, r0, #0x10
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214EC8 ; =0x00010200
|
|
add r2, r7, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, r6
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x14]
|
|
bl String_dtor
|
|
add r0, r7, #0
|
|
bl String_dtor
|
|
_02214EB8:
|
|
add r0, r4, r6
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02214EC4: .word 0x00002070
|
|
_02214EC8: .word 0x00010200
|
|
_02214ECC: .word 0x00001FAC
|
|
|
|
thumb_func_start MOD09_02214ED0
|
|
MOD09_02214ED0: ; 0x02214ED0
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
ldr r2, _02214F10 ; =0x00002070
|
|
lsl r4, r1, #4
|
|
ldr r5, [r0, r2]
|
|
sub r2, #0xc8
|
|
ldr r0, [r0, r2]
|
|
mov r1, #0x30
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214F14 ; =0x000F0E00
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, r4
|
|
add r3, r1, #0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
add r0, r5, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02214F10: .word 0x00002070
|
|
_02214F14: .word 0x000F0E00
|
|
|
|
thumb_func_start MOD09_02214F18
|
|
MOD09_02214F18: ; 0x02214F18
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
str r2, [sp, #0x10]
|
|
add r5, r0, #0
|
|
ldr r2, _02214FF4 ; =0x00002070
|
|
ldr r0, [sp, #0x10]
|
|
lsl r6, r1, #4
|
|
ldr r4, [r5, r2]
|
|
cmp r0, #1
|
|
bhi _02214F72
|
|
sub r2, #0xc8
|
|
ldr r0, [r5, r2]
|
|
mov r1, #0x32
|
|
bl NewString_ReadMsgData
|
|
add r7, r0, #0
|
|
mov r0, #0
|
|
add r1, r7, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
add r0, r4, r6
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #3
|
|
sub r0, r0, r5
|
|
lsl r0, r0, #0x10
|
|
mov r1, #0
|
|
lsr r3, r0, #0x10
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214FF8 ; =0x00010200
|
|
add r2, r7, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, r6
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r7, #0
|
|
bl String_dtor
|
|
b _02214FE8
|
|
_02214F72:
|
|
sub r2, #0xc8
|
|
ldr r0, [r5, r2]
|
|
mov r1, #0x31
|
|
bl NewString_ReadMsgData
|
|
ldr r1, [r5]
|
|
str r0, [sp, #0x14]
|
|
ldr r1, [r1, #0xc]
|
|
mov r0, #8
|
|
bl String_ctor
|
|
mov r1, #0
|
|
add r7, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214FFC ; =0x00001FAC
|
|
ldr r2, [sp, #0x10]
|
|
ldr r0, [r5, r0]
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
ldr r0, _02214FFC ; =0x00001FAC
|
|
ldr r2, [sp, #0x14]
|
|
ldr r0, [r5, r0]
|
|
add r1, r7, #0
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0
|
|
add r1, r7, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
add r0, r4, r6
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #3
|
|
sub r0, r0, r5
|
|
lsl r0, r0, #0x10
|
|
mov r1, #0
|
|
lsr r3, r0, #0x10
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02214FF8 ; =0x00010200
|
|
add r2, r7, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, r6
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x14]
|
|
bl String_dtor
|
|
add r0, r7, #0
|
|
bl String_dtor
|
|
_02214FE8:
|
|
add r0, r4, r6
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02214FF4: .word 0x00002070
|
|
_02214FF8: .word 0x00010200
|
|
_02214FFC: .word 0x00001FAC
|
|
|
|
thumb_func_start MOD09_02215000
|
|
MOD09_02215000: ; 0x02215000
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r3, r0, #0
|
|
ldr r0, _02215054 ; =0x00002070
|
|
add r6, r2, #0
|
|
ldr r5, [r3, r0]
|
|
ldr r3, [r3]
|
|
lsl r4, r1, #4
|
|
ldr r2, _02215058 ; =0x0000024B
|
|
ldr r3, [r3, #0xc]
|
|
mov r0, #1
|
|
mov r1, #0x1a
|
|
bl NewMsgDataFromNarc
|
|
add r1, r6, #0
|
|
add r7, r0, #0
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221505C ; =0x00010200
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, r4
|
|
add r3, r1, #0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
add r0, r7, #0
|
|
bl DestroyMsgData
|
|
add r0, r5, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02215054: .word 0x00002070
|
|
_02215058: .word 0x0000024B
|
|
_0221505C: .word 0x00010200
|
|
|
|
thumb_func_start MOD09_02215060
|
|
MOD09_02215060: ; 0x02215060
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
ldr r0, _022150C0 ; =0x00002070
|
|
lsl r4, r1, #4
|
|
ldr r5, [r6, r0]
|
|
add r0, r2, #0
|
|
mov r1, #0xa
|
|
bl GetWazaAttr
|
|
bl FUN_0208315C
|
|
ldr r3, [r6]
|
|
add r7, r0, #0
|
|
ldr r3, [r3, #0xc]
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
mov r2, #0xc5
|
|
bl NewMsgDataFromNarc
|
|
add r1, r7, #0
|
|
str r0, [sp, #0x10]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022150C4 ; =0x00010200
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, r4
|
|
add r3, r1, #0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
ldr r0, [sp, #0x10]
|
|
bl DestroyMsgData
|
|
add r0, r5, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022150C0: .word 0x00002070
|
|
_022150C4: .word 0x00010200
|
|
|
|
thumb_func_start MOD09_022150C8
|
|
MOD09_022150C8: ; 0x022150C8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r2, _02215124 ; =0x00002070
|
|
lsl r4, r1, #4
|
|
ldr r5, [r0, r2]
|
|
sub r2, #0xc8
|
|
ldr r0, [r0, r2]
|
|
mov r1, #0x35
|
|
bl NewString_ReadMsgData
|
|
add r7, r0, #0
|
|
mov r0, #0
|
|
add r1, r7, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
lsl r0, r0, #0x10
|
|
lsr r6, r0, #0x10
|
|
add r0, r5, r4
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #3
|
|
sub r1, r0, r6
|
|
lsr r0, r1, #0x1f
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0xf
|
|
mov r1, #0
|
|
lsr r3, r0, #0x10
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02215128 ; =0x000F0E00
|
|
add r2, r7, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, r4
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r7, #0
|
|
bl String_dtor
|
|
add r0, r5, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02215124: .word 0x00002070
|
|
_02215128: .word 0x000F0E00
|
|
|
|
thumb_func_start MOD09_0221512C
|
|
MOD09_0221512C: ; 0x0221512C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
ldr r3, _022151A0 ; =0x00002070
|
|
lsl r4, r1, #4
|
|
ldr r5, [r0, r3]
|
|
cmp r2, #0
|
|
beq _02215144
|
|
cmp r2, #1
|
|
beq _02215152
|
|
cmp r2, #2
|
|
beq _02215160
|
|
b _0221516C
|
|
_02215144:
|
|
sub r3, #0xc8
|
|
ldr r0, [r0, r3]
|
|
mov r1, #0x36
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0
|
|
b _0221516C
|
|
_02215152:
|
|
sub r3, #0xc8
|
|
ldr r0, [r0, r3]
|
|
mov r1, #0x38
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0
|
|
b _0221516C
|
|
_02215160:
|
|
sub r3, #0xc8
|
|
ldr r0, [r0, r3]
|
|
mov r1, #0x37
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0
|
|
_0221516C:
|
|
mov r0, #0
|
|
add r1, r6, #0
|
|
add r2, r0, #0
|
|
mov r3, #0x38
|
|
bl FUN_02002F40
|
|
mov r1, #0
|
|
add r3, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022151A4 ; =0x00010200
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, r4
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
add r0, r5, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_022151A0: .word 0x00002070
|
|
_022151A4: .word 0x00010200
|
|
|
|
thumb_func_start MOD09_022151A8
|
|
MOD09_022151A8: ; 0x022151A8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
add r5, r0, #0
|
|
ldr r0, _022152CC ; =0x00002070
|
|
lsl r6, r1, #4
|
|
ldr r4, [r5, r0]
|
|
sub r0, #0xc8
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x2e
|
|
str r2, [sp, #0x10]
|
|
str r3, [sp, #0x14]
|
|
bl NewString_ReadMsgData
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0
|
|
ldr r1, [sp, #0x18]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
str r0, [sp, #0x1c]
|
|
add r0, r4, r6
|
|
bl GetWindowWidth
|
|
lsl r1, r0, #3
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r2, [sp, #0x18]
|
|
sub r0, r1, r0
|
|
lsr r7, r0, #1
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022152D0 ; =0x000F0E00
|
|
add r3, r7, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, r6
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x18]
|
|
bl String_dtor
|
|
ldr r0, _022152D4 ; =0x00001FA8
|
|
mov r1, #0x2c
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
ldr r1, [r5]
|
|
str r0, [sp, #0x20]
|
|
ldr r1, [r1, #0xc]
|
|
mov r0, #6
|
|
bl String_ctor
|
|
mov r1, #0
|
|
str r0, [sp, #0x24]
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _022152D8 ; =0x00001FAC
|
|
ldr r2, [sp, #0x10]
|
|
ldr r0, [r5, r0]
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
ldr r0, _022152D8 ; =0x00001FAC
|
|
ldr r1, [sp, #0x24]
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [sp, #0x20]
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0
|
|
ldr r1, [sp, #0x24]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
add r3, r0, #0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022152D0 ; =0x000F0E00
|
|
ldr r2, [sp, #0x24]
|
|
str r0, [sp, #8]
|
|
add r0, r4, r6
|
|
sub r3, r7, r3
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x20]
|
|
bl String_dtor
|
|
ldr r0, [sp, #0x24]
|
|
bl String_dtor
|
|
ldr r0, _022152D4 ; =0x00001FA8
|
|
mov r1, #0x2d
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
ldr r1, [r5]
|
|
str r0, [sp, #0x28]
|
|
ldr r1, [r1, #0xc]
|
|
mov r0, #6
|
|
bl String_ctor
|
|
mov r1, #0
|
|
str r0, [sp, #0x2c]
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _022152D8 ; =0x00001FAC
|
|
ldr r2, [sp, #0x14]
|
|
ldr r0, [r5, r0]
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
ldr r0, _022152D8 ; =0x00001FAC
|
|
ldr r1, [sp, #0x2c]
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [sp, #0x28]
|
|
bl StringExpandPlaceholders
|
|
mov r1, #0
|
|
ldr r3, [sp, #0x1c]
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022152D0 ; =0x000F0E00
|
|
ldr r2, [sp, #0x2c]
|
|
str r0, [sp, #8]
|
|
add r0, r4, r6
|
|
add r3, r7, r3
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x28]
|
|
bl String_dtor
|
|
ldr r0, [sp, #0x2c]
|
|
bl String_dtor
|
|
add r0, r4, r6
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022152CC: .word 0x00002070
|
|
_022152D0: .word 0x000F0E00
|
|
_022152D4: .word 0x00001FA8
|
|
_022152D8: .word 0x00001FAC
|
|
|
|
thumb_func_start MOD09_022152DC
|
|
MOD09_022152DC: ; 0x022152DC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
lsl r4, r1, #4
|
|
ldr r1, [r0]
|
|
ldr r2, _02215344 ; =0x00002070
|
|
add r1, #0x34
|
|
ldrb r1, [r1]
|
|
ldr r5, [r0, r2]
|
|
cmp r1, #4
|
|
bne _022152FC
|
|
sub r2, #0xc8
|
|
ldr r0, [r0, r2]
|
|
mov r1, #0x3b
|
|
bl NewString_ReadMsgData
|
|
b _02215306
|
|
_022152FC:
|
|
sub r2, #0xc8
|
|
ldr r0, [r0, r2]
|
|
mov r1, #0x3a
|
|
bl NewString_ReadMsgData
|
|
_02215306:
|
|
add r6, r0, #0
|
|
mov r0, #2
|
|
add r1, r6, #0
|
|
mov r2, #0
|
|
bl FUN_02002E14
|
|
add r7, r0, #0
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02215348 ; =0x00070809
|
|
mov r3, #0x60
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
sub r3, r3, r7
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, r4
|
|
mov r1, #2
|
|
add r2, r6, #0
|
|
lsr r3, r3, #1
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
add r0, r5, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02215344: .word 0x00002070
|
|
_02215348: .word 0x00070809
|
|
|
|
thumb_func_start MOD09_0221534C
|
|
MOD09_0221534C: ; 0x0221534C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
ldr r0, _022153A4 ; =0x0000207A
|
|
ldrb r1, [r4, r0]
|
|
cmp r1, #7
|
|
bne _02215362
|
|
sub r0, #0xa
|
|
ldr r5, [r4, r0]
|
|
add r5, #0x80
|
|
b _02215368
|
|
_02215362:
|
|
sub r0, #0xa
|
|
ldr r5, [r4, r0]
|
|
add r5, #0x50
|
|
_02215368:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _022153A8 ; =0x00001FA8
|
|
mov r1, #0x3c
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022153AC ; =0x00010200
|
|
add r2, r4, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r3, r1, #0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
add r0, r5, #0
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022153A4: .word 0x0000207A
|
|
_022153A8: .word 0x00001FA8
|
|
_022153AC: .word 0x00010200
|
|
|
|
thumb_func_start MOD09_022153B0
|
|
MOD09_022153B0: ; 0x022153B0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r5, r0, #0
|
|
str r1, [sp, #0x10]
|
|
ldr r1, [r5]
|
|
ldr r0, _022154EC ; =0x00002070
|
|
ldr r1, [r1, #0xc]
|
|
ldr r4, [r5, r0]
|
|
mov r0, #6
|
|
lsl r6, r2, #4
|
|
bl String_ctor
|
|
add r7, r0, #0
|
|
ldr r0, _022154F0 ; =0x00001FA8
|
|
mov r1, #0x2b
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022154F4 ; =0x000F0E00
|
|
ldr r2, [sp, #0x14]
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
add r0, r4, r6
|
|
mov r3, #0x28
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x14]
|
|
bl String_dtor
|
|
ldr r0, _022154F0 ; =0x00001FA8
|
|
mov r1, #0x2e
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0
|
|
ldr r1, [sp, #0x18]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022154F4 ; =0x000F0E00
|
|
ldr r2, [sp, #0x18]
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
add r0, r4, r6
|
|
mov r3, #0x50
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x18]
|
|
bl String_dtor
|
|
ldr r0, _022154F0 ; =0x00001FA8
|
|
mov r1, #0x2d
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r2, [sp, #0x10]
|
|
ldr r0, _022154F8 ; =0x00001FAC
|
|
ldrb r2, [r2, #3]
|
|
ldr r0, [r5, r0]
|
|
mov r3, #2
|
|
bl BufferIntegerAsString
|
|
ldr r0, _022154F8 ; =0x00001FAC
|
|
ldr r2, [sp, #0x20]
|
|
ldr r0, [r5, r0]
|
|
add r1, r7, #0
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022154F4 ; =0x000F0E00
|
|
ldr r3, [sp, #0x1c]
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
add r3, #0x50
|
|
add r0, r4, r6
|
|
add r2, r7, #0
|
|
str r1, [sp, #0xc]
|
|
str r3, [sp, #0x1c]
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x20]
|
|
bl String_dtor
|
|
ldr r0, _022154F0 ; =0x00001FA8
|
|
mov r1, #0x2c
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
str r0, [sp, #0x24]
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r2, [sp, #0x10]
|
|
ldr r0, _022154F8 ; =0x00001FAC
|
|
ldrb r2, [r2, #2]
|
|
ldr r0, [r5, r0]
|
|
mov r3, #2
|
|
bl BufferIntegerAsString
|
|
ldr r0, _022154F8 ; =0x00001FAC
|
|
ldr r2, [sp, #0x24]
|
|
ldr r0, [r5, r0]
|
|
add r1, r7, #0
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0
|
|
add r1, r7, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
add r5, r0, #0
|
|
mov r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022154F4 ; =0x000F0E00
|
|
mov r3, #0x50
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
add r0, r4, r6
|
|
add r2, r7, #0
|
|
sub r3, r3, r5
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x24]
|
|
bl String_dtor
|
|
add r0, r7, #0
|
|
bl String_dtor
|
|
add r0, r4, r6
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022154EC: .word 0x00002070
|
|
_022154F0: .word 0x00001FA8
|
|
_022154F4: .word 0x000F0E00
|
|
_022154F8: .word 0x00001FAC
|
|
|
|
thumb_func_start MOD09_022154FC
|
|
MOD09_022154FC: ; 0x022154FC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
str r1, [sp, #0x10]
|
|
ldr r1, [r5]
|
|
ldr r0, _022155C0 ; =0x00002070
|
|
ldr r1, [r1, #0xc]
|
|
ldr r4, [r5, r0]
|
|
mov r0, #6
|
|
lsl r6, r2, #4
|
|
bl String_ctor
|
|
str r0, [sp, #0x14]
|
|
ldr r0, _022155C4 ; =0x00001FA8
|
|
mov r1, #0x2b
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0
|
|
ldr r1, [sp, #0x18]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
add r7, r0, #0
|
|
ldr r0, [sp, #0x18]
|
|
bl String_dtor
|
|
add r7, #0x28
|
|
mov r0, #0x50
|
|
sub r0, r0, r7
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
lsl r2, r7, #0x10
|
|
str r0, [sp, #4]
|
|
add r0, r4, r6
|
|
mov r1, #0
|
|
lsr r2, r2, #0x10
|
|
mov r3, #0x18
|
|
bl FillWindowPixelRect
|
|
ldr r0, _022155C4 ; =0x00001FA8
|
|
mov r1, #0x2c
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
add r7, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r2, [sp, #0x10]
|
|
ldr r0, _022155C8 ; =0x00001FAC
|
|
ldrb r2, [r2, #2]
|
|
ldr r0, [r5, r0]
|
|
mov r3, #2
|
|
bl BufferIntegerAsString
|
|
ldr r0, _022155C8 ; =0x00001FAC
|
|
ldr r1, [sp, #0x14]
|
|
ldr r0, [r5, r0]
|
|
add r2, r7, #0
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0
|
|
ldr r1, [sp, #0x14]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
add r5, r0, #0
|
|
mov r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022155CC ; =0x000F0E00
|
|
mov r3, #0x50
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
ldr r2, [sp, #0x14]
|
|
add r0, r4, r6
|
|
sub r3, r3, r5
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r7, #0
|
|
bl String_dtor
|
|
ldr r0, [sp, #0x14]
|
|
bl String_dtor
|
|
add r0, r4, r6
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_022155C0: .word 0x00002070
|
|
_022155C4: .word 0x00001FA8
|
|
_022155C8: .word 0x00001FAC
|
|
_022155CC: .word 0x000F0E00
|
|
|
|
thumb_func_start MOD09_022155D0
|
|
MOD09_022155D0: ; 0x022155D0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
mov r4, #0
|
|
ldr r0, [r0]
|
|
bl GetPartyCount
|
|
cmp r0, #0
|
|
ble _02215656
|
|
add r0, r4, #0
|
|
add r7, r5, #0
|
|
str r0, [sp, #8]
|
|
add r6, r5, #0
|
|
add r7, #0x1b
|
|
_022155EE:
|
|
ldr r0, _02215678 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
ldr r0, [sp, #8]
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldrh r0, [r6, #8]
|
|
cmp r0, #0
|
|
beq _0221563E
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
lsl r3, r4, #0x10
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #2
|
|
lsr r3, r3, #0x10
|
|
bl MOD09_02213E84
|
|
ldrb r0, [r7]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1f
|
|
bne _0221562A
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD09_0221567C
|
|
_0221562A:
|
|
ldr r0, [r6, #4]
|
|
bl FUN_0207C2D4
|
|
cmp r0, #7
|
|
bne _0221563E
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl MOD09_022156DC
|
|
_0221563E:
|
|
ldr r0, [sp, #8]
|
|
add r6, #0x50
|
|
add r0, #0x10
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
add r7, #0x50
|
|
ldr r0, [r0]
|
|
add r4, r4, #1
|
|
bl GetPartyCount
|
|
cmp r4, r0
|
|
blt _022155EE
|
|
_02215656:
|
|
ldr r0, [r5]
|
|
add r0, #0x35
|
|
ldrb r0, [r0]
|
|
cmp r0, #2
|
|
bne _0221566C
|
|
add r0, r5, #0
|
|
mov r1, #7
|
|
bl MOD09_022143F8
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0221566C:
|
|
add r0, r5, #0
|
|
mov r1, #6
|
|
bl MOD09_022143F8
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02215678: .word 0x00002070
|
|
|
|
thumb_func_start MOD09_0221567C
|
|
MOD09_0221567C: ; 0x0221567C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
add r6, r1, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, _022156D8 ; =0x00002070
|
|
lsl r4, r6, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
add r0, r0, r4
|
|
mov r2, #0x38
|
|
mov r3, #0x20
|
|
bl FillWindowPixelRect
|
|
mov r2, #0x40
|
|
str r2, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
ldr r0, _022156D8 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r3, #0x18
|
|
add r0, r0, r4
|
|
bl FillWindowPixelRect
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r6, #0
|
|
mov r3, #0x38
|
|
bl MOD09_02214080
|
|
mov r0, #0x18
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r6, #0
|
|
mov r3, #0x40
|
|
bl MOD09_02214100
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_022156D8: .word 0x00002070
|
|
|
|
thumb_func_start MOD09_022156DC
|
|
MOD09_022156DC: ; 0x022156DC
|
|
push {r3, lr}
|
|
mov r2, #0x50
|
|
mul r2, r1
|
|
add r2, r0, r2
|
|
ldrb r2, [r2, #0x1b]
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x1f
|
|
bne _022156F8
|
|
mov r2, #0x20
|
|
str r2, [sp]
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl MOD09_02214038
|
|
_022156F8:
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_022156FC
|
|
MOD09_022156FC: ; 0x022156FC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02215780 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215780 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x10
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215780 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x20
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215780 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x30
|
|
bl FillWindowPixelBuffer
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
ldrb r1, [r1, #0x11]
|
|
bl MOD09_02215784
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0xf
|
|
bl MOD09_0221445C
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r0, r4, r0
|
|
ldrb r0, [r0, #0x1b]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1f
|
|
bne _0221576A
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
mov r2, #0x12
|
|
bl MOD09_0221445C
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
mov r2, #0x13
|
|
bl MOD09_0221445C
|
|
pop {r4, pc}
|
|
_0221576A:
|
|
ldr r0, _02215780 ; =0x00002070
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x20
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02215780 ; =0x00002070
|
|
ldr r0, [r4, r0]
|
|
add r0, #0x30
|
|
bl ScheduleWindowCopyToVram
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02215780: .word 0x00002070
|
|
|
|
thumb_func_start MOD09_02215784
|
|
MOD09_02215784: ; 0x02215784
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r4, r0, #0
|
|
ldr r0, _022158D0 ; =0x00002070
|
|
add r6, r1, #0
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4]
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0x50
|
|
add r7, r6, #0
|
|
add r5, r4, #4
|
|
mul r7, r0
|
|
add r0, r5, r7
|
|
str r0, [sp, #0x14]
|
|
ldr r1, [r1, #0xc]
|
|
mov r0, #0xc
|
|
bl String_ctor
|
|
str r0, [sp, #0x10]
|
|
ldr r0, _022158D4 ; =0x00001FA8
|
|
ldr r1, _022158D8 ; =0x0221B090
|
|
lsl r2, r6, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r1, r2]
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0
|
|
ldr r0, [r5, r7]
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, _022158DC ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl BufferBoxMonNickname
|
|
ldr r0, _022158DC ; =0x00001FAC
|
|
ldr r1, [sp, #0x10]
|
|
ldr r0, [r4, r0]
|
|
add r2, r6, #0
|
|
bl StringExpandPlaceholders
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
ldr r0, [sp, #0x14]
|
|
mov r5, #0
|
|
ldrb r0, [r0, #0x16]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1f
|
|
bne _02215818
|
|
ldr r0, [sp, #0x14]
|
|
ldrb r0, [r0, #0x17]
|
|
lsl r1, r0, #0x18
|
|
lsr r1, r1, #0x1f
|
|
bne _02215818
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1d
|
|
bne _02215808
|
|
ldr r0, _022158D4 ; =0x00001FA8
|
|
mov r1, #0x10
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0
|
|
b _02215818
|
|
_02215808:
|
|
cmp r0, #1
|
|
bne _02215818
|
|
ldr r0, _022158D4 ; =0x00001FA8
|
|
mov r1, #0x11
|
|
ldr r0, [r4, r0]
|
|
bl NewString_ReadMsgData
|
|
add r5, r0, #0
|
|
_02215818:
|
|
ldr r1, [sp, #0x10]
|
|
mov r0, #2
|
|
mov r2, #0
|
|
bl FUN_02002E14
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
cmp r5, #0
|
|
bne _02215830
|
|
mov r7, #0
|
|
add r4, r7, #0
|
|
b _02215840
|
|
_02215830:
|
|
mov r0, #0
|
|
add r1, r5, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
mov r4, #8
|
|
_02215840:
|
|
ldr r0, [sp, #0x18]
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #3
|
|
sub r0, r0, r6
|
|
sub r0, r0, r7
|
|
sub r1, r0, r4
|
|
lsr r0, r1, #0x1f
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x17
|
|
lsr r7, r0, #0x18
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022158E0 ; =0x00070809
|
|
ldr r2, [sp, #0x10]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #2
|
|
add r3, r7, #0
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x10]
|
|
bl String_dtor
|
|
cmp r5, #0
|
|
beq _022158C6
|
|
ldr r0, [sp, #0x14]
|
|
ldrb r0, [r0, #0x17]
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1d
|
|
bne _022158A4
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022158E4 ; =0x000A0B00
|
|
add r3, r7, r6
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
ldr r0, [sp, #0x18]
|
|
add r2, r5, #0
|
|
add r3, r4, r3
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
b _022158C0
|
|
_022158A4:
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022158E8 ; =0x000C0D00
|
|
add r3, r7, r6
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
ldr r0, [sp, #0x18]
|
|
add r2, r5, #0
|
|
add r3, r4, r3
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
_022158C0:
|
|
add r0, r5, #0
|
|
bl String_dtor
|
|
_022158C6:
|
|
ldr r0, [sp, #0x18]
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022158D0: .word 0x00002070
|
|
_022158D4: .word 0x00001FA8
|
|
_022158D8: .word MOD9_0221B090
|
|
_022158DC: .word 0x00001FAC
|
|
_022158E0: .word 0x00070809
|
|
_022158E4: .word 0x000A0B00
|
|
_022158E8: .word 0x000C0D00
|
|
|
|
thumb_func_start MOD09_022158EC
|
|
MOD09_022158EC: ; 0x022158EC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r5, r0, #0
|
|
ldr r0, _02215A1C ; =0x00002075
|
|
mov r1, #6
|
|
ldrb r2, [r5, r0]
|
|
sub r0, r0, #5
|
|
mul r1, r2
|
|
lsl r1, r1, #0x10
|
|
lsr r6, r1, #0x10
|
|
ldr r1, [r5, r0]
|
|
lsl r0, r6, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r6, #1
|
|
lsl r0, r0, #4
|
|
str r0, [sp, #0x18]
|
|
ldr r0, _02215A20 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
ldr r0, [sp, #0x18]
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r6, #2
|
|
lsl r0, r0, #4
|
|
str r0, [sp, #0x14]
|
|
ldr r0, _02215A20 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r6, #3
|
|
lsl r0, r0, #4
|
|
str r0, [sp, #0x10]
|
|
ldr r0, _02215A20 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r6, #4
|
|
lsl r0, r0, #4
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _02215A20 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
ldr r0, [sp, #0xc]
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215A20 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x50
|
|
bl FillWindowPixelBuffer
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
str r2, [sp, #4]
|
|
ldr r3, [r5]
|
|
add r0, r5, #0
|
|
ldrb r3, [r3, #0x11]
|
|
add r1, r6, #0
|
|
bl MOD09_02213E84
|
|
add r0, r5, #0
|
|
str r0, [sp, #0x1c]
|
|
add r0, #0x34
|
|
mov r4, #0
|
|
add r7, r6, #1
|
|
str r0, [sp, #0x1c]
|
|
_02215986:
|
|
ldr r0, [r5]
|
|
ldrb r1, [r0, #0x11]
|
|
mov r0, #0x50
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
ldr r0, [sp, #0x1c]
|
|
lsl r1, r4, #3
|
|
add r0, r0, r2
|
|
str r1, [sp, #0x20]
|
|
ldrh r1, [r0, r1]
|
|
str r0, [sp, #0x24]
|
|
cmp r1, #0
|
|
beq _022159C8
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
ldr r0, _02215A24 ; =0x00070809
|
|
ldr r3, _02215A28 ; =0x0221B07C
|
|
lsl r6, r4, #2
|
|
str r0, [sp, #8]
|
|
ldr r3, [r3, r6]
|
|
add r0, r5, #0
|
|
add r2, r7, r4
|
|
bl MOD09_022142FC
|
|
ldr r2, [sp, #0x20]
|
|
ldr r1, [sp, #0x24]
|
|
add r0, r5, #0
|
|
add r1, r1, r2
|
|
add r2, r7, r4
|
|
bl MOD09_022153B0
|
|
_022159C8:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #4
|
|
blo _02215986
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
mov r2, #0x12
|
|
bl MOD09_0221445C
|
|
ldr r0, _02215A20 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
ldr r0, [sp, #0x18]
|
|
add r0, r1, r0
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02215A20 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r1, r0
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02215A20 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r1, r0
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02215A20 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
ldr r0, [sp, #0xc]
|
|
add r0, r1, r0
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r1, _02215A1C ; =0x00002075
|
|
mov r0, #1
|
|
ldrb r2, [r5, r1]
|
|
eor r0, r2
|
|
strb r0, [r5, r1]
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02215A1C: .word 0x00002075
|
|
_02215A20: .word 0x00002070
|
|
_02215A24: .word 0x00070809
|
|
_02215A28: .word MOD9_0221B07C
|
|
|
|
thumb_func_start MOD09_02215A2C
|
|
MOD09_02215A2C: ; 0x02215A2C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, _02215C3C ; =0x00002075
|
|
mov r1, #0x16
|
|
ldrb r2, [r5, r0]
|
|
sub r0, r0, #5
|
|
add r4, r2, #0
|
|
mul r4, r1
|
|
ldr r1, [r5, r0]
|
|
mov r0, #0x13
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0xe0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0xf0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
mov r0, #0x11
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
mov r0, #0x12
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0xd0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
lsl r0, r4, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
add r0, r4, #0
|
|
add r0, #0xa
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
add r0, r4, #0
|
|
add r0, #0xb
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
add r0, r4, #5
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
add r0, r4, #6
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
add r0, r4, #7
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
add r0, r4, #0
|
|
add r0, #8
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
add r0, r4, #0
|
|
add r0, #9
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
add r0, r4, #4
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
add r0, r4, #1
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
add r0, r4, #2
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215C40 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
add r0, r4, #3
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
str r2, [sp, #4]
|
|
ldr r3, [r5]
|
|
add r0, r5, #0
|
|
ldrb r3, [r3, #0x11]
|
|
add r1, r4, #0
|
|
bl MOD09_02213E84
|
|
ldr r1, [r5]
|
|
add r0, r5, #0
|
|
ldrb r1, [r1, #0x11]
|
|
bl MOD09_02214B8C
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r2, [r5]
|
|
add r1, r4, #0
|
|
ldrb r2, [r2, #0x11]
|
|
add r0, r5, #0
|
|
add r1, #0xa
|
|
bl MOD09_02214100
|
|
ldr r1, [r5]
|
|
add r0, r5, #0
|
|
ldrb r1, [r1, #0x11]
|
|
bl MOD09_022144C0
|
|
ldr r1, [r5]
|
|
add r0, r5, #0
|
|
ldrb r1, [r1, #0x11]
|
|
bl MOD09_02214694
|
|
ldr r1, [r5]
|
|
add r0, r5, #0
|
|
ldrb r1, [r1, #0x11]
|
|
bl MOD09_02214790
|
|
ldr r1, [r5]
|
|
add r0, r5, #0
|
|
ldrb r1, [r1, #0x11]
|
|
bl MOD09_0221488C
|
|
ldr r1, [r5]
|
|
add r0, r5, #0
|
|
ldrb r1, [r1, #0x11]
|
|
bl MOD09_0221498C
|
|
ldr r1, [r5]
|
|
add r0, r5, #0
|
|
ldrb r1, [r1, #0x11]
|
|
bl MOD09_02214A8C
|
|
ldr r2, [r5]
|
|
add r0, r5, #0
|
|
ldrb r2, [r2, #0x11]
|
|
add r1, r4, #1
|
|
bl MOD09_022141D8
|
|
ldr r2, [r5]
|
|
add r0, r5, #0
|
|
ldrb r2, [r2, #0x11]
|
|
add r1, r4, #3
|
|
bl MOD09_02214260
|
|
ldr r1, [r5]
|
|
add r0, r5, #0
|
|
ldrb r1, [r1, #0x11]
|
|
bl MOD09_02214D24
|
|
add r0, r5, #0
|
|
mov r1, #0x15
|
|
mov r2, #0x13
|
|
bl MOD09_0221445C
|
|
ldr r1, _02215C3C ; =0x00002075
|
|
mov r0, #1
|
|
ldrb r2, [r5, r1]
|
|
eor r0, r2
|
|
strb r0, [r5, r1]
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02215C3C: .word 0x00002075
|
|
_02215C40: .word 0x00002070
|
|
|
|
thumb_func_start MOD09_02215C44
|
|
MOD09_02215C44: ; 0x02215C44
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, _02215D98 ; =0x00002075
|
|
mov r1, #0xb
|
|
ldrb r2, [r5, r0]
|
|
sub r0, r0, #5
|
|
ldr r0, [r5, r0]
|
|
add r4, r2, #0
|
|
mul r4, r1
|
|
add r0, #0x60
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215D9C ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x70
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215D9C ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x80
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215D9C ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x90
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215D9C ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0xa0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215D9C ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
add r0, r4, #1
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215D9C ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
lsl r0, r4, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215D9C ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
add r0, r4, #2
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215D9C ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
add r0, r4, #3
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215D9C ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
add r0, r4, #5
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215D9C ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
add r0, r4, #4
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [r5]
|
|
add r2, r5, #0
|
|
ldrb r3, [r0, #0x11]
|
|
add r0, #0x34
|
|
ldrb r0, [r0]
|
|
mov r1, #0x50
|
|
add r2, #0x34
|
|
mul r1, r3
|
|
add r1, r2, r1
|
|
lsl r0, r0, #3
|
|
add r7, r1, r0
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #6
|
|
str r2, [sp, #4]
|
|
bl MOD09_02213E84
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
mov r1, #7
|
|
add r3, r2, #0
|
|
bl MOD09_022143A0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02215DA0 ; =0x000F0E00
|
|
add r2, r4, #0
|
|
str r0, [sp, #8]
|
|
ldr r3, [r5]
|
|
ldrh r1, [r7]
|
|
add r3, #0x34
|
|
ldrb r3, [r3]
|
|
add r0, r5, #0
|
|
lsl r6, r3, #2
|
|
ldr r3, _02215DA4 ; =0x0221B07C
|
|
ldr r3, [r3, r6]
|
|
bl MOD09_022142FC
|
|
add r0, r5, #0
|
|
mov r1, #8
|
|
bl MOD09_02214DA0
|
|
ldrb r2, [r7, #6]
|
|
add r0, r5, #0
|
|
add r1, r4, #2
|
|
bl MOD09_02214DE8
|
|
add r0, r5, #0
|
|
mov r1, #9
|
|
bl MOD09_02214ED0
|
|
ldrb r2, [r7, #7]
|
|
add r0, r5, #0
|
|
add r1, r4, #3
|
|
bl MOD09_02214F18
|
|
ldrh r2, [r7]
|
|
add r0, r5, #0
|
|
add r1, r4, #4
|
|
bl MOD09_02215000
|
|
add r0, r5, #0
|
|
mov r1, #0xa
|
|
bl MOD09_022150C8
|
|
ldrb r2, [r7, #5]
|
|
add r0, r5, #0
|
|
add r1, r4, #5
|
|
bl MOD09_0221512C
|
|
ldrb r2, [r7, #2]
|
|
ldrb r3, [r7, #3]
|
|
add r0, r5, #0
|
|
add r1, r4, #1
|
|
bl MOD09_022151A8
|
|
ldr r1, _02215D98 ; =0x00002075
|
|
mov r0, #1
|
|
ldrb r2, [r5, r1]
|
|
eor r0, r2
|
|
strb r0, [r5, r1]
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02215D98: .word 0x00002075
|
|
_02215D9C: .word 0x00002070
|
|
_02215DA0: .word 0x000F0E00
|
|
_02215DA4: .word MOD9_0221B07C
|
|
|
|
thumb_func_start MOD09_02215DA8
|
|
MOD09_02215DA8: ; 0x02215DA8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
ldr r0, _02215EC4 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215EC4 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x10
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215EC4 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x20
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215EC4 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x30
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215EC4 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x40
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02215EC4 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x50
|
|
bl FillWindowPixelBuffer
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r3, [r5]
|
|
add r0, r5, #0
|
|
ldrb r3, [r3, #0x11]
|
|
add r2, r1, #0
|
|
bl MOD09_02213E84
|
|
add r0, r5, #0
|
|
mov r6, #0
|
|
str r0, [sp, #0x10]
|
|
add r0, #0x34
|
|
ldr r7, _02215EC8 ; =0x0221B07C
|
|
add r4, r6, #0
|
|
str r0, [sp, #0x10]
|
|
_02215E14:
|
|
ldr r0, [r5]
|
|
ldrb r1, [r0, #0x11]
|
|
mov r0, #0x50
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, r2
|
|
ldrh r1, [r0, r4]
|
|
str r0, [sp, #0xc]
|
|
cmp r1, #0
|
|
beq _02215E4C
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
ldr r0, _02215ECC ; =0x00070809
|
|
add r2, r6, #1
|
|
str r0, [sp, #8]
|
|
ldr r3, [r7]
|
|
add r0, r5, #0
|
|
bl MOD09_022142FC
|
|
ldr r1, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r1, r1, r4
|
|
add r2, r6, #1
|
|
bl MOD09_022153B0
|
|
_02215E4C:
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
add r7, r7, #4
|
|
cmp r6, #4
|
|
blo _02215E14
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
ldr r0, _02215ECC ; =0x00070809
|
|
mov r2, #5
|
|
str r0, [sp, #8]
|
|
ldr r1, [r5]
|
|
add r0, r5, #0
|
|
ldrh r1, [r1, #0x24]
|
|
mov r3, #0x49
|
|
bl MOD09_022142FC
|
|
ldr r0, [r5]
|
|
mov r1, #5
|
|
ldrh r0, [r0, #0x24]
|
|
bl GetWazaAttr
|
|
add r1, sp, #0x14
|
|
strb r0, [r1, #2]
|
|
ldrb r0, [r1, #2]
|
|
mov r2, #5
|
|
strb r0, [r1, #3]
|
|
add r0, r5, #0
|
|
add r1, sp, #0x14
|
|
bl MOD09_022153B0
|
|
ldr r0, _02215EC4 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x10
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02215EC4 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x20
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02215EC4 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x30
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02215EC4 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x40
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02215EC4 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x50
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02215EC4: .word 0x00002070
|
|
_02215EC8: .word MOD9_0221B07C
|
|
_02215ECC: .word 0x00070809
|
|
|
|
thumb_func_start MOD09_02215ED0
|
|
MOD09_02215ED0: ; 0x02215ED0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, _02216090 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216090 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x20
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216090 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x30
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216090 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x10
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216090 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x40
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216090 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x60
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216090 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x50
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216090 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x70
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216090 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x90
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216090 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0xa0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216090 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x80
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216090 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0xb0
|
|
bl FillWindowPixelBuffer
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r3, [r5]
|
|
add r0, r5, #0
|
|
ldrb r3, [r3, #0x11]
|
|
add r2, r1, #0
|
|
bl MOD09_02213E84
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
add r3, r2, #0
|
|
bl MOD09_022143A0
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
bl MOD09_02214DA0
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl MOD09_02214ED0
|
|
add r0, r5, #0
|
|
mov r1, #9
|
|
bl MOD09_022150C8
|
|
ldr r1, [r5]
|
|
add r0, r1, #0
|
|
add r0, #0x34
|
|
ldrb r3, [r0]
|
|
cmp r3, #4
|
|
bhs _0221600C
|
|
ldrb r1, [r1, #0x11]
|
|
add r2, r5, #0
|
|
mov r0, #0x50
|
|
add r2, #0x34
|
|
mul r0, r1
|
|
add r7, r2, r0
|
|
lsl r0, r3, #3
|
|
str r0, [sp, #0xc]
|
|
add r4, r7, r0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02216094 ; =0x000F0E00
|
|
lsl r6, r3, #2
|
|
str r0, [sp, #8]
|
|
ldr r1, [sp, #0xc]
|
|
ldr r3, _02216098 ; =0x0221B07C
|
|
ldrh r1, [r7, r1]
|
|
ldr r3, [r3, r6]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
bl MOD09_022142FC
|
|
ldrb r2, [r4, #6]
|
|
add r0, r5, #0
|
|
mov r1, #6
|
|
bl MOD09_02214DE8
|
|
ldrb r2, [r4, #7]
|
|
add r0, r5, #0
|
|
mov r1, #7
|
|
bl MOD09_02214F18
|
|
ldr r2, [sp, #0xc]
|
|
add r0, r5, #0
|
|
ldrh r2, [r7, r2]
|
|
mov r1, #8
|
|
bl MOD09_02215000
|
|
ldrb r2, [r4, #5]
|
|
add r0, r5, #0
|
|
mov r1, #0xa
|
|
bl MOD09_0221512C
|
|
ldrb r2, [r4, #2]
|
|
ldrb r3, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl MOD09_022151A8
|
|
b _02216082
|
|
_0221600C:
|
|
ldrh r0, [r1, #0x24]
|
|
mov r1, #5
|
|
bl GetWazaAttr
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02216094 ; =0x000F0E00
|
|
mov r2, #1
|
|
str r0, [sp, #8]
|
|
ldr r1, [r5]
|
|
add r0, r5, #0
|
|
ldrh r1, [r1, #0x24]
|
|
mov r3, #0x49
|
|
bl MOD09_022142FC
|
|
ldr r2, [r5]
|
|
add r0, r5, #0
|
|
ldrh r2, [r2, #0x24]
|
|
mov r1, #8
|
|
bl MOD09_02215000
|
|
ldr r0, [r5]
|
|
mov r1, #4
|
|
ldrh r0, [r0, #0x24]
|
|
bl GetWazaAttr
|
|
add r2, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #6
|
|
bl MOD09_02214DE8
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
ldrh r0, [r0, #0x24]
|
|
bl GetWazaAttr
|
|
add r2, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #7
|
|
bl MOD09_02214F18
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
ldrh r0, [r0, #0x24]
|
|
bl GetWazaAttr
|
|
add r2, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #0xa
|
|
bl MOD09_0221512C
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
add r2, r4, #0
|
|
add r3, r4, #0
|
|
bl MOD09_022151A8
|
|
_02216082:
|
|
add r0, r5, #0
|
|
mov r1, #0xb
|
|
bl MOD09_022152DC
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02216090: .word 0x00002070
|
|
_02216094: .word 0x000F0E00
|
|
_02216098: .word MOD9_0221B07C
|
|
|
|
thumb_func_start MOD09_0221609C
|
|
MOD09_0221609C: ; 0x0221609C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, _02216184 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216184 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x10
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216184 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x20
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216184 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x30
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216184 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x40
|
|
bl FillWindowPixelBuffer
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r3, [r5]
|
|
add r0, r5, #0
|
|
ldrb r3, [r3, #0x11]
|
|
add r2, r1, #0
|
|
bl MOD09_02213E84
|
|
add r0, r5, #0
|
|
mov r6, #0
|
|
str r0, [sp, #0x10]
|
|
add r0, #0x34
|
|
ldr r7, _02216188 ; =0x0221B07C
|
|
add r4, r6, #0
|
|
str r0, [sp, #0x10]
|
|
_022160FC:
|
|
ldr r0, [r5]
|
|
ldrb r1, [r0, #0x11]
|
|
mov r0, #0x50
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, r2
|
|
ldrh r1, [r0, r4]
|
|
str r0, [sp, #0xc]
|
|
cmp r1, #0
|
|
beq _02216134
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221618C ; =0x00070809
|
|
add r2, r6, #1
|
|
str r0, [sp, #8]
|
|
ldr r3, [r7]
|
|
add r0, r5, #0
|
|
bl MOD09_022142FC
|
|
ldr r1, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r1, r1, r4
|
|
add r2, r6, #1
|
|
bl MOD09_022153B0
|
|
_02216134:
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
add r7, r7, #4
|
|
cmp r6, #4
|
|
blo _022160FC
|
|
ldr r2, [r5]
|
|
mov r1, #0x25
|
|
ldrh r0, [r2, #0x22]
|
|
ldr r2, [r2, #0xc]
|
|
bl GetItemAttr
|
|
cmp r0, #0
|
|
bne _02216156
|
|
add r0, r5, #0
|
|
mov r1, #0x5e
|
|
bl MOD09_022143F8
|
|
_02216156:
|
|
ldr r0, _02216184 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x10
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02216184 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x20
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02216184 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x30
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, _02216184 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x40
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02216184: .word 0x00002070
|
|
_02216188: .word MOD9_0221B07C
|
|
_0221618C: .word 0x00070809
|
|
|
|
thumb_func_start MOD09_02216190
|
|
MOD09_02216190: ; 0x02216190
|
|
push {r3, r4, r5, lr}
|
|
ldr r4, [r0]
|
|
add r3, r1, #0
|
|
ldrb r5, [r4, #0x11]
|
|
add r1, r0, #0
|
|
mov r4, #0x50
|
|
add r1, #0x34
|
|
mul r4, r5
|
|
add r4, r1, r4
|
|
lsl r1, r2, #3
|
|
add r1, r4, r1
|
|
add r2, r3, #0
|
|
bl MOD09_022154FC
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_022161B0
|
|
MOD09_022161B0: ; 0x022161B0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, _02216304 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216304 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x20
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216304 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x30
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216304 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x10
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216304 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x40
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216304 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x50
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02216304 ; =0x00002070
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x60
|
|
bl FillWindowPixelBuffer
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r3, [r5]
|
|
add r0, r5, #0
|
|
ldrb r3, [r3, #0x11]
|
|
add r2, r1, #0
|
|
bl MOD09_02213E84
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
add r3, r2, #0
|
|
bl MOD09_022143A0
|
|
ldr r0, _02216308 ; =0x00001FA8
|
|
mov r1, #0x39
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
mov r3, #0x60
|
|
bl FUN_02002F40
|
|
mov r1, #0
|
|
add r3, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221630C ; =0x000F0E00
|
|
add r2, r4, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, _02216304 ; =0x00002070
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x40
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
ldr r0, _02216304 ; =0x00002070
|
|
ldr r0, [r5, r0]
|
|
add r0, #0x40
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r1, [r5]
|
|
add r0, r1, #0
|
|
add r0, #0x34
|
|
ldrb r3, [r0]
|
|
cmp r3, #4
|
|
bhs _022162BE
|
|
ldrb r1, [r1, #0x11]
|
|
add r2, r5, #0
|
|
mov r0, #0x50
|
|
add r2, #0x34
|
|
mul r0, r1
|
|
add r4, r2, r0
|
|
lsl r7, r3, #3
|
|
add r0, r4, r7
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221630C ; =0x000F0E00
|
|
lsl r6, r3, #2
|
|
str r0, [sp, #8]
|
|
ldr r3, _02216310 ; =0x0221B07C
|
|
ldrh r1, [r4, r7]
|
|
ldr r3, [r3, r6]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
bl MOD09_022142FC
|
|
ldrh r2, [r4, r7]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl MOD09_02215060
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x10]
|
|
ldrb r2, [r2, #2]
|
|
ldrb r3, [r3, #3]
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl MOD09_022151A8
|
|
b _022162F8
|
|
_022162BE:
|
|
ldrh r0, [r1, #0x24]
|
|
mov r1, #5
|
|
bl GetWazaAttr
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221630C ; =0x000F0E00
|
|
mov r2, #1
|
|
str r0, [sp, #8]
|
|
ldr r1, [r5]
|
|
add r0, r5, #0
|
|
ldrh r1, [r1, #0x24]
|
|
mov r3, #0x49
|
|
bl MOD09_022142FC
|
|
ldr r2, [r5]
|
|
add r0, r5, #0
|
|
ldrh r2, [r2, #0x24]
|
|
mov r1, #5
|
|
bl MOD09_02215060
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
add r2, r4, #0
|
|
add r3, r4, #0
|
|
bl MOD09_022151A8
|
|
_022162F8:
|
|
add r0, r5, #0
|
|
mov r1, #6
|
|
bl MOD09_022152DC
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02216304: .word 0x00002070
|
|
_02216308: .word 0x00001FA8
|
|
_0221630C: .word 0x000F0E00
|
|
_02216310: .word MOD9_0221B07C
|
|
|
|
thumb_func_start MOD09_02216314
|
|
MOD09_02216314: ; 0x02216314
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02216338 ; =0x00002060
|
|
mov r1, #1
|
|
add r0, r4, r0
|
|
add r2, r1, #0
|
|
mov r3, #0xe
|
|
bl FUN_0200D0BC
|
|
ldr r0, _02216338 ; =0x00002060
|
|
mov r1, #0xf
|
|
add r0, r4, r0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r4, #0
|
|
bl MOD09_0221633C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02216338: .word 0x00002060
|
|
|
|
thumb_func_start MOD09_0221633C
|
|
MOD09_0221633C: ; 0x0221633C
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
bl TextFlags_SetCanABSpeedUpPrint
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #8]
|
|
bl MOD11_02230E54
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r2, _02216370 ; =0x00002060
|
|
str r3, [sp, #8]
|
|
add r0, r4, r2
|
|
sub r2, #0xb0
|
|
ldr r2, [r4, r2]
|
|
mov r1, #1
|
|
bl AddTextPrinterParameterized
|
|
ldr r1, _02216374 ; =0x0000207B
|
|
strb r0, [r4, r1]
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02216370: .word 0x00002060
|
|
_02216374: .word 0x0000207B
|
|
|
|
thumb_func_start MOD09_02216378
|
|
MOD09_02216378: ; 0x02216378
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [sp, #0xc]
|
|
ldrh r0, [r0, #0x22]
|
|
ldr r2, [r2, #0xc]
|
|
bl LoadItemDataOrGfx
|
|
ldr r2, [sp, #0xc]
|
|
add r6, r0, #0
|
|
ldrb r3, [r2, #0x11]
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, [sp, #0xc]
|
|
add r2, r2, r3
|
|
add r2, #0x2c
|
|
ldrb r2, [r2]
|
|
ldr r0, [r0, #8]
|
|
ldr r1, [r1, #0x28]
|
|
bl MOD11_02230014
|
|
mov r1, #0xa2
|
|
mov r2, #0
|
|
add r7, r0, #0
|
|
bl GetMonData
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #8]
|
|
add r0, r6, #0
|
|
mov r1, #0xf
|
|
mov r4, #0
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0
|
|
beq _022163CC
|
|
mov r0, #1
|
|
orr r0, r4
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
_022163CC:
|
|
add r0, r6, #0
|
|
mov r1, #0x10
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0
|
|
beq _022163E0
|
|
mov r0, #2
|
|
orr r0, r4
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
_022163E0:
|
|
add r0, r6, #0
|
|
mov r1, #0x11
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0
|
|
beq _022163F4
|
|
mov r0, #4
|
|
orr r0, r4
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
_022163F4:
|
|
add r0, r6, #0
|
|
mov r1, #0x12
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0
|
|
beq _02216408
|
|
mov r0, #8
|
|
orr r0, r4
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
_02216408:
|
|
add r0, r6, #0
|
|
mov r1, #0x13
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0
|
|
beq _0221641C
|
|
mov r0, #0x10
|
|
orr r0, r4
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
_0221641C:
|
|
add r0, r6, #0
|
|
mov r1, #0x14
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0
|
|
beq _02216430
|
|
mov r0, #0x20
|
|
orr r0, r4
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
_02216430:
|
|
add r0, r6, #0
|
|
mov r1, #0x15
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0
|
|
beq _02216444
|
|
mov r0, #0x40
|
|
orr r0, r4
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
_02216444:
|
|
ldr r0, [sp, #0xc]
|
|
ldrb r1, [r0, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r0, r5, r0
|
|
ldrh r1, [r0, #0x14]
|
|
cmp r1, #0
|
|
bne _0221648E
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #0
|
|
beq _0221648E
|
|
ldr r0, _022166C8 ; =0x00001FA8
|
|
mov r1, #0x58
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, _022166CC ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl BufferBoxMonNickname
|
|
ldr r1, _022166CC ; =0x00001FAC
|
|
add r2, r4, #0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
b _022166BE
|
|
_0221648E:
|
|
ldr r0, [sp, #8]
|
|
cmp r0, r1
|
|
beq _022164EA
|
|
ldr r0, _022166C8 ; =0x00001FA8
|
|
mov r1, #0x52
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, _022166CC ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl BufferBoxMonNickname
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
ldr r2, [sp, #0xc]
|
|
str r1, [sp, #4]
|
|
ldrb r3, [r2, #0x11]
|
|
mov r2, #0x50
|
|
ldr r0, _022166CC ; =0x00001FAC
|
|
mul r2, r3
|
|
add r2, r5, r2
|
|
ldrh r3, [r2, #0x14]
|
|
ldr r2, [sp, #8]
|
|
ldr r0, [r5, r0]
|
|
sub r2, r2, r3
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
ldr r1, _022166CC ; =0x00001FAC
|
|
add r2, r4, #0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
b _022166BE
|
|
_022164EA:
|
|
add r0, r6, #0
|
|
mov r1, #0x24
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0
|
|
bne _02216502
|
|
add r0, r6, #0
|
|
mov r1, #0x25
|
|
bl GetItemAttr_PreloadedItemData
|
|
cmp r0, #0
|
|
beq _02216512
|
|
_02216502:
|
|
ldr r2, _022166C8 ; =0x00001FA8
|
|
mov r1, #0x57
|
|
ldr r0, [r5, r2]
|
|
add r2, #8
|
|
ldr r2, [r5, r2]
|
|
bl ReadMsgDataIntoString
|
|
b _022166BE
|
|
_02216512:
|
|
cmp r4, #1
|
|
ldr r0, _022166C8 ; =0x00001FA8
|
|
bne _0221654A
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x5c
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, _022166CC ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl BufferBoxMonNickname
|
|
ldr r1, _022166CC ; =0x00001FAC
|
|
add r2, r4, #0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
b _022166BE
|
|
_0221654A:
|
|
cmp r4, #2
|
|
bne _02216580
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x53
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, _022166CC ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl BufferBoxMonNickname
|
|
ldr r1, _022166CC ; =0x00001FAC
|
|
add r2, r4, #0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
b _022166BE
|
|
_02216580:
|
|
cmp r4, #4
|
|
bne _022165B6
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x55
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, _022166CC ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl BufferBoxMonNickname
|
|
ldr r1, _022166CC ; =0x00001FAC
|
|
add r2, r4, #0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
b _022166BE
|
|
_022165B6:
|
|
cmp r4, #8
|
|
bne _022165EC
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x56
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, _022166CC ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl BufferBoxMonNickname
|
|
ldr r1, _022166CC ; =0x00001FAC
|
|
add r2, r4, #0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
b _022166BE
|
|
_022165EC:
|
|
cmp r4, #0x10
|
|
bne _02216622
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x54
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, _022166CC ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl BufferBoxMonNickname
|
|
ldr r1, _022166CC ; =0x00001FAC
|
|
add r2, r4, #0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
b _022166BE
|
|
_02216622:
|
|
cmp r4, #0x20
|
|
bne _02216658
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x5a
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, _022166CC ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl BufferBoxMonNickname
|
|
ldr r1, _022166CC ; =0x00001FAC
|
|
add r2, r4, #0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
b _022166BE
|
|
_02216658:
|
|
cmp r4, #0x40
|
|
bne _0221668E
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x5b
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, _022166CC ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl BufferBoxMonNickname
|
|
ldr r1, _022166CC ; =0x00001FAC
|
|
add r2, r4, #0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
b _022166BE
|
|
_0221668E:
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x59
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, _022166CC ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl BufferBoxMonNickname
|
|
ldr r1, _022166CC ; =0x00001FAC
|
|
add r2, r4, #0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
_022166BE:
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022166C8: .word 0x00001FA8
|
|
_022166CC: .word 0x00001FAC
|
|
|
|
thumb_func_start MOD09_022166D0
|
|
MOD09_022166D0: ; 0x022166D0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r3, [r5]
|
|
ldrb r2, [r3, #0x11]
|
|
ldr r0, [r3, #8]
|
|
ldr r1, [r3, #0x28]
|
|
add r2, r3, r2
|
|
add r2, #0x2c
|
|
ldrb r2, [r2]
|
|
bl MOD11_02230014
|
|
add r6, r0, #0
|
|
ldr r0, _02216728 ; =0x00001FA8
|
|
mov r1, #0x5f
|
|
ldr r0, [r5, r0]
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, _0221672C ; =0x00001FAC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl BufferBoxMonNickname
|
|
ldr r0, _0221672C ; =0x00001FAC
|
|
ldr r2, _02216730 ; =0x00000175
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl BufferMoveName
|
|
ldr r1, _0221672C ; =0x00001FAC
|
|
add r2, r4, #0
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02216728: .word 0x00001FA8
|
|
_0221672C: .word 0x00001FAC
|
|
_02216730: .word 0x00000175
|
|
|
|
thumb_func_start MOD09_02216734
|
|
MOD09_02216734: ; 0x02216734
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD09_02216770
|
|
add r0, r4, #0
|
|
bl MOD09_022167BC
|
|
add r0, r4, #0
|
|
bl MOD09_02216894
|
|
add r0, r4, #0
|
|
bl MOD09_02216934
|
|
add r0, r4, #0
|
|
bl MOD09_022169AC
|
|
add r0, r4, #0
|
|
bl MOD09_02216A4C
|
|
add r0, r4, #0
|
|
bl MOD09_02216B4C
|
|
add r0, r4, #0
|
|
bl MOD09_02217750
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineBToggleLayers
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start MOD09_02216770
|
|
MOD09_02216770: ; 0x02216770
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x18
|
|
ldr r3, _022167B4 ; =0x0221B4B8
|
|
add r2, sp, #0
|
|
add r5, r0, #0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #8]
|
|
bl MOD11_02230078
|
|
add r4, r0, #0
|
|
bl FUN_0200BB34
|
|
ldr r1, _022167B8 ; =0x00001FB4
|
|
mov r2, #0x2b
|
|
str r0, [r5, r1]
|
|
ldr r1, [r5, r1]
|
|
add r0, r4, #0
|
|
bl FUN_0200BBF0
|
|
ldr r1, _022167B8 ; =0x00001FB4
|
|
add r0, r4, #0
|
|
ldr r1, [r5, r1]
|
|
add r2, sp, #0
|
|
bl FUN_0200BF60
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_022167B4: .word MOD9_0221B4B8
|
|
_022167B8: .word 0x00001FB4
|
|
|
|
thumb_func_start MOD09_022167BC
|
|
MOD09_022167BC: ; 0x022167BC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r6, r0, #0
|
|
ldr r0, [r6]
|
|
ldr r0, [r0, #8]
|
|
bl MOD11_02230078
|
|
add r7, r0, #0
|
|
bl FUN_0206B888
|
|
mov r1, #0x13
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
mov r1, #3
|
|
str r1, [sp, #0xc]
|
|
mov r0, #2
|
|
str r0, [sp, #0x10]
|
|
ldr r0, _0221688C ; =0x0000B007
|
|
ldr r3, _02216890 ; =0x00001FB4
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
ldr r3, [r6, r3]
|
|
add r2, r7, #0
|
|
bl FUN_0200C0DC
|
|
bl FUN_0206B890
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _0221688C ; =0x0000B007
|
|
ldr r1, _02216890 ; =0x00001FB4
|
|
str r0, [sp, #4]
|
|
ldr r1, [r6, r1]
|
|
add r0, r7, #0
|
|
mov r2, #0x13
|
|
bl FUN_0200C124
|
|
bl FUN_0206B89C
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _0221688C ; =0x0000B007
|
|
ldr r1, _02216890 ; =0x00001FB4
|
|
str r0, [sp, #4]
|
|
ldr r1, [r6, r1]
|
|
add r0, r7, #0
|
|
mov r2, #0x13
|
|
bl FUN_0200C13C
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
_0221682E:
|
|
ldrh r0, [r5, #8]
|
|
cmp r0, #0
|
|
beq _02216858
|
|
ldr r0, [r5, #4]
|
|
bl FUN_0206B6C8
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221688C ; =0x0000B007
|
|
ldr r1, _02216890 ; =0x00001FB4
|
|
add r0, r4, r0
|
|
str r0, [sp, #8]
|
|
ldr r1, [r6, r1]
|
|
add r0, r7, #0
|
|
mov r2, #0x13
|
|
bl FUN_0200C00C
|
|
b _0221687E
|
|
_02216858:
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
bl FUN_0206B6D4
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221688C ; =0x0000B007
|
|
ldr r1, _02216890 ; =0x00001FB4
|
|
add r0, r4, r0
|
|
str r0, [sp, #8]
|
|
ldr r1, [r6, r1]
|
|
add r0, r7, #0
|
|
mov r2, #0x13
|
|
bl FUN_0200C00C
|
|
_0221687E:
|
|
add r4, r4, #1
|
|
add r5, #0x50
|
|
cmp r4, #6
|
|
blo _0221682E
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0221688C: .word 0x0000B007
|
|
_02216890: .word 0x00001FB4
|
|
|
|
thumb_func_start MOD09_02216894
|
|
MOD09_02216894: ; 0x02216894
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #8]
|
|
bl MOD11_02230078
|
|
add r4, r0, #0
|
|
bl FUN_0207C2C8
|
|
mov r1, #0x27
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
mov r0, #2
|
|
str r0, [sp, #0x10]
|
|
ldr r0, _02216928 ; =0x0000B008
|
|
ldr r3, _0221692C ; =0x00001FB4
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r3, [r5, r3]
|
|
mov r1, #3
|
|
add r2, r4, #0
|
|
bl FUN_0200C0DC
|
|
bl FUN_0207C2CC
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02216928 ; =0x0000B008
|
|
ldr r1, _0221692C ; =0x00001FB4
|
|
str r0, [sp, #4]
|
|
ldr r1, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r2, #0x27
|
|
bl FUN_0200C124
|
|
bl FUN_0207C2D0
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02216928 ; =0x0000B008
|
|
ldr r1, _0221692C ; =0x00001FB4
|
|
str r0, [sp, #4]
|
|
ldr r1, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r2, #0x27
|
|
bl FUN_0200C13C
|
|
bl FUN_0207C2C4
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, _02216930 ; =0x0000B00D
|
|
ldr r1, _0221692C ; =0x00001FB4
|
|
str r0, [sp, #8]
|
|
ldr r1, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r2, #0x27
|
|
bl FUN_0200C00C
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02216928: .word 0x0000B008
|
|
_0221692C: .word 0x00001FB4
|
|
_02216930: .word 0x0000B00D
|
|
|
|
thumb_func_start MOD09_02216934
|
|
MOD09_02216934: ; 0x02216934
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #8]
|
|
bl MOD11_02230078
|
|
add r6, r0, #0
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
ldr r0, _0221699C ; =0x0000B009
|
|
ldr r3, _022169A0 ; =0x00001FB4
|
|
str r0, [sp, #4]
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r3, [r5, r3]
|
|
mov r1, #3
|
|
add r2, r6, #0
|
|
bl FUN_0206E198
|
|
ldr r1, _022169A0 ; =0x00001FB4
|
|
ldr r2, _0221699C ; =0x0000B009
|
|
ldr r1, [r5, r1]
|
|
add r0, r6, #0
|
|
add r3, r2, #0
|
|
bl FUN_0206E1D4
|
|
ldr r4, _022169A4 ; =0x0000B00E
|
|
add r7, r4, #6
|
|
_02216970:
|
|
ldr r1, _022169A0 ; =0x00001FB4
|
|
str r4, [sp]
|
|
ldr r1, [r5, r1]
|
|
add r0, r6, #0
|
|
mov r2, #2
|
|
mov r3, #0
|
|
bl FUN_0206E130
|
|
add r4, r4, #1
|
|
cmp r4, r7
|
|
bls _02216970
|
|
ldr r0, _022169A8 ; =0x0000B015
|
|
ldr r1, _022169A0 ; =0x00001FB4
|
|
str r0, [sp]
|
|
ldr r1, [r5, r1]
|
|
add r0, r6, #0
|
|
mov r2, #2
|
|
mov r3, #0
|
|
bl FUN_0206E2AC
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0221699C: .word 0x0000B009
|
|
_022169A0: .word 0x00001FB4
|
|
_022169A4: .word 0x0000B00E
|
|
_022169A8: .word 0x0000B015
|
|
|
|
thumb_func_start MOD09_022169AC
|
|
MOD09_022169AC: ; 0x022169AC
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #8]
|
|
bl MOD11_02230078
|
|
add r4, r0, #0
|
|
bl FUN_020724C8
|
|
mov r1, #0x14
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
mov r0, #2
|
|
str r0, [sp, #0x10]
|
|
ldr r0, _02216A40 ; =0x0000B00A
|
|
ldr r3, _02216A44 ; =0x00001FB4
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r3, [r5, r3]
|
|
mov r1, #3
|
|
add r2, r4, #0
|
|
bl FUN_0200C0DC
|
|
bl FUN_020724CC
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02216A40 ; =0x0000B00A
|
|
ldr r1, _02216A44 ; =0x00001FB4
|
|
str r0, [sp, #4]
|
|
ldr r1, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r2, #0x14
|
|
bl FUN_0200C124
|
|
bl FUN_020724D0
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02216A40 ; =0x0000B00A
|
|
ldr r1, _02216A44 ; =0x00001FB4
|
|
str r0, [sp, #4]
|
|
ldr r1, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r2, #0x14
|
|
bl FUN_0200C13C
|
|
bl FUN_020724C4
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, _02216A48 ; =0x0000B016
|
|
ldr r1, _02216A44 ; =0x00001FB4
|
|
str r0, [sp, #8]
|
|
ldr r1, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r2, #0x14
|
|
bl FUN_0200C00C
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02216A40: .word 0x0000B00A
|
|
_02216A44: .word 0x00001FB4
|
|
_02216A48: .word 0x0000B016
|
|
|
|
thumb_func_start MOD09_02216A4C
|
|
MOD09_02216A4C: ; 0x02216A4C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #8]
|
|
bl MOD11_02230078
|
|
add r4, r0, #0
|
|
mov r0, #0x48
|
|
str r0, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
mov r0, #2
|
|
str r0, [sp, #0x10]
|
|
ldr r0, _02216AD0 ; =0x0000B00B
|
|
ldr r3, _02216AD4 ; =0x00001FB4
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r3, [r5, r3]
|
|
mov r1, #3
|
|
add r2, r4, #0
|
|
bl FUN_0200C0DC
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02216AD0 ; =0x0000B00B
|
|
ldr r1, _02216AD4 ; =0x00001FB4
|
|
str r0, [sp, #4]
|
|
ldr r1, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r2, #0x48
|
|
mov r3, #0x19
|
|
bl FUN_0200C124
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02216AD0 ; =0x0000B00B
|
|
ldr r1, _02216AD4 ; =0x00001FB4
|
|
str r0, [sp, #4]
|
|
ldr r1, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r2, #0x48
|
|
mov r3, #0x18
|
|
bl FUN_0200C13C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, _02216AD8 ; =0x0000B017
|
|
ldr r1, _02216AD4 ; =0x00001FB4
|
|
str r0, [sp, #8]
|
|
ldr r1, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r2, #0x48
|
|
mov r3, #0x1a
|
|
bl FUN_0200C00C
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02216AD0: .word 0x0000B00B
|
|
_02216AD4: .word 0x00001FB4
|
|
_02216AD8: .word 0x0000B017
|
|
|
|
thumb_func_start MOD09_02216ADC
|
|
MOD09_02216ADC: ; 0x02216ADC
|
|
push {r4, r5, lr}
|
|
sub sp, #0x34
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
ldr r0, [r0, #8]
|
|
bl MOD11_02230078
|
|
mov r2, #0
|
|
add r1, sp, #0
|
|
strh r2, [r1]
|
|
strh r2, [r1, #2]
|
|
strh r2, [r1, #4]
|
|
strh r2, [r1, #6]
|
|
mov r1, #0x14
|
|
ldr r3, _02216B34 ; =0x0221B6F0
|
|
mul r1, r4
|
|
ldr r3, [r3, r1]
|
|
str r2, [sp, #0xc]
|
|
str r3, [sp, #8]
|
|
mov r3, #2
|
|
str r3, [sp, #0x10]
|
|
ldr r3, _02216B38 ; =0x0221B6E0
|
|
str r2, [sp, #0x30]
|
|
ldr r3, [r3, r1]
|
|
add r2, sp, #0
|
|
str r3, [sp, #0x14]
|
|
ldr r3, _02216B3C ; =0x0221B6E4
|
|
ldr r3, [r3, r1]
|
|
str r3, [sp, #0x18]
|
|
ldr r3, _02216B40 ; =0x0221B6E8
|
|
ldr r3, [r3, r1]
|
|
str r3, [sp, #0x1c]
|
|
ldr r3, _02216B44 ; =0x0221B6EC
|
|
ldr r1, [r3, r1]
|
|
str r1, [sp, #0x20]
|
|
mov r1, #1
|
|
str r1, [sp, #0x2c]
|
|
ldr r1, _02216B48 ; =0x00001FB4
|
|
ldr r1, [r5, r1]
|
|
bl FUN_0200C154
|
|
add sp, #0x34
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_02216B34: .word MOD9_0221B6F0
|
|
_02216B38: .word MOD9_0221B6E0
|
|
_02216B3C: .word MOD9_0221B6E4
|
|
_02216B40: .word MOD9_0221B6E8
|
|
_02216B44: .word MOD9_0221B6EC
|
|
_02216B48: .word 0x00001FB4
|
|
|
|
thumb_func_start MOD09_02216B4C
|
|
MOD09_02216B4C: ; 0x02216B4C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r7, _02216B70 ; =0x00001FB8
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
_02216B56:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02216ADC
|
|
str r0, [r5, r7]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0x26
|
|
blo _02216B56
|
|
add r0, r6, #0
|
|
bl MOD09_02216BD0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02216B70: .word 0x00001FB8
|
|
|
|
thumb_func_start MOD09_02216B74
|
|
MOD09_02216B74: ; 0x02216B74
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
ldr r0, [r7]
|
|
ldr r0, [r0, #8]
|
|
bl MOD11_02230078
|
|
ldr r6, _02216BA8 ; =0x00001FB8
|
|
str r0, [sp]
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
_02216B88:
|
|
ldr r0, [r5, r6]
|
|
bl FUN_0200C3DC
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0x26
|
|
blo _02216B88
|
|
add r0, r7, #0
|
|
bl MOD09_022177B4
|
|
ldr r1, _02216BAC ; =0x00001FB4
|
|
ldr r0, [sp]
|
|
ldr r1, [r7, r1]
|
|
bl FUN_0200C398
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02216BA8: .word 0x00001FB8
|
|
_02216BAC: .word 0x00001FB4
|
|
|
|
thumb_func_start MOD09_02216BB0
|
|
MOD09_02216BB0: ; 0x02216BB0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
mov r1, #1
|
|
add r6, r0, #0
|
|
bl FUN_0200C644
|
|
lsl r1, r5, #0x10
|
|
lsl r2, r4, #0x10
|
|
add r0, r6, #0
|
|
asr r1, r1, #0x10
|
|
asr r2, r2, #0x10
|
|
bl FUN_0200C714
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02216BD0
|
|
MOD09_02216BD0: ; 0x02216BD0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
mov r7, #0
|
|
add r4, #0x1b
|
|
add r6, r5, #0
|
|
_02216BDC:
|
|
ldrh r0, [r5, #8]
|
|
cmp r0, #0
|
|
beq _02216BFC
|
|
add r1, r5, #0
|
|
ldrb r2, [r4]
|
|
add r1, #0x32
|
|
ldrb r1, [r1]
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x1f
|
|
bl FUN_0206B7BC
|
|
add r1, r0, #0
|
|
ldr r0, _02216C0C ; =0x00001FD4
|
|
ldr r0, [r6, r0]
|
|
bl FUN_0200C66C
|
|
_02216BFC:
|
|
add r7, r7, #1
|
|
add r5, #0x50
|
|
add r4, #0x50
|
|
add r6, r6, #4
|
|
cmp r7, #6
|
|
blt _02216BDC
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02216C0C: .word 0x00001FD4
|
|
|
|
thumb_func_start MOD09_02216C10
|
|
MOD09_02216C10: ; 0x02216C10
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r6, r3, #0
|
|
ldr r0, [r0, #8]
|
|
add r7, r1, #0
|
|
add r4, r2, #0
|
|
bl MOD11_02230078
|
|
str r0, [sp, #8]
|
|
bl FUN_0206E12C
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
bl FUN_0206E0F0
|
|
add r3, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r1, _02216C5C ; =0x00001FB4
|
|
str r4, [sp, #4]
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [sp, #0xc]
|
|
bl FUN_0200C9D8
|
|
add r0, r6, #0
|
|
bl FUN_0206E114
|
|
add r1, r0, #0
|
|
add r0, r7, #0
|
|
add r1, r1, #4
|
|
bl FUN_0200C66C
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02216C5C: .word 0x00001FB4
|
|
|
|
thumb_func_start MOD09_02216C60
|
|
MOD09_02216C60: ; 0x02216C60
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r2, #0
|
|
ldr r0, [r0, #8]
|
|
add r6, r1, #0
|
|
bl MOD11_02230078
|
|
add r7, r0, #0
|
|
bl FUN_0206E2A8
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
bl FUN_0206E278
|
|
add r3, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, _02216CAC ; =0x0000B015
|
|
ldr r1, _02216CB0 ; =0x00001FB4
|
|
str r0, [sp, #4]
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [sp, #8]
|
|
add r0, r7, #0
|
|
bl FUN_0200C9D8
|
|
add r0, r4, #0
|
|
bl FUN_0206E290
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
add r1, r1, #4
|
|
bl FUN_0200C66C
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02216CAC: .word 0x0000B015
|
|
_02216CB0: .word 0x00001FB4
|
|
|
|
thumb_func_start MOD09_02216CB4
|
|
MOD09_02216CB4: ; 0x02216CB4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
add r7, r3, #0
|
|
cmp r6, #7
|
|
beq _02216CD4
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl FUN_0200C5C0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
bl MOD09_02216BB0
|
|
_02216CD4:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02216CD8
|
|
MOD09_02216CD8: ; 0x02216CD8
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
ldr r1, _02216D1C ; =0x00002004
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
ldrb r3, [r4, #0x14]
|
|
ldr r1, [r5, r1]
|
|
ldr r2, _02216D20 ; =0x0000B00E
|
|
bl MOD09_02216C10
|
|
ldr r0, _02216D1C ; =0x00002004
|
|
ldr r1, [r6]
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [r6, #4]
|
|
bl MOD09_02216BB0
|
|
ldrb r3, [r4, #0x15]
|
|
ldrb r0, [r4, #0x14]
|
|
cmp r0, r3
|
|
beq _02216D18
|
|
ldr r1, _02216D24 ; =0x00002008
|
|
ldr r2, _02216D28 ; =0x0000B00F
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, #0
|
|
bl MOD09_02216C10
|
|
ldr r0, _02216D24 ; =0x00002008
|
|
ldr r1, [r6, #8]
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [r6, #0xc]
|
|
bl MOD09_02216BB0
|
|
_02216D18:
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02216D1C: .word 0x00002004
|
|
_02216D20: .word 0x0000B00E
|
|
_02216D24: .word 0x00002008
|
|
_02216D28: .word 0x0000B00F
|
|
|
|
thumb_func_start MOD09_02216D2C
|
|
MOD09_02216D2C: ; 0x02216D2C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
cmp r0, #0
|
|
beq _02216D5C
|
|
bl ItemIdIsMail
|
|
cmp r0, #1
|
|
bne _02216D4A
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl FUN_0200C5C0
|
|
b _02216D52
|
|
_02216D4A:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FUN_0200C5C0
|
|
_02216D52:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD09_02216BB0
|
|
_02216D5C:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02216D60
|
|
MOD09_02216D60: ; 0x02216D60
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
cmp r0, #0
|
|
beq _02216D7E
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl FUN_0200C5C0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl MOD09_02216BB0
|
|
_02216D7E:
|
|
pop {r4, r5, r6, pc}
|
|
|
|
thumb_func_start MOD09_02216D80
|
|
MOD09_02216D80: ; 0x02216D80
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r7, _02216E14 ; =0x00001FB8
|
|
str r1, [sp]
|
|
mov r5, #0
|
|
add r4, r6, #0
|
|
_02216D8C:
|
|
ldr r0, [r4, r7]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
add r5, r5, #1
|
|
add r4, r4, #4
|
|
cmp r5, #0x26
|
|
blo _02216D8C
|
|
ldr r0, [sp]
|
|
cmp r0, #9
|
|
bhi _02216E10
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02216DAE: ; jump table
|
|
.short _02216DC2 - _02216DAE - 2 ; case 0
|
|
.short _02216DCA - _02216DAE - 2 ; case 1
|
|
.short _02216DD2 - _02216DAE - 2 ; case 2
|
|
.short _02216DDA - _02216DAE - 2 ; case 3
|
|
.short _02216DE2 - _02216DAE - 2 ; case 4
|
|
.short _02216DEA - _02216DAE - 2 ; case 5
|
|
.short _02216DF2 - _02216DAE - 2 ; case 6
|
|
.short _02216DFA - _02216DAE - 2 ; case 7
|
|
.short _02216E02 - _02216DAE - 2 ; case 8
|
|
.short _02216E0A - _02216DAE - 2 ; case 9
|
|
_02216DC2:
|
|
add r0, r6, #0
|
|
bl MOD09_02216E18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02216DCA:
|
|
add r0, r6, #0
|
|
bl MOD09_02216EB4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02216DD2:
|
|
add r0, r6, #0
|
|
bl MOD09_02216F0C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02216DDA:
|
|
add r0, r6, #0
|
|
bl MOD09_02216FA4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02216DE2:
|
|
add r0, r6, #0
|
|
bl MOD09_0221707C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02216DEA:
|
|
add r0, r6, #0
|
|
bl MOD09_02217270
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02216DF2:
|
|
add r0, r6, #0
|
|
bl MOD09_02217140
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02216DFA:
|
|
add r0, r6, #0
|
|
bl MOD09_022171AC
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02216E02:
|
|
add r0, r6, #0
|
|
bl MOD09_02217354
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02216E0A:
|
|
add r0, r6, #0
|
|
bl MOD09_022172DC
|
|
_02216E10:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02216E14: .word 0x00001FB8
|
|
|
|
thumb_func_start MOD09_02216E18
|
|
MOD09_02216E18: ; 0x02216E18
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
str r0, [sp]
|
|
add r0, #0x1b
|
|
ldr r4, _02216E9C ; =0x0221B5D0
|
|
ldr r7, _02216EA0 ; =0x0221B600
|
|
add r5, r6, #0
|
|
str r0, [sp]
|
|
_02216E30:
|
|
ldrh r0, [r6, #8]
|
|
cmp r0, #0
|
|
beq _02216E7E
|
|
ldr r0, _02216EA4 ; =0x00001FD4
|
|
ldr r1, [r4]
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [r4, #4]
|
|
bl MOD09_02216BB0
|
|
ldr r0, [sp]
|
|
ldr r1, _02216EA8 ; =0x00001FEC
|
|
ldrb r0, [r0]
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r7]
|
|
lsl r0, r0, #0x19
|
|
ldr r3, [r7, #4]
|
|
lsr r0, r0, #0x1c
|
|
bl MOD09_02216CB4
|
|
ldr r1, _02216EAC ; =0x00001FB8
|
|
ldr r2, [r4]
|
|
ldr r3, [r4, #4]
|
|
ldrh r0, [r6, #0x1e]
|
|
ldr r1, [r5, r1]
|
|
add r2, #8
|
|
add r3, #8
|
|
bl MOD09_02216D2C
|
|
add r0, r6, #0
|
|
add r0, #0x31
|
|
ldr r1, _02216EB0 ; =0x00002038
|
|
ldr r2, [r4]
|
|
ldr r3, [r4, #4]
|
|
ldrb r0, [r0]
|
|
ldr r1, [r5, r1]
|
|
add r2, #0x10
|
|
add r3, #8
|
|
bl MOD09_02216D60
|
|
_02216E7E:
|
|
ldr r0, [sp]
|
|
add r6, #0x50
|
|
add r0, #0x50
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r4, #8
|
|
add r0, r0, #1
|
|
add r5, r5, #4
|
|
add r7, #8
|
|
str r0, [sp, #4]
|
|
cmp r0, #6
|
|
blt _02216E30
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02216E9C: .word MOD9_0221B5D0
|
|
_02216EA0: .word MOD9_0221B600
|
|
_02216EA4: .word 0x00001FD4
|
|
_02216EA8: .word 0x00001FEC
|
|
_02216EAC: .word 0x00001FB8
|
|
_02216EB0: .word 0x00002038
|
|
|
|
thumb_func_start MOD09_02216EB4
|
|
MOD09_02216EB4: ; 0x02216EB4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r1, r5, #4
|
|
ldrb r2, [r0, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r2
|
|
add r4, r1, r0
|
|
add r0, r2, #7
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
ldr r0, _02216F08 ; =0x00001FB8
|
|
mov r2, #0x48
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0x80
|
|
bl MOD09_02216BB0
|
|
ldr r1, [r5]
|
|
ldrh r0, [r4, #0x1a]
|
|
ldrb r1, [r1, #0x11]
|
|
mov r3, #0x50
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _02216F08 ; =0x00001FB8
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x88
|
|
bl MOD09_02216D2C
|
|
ldr r1, [r5]
|
|
add r4, #0x2d
|
|
ldrb r1, [r1, #0x11]
|
|
ldrb r0, [r4]
|
|
mov r3, #0x50
|
|
add r1, #0x20
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _02216F08 ; =0x00001FB8
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x90
|
|
bl MOD09_02216D60
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02216F08: .word 0x00001FB8
|
|
|
|
thumb_func_start MOD09_02216F0C
|
|
MOD09_02216F0C: ; 0x02216F0C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r1, r5, #4
|
|
ldrb r2, [r0, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r2
|
|
add r4, r1, r0
|
|
add r0, r2, #7
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
ldr r0, _02216F98 ; =0x00001FB8
|
|
mov r2, #0xc
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0x18
|
|
bl MOD09_02216BB0
|
|
ldr r1, [r5]
|
|
ldrb r0, [r4, #0x17]
|
|
ldrb r1, [r1, #0x11]
|
|
mov r3, #0x14
|
|
lsl r0, r0, #0x19
|
|
add r1, #0xd
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _02216F98 ; =0x00001FB8
|
|
lsr r0, r0, #0x1c
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0xc6
|
|
bl MOD09_02216CB4
|
|
ldr r2, _02216F9C ; =0x0221B490
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02216CD8
|
|
ldr r1, [r5]
|
|
ldrh r0, [r4, #0x1a]
|
|
ldrb r1, [r1, #0x11]
|
|
mov r3, #0x14
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _02216F98 ; =0x00001FB8
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x20
|
|
bl MOD09_02216D2C
|
|
ldr r1, [r5]
|
|
add r0, r4, #0
|
|
ldrb r1, [r1, #0x11]
|
|
add r0, #0x2d
|
|
ldrb r0, [r0]
|
|
add r1, #0x20
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _02216F98 ; =0x00001FB8
|
|
mov r3, #0x14
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x28
|
|
bl MOD09_02216D60
|
|
ldr r1, _02216FA0 ; =0x00001FD0
|
|
ldrh r0, [r4, #0x1a]
|
|
ldr r1, [r5, r1]
|
|
mov r2, #0x14
|
|
mov r3, #0x84
|
|
bl MOD09_02216D2C
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02216F98: .word 0x00001FB8
|
|
_02216F9C: .word MOD9_0221B490
|
|
_02216FA0: .word 0x00001FD0
|
|
|
|
thumb_func_start MOD09_02216FA4
|
|
MOD09_02216FA4: ; 0x02216FA4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
str r0, [sp]
|
|
ldr r0, [r0]
|
|
ldrb r2, [r0, #0x11]
|
|
ldr r0, [sp]
|
|
add r1, r0, #4
|
|
mov r0, #0x50
|
|
mul r0, r2
|
|
add r4, r1, r0
|
|
add r0, r2, #7
|
|
lsl r1, r0, #2
|
|
ldr r0, [sp]
|
|
mov r2, #0xc
|
|
add r1, r0, r1
|
|
ldr r0, _02217068 ; =0x00001FB8
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0x18
|
|
bl MOD09_02216BB0
|
|
ldr r1, [sp]
|
|
ldrb r0, [r4, #0x17]
|
|
ldr r1, [r1]
|
|
mov r3, #0x14
|
|
ldrb r1, [r1, #0x11]
|
|
lsl r0, r0, #0x19
|
|
lsr r0, r0, #0x1c
|
|
add r1, #0xd
|
|
lsl r2, r1, #2
|
|
ldr r1, [sp]
|
|
add r2, r1, r2
|
|
ldr r1, _02217068 ; =0x00001FB8
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0xc6
|
|
bl MOD09_02216CB4
|
|
ldr r0, [sp]
|
|
ldr r2, _0221706C ; =0x0221B470
|
|
add r1, r4, #0
|
|
bl MOD09_02216CD8
|
|
ldr r1, [sp]
|
|
ldrh r0, [r4, #0x1a]
|
|
ldr r1, [r1]
|
|
mov r3, #0x14
|
|
ldrb r1, [r1, #0x11]
|
|
lsl r2, r1, #2
|
|
ldr r1, [sp]
|
|
add r2, r1, r2
|
|
ldr r1, _02217068 ; =0x00001FB8
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x20
|
|
bl MOD09_02216D2C
|
|
ldr r1, [sp]
|
|
add r0, r4, #0
|
|
ldr r1, [r1]
|
|
add r0, #0x2d
|
|
ldrb r1, [r1, #0x11]
|
|
ldrb r0, [r0]
|
|
mov r3, #0x14
|
|
add r1, #0x20
|
|
lsl r2, r1, #2
|
|
ldr r1, [sp]
|
|
add r2, r1, r2
|
|
ldr r1, _02217068 ; =0x00001FB8
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x28
|
|
bl MOD09_02216D60
|
|
ldr r5, [sp]
|
|
ldr r6, _02217070 ; =0x0221B4F0
|
|
mov r7, #0
|
|
_02217034:
|
|
ldrh r0, [r4, #0x30]
|
|
cmp r0, #0
|
|
beq _0221705A
|
|
add r3, r4, #0
|
|
ldr r1, _02217074 ; =0x0000200C
|
|
add r3, #0x34
|
|
ldr r2, _02217078 ; =0x0000B010
|
|
ldrb r3, [r3]
|
|
ldr r0, [sp]
|
|
ldr r1, [r5, r1]
|
|
add r2, r7, r2
|
|
bl MOD09_02216C10
|
|
ldr r0, _02217074 ; =0x0000200C
|
|
ldr r1, [r6]
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [r6, #4]
|
|
bl MOD09_02216BB0
|
|
_0221705A:
|
|
add r7, r7, #1
|
|
add r4, #8
|
|
add r5, r5, #4
|
|
add r6, #8
|
|
cmp r7, #4
|
|
blo _02217034
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02217068: .word 0x00001FB8
|
|
_0221706C: .word MOD9_0221B470
|
|
_02217070: .word MOD9_0221B4F0
|
|
_02217074: .word 0x0000200C
|
|
_02217078: .word 0x0000B010
|
|
|
|
thumb_func_start MOD09_0221707C
|
|
MOD09_0221707C: ; 0x0221707C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r1, r5, #4
|
|
ldrb r2, [r0, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r2
|
|
add r4, r1, r0
|
|
add r0, r2, #7
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
ldr r0, _02217134 ; =0x00001FB8
|
|
mov r2, #0xc
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0x18
|
|
bl MOD09_02216BB0
|
|
ldr r1, [r5]
|
|
ldrb r0, [r4, #0x17]
|
|
ldrb r1, [r1, #0x11]
|
|
mov r3, #0x14
|
|
lsl r0, r0, #0x19
|
|
add r1, #0xd
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _02217134 ; =0x00001FB8
|
|
lsr r0, r0, #0x1c
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0xc6
|
|
bl MOD09_02216CB4
|
|
ldr r2, _02217138 ; =0x0221B480
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02216CD8
|
|
ldr r0, [r5]
|
|
mov r2, #0x30
|
|
add r0, #0x34
|
|
ldrb r0, [r0]
|
|
add r0, #0x15
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
ldr r0, _02217134 ; =0x00001FB8
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0x88
|
|
bl MOD09_02216BB0
|
|
ldr r1, [r5]
|
|
ldrh r0, [r4, #0x1a]
|
|
ldrb r1, [r1, #0x11]
|
|
mov r3, #0x14
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _02217134 ; =0x00001FB8
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x20
|
|
bl MOD09_02216D2C
|
|
ldr r1, [r5]
|
|
add r0, r4, #0
|
|
ldrb r1, [r1, #0x11]
|
|
add r0, #0x2d
|
|
ldrb r0, [r0]
|
|
add r1, #0x20
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _02217134 ; =0x00001FB8
|
|
mov r3, #0x14
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x28
|
|
bl MOD09_02216D60
|
|
ldr r2, [r5]
|
|
ldr r1, _0221713C ; =0x00002020
|
|
add r2, #0x34
|
|
ldrb r2, [r2]
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, #0
|
|
lsl r2, r2, #3
|
|
add r2, r4, r2
|
|
add r2, #0x35
|
|
ldrb r2, [r2]
|
|
bl MOD09_02216C60
|
|
ldr r0, _0221713C ; =0x00002020
|
|
mov r1, #0x18
|
|
ldr r0, [r5, r0]
|
|
mov r2, #0x58
|
|
bl MOD09_02216BB0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02217134: .word 0x00001FB8
|
|
_02217138: .word MOD9_0221B480
|
|
_0221713C: .word 0x00002020
|
|
|
|
thumb_func_start MOD09_02217140
|
|
MOD09_02217140: ; 0x02217140
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r1, r5, #4
|
|
ldrb r2, [r0, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r2
|
|
add r4, r1, r0
|
|
add r0, r2, #7
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
ldr r0, _022171A4 ; =0x00001FB8
|
|
mov r2, #0xc
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0x18
|
|
bl MOD09_02216BB0
|
|
ldr r2, _022171A8 ; =0x0221B460
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02216CD8
|
|
ldr r1, [r5]
|
|
ldrh r0, [r4, #0x1a]
|
|
ldrb r1, [r1, #0x11]
|
|
mov r3, #0x14
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _022171A4 ; =0x00001FB8
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x20
|
|
bl MOD09_02216D2C
|
|
ldr r1, [r5]
|
|
add r4, #0x2d
|
|
ldrb r1, [r1, #0x11]
|
|
ldrb r0, [r4]
|
|
mov r3, #0x14
|
|
add r1, #0x20
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _022171A4 ; =0x00001FB8
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x28
|
|
bl MOD09_02216D60
|
|
add r0, r5, #0
|
|
bl MOD09_022174EC
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022171A4: .word 0x00001FB8
|
|
_022171A8: .word MOD9_0221B460
|
|
|
|
thumb_func_start MOD09_022171AC
|
|
MOD09_022171AC: ; 0x022171AC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r1, r5, #4
|
|
ldrb r2, [r0, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r2
|
|
add r4, r1, r0
|
|
add r0, r2, #7
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
ldr r0, _02217264 ; =0x00001FB8
|
|
mov r2, #0xc
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0x18
|
|
bl MOD09_02216BB0
|
|
ldr r2, _02217268 ; =0x0221B450
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02216CD8
|
|
ldr r0, [r5]
|
|
mov r2, #0x30
|
|
add r0, #0x34
|
|
ldrb r0, [r0]
|
|
add r0, #0x15
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
ldr r0, _02217264 ; =0x00001FB8
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0x88
|
|
bl MOD09_02216BB0
|
|
ldr r1, [r5]
|
|
ldrh r0, [r4, #0x1a]
|
|
ldrb r1, [r1, #0x11]
|
|
mov r3, #0x14
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _02217264 ; =0x00001FB8
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x20
|
|
bl MOD09_02216D2C
|
|
ldr r1, [r5]
|
|
add r0, r4, #0
|
|
ldrb r1, [r1, #0x11]
|
|
add r0, #0x2d
|
|
ldrb r0, [r0]
|
|
add r1, #0x20
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _02217264 ; =0x00001FB8
|
|
mov r3, #0x14
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x28
|
|
bl MOD09_02216D60
|
|
ldr r1, [r5]
|
|
add r0, r1, #0
|
|
add r0, #0x34
|
|
ldrb r2, [r0]
|
|
cmp r2, #4
|
|
bhs _02217242
|
|
lsl r2, r2, #3
|
|
add r2, r4, r2
|
|
ldr r1, _0221726C ; =0x00002020
|
|
add r2, #0x35
|
|
ldrb r2, [r2]
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, #0
|
|
bl MOD09_02216C60
|
|
b _02217256
|
|
_02217242:
|
|
ldrh r0, [r1, #0x24]
|
|
mov r1, #1
|
|
bl GetWazaAttr
|
|
ldr r1, _0221726C ; =0x00002020
|
|
add r2, r0, #0
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, #0
|
|
bl MOD09_02216C60
|
|
_02217256:
|
|
ldr r0, _0221726C ; =0x00002020
|
|
mov r1, #0x18
|
|
ldr r0, [r5, r0]
|
|
mov r2, #0x58
|
|
bl MOD09_02216BB0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02217264: .word 0x00001FB8
|
|
_02217268: .word MOD9_0221B450
|
|
_0221726C: .word 0x00002020
|
|
|
|
thumb_func_start MOD09_02217270
|
|
MOD09_02217270: ; 0x02217270
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r1, r5, #4
|
|
ldrb r2, [r0, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r2
|
|
add r4, r1, r0
|
|
add r0, r2, #7
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
ldr r0, _022172D4 ; =0x00001FB8
|
|
mov r2, #0xc
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0x18
|
|
bl MOD09_02216BB0
|
|
ldr r2, _022172D8 ; =0x0221B460
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02216CD8
|
|
ldr r1, [r5]
|
|
ldrh r0, [r4, #0x1a]
|
|
ldrb r1, [r1, #0x11]
|
|
mov r3, #0x14
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _022172D4 ; =0x00001FB8
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x20
|
|
bl MOD09_02216D2C
|
|
ldr r1, [r5]
|
|
add r4, #0x2d
|
|
ldrb r1, [r1, #0x11]
|
|
ldrb r0, [r4]
|
|
mov r3, #0x14
|
|
add r1, #0x20
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _022172D4 ; =0x00001FB8
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x28
|
|
bl MOD09_02216D60
|
|
add r0, r5, #0
|
|
bl MOD09_022174EC
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022172D4: .word 0x00001FB8
|
|
_022172D8: .word MOD9_0221B460
|
|
|
|
thumb_func_start MOD09_022172DC
|
|
MOD09_022172DC: ; 0x022172DC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r1, r5, #4
|
|
ldrb r2, [r0, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r2
|
|
add r4, r1, r0
|
|
add r0, r2, #7
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
ldr r0, _02217350 ; =0x00001FB8
|
|
mov r2, #0xc
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0x18
|
|
bl MOD09_02216BB0
|
|
ldr r0, [r5]
|
|
mov r2, #0x48
|
|
add r0, #0x34
|
|
ldrb r0, [r0]
|
|
add r0, #0x15
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
ldr r0, _02217350 ; =0x00001FB8
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0x88
|
|
bl MOD09_02216BB0
|
|
ldr r1, [r5]
|
|
ldrh r0, [r4, #0x1a]
|
|
ldrb r1, [r1, #0x11]
|
|
mov r3, #0x14
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _02217350 ; =0x00001FB8
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x20
|
|
bl MOD09_02216D2C
|
|
ldr r1, [r5]
|
|
add r4, #0x2d
|
|
ldrb r1, [r1, #0x11]
|
|
ldrb r0, [r4]
|
|
mov r3, #0x14
|
|
add r1, #0x20
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _02217350 ; =0x00001FB8
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x28
|
|
bl MOD09_02216D60
|
|
add r0, r5, #0
|
|
bl MOD09_02217624
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02217350: .word 0x00001FB8
|
|
|
|
thumb_func_start MOD09_02217354
|
|
MOD09_02217354: ; 0x02217354
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r1, r5, #4
|
|
ldrb r2, [r0, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r2
|
|
add r4, r1, r0
|
|
add r0, r2, #7
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
ldr r0, _022173B4 ; =0x00001FB8
|
|
mov r2, #0xc
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0x18
|
|
bl MOD09_02216BB0
|
|
ldr r1, [r5]
|
|
ldrh r0, [r4, #0x1a]
|
|
ldrb r1, [r1, #0x11]
|
|
mov r3, #0x14
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _022173B4 ; =0x00001FB8
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x20
|
|
bl MOD09_02216D2C
|
|
ldr r1, [r5]
|
|
add r4, #0x2d
|
|
ldrb r1, [r1, #0x11]
|
|
ldrb r0, [r4]
|
|
mov r3, #0x14
|
|
add r1, #0x20
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r1, _022173B4 ; =0x00001FB8
|
|
ldr r1, [r2, r1]
|
|
mov r2, #0x28
|
|
bl MOD09_02216D60
|
|
add r0, r5, #0
|
|
bl MOD09_022174EC
|
|
add r0, r5, #0
|
|
bl MOD09_02217624
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022173B4: .word 0x00001FB8
|
|
|
|
thumb_func_start MOD09_022173B8
|
|
MOD09_022173B8: ; 0x022173B8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r6]
|
|
add r2, r6, #4
|
|
ldrb r1, [r0, #0x11]
|
|
mov r0, #0x50
|
|
mov r4, #0
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
str r0, [sp]
|
|
_022173CC:
|
|
ldr r0, [sp]
|
|
lsl r5, r4, #3
|
|
add r3, r0, r5
|
|
ldrh r0, [r3, #0x30]
|
|
cmp r0, #0
|
|
beq _02217400
|
|
lsl r0, r4, #2
|
|
add r3, #0x34
|
|
add r7, r6, r0
|
|
ldr r1, _02217438 ; =0x0000200C
|
|
ldr r2, _0221743C ; =0x0000B010
|
|
ldrb r3, [r3]
|
|
ldr r1, [r7, r1]
|
|
add r0, r6, #0
|
|
add r2, r4, r2
|
|
bl MOD09_02216C10
|
|
ldr r0, _02217440 ; =0x0221B5A8
|
|
ldr r1, _02217440 ; =0x0221B5A8
|
|
add r2, r0, r5
|
|
ldr r0, _02217438 ; =0x0000200C
|
|
ldr r1, [r1, r5]
|
|
ldr r0, [r7, r0]
|
|
ldr r2, [r2, #4]
|
|
bl MOD09_02216BB0
|
|
_02217400:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #4
|
|
blo _022173CC
|
|
ldr r0, [r6]
|
|
ldrh r0, [r0, #0x24]
|
|
cmp r0, #0
|
|
beq _02217436
|
|
mov r1, #3
|
|
bl GetWazaAttr
|
|
add r3, r0, #0
|
|
ldr r1, _02217444 ; =0x0000201C
|
|
lsl r3, r3, #0x18
|
|
ldr r1, [r6, r1]
|
|
ldr r2, _02217448 ; =0x0000B014
|
|
add r0, r6, #0
|
|
lsr r3, r3, #0x18
|
|
bl MOD09_02216C10
|
|
ldr r0, _02217444 ; =0x0000201C
|
|
mov r1, #0x58
|
|
ldr r0, [r6, r0]
|
|
mov r2, #0xb0
|
|
bl MOD09_02216BB0
|
|
_02217436:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02217438: .word 0x0000200C
|
|
_0221743C: .word 0x0000B010
|
|
_02217440: .word MOD9_0221B5A8
|
|
_02217444: .word 0x0000201C
|
|
_02217448: .word 0x0000B014
|
|
|
|
thumb_func_start MOD09_0221744C
|
|
MOD09_0221744C: ; 0x0221744C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
ldr r0, [r7]
|
|
add r2, r7, #4
|
|
ldrb r1, [r0, #0x11]
|
|
mov r0, #0x50
|
|
mov r4, #0
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
str r0, [sp]
|
|
_02217460:
|
|
ldr r0, [sp]
|
|
lsl r5, r4, #3
|
|
add r0, r0, r5
|
|
ldrh r0, [r0, #0x30]
|
|
cmp r0, #0
|
|
beq _0221749E
|
|
lsl r1, r4, #2
|
|
add r6, r7, r1
|
|
mov r1, #0xb
|
|
bl GetWazaAttr
|
|
add r3, r0, #0
|
|
ldr r1, _022174D8 ; =0x0000200C
|
|
ldr r2, _022174DC ; =0x0000B010
|
|
add r3, #0x12
|
|
lsl r3, r3, #0x18
|
|
ldr r1, [r6, r1]
|
|
add r0, r7, #0
|
|
add r2, r4, r2
|
|
lsr r3, r3, #0x18
|
|
bl MOD09_02216C10
|
|
ldr r0, _022174E0 ; =0x0221B5A8
|
|
ldr r1, _022174E0 ; =0x0221B5A8
|
|
add r2, r0, r5
|
|
ldr r0, _022174D8 ; =0x0000200C
|
|
ldr r1, [r1, r5]
|
|
ldr r0, [r6, r0]
|
|
ldr r2, [r2, #4]
|
|
bl MOD09_02216BB0
|
|
_0221749E:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #4
|
|
blo _02217460
|
|
ldr r0, [r7]
|
|
ldrh r0, [r0, #0x24]
|
|
cmp r0, #0
|
|
beq _022174D6
|
|
mov r1, #0xb
|
|
bl GetWazaAttr
|
|
add r3, r0, #0
|
|
ldr r1, _022174E4 ; =0x0000201C
|
|
add r3, #0x12
|
|
lsl r3, r3, #0x18
|
|
ldr r1, [r7, r1]
|
|
ldr r2, _022174E8 ; =0x0000B014
|
|
add r0, r7, #0
|
|
lsr r3, r3, #0x18
|
|
bl MOD09_02216C10
|
|
ldr r0, _022174E4 ; =0x0000201C
|
|
mov r1, #0x58
|
|
ldr r0, [r7, r0]
|
|
mov r2, #0xb0
|
|
bl MOD09_02216BB0
|
|
_022174D6:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022174D8: .word 0x0000200C
|
|
_022174DC: .word 0x0000B010
|
|
_022174E0: .word MOD9_0221B5A8
|
|
_022174E4: .word 0x0000201C
|
|
_022174E8: .word 0x0000B014
|
|
|
|
thumb_func_start MOD09_022174EC
|
|
MOD09_022174EC: ; 0x022174EC
|
|
push {r3, lr}
|
|
ldr r1, _02217504 ; =0x00002077
|
|
ldrb r1, [r0, r1]
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x1c
|
|
bne _022174FE
|
|
bl MOD09_022173B8
|
|
pop {r3, pc}
|
|
_022174FE:
|
|
bl MOD09_0221744C
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_02217504: .word 0x00002077
|
|
|
|
thumb_func_start MOD09_02217508
|
|
MOD09_02217508: ; 0x02217508
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl FUN_0200C5CC
|
|
cmp r4, r0
|
|
beq _02217526
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FUN_0200C61C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl FUN_0200C5C0
|
|
_02217526:
|
|
pop {r3, r4, r5, pc}
|
|
|
|
thumb_func_start MOD09_02217528
|
|
MOD09_02217528: ; 0x02217528
|
|
push {r3, lr}
|
|
add r2, r0, #0
|
|
ldrh r0, [r2, #0x10]
|
|
cmp r0, #0
|
|
bne _02217536
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_02217536:
|
|
ldrb r1, [r2, #0x17]
|
|
lsl r1, r1, #0x19
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, #7
|
|
beq _02217548
|
|
cmp r1, #6
|
|
beq _02217548
|
|
mov r0, #5
|
|
pop {r3, pc}
|
|
_02217548:
|
|
ldrh r1, [r2, #0x12]
|
|
mov r2, #0x30
|
|
bl FUN_02079A54
|
|
cmp r0, #4
|
|
bhi _0221757A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02217560: ; jump table
|
|
.short _0221757A - _02217560 - 2 ; case 0
|
|
.short _02217576 - _02217560 - 2 ; case 1
|
|
.short _02217572 - _02217560 - 2 ; case 2
|
|
.short _0221756E - _02217560 - 2 ; case 3
|
|
.short _0221756A - _02217560 - 2 ; case 4
|
|
_0221756A:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0221756E:
|
|
mov r0, #2
|
|
pop {r3, pc}
|
|
_02217572:
|
|
mov r0, #3
|
|
pop {r3, pc}
|
|
_02217576:
|
|
mov r0, #4
|
|
pop {r3, pc}
|
|
_0221757A:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02217580
|
|
MOD09_02217580: ; 0x02217580
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
mov r4, #0
|
|
ldr r0, [r0]
|
|
bl GetPartyCount
|
|
cmp r0, #0
|
|
ble _022175D8
|
|
add r7, r5, #4
|
|
_02217594:
|
|
mov r0, #0x50
|
|
add r1, r4, #0
|
|
mul r1, r0
|
|
add r0, r5, r1
|
|
ldrh r0, [r0, #8]
|
|
cmp r0, #0
|
|
beq _022175C6
|
|
add r0, r7, r1
|
|
bl MOD09_02217528
|
|
add r1, r0, #0
|
|
lsl r0, r4, #2
|
|
add r6, r5, r0
|
|
ldr r0, _022175DC ; =0x00001FD4
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r6, r0]
|
|
lsr r1, r1, #0x18
|
|
bl MOD09_02217508
|
|
ldr r0, _022175DC ; =0x00001FD4
|
|
mov r1, #1
|
|
ldr r0, [r6, r0]
|
|
lsl r1, r1, #0xc
|
|
bl FUN_0200C5B4
|
|
_022175C6:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl GetPartyCount
|
|
cmp r4, r0
|
|
blt _02217594
|
|
_022175D8:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_022175DC: .word 0x00001FD4
|
|
|
|
thumb_func_start MOD09_022175E0
|
|
MOD09_022175E0: ; 0x022175E0
|
|
push {r4, lr}
|
|
add r4, r2, #0
|
|
cmp r4, r1
|
|
ble _02217606
|
|
add r0, #0x2c
|
|
sub r1, r4, r1
|
|
mul r1, r0
|
|
lsl r0, r1, #0x10
|
|
mov r1, #0x4b
|
|
lsl r1, r1, #2
|
|
bl _u32_div_f
|
|
lsr r0, r0, #0x10
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
sub r0, r4, r0
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
pop {r4, pc}
|
|
_02217606:
|
|
add r0, #0x2c
|
|
sub r1, r1, r4
|
|
mul r1, r0
|
|
lsl r0, r1, #0x10
|
|
mov r1, #0x4b
|
|
lsl r1, r1, #2
|
|
bl _u32_div_f
|
|
lsr r0, r0, #0x10
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add r0, r4, r0
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start MOD09_02217624
|
|
MOD09_02217624: ; 0x02217624
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r6]
|
|
add r5, r6, #4
|
|
ldrb r1, [r0, #0x11]
|
|
mov r0, #0x50
|
|
add r4, r1, #0
|
|
mul r4, r0
|
|
ldr r0, _0221773C ; =0x00002024
|
|
mov r1, #0
|
|
ldr r0, [r6, r0]
|
|
bl MOD09_02217508
|
|
ldr r0, _02217740 ; =0x00002028
|
|
mov r1, #1
|
|
ldr r0, [r6, r0]
|
|
bl MOD09_02217508
|
|
ldr r0, _02217744 ; =0x0000202C
|
|
mov r1, #3
|
|
ldr r0, [r6, r0]
|
|
bl MOD09_02217508
|
|
ldr r0, _02217748 ; =0x00002030
|
|
mov r1, #4
|
|
ldr r0, [r6, r0]
|
|
bl MOD09_02217508
|
|
ldr r0, _0221774C ; =0x00002034
|
|
mov r1, #2
|
|
ldr r0, [r6, r0]
|
|
bl MOD09_02217508
|
|
add r0, r5, r4
|
|
add r0, #0x28
|
|
mov r1, #0x90
|
|
ldrb r0, [r0]
|
|
add r2, r1, #0
|
|
bl MOD09_022175E0
|
|
add r7, r0, #0
|
|
add r0, r5, r4
|
|
add r0, #0x28
|
|
ldrb r0, [r0]
|
|
mov r1, #2
|
|
mov r2, #0x18
|
|
bl MOD09_022175E0
|
|
add r2, r0, #0
|
|
ldr r0, _0221773C ; =0x00002024
|
|
add r1, r7, #0
|
|
ldr r0, [r6, r0]
|
|
bl MOD09_02216BB0
|
|
add r0, r5, r4
|
|
add r0, #0x29
|
|
ldrb r0, [r0]
|
|
mov r1, #0xa7
|
|
mov r2, #0x90
|
|
bl MOD09_022175E0
|
|
add r7, r0, #0
|
|
add r0, r5, r4
|
|
add r0, #0x29
|
|
ldrb r0, [r0]
|
|
mov r1, #0x12
|
|
mov r2, #0x18
|
|
bl MOD09_022175E0
|
|
add r2, r0, #0
|
|
ldr r0, _02217740 ; =0x00002028
|
|
add r1, r7, #0
|
|
ldr r0, [r6, r0]
|
|
bl MOD09_02216BB0
|
|
add r0, r5, r4
|
|
add r0, #0x2a
|
|
ldrb r0, [r0]
|
|
mov r1, #0x9f
|
|
mov r2, #0x90
|
|
bl MOD09_022175E0
|
|
add r7, r0, #0
|
|
add r0, r5, r4
|
|
add r0, #0x2a
|
|
ldrb r0, [r0]
|
|
mov r1, #0x2f
|
|
mov r2, #0x18
|
|
bl MOD09_022175E0
|
|
add r2, r0, #0
|
|
ldr r0, _02217744 ; =0x0000202C
|
|
add r1, r7, #0
|
|
ldr r0, [r6, r0]
|
|
bl MOD09_02216BB0
|
|
add r0, r5, r4
|
|
add r0, #0x2b
|
|
ldrb r0, [r0]
|
|
mov r1, #0x80
|
|
mov r2, #0x8f
|
|
bl MOD09_022175E0
|
|
add r7, r0, #0
|
|
add r0, r5, r4
|
|
add r0, #0x2b
|
|
ldrb r0, [r0]
|
|
mov r1, #0x2f
|
|
mov r2, #0x18
|
|
bl MOD09_022175E0
|
|
add r2, r0, #0
|
|
ldr r0, _02217748 ; =0x00002030
|
|
add r1, r7, #0
|
|
ldr r0, [r6, r0]
|
|
bl MOD09_02216BB0
|
|
add r0, r5, r4
|
|
add r0, #0x2c
|
|
ldrb r0, [r0]
|
|
mov r1, #0x78
|
|
mov r2, #0x8f
|
|
bl MOD09_022175E0
|
|
add r7, r0, #0
|
|
add r0, r5, r4
|
|
add r0, #0x2c
|
|
ldrb r0, [r0]
|
|
mov r1, #0x12
|
|
mov r2, #0x18
|
|
bl MOD09_022175E0
|
|
add r2, r0, #0
|
|
ldr r0, _0221774C ; =0x00002034
|
|
add r1, r7, #0
|
|
ldr r0, [r6, r0]
|
|
bl MOD09_02216BB0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0221773C: .word 0x00002024
|
|
_02217740: .word 0x00002028
|
|
_02217744: .word 0x0000202C
|
|
_02217748: .word 0x00002030
|
|
_0221774C: .word 0x00002034
|
|
|
|
thumb_func_start MOD09_02217750
|
|
MOD09_02217750: ; 0x02217750
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #8]
|
|
bl MOD11_02230078
|
|
ldr r3, _022177A8 ; =0x0000B00C
|
|
mov r2, #0x7a
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
str r3, [sp, #8]
|
|
ldr r1, _022177AC ; =0x00001FB4
|
|
lsl r2, r2, #2
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r5, r2]
|
|
add r3, #0xc
|
|
add r4, r0, #0
|
|
bl MOD11_0225D3EC
|
|
ldr r3, _022177A8 ; =0x0000B00C
|
|
mov r0, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
str r3, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #1
|
|
str r0, [sp, #0x10]
|
|
ldr r1, _022177AC ; =0x00001FB4
|
|
ldr r2, [r5]
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r2, #0xc]
|
|
add r0, r4, #0
|
|
add r3, #0xc
|
|
bl MOD11_0225D484
|
|
add r1, r0, #0
|
|
ldr r0, _022177B0 ; =0x00002088
|
|
ldr r0, [r5, r0]
|
|
bl MOD09_0221AC30
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_022177A8: .word 0x0000B00C
|
|
_022177AC: .word 0x00001FB4
|
|
_022177B0: .word 0x00002088
|
|
|
|
thumb_func_start MOD09_022177B4
|
|
MOD09_022177B4: ; 0x022177B4
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
ldr r0, _022177DC ; =0x00002088
|
|
ldr r0, [r4, r0]
|
|
bl MOD09_0221AC24
|
|
bl MOD11_0225D508
|
|
ldr r2, _022177E0 ; =0x0000B00C
|
|
ldr r0, _022177E4 ; =0x00001FB4
|
|
str r2, [sp]
|
|
add r1, r2, #0
|
|
ldr r0, [r4, r0]
|
|
add r1, #0xc
|
|
add r3, r2, #0
|
|
bl MOD11_0225D45C
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_022177DC: .word 0x00002088
|
|
_022177E0: .word 0x0000B00C
|
|
_022177E4: .word 0x00001FB4
|
|
|
|
thumb_func_start MOD09_022177E8
|
|
MOD09_022177E8: ; 0x022177E8
|
|
push {r3, lr}
|
|
ldr r1, _0221780C ; =0x00002077
|
|
ldrb r2, [r0, r1]
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x1c
|
|
bne _02217800
|
|
add r1, #0x11
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0x5f
|
|
bl MOD09_0221AC94
|
|
pop {r3, pc}
|
|
_02217800:
|
|
add r1, #0x11
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0x7f
|
|
bl MOD09_0221AC94
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_0221780C: .word 0x00002077
|
|
|
|
thumb_func_start MOD09_02217810
|
|
MOD09_02217810: ; 0x02217810
|
|
push {r3, lr}
|
|
ldr r1, _02217834 ; =0x00002077
|
|
ldrb r2, [r0, r1]
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x1c
|
|
bne _02217828
|
|
add r1, #0x11
|
|
ldr r0, [r0, r1]
|
|
mov r1, #5
|
|
bl MOD09_0221AC94
|
|
pop {r3, pc}
|
|
_02217828:
|
|
add r1, #0x11
|
|
ldr r0, [r0, r1]
|
|
mov r1, #7
|
|
bl MOD09_0221AC94
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_02217834: .word 0x00002077
|
|
|
|
thumb_func_start MOD09_02217838
|
|
MOD09_02217838: ; 0x02217838
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
ldr r0, _022178D8 ; =0x00002088
|
|
ldr r1, _022178DC ; =0x0221B558
|
|
lsl r2, r5, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r1, r2]
|
|
bl MOD09_0221AC68
|
|
cmp r5, #9
|
|
bhi _022178D6
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0221785C: ; jump table
|
|
.short _02217870 - _0221785C - 2 ; case 0
|
|
.short _0221788A - _0221785C - 2 ; case 1
|
|
.short _022178D6 - _0221785C - 2 ; case 2
|
|
.short _022178A0 - _0221785C - 2 ; case 3
|
|
.short _022178A0 - _0221785C - 2 ; case 4
|
|
.short _022178D6 - _0221785C - 2 ; case 5
|
|
.short _022178B0 - _0221785C - 2 ; case 6
|
|
.short _022178C4 - _0221785C - 2 ; case 7
|
|
.short _022178B0 - _0221785C - 2 ; case 8
|
|
.short _022178C4 - _0221785C - 2 ; case 9
|
|
_02217870:
|
|
ldr r1, [r4]
|
|
ldr r0, _022178D8 ; =0x00002088
|
|
ldrb r1, [r1, #0x11]
|
|
ldr r0, [r4, r0]
|
|
bl MOD09_0221AC34
|
|
ldr r0, _022178E0 ; =0x0000208C
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
ldr r0, [r4]
|
|
add r0, #0x34
|
|
strb r1, [r0]
|
|
pop {r3, r4, r5, pc}
|
|
_0221788A:
|
|
ldr r1, _022178D8 ; =0x00002088
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldrb r1, [r4, r1]
|
|
bl MOD09_0221AC34
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
add r0, #0x34
|
|
strb r1, [r0]
|
|
pop {r3, r4, r5, pc}
|
|
_022178A0:
|
|
ldr r1, [r4]
|
|
ldr r0, _022178D8 ; =0x00002088
|
|
add r1, #0x34
|
|
ldrb r1, [r1]
|
|
ldr r0, [r4, r0]
|
|
bl MOD09_0221AC34
|
|
pop {r3, r4, r5, pc}
|
|
_022178B0:
|
|
add r0, r4, #0
|
|
bl MOD09_022177E8
|
|
ldr r1, _022178D8 ; =0x00002088
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #5
|
|
ldrb r1, [r4, r1]
|
|
bl MOD09_0221AC34
|
|
pop {r3, r4, r5, pc}
|
|
_022178C4:
|
|
add r0, r4, #0
|
|
bl MOD09_02217810
|
|
ldr r1, _022178D8 ; =0x00002088
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #6
|
|
ldrb r1, [r4, r1]
|
|
bl MOD09_0221AC34
|
|
_022178D6:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022178D8: .word 0x00002088
|
|
_022178DC: .word MOD9_0221B558
|
|
_022178E0: .word 0x0000208C
|
|
|
|
thumb_func_start MOD09_022178E4
|
|
MOD09_022178E4: ; 0x022178E4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02217908 ; =0x00002088
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl MOD09_0221AC2C
|
|
ldr r0, _02217908 ; =0x00002088
|
|
ldr r0, [r4, r0]
|
|
bl MOD09_0221AC5C
|
|
ldr r0, _02217908 ; =0x00002088
|
|
ldr r0, [r4, r0]
|
|
bl MOD09_0221AC24
|
|
bl MOD11_0225D648
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02217908: .word 0x00002088
|
|
|
|
thumb_func_start MOD09_0221790C
|
|
MOD09_0221790C: ; 0x0221790C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0x7b
|
|
lsl r0, r0, #2
|
|
mov r2, #0
|
|
add r0, r5, r0
|
|
add r3, r2, #0
|
|
add r4, r1, #0
|
|
bl MOD09_02217CEC
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0xab
|
|
lsl r0, r0, #2
|
|
mov r3, #6
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
str r3, [sp, #4]
|
|
bl MOD09_02217CEC
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0xdb
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
mov r3, #0xc
|
|
bl MOD09_02217CEC
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217BCC ; =0x0000042C
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0
|
|
mov r3, #0x12
|
|
bl MOD09_02217CEC
|
|
mov r2, #0x10
|
|
str r2, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217BD0 ; =0x000004EC
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r3, #0
|
|
bl MOD09_02217CEC
|
|
ldr r0, _02217BD4 ; =0x000005AC
|
|
mov r2, #0x10
|
|
str r2, [sp]
|
|
mov r3, #6
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
str r3, [sp, #4]
|
|
bl MOD09_02217CEC
|
|
mov r2, #0x10
|
|
str r2, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217BD8 ; =0x0000066C
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r3, #0xc
|
|
bl MOD09_02217CEC
|
|
mov r2, #0x10
|
|
str r2, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217BDC ; =0x0000072C
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r3, #0x12
|
|
bl MOD09_02217CEC
|
|
mov r0, #0xd
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217BE0 ; =0x000007EC
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0
|
|
mov r3, #0x27
|
|
bl MOD09_02217CEC
|
|
mov r0, #0xd
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217BE4 ; =0x0000086E
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0
|
|
mov r3, #0x2c
|
|
bl MOD09_02217CEC
|
|
mov r2, #0xd
|
|
str r2, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
mov r0, #0x8f
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
mov r3, #0x27
|
|
bl MOD09_02217CEC
|
|
mov r2, #0xd
|
|
str r2, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217BE8 ; =0x00000972
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r3, #0x2c
|
|
bl MOD09_02217CEC
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217BEC ; =0x000009F4
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0
|
|
mov r3, #0x31
|
|
bl MOD09_02217CEC
|
|
ldr r0, _02217BF0 ; =0x00000A26
|
|
mov r2, #5
|
|
str r2, [sp]
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
mov r3, #0x31
|
|
str r2, [sp, #4]
|
|
bl MOD09_02217CEC
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217BF4 ; =0x00000A58
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0xa
|
|
mov r3, #0x31
|
|
bl MOD09_02217CEC
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217BF8 ; =0x00000A8A
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0xf
|
|
mov r3, #0x31
|
|
bl MOD09_02217CEC
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217BFC ; =0x00000ABC
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0
|
|
mov r3, #0x36
|
|
bl MOD09_02217CEC
|
|
ldr r0, _02217C00 ; =0x00000AEE
|
|
mov r2, #5
|
|
str r2, [sp]
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
mov r3, #0x36
|
|
str r2, [sp, #4]
|
|
bl MOD09_02217CEC
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0xb2
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
mov r2, #0xa
|
|
mov r3, #0x36
|
|
bl MOD09_02217CEC
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217C04 ; =0x00000B52
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0xf
|
|
mov r3, #0x36
|
|
bl MOD09_02217CEC
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217C08 ; =0x00000B84
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x1a
|
|
mov r3, #0x18
|
|
bl MOD09_02217CEC
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217C0C ; =0x00000BB6
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x1a
|
|
mov r3, #0x1d
|
|
bl MOD09_02217CEC
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217C10 ; =0x00000BE8
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x1a
|
|
mov r3, #0x22
|
|
bl MOD09_02217CEC
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217C14 ; =0x00000C1A
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x1a
|
|
mov r3, #0x27
|
|
bl MOD09_02217CEC
|
|
mov r0, #0x1a
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #6
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
mov r3, #0x18
|
|
bl MOD09_02217CEC
|
|
mov r0, #0x1a
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217C18 ; =0x00001C44
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0
|
|
mov r3, #0x1d
|
|
bl MOD09_02217CEC
|
|
mov r0, #0x1a
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217C1C ; =0x00001D48
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0
|
|
mov r3, #0x22
|
|
bl MOD09_02217CEC
|
|
mov r0, #9
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217C20 ; =0x00001E4C
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x14
|
|
mov r3, #0x31
|
|
bl MOD09_02217CEC
|
|
mov r0, #9
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217C24 ; =0x00001E94
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x14
|
|
mov r3, #0x35
|
|
bl MOD09_02217CEC
|
|
mov r0, #9
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217C28 ; =0x00001EDC
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x14
|
|
mov r3, #0x39
|
|
bl MOD09_02217CEC
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217C2C ; =0x00001F24
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0
|
|
mov r3, #0x3b
|
|
bl MOD09_02217CEC
|
|
mov r2, #5
|
|
str r2, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217C30 ; =0x00001F38
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r3, #0x3b
|
|
bl MOD09_02217CEC
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217C34 ; =0x00001F4C
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0xa
|
|
mov r3, #0x3b
|
|
bl MOD09_02217CEC
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02217BCC: .word 0x0000042C
|
|
_02217BD0: .word 0x000004EC
|
|
_02217BD4: .word 0x000005AC
|
|
_02217BD8: .word 0x0000066C
|
|
_02217BDC: .word 0x0000072C
|
|
_02217BE0: .word 0x000007EC
|
|
_02217BE4: .word 0x0000086E
|
|
_02217BE8: .word 0x00000972
|
|
_02217BEC: .word 0x000009F4
|
|
_02217BF0: .word 0x00000A26
|
|
_02217BF4: .word 0x00000A58
|
|
_02217BF8: .word 0x00000A8A
|
|
_02217BFC: .word 0x00000ABC
|
|
_02217C00: .word 0x00000AEE
|
|
_02217C04: .word 0x00000B52
|
|
_02217C08: .word 0x00000B84
|
|
_02217C0C: .word 0x00000BB6
|
|
_02217C10: .word 0x00000BE8
|
|
_02217C14: .word 0x00000C1A
|
|
_02217C18: .word 0x00001C44
|
|
_02217C1C: .word 0x00001D48
|
|
_02217C20: .word 0x00001E4C
|
|
_02217C24: .word 0x00001E94
|
|
_02217C28: .word 0x00001EDC
|
|
_02217C2C: .word 0x00001F24
|
|
_02217C30: .word 0x00001F38
|
|
_02217C34: .word 0x00001F4C
|
|
|
|
thumb_func_start MOD09_02217C38
|
|
MOD09_02217C38: ; 0x02217C38
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
mov r0, #0x11
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217CE0 ; =0x00000C4C
|
|
mov r2, #0
|
|
add r0, r5, r0
|
|
add r3, r2, #0
|
|
add r4, r1, #0
|
|
bl MOD09_02217CEC
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
ldr r0, _02217CE4 ; =0x00001048
|
|
mov r3, #0x11
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
str r3, [sp, #4]
|
|
bl MOD09_02217CEC
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
mov r0, #0x11
|
|
str r0, [sp, #4]
|
|
ldr r0, _02217CE8 ; =0x00001444
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0
|
|
mov r3, #0x22
|
|
bl MOD09_02217CEC
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0x61
|
|
lsl r0, r0, #6
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
mov r3, #0x33
|
|
bl MOD09_02217CEC
|
|
mov r2, #0x10
|
|
str r2, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0x19
|
|
lsl r0, r0, #8
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
mov r3, #0x33
|
|
bl MOD09_02217CEC
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0x67
|
|
lsl r0, r0, #6
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
mov r3, #0x39
|
|
bl MOD09_02217CEC
|
|
mov r2, #0x10
|
|
str r2, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #6
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
mov r3, #0x39
|
|
bl MOD09_02217CEC
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02217CE0: .word 0x00000C4C
|
|
_02217CE4: .word 0x00001048
|
|
_02217CE8: .word 0x00001444
|
|
|
|
thumb_func_start MOD09_02217CEC
|
|
MOD09_02217CEC: ; 0x02217CEC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
str r0, [sp]
|
|
add r0, sp, #8
|
|
mov lr, r3
|
|
ldrb r3, [r0, #0x14]
|
|
mov r6, #0
|
|
mov ip, r3
|
|
cmp r3, #0
|
|
ble _02217D38
|
|
ldrb r3, [r0, #0x10]
|
|
lsl r2, r2, #1
|
|
add r7, r1, r2
|
|
_02217D04:
|
|
mov r2, #0
|
|
cmp r3, #0
|
|
ble _02217D2C
|
|
mov r0, lr
|
|
add r0, r0, r6
|
|
lsl r0, r0, #6
|
|
add r5, r7, r0
|
|
add r0, r6, #0
|
|
mul r0, r3
|
|
lsl r1, r0, #1
|
|
ldr r0, [sp]
|
|
add r4, r0, r1
|
|
_02217D1C:
|
|
lsl r1, r2, #1
|
|
ldrh r0, [r5, r1]
|
|
strh r0, [r4, r1]
|
|
add r0, r2, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r2, r0, #0x10
|
|
cmp r2, r3
|
|
blt _02217D1C
|
|
_02217D2C:
|
|
add r0, r6, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r6, r0, #0x10
|
|
mov r0, ip
|
|
cmp r6, r0
|
|
blt _02217D04
|
|
_02217D38:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02217D3C
|
|
MOD09_02217D3C: ; 0x02217D3C
|
|
cmp r1, #0x21
|
|
bhi _02217E22
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02217D4C: ; jump table
|
|
.short _02217D90 - _02217D4C - 2 ; case 0
|
|
.short _02217D90 - _02217D4C - 2 ; case 1
|
|
.short _02217D90 - _02217D4C - 2 ; case 2
|
|
.short _02217D90 - _02217D4C - 2 ; case 3
|
|
.short _02217D90 - _02217D4C - 2 ; case 4
|
|
.short _02217D90 - _02217D4C - 2 ; case 5
|
|
.short _02217DAE - _02217D4C - 2 ; case 6
|
|
.short _02217DBA - _02217D4C - 2 ; case 7
|
|
.short _02217DC8 - _02217D4C - 2 ; case 8
|
|
.short _02217DC8 - _02217D4C - 2 ; case 9
|
|
.short _02217DC8 - _02217D4C - 2 ; case 10
|
|
.short _02217DC8 - _02217D4C - 2 ; case 11
|
|
.short _02217DD4 - _02217D4C - 2 ; case 12
|
|
.short _02217DE0 - _02217D4C - 2 ; case 13
|
|
.short _02217DEC - _02217D4C - 2 ; case 14
|
|
.short _02217DEC - _02217D4C - 2 ; case 15
|
|
.short _02217DEC - _02217D4C - 2 ; case 16
|
|
.short _02217DEC - _02217D4C - 2 ; case 17
|
|
.short _02217E0A - _02217D4C - 2 ; case 18
|
|
.short _02217DEC - _02217D4C - 2 ; case 19
|
|
.short _02217DEC - _02217D4C - 2 ; case 20
|
|
.short _02217DEC - _02217D4C - 2 ; case 21
|
|
.short _02217DEC - _02217D4C - 2 ; case 22
|
|
.short _02217DEC - _02217D4C - 2 ; case 23
|
|
.short _02217DEC - _02217D4C - 2 ; case 24
|
|
.short _02217DEC - _02217D4C - 2 ; case 25
|
|
.short _02217DEC - _02217D4C - 2 ; case 26
|
|
.short _02217DEC - _02217D4C - 2 ; case 27
|
|
.short _02217DFA - _02217D4C - 2 ; case 28
|
|
.short _02217DFA - _02217D4C - 2 ; case 29
|
|
.short _02217E16 - _02217D4C - 2 ; case 30
|
|
.short _02217E16 - _02217D4C - 2 ; case 31
|
|
.short _02217E16 - _02217D4C - 2 ; case 32
|
|
.short _02217E16 - _02217D4C - 2 ; case 33
|
|
_02217D90:
|
|
cmp r3, #0
|
|
bne _02217DA2
|
|
mov r1, #0x7b
|
|
lsl r1, r1, #2
|
|
add r1, r0, r1
|
|
mov r0, #0xc0
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_02217DA2:
|
|
ldr r1, _02217E28 ; =0x000004EC
|
|
add r1, r0, r1
|
|
mov r0, #0xc0
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_02217DAE:
|
|
ldr r1, _02217E2C ; =0x00000B84
|
|
add r1, r0, r1
|
|
mov r0, #0x32
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_02217DBA:
|
|
ldr r1, _02217E30 ; =0x00000C4C
|
|
add r1, r0, r1
|
|
mov r0, #0xff
|
|
lsl r0, r0, #2
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_02217DC8:
|
|
ldr r1, _02217E34 ; =0x000007EC
|
|
add r1, r0, r1
|
|
mov r0, #0x82
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_02217DD4:
|
|
ldr r1, _02217E38 ; =0x000009F4
|
|
add r1, r0, r1
|
|
mov r0, #0x32
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_02217DE0:
|
|
ldr r1, _02217E3C ; =0x00000ABC
|
|
add r1, r0, r1
|
|
mov r0, #0x32
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_02217DEC:
|
|
mov r1, #0x61
|
|
lsl r1, r1, #6
|
|
add r1, r0, r1
|
|
mov r0, #0xc0
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_02217DFA:
|
|
mov r1, #0x6d
|
|
lsl r1, r1, #6
|
|
add r1, r0, r1
|
|
lsl r0, r2, #6
|
|
add r0, r2, r0
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_02217E0A:
|
|
ldr r1, _02217E40 ; =0x00001E4C
|
|
add r1, r0, r1
|
|
mov r0, #0x48
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_02217E16:
|
|
ldr r1, _02217E44 ; =0x00001F24
|
|
add r1, r0, r1
|
|
mov r0, #0x14
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_02217E22:
|
|
mov r0, #0
|
|
bx lr
|
|
nop
|
|
_02217E28: .word 0x000004EC
|
|
_02217E2C: .word 0x00000B84
|
|
_02217E30: .word 0x00000C4C
|
|
_02217E34: .word 0x000007EC
|
|
_02217E38: .word 0x000009F4
|
|
_02217E3C: .word 0x00000ABC
|
|
_02217E40: .word 0x00001E4C
|
|
_02217E44: .word 0x00001F24
|
|
|
|
thumb_func_start MOD09_02217E48
|
|
MOD09_02217E48: ; 0x02217E48
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r7, r2, #0
|
|
add r2, r3, #0
|
|
add r3, sp, #0x10
|
|
add r4, r1, #0
|
|
ldrb r3, [r3, #0x10]
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
bl MOD09_02217D3C
|
|
add r1, r0, #0
|
|
ldr r2, _02217F7C ; =0x0221BAF2
|
|
lsl r0, r7, #2
|
|
ldrb r6, [r2, r0]
|
|
ldr r2, _02217F80 ; =0x0221BAF3
|
|
ldrb r0, [r2, r0]
|
|
add r5, r6, #0
|
|
mul r5, r0
|
|
add r0, r4, #0
|
|
lsl r2, r5, #1
|
|
bl memcpy
|
|
cmp r7, #5
|
|
bgt _02217E96
|
|
cmp r7, #0
|
|
blt _02217F78
|
|
add r0, r7, r7
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02217E8A: ; jump table
|
|
.short _02217E9E - _02217E8A - 2 ; case 0
|
|
.short _02217E9E - _02217E8A - 2 ; case 1
|
|
.short _02217E9E - _02217E8A - 2 ; case 2
|
|
.short _02217E9E - _02217E8A - 2 ; case 3
|
|
.short _02217E9E - _02217E8A - 2 ; case 4
|
|
.short _02217E9E - _02217E8A - 2 ; case 5
|
|
_02217E96:
|
|
cmp r7, #0x1b
|
|
beq _02217F58
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02217E9E:
|
|
mov r0, #0x50
|
|
add r1, r7, #0
|
|
mul r1, r0
|
|
ldr r0, [sp]
|
|
add r0, r0, r1
|
|
ldrh r1, [r0, #8]
|
|
cmp r1, #0
|
|
beq _02217F78
|
|
ldrb r1, [r0, #0x1b]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x1f
|
|
beq _02217EFE
|
|
lsl r2, r6, #1
|
|
add r0, r2, #5
|
|
lsl r0, r0, #1
|
|
ldrh r1, [r4, r0]
|
|
add r0, sp, #4
|
|
strh r1, [r0]
|
|
add r1, r6, r2
|
|
add r1, r1, #5
|
|
lsl r1, r1, #1
|
|
ldrh r1, [r4, r1]
|
|
strh r1, [r0, #2]
|
|
mov r1, #0
|
|
add r0, sp, #4
|
|
_02217ED0:
|
|
add r5, r1, #2
|
|
lsl r3, r1, #1
|
|
add r7, r5, #0
|
|
mul r7, r6
|
|
lsl r5, r7, #1
|
|
ldrh r3, [r0, r3]
|
|
mov r2, #0
|
|
add r5, r4, r5
|
|
_02217EE0:
|
|
lsl r7, r2, #1
|
|
add r2, r2, #1
|
|
lsl r2, r2, #0x18
|
|
add r7, r5, r7
|
|
lsr r2, r2, #0x18
|
|
strh r3, [r7, #0xc]
|
|
cmp r2, #9
|
|
blo _02217EE0
|
|
add r1, r1, #1
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
cmp r1, #2
|
|
blo _02217ED0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02217EFE:
|
|
ldrh r0, [r0, #0x14]
|
|
cmp r0, #0
|
|
bne _02217F28
|
|
mov r1, #0
|
|
cmp r5, #0
|
|
ble _02217F78
|
|
mov r3, #2
|
|
ldr r2, _02217F84 ; =0x00000FFF
|
|
lsl r3, r3, #0xc
|
|
_02217F10:
|
|
lsl r0, r1, #1
|
|
ldrh r6, [r4, r0]
|
|
and r6, r2
|
|
orr r6, r3
|
|
strh r6, [r4, r0]
|
|
add r0, r1, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
cmp r1, r5
|
|
blt _02217F10
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02217F28:
|
|
lsl r1, r7, #0x18
|
|
ldr r0, [sp]
|
|
lsr r1, r1, #0x18
|
|
bl MOD09_02213BDC
|
|
cmp r0, #1
|
|
bne _02217F78
|
|
mov r1, #0
|
|
cmp r5, #0
|
|
ble _02217F78
|
|
ldr r2, _02217F84 ; =0x00000FFF
|
|
add r3, r2, #1
|
|
_02217F40:
|
|
lsl r0, r1, #1
|
|
ldrh r6, [r4, r0]
|
|
and r6, r2
|
|
orr r6, r3
|
|
strh r6, [r4, r0]
|
|
add r0, r1, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
cmp r1, r5
|
|
blt _02217F40
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02217F58:
|
|
mov r1, #0
|
|
cmp r5, #0
|
|
ble _02217F78
|
|
mov r3, #0xa
|
|
ldr r2, _02217F84 ; =0x00000FFF
|
|
lsl r3, r3, #0xc
|
|
_02217F64:
|
|
lsl r0, r1, #1
|
|
ldrh r6, [r4, r0]
|
|
and r6, r2
|
|
orr r6, r3
|
|
strh r6, [r4, r0]
|
|
add r0, r1, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
cmp r1, r5
|
|
blt _02217F64
|
|
_02217F78:
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02217F7C: .word MOD9_0221BAF2
|
|
_02217F80: .word MOD9_0221BAF3
|
|
_02217F84: .word 0x00000FFF
|
|
|
|
thumb_func_start MOD09_02217F88
|
|
MOD09_02217F88: ; 0x02217F88
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
str r1, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
str r3, [sp, #0x14]
|
|
add r5, r0, #0
|
|
ldr r0, [sp, #0xc]
|
|
lsl r4, r0, #2
|
|
ldr r0, _02217FF4 ; =0x0221BAF3
|
|
ldrb r7, [r0, r4]
|
|
ldr r0, _02217FF8 ; =0x0221BAF2
|
|
ldrb r6, [r0, r4]
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
mul r1, r7
|
|
ldr r0, [r0, #0xc]
|
|
lsl r1, r1, #1
|
|
bl AllocFromHeap
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
str r0, [sp]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r3, [sp, #0x10]
|
|
add r0, r5, #0
|
|
bl MOD09_02217E48
|
|
ldr r0, _02217FFC ; =0x0221BAF1
|
|
ldr r3, _02218000 ; =0x0221BAF0
|
|
ldrb r0, [r0, r4]
|
|
ldrb r3, [r3, r4]
|
|
ldr r2, [sp, #0x18]
|
|
str r0, [sp]
|
|
str r6, [sp, #4]
|
|
mov r0, #0x79
|
|
str r7, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #6
|
|
bl LoadRectToBgTilemapRect
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #6
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [sp, #0x18]
|
|
bl FreeToHeap
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02217FF4: .word MOD9_0221BAF3
|
|
_02217FF8: .word MOD9_0221BAF2
|
|
_02217FFC: .word MOD9_0221BAF1
|
|
_02218000: .word MOD9_0221BAF0
|
|
|
|
thumb_func_start MOD09_02218004
|
|
MOD09_02218004: ; 0x02218004
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _022180A4 ; =0x0221BA68
|
|
lsl r3, r1, #2
|
|
ldr r6, [r0, r3]
|
|
cmp r6, #0
|
|
beq _022180A2
|
|
cmp r1, #5
|
|
bhi _0221801E
|
|
ldr r0, _022180A8 ; =0x0221BA58
|
|
ldrb r0, [r0, r2]
|
|
str r0, [sp]
|
|
b _02218024
|
|
_0221801E:
|
|
ldr r0, _022180AC ; =0x0221BA48
|
|
ldrb r0, [r0, r2]
|
|
str r0, [sp]
|
|
_02218024:
|
|
cmp r2, #0
|
|
beq _02218032
|
|
cmp r2, #1
|
|
beq _02218036
|
|
cmp r2, #2
|
|
beq _0221803A
|
|
b _0221803C
|
|
_02218032:
|
|
mov r7, #1
|
|
b _0221803C
|
|
_02218036:
|
|
mov r7, #0
|
|
b _0221803C
|
|
_0221803A:
|
|
mov r7, #1
|
|
_0221803C:
|
|
cmp r1, #0xe
|
|
blo _02218070
|
|
cmp r1, #0x11
|
|
bhi _02218070
|
|
ldr r1, _022180B0 ; =0x00002070
|
|
ldr r2, [sp]
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #5
|
|
ldrb r1, [r5, r1]
|
|
mov r3, #0
|
|
ldrb r1, [r6, r1]
|
|
lsl r1, r1, #4
|
|
add r0, r0, r1
|
|
add r1, r7, #0
|
|
bl ScrollWindow
|
|
ldr r1, _022180B0 ; =0x00002070
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #5
|
|
ldrb r1, [r5, r1]
|
|
ldrb r1, [r6, r1]
|
|
lsl r1, r1, #4
|
|
add r0, r0, r1
|
|
bl ScheduleWindowCopyToVram
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02218070:
|
|
mov r4, #0
|
|
_02218072:
|
|
ldrb r2, [r6, r4]
|
|
cmp r2, #0xff
|
|
beq _022180A2
|
|
ldr r0, _022180B0 ; =0x00002070
|
|
mov r3, #0
|
|
ldr r1, [r5, r0]
|
|
lsl r0, r2, #4
|
|
add r0, r1, r0
|
|
ldr r2, [sp]
|
|
add r1, r7, #0
|
|
bl ScrollWindow
|
|
ldr r0, _022180B0 ; =0x00002070
|
|
ldr r1, [r5, r0]
|
|
ldrb r0, [r6, r4]
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #8
|
|
blo _02218072
|
|
_022180A2:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022180A4: .word MOD9_0221BA68
|
|
_022180A8: .word MOD9_0221BA58
|
|
_022180AC: .word MOD9_0221BA48
|
|
_022180B0: .word 0x00002070
|
|
|
|
thumb_func_start MOD09_022180B4
|
|
MOD09_022180B4: ; 0x022180B4
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
cmp r5, #0x1b
|
|
bhi _022181B8
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022180CA: ; jump table
|
|
.short _02218102 - _022180CA - 2 ; case 0
|
|
.short _02218102 - _022180CA - 2 ; case 1
|
|
.short _02218102 - _022180CA - 2 ; case 2
|
|
.short _02218102 - _022180CA - 2 ; case 3
|
|
.short _02218102 - _022180CA - 2 ; case 4
|
|
.short _02218102 - _022180CA - 2 ; case 5
|
|
.short _022181B8 - _022180CA - 2 ; case 6
|
|
.short _02218140 - _022180CA - 2 ; case 7
|
|
.short _022181B8 - _022180CA - 2 ; case 8
|
|
.short _022181B8 - _022180CA - 2 ; case 9
|
|
.short _022181B8 - _022180CA - 2 ; case 10
|
|
.short _022181B8 - _022180CA - 2 ; case 11
|
|
.short _022181B8 - _022180CA - 2 ; case 12
|
|
.short _022181B8 - _022180CA - 2 ; case 13
|
|
.short _02218172 - _022180CA - 2 ; case 14
|
|
.short _02218172 - _022180CA - 2 ; case 15
|
|
.short _02218172 - _022180CA - 2 ; case 16
|
|
.short _02218172 - _022180CA - 2 ; case 17
|
|
.short _022181B8 - _022180CA - 2 ; case 18
|
|
.short _0221818A - _022180CA - 2 ; case 19
|
|
.short _0221818A - _022180CA - 2 ; case 20
|
|
.short _0221818A - _022180CA - 2 ; case 21
|
|
.short _0221818A - _022180CA - 2 ; case 22
|
|
.short _022181A2 - _022180CA - 2 ; case 23
|
|
.short _022181A2 - _022180CA - 2 ; case 24
|
|
.short _022181A2 - _022180CA - 2 ; case 25
|
|
.short _022181A2 - _022180CA - 2 ; case 26
|
|
.short _022181A2 - _022180CA - 2 ; case 27
|
|
_02218102:
|
|
ldr r0, _022181BC ; =0x0221BA62
|
|
lsl r1, r2, #1
|
|
ldrsh r6, [r0, r1]
|
|
add r0, r5, #0
|
|
add r0, #0xd
|
|
lsl r0, r0, #2
|
|
add r1, r4, r0
|
|
ldr r0, _022181C0 ; =0x00001FB8
|
|
add r2, r6, #0
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C82C
|
|
lsl r0, r5, #2
|
|
add r1, r4, r0
|
|
ldr r0, _022181C0 ; =0x00001FB8
|
|
add r2, r6, #0
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C82C
|
|
add r0, r5, #7
|
|
lsl r0, r0, #2
|
|
add r1, r4, r0
|
|
ldr r0, _022181C0 ; =0x00001FB8
|
|
add r2, r6, #0
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C82C
|
|
pop {r4, r5, r6, pc}
|
|
_02218140:
|
|
ldr r0, _022181C4 ; =0x0221BA5C
|
|
lsl r1, r2, #1
|
|
ldrsh r5, [r0, r1]
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, #0x11]
|
|
add r2, r5, #0
|
|
lsl r0, r0, #2
|
|
add r1, r4, r0
|
|
ldr r0, _022181C0 ; =0x00001FB8
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C82C
|
|
ldr r0, [r4]
|
|
add r2, r5, #0
|
|
ldrb r0, [r0, #0x11]
|
|
add r0, r0, #7
|
|
lsl r0, r0, #2
|
|
add r1, r4, r0
|
|
ldr r0, _022181C0 ; =0x00001FB8
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C82C
|
|
pop {r4, r5, r6, pc}
|
|
_02218172:
|
|
add r0, r5, #7
|
|
lsl r0, r0, #2
|
|
lsl r3, r2, #1
|
|
ldr r2, _022181C4 ; =0x0221BA5C
|
|
add r1, r4, r0
|
|
ldr r0, _022181C0 ; =0x00001FB8
|
|
ldrsh r2, [r2, r3]
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C82C
|
|
pop {r4, r5, r6, pc}
|
|
_0221818A:
|
|
add r0, r5, #2
|
|
lsl r0, r0, #2
|
|
lsl r3, r2, #1
|
|
ldr r2, _022181C4 ; =0x0221BA5C
|
|
add r1, r4, r0
|
|
ldr r0, _022181C0 ; =0x00001FB8
|
|
ldrsh r2, [r2, r3]
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C82C
|
|
pop {r4, r5, r6, pc}
|
|
_022181A2:
|
|
sub r0, r5, #2
|
|
lsl r0, r0, #2
|
|
lsl r3, r2, #1
|
|
ldr r2, _022181C4 ; =0x0221BA5C
|
|
add r1, r4, r0
|
|
ldr r0, _022181C0 ; =0x00001FB8
|
|
ldrsh r2, [r2, r3]
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl FUN_0200C82C
|
|
_022181B8:
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_022181BC: .word MOD9_0221BA62
|
|
_022181C0: .word 0x00001FB8
|
|
_022181C4: .word MOD9_0221BA5C
|
|
|
|
thumb_func_start MOD09_022181C8
|
|
MOD09_022181C8: ; 0x022181C8
|
|
push {r4, r5, r6, lr}
|
|
ldr r3, _02218210 ; =0x00001FA3
|
|
add r5, r0, #0
|
|
ldrb r6, [r5, r3]
|
|
mov r2, #0x70
|
|
add r4, r1, #0
|
|
bic r6, r2
|
|
strb r6, [r5, r3]
|
|
cmp r4, #5
|
|
bhi _022181F2
|
|
bl MOD09_02213620
|
|
cmp r0, #2
|
|
bne _022181F2
|
|
ldr r1, _02218210 ; =0x00001FA3
|
|
mov r0, #0x70
|
|
ldrb r2, [r5, r1]
|
|
bic r2, r0
|
|
mov r0, #0x10
|
|
orr r0, r2
|
|
strb r0, [r5, r1]
|
|
_022181F2:
|
|
ldr r0, _02218214 ; =0x00001FA0
|
|
mov r2, #0
|
|
strb r2, [r5, r0]
|
|
add r1, r0, #1
|
|
strb r2, [r5, r1]
|
|
add r1, r0, #2
|
|
strb r4, [r5, r1]
|
|
add r1, r0, #3
|
|
ldrb r2, [r5, r1]
|
|
mov r1, #0x80
|
|
add r0, r0, #3
|
|
orr r1, r2
|
|
strb r1, [r5, r0]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02218210: .word 0x00001FA3
|
|
_02218214: .word 0x00001FA0
|
|
|
|
thumb_func_start MOD09_02218218
|
|
MOD09_02218218: ; 0x02218218
|
|
push {r4, lr}
|
|
ldr r2, _022182DC ; =0x00001FA3
|
|
add r4, r0, #0
|
|
ldrb r3, [r4, r2]
|
|
lsl r1, r3, #0x18
|
|
lsr r1, r1, #0x1f
|
|
beq _022182D8
|
|
sub r1, r2, #3
|
|
ldrb r1, [r4, r1]
|
|
cmp r1, #0
|
|
beq _02218238
|
|
cmp r1, #1
|
|
beq _0221826C
|
|
cmp r1, #2
|
|
beq _022182A0
|
|
pop {r4, pc}
|
|
_02218238:
|
|
sub r1, r2, #1
|
|
ldrb r1, [r4, r1]
|
|
lsl r3, r3, #0x19
|
|
mov r2, #1
|
|
lsr r3, r3, #0x1d
|
|
bl MOD09_02217F88
|
|
ldr r1, _022182E0 ; =0x00001FA2
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
mov r2, #1
|
|
bl MOD09_02218004
|
|
ldr r1, _022182E0 ; =0x00001FA2
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
mov r2, #1
|
|
bl MOD09_022180B4
|
|
ldr r0, _022182E4 ; =0x00001FA1
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
mov r1, #1
|
|
sub r0, r0, #1
|
|
strb r1, [r4, r0]
|
|
pop {r4, pc}
|
|
_0221826C:
|
|
sub r1, r2, #1
|
|
ldrb r1, [r4, r1]
|
|
lsl r3, r3, #0x19
|
|
mov r2, #2
|
|
lsr r3, r3, #0x1d
|
|
bl MOD09_02217F88
|
|
ldr r1, _022182E0 ; =0x00001FA2
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
mov r2, #2
|
|
bl MOD09_02218004
|
|
ldr r1, _022182E0 ; =0x00001FA2
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
mov r2, #2
|
|
bl MOD09_022180B4
|
|
ldr r0, _022182E4 ; =0x00001FA1
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
mov r1, #2
|
|
sub r0, r0, #1
|
|
strb r1, [r4, r0]
|
|
pop {r4, pc}
|
|
_022182A0:
|
|
sub r1, r2, #1
|
|
ldrb r1, [r4, r1]
|
|
lsl r3, r3, #0x19
|
|
mov r2, #0
|
|
lsr r3, r3, #0x1d
|
|
bl MOD09_02217F88
|
|
ldr r1, _022182E0 ; =0x00001FA2
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
mov r2, #0
|
|
bl MOD09_02218004
|
|
ldr r1, _022182E0 ; =0x00001FA2
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
mov r2, #0
|
|
bl MOD09_022180B4
|
|
ldr r0, _022182E4 ; =0x00001FA1
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
add r1, r0, #2
|
|
ldrb r2, [r4, r1]
|
|
mov r1, #0x80
|
|
add r0, r0, #2
|
|
bic r2, r1
|
|
strb r2, [r4, r0]
|
|
_022182D8:
|
|
pop {r4, pc}
|
|
nop
|
|
_022182DC: .word 0x00001FA3
|
|
_022182E0: .word 0x00001FA2
|
|
_022182E4: .word 0x00001FA1
|
|
|
|
thumb_func_start MOD09_022182E8
|
|
MOD09_022182E8: ; 0x022182E8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #9
|
|
bls _022182F2
|
|
b _0221863A
|
|
_022182F2:
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_022182FE: ; jump table
|
|
.short _02218312 - _022182FE - 2 ; case 0
|
|
.short _0221838A - _022182FE - 2 ; case 1
|
|
.short _022183E6 - _022182FE - 2 ; case 2
|
|
.short _0221843A - _022182FE - 2 ; case 3
|
|
.short _022184D8 - _022182FE - 2 ; case 4
|
|
.short _02218524 - _022182FE - 2 ; case 5
|
|
.short _0221857C - _022182FE - 2 ; case 6
|
|
.short _022185DC - _022182FE - 2 ; case 7
|
|
.short _0221857C - _022182FE - 2 ; case 8
|
|
.short _0221860C - _022182FE - 2 ; case 9
|
|
_02218312:
|
|
mov r5, #0
|
|
mov r6, #3
|
|
mov r7, #1
|
|
_02218318:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD09_02213620
|
|
cmp r0, #0
|
|
bne _02218334
|
|
lsl r1, r5, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl MOD09_02217F88
|
|
b _0221835A
|
|
_02218334:
|
|
cmp r0, #1
|
|
bne _02218348
|
|
lsl r1, r5, #0x18
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
b _0221835A
|
|
_02218348:
|
|
cmp r0, #2
|
|
bne _0221835A
|
|
lsl r1, r5, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0
|
|
mov r3, #1
|
|
bl MOD09_02217F88
|
|
_0221835A:
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
cmp r5, #6
|
|
blo _02218318
|
|
ldr r0, [r4]
|
|
add r0, #0x35
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _0221837C
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl MOD09_02217F88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0221837C:
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0221838A:
|
|
mov r2, #0
|
|
mov r1, #6
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, #0x11]
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r0, r4, r0
|
|
ldrb r0, [r0, #0x1b]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1f
|
|
beq _022183CC
|
|
add r0, r4, #0
|
|
mov r1, #8
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl MOD09_02217F88
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl MOD09_02217F88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022183CC:
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #8
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022183E6:
|
|
bl MOD09_02218680
|
|
cmp r0, #1
|
|
bne _02218408
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #0xd
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
b _02218420
|
|
_02218408:
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl MOD09_02217F88
|
|
add r0, r4, #0
|
|
mov r1, #0xd
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl MOD09_02217F88
|
|
_02218420:
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #0xb
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0221843A:
|
|
bl MOD09_02218680
|
|
cmp r0, #1
|
|
bne _0221845C
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #0xd
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
b _02218474
|
|
_0221845C:
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl MOD09_02217F88
|
|
add r0, r4, #0
|
|
mov r1, #0xd
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl MOD09_02217F88
|
|
_02218474:
|
|
mov r5, #0
|
|
mov r7, #3
|
|
mov r6, #0x50
|
|
_0221847A:
|
|
ldr r0, [r4]
|
|
lsl r1, r5, #3
|
|
ldrb r0, [r0, #0x11]
|
|
add r2, r0, #0
|
|
mul r2, r6
|
|
add r0, r4, r2
|
|
add r0, r1, r0
|
|
ldrh r0, [r0, #0x34]
|
|
cmp r0, #0
|
|
beq _022184A2
|
|
add r1, r5, #0
|
|
add r1, #0xe
|
|
lsl r1, r1, #0x18
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
b _022184B4
|
|
_022184A2:
|
|
add r1, r5, #0
|
|
add r1, #0xe
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
bl MOD09_02217F88
|
|
_022184B4:
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
cmp r5, #4
|
|
blo _0221847A
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #9
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022184D8:
|
|
mov r2, #0
|
|
mov r1, #6
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
mov r5, #0
|
|
mov r6, #2
|
|
add r7, r5, #0
|
|
_022184E8:
|
|
ldr r0, [r4]
|
|
add r0, #0x34
|
|
ldrb r0, [r0]
|
|
cmp r0, r5
|
|
bne _02218506
|
|
add r1, r5, #0
|
|
add r1, #0x1e
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl MOD09_02217F88
|
|
b _02218518
|
|
_02218506:
|
|
add r1, r5, #0
|
|
add r1, #0x1e
|
|
lsl r1, r1, #0x18
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
_02218518:
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
cmp r5, #4
|
|
blo _022184E8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02218524:
|
|
mov r5, #0
|
|
mov r7, #3
|
|
mov r6, #0x50
|
|
_0221852A:
|
|
ldr r0, [r4]
|
|
lsl r1, r5, #3
|
|
ldrb r0, [r0, #0x11]
|
|
add r2, r0, #0
|
|
mul r2, r6
|
|
add r0, r4, r2
|
|
add r0, r1, r0
|
|
ldrh r0, [r0, #0x34]
|
|
cmp r0, #0
|
|
beq _02218552
|
|
add r1, r5, #0
|
|
add r1, #0x13
|
|
lsl r1, r1, #0x18
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
b _02218564
|
|
_02218552:
|
|
add r1, r5, #0
|
|
add r1, #0x13
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
bl MOD09_02217F88
|
|
_02218564:
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
cmp r5, #4
|
|
blo _0221852A
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0221857C:
|
|
mov r2, #0
|
|
mov r1, #0x17
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #0x18
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #0x19
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #0x1a
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #0x1b
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
ldr r0, _0221863C ; =0x00002077
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
cmp r0, #1
|
|
bne _0221863A
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #0x12
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022185DC:
|
|
mov r2, #0
|
|
mov r1, #0x1c
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
ldr r0, _0221863C ; =0x00002077
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
cmp r0, #1
|
|
bne _0221863A
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #0x12
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0221860C:
|
|
mov r2, #0
|
|
mov r1, #0x1d
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
ldr r0, _0221863C ; =0x00002077
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
cmp r0, #1
|
|
bne _0221863A
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #0x12
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
_0221863A:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0221863C: .word 0x00002077
|
|
|
|
thumb_func_start MOD09_02218640
|
|
MOD09_02218640: ; 0x02218640
|
|
push {r3, lr}
|
|
add r2, r0, #0
|
|
cmp r1, #3
|
|
bne _02218662
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
mov r1, #0x7e
|
|
lsl r1, r1, #6
|
|
ldr r0, [r2, r0]
|
|
add r1, r2, r1
|
|
mov r2, #1
|
|
mov r3, #0xc0
|
|
bl PaletteData_LoadPalette
|
|
pop {r3, pc}
|
|
_02218662:
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldr r1, _0221867C ; =0x00001F60
|
|
ldr r0, [r2, r0]
|
|
add r1, r2, r1
|
|
mov r2, #1
|
|
mov r3, #0xc0
|
|
bl PaletteData_LoadPalette
|
|
pop {r3, pc}
|
|
nop
|
|
_0221867C: .word 0x00001F60
|
|
|
|
thumb_func_start MOD09_02218680
|
|
MOD09_02218680: ; 0x02218680
|
|
push {r4, r5}
|
|
mov r2, #0
|
|
add r1, r2, #0
|
|
mov r3, #0x50
|
|
_02218688:
|
|
add r4, r1, #0
|
|
mul r4, r3
|
|
add r5, r0, r4
|
|
ldrh r4, [r5, #8]
|
|
cmp r4, #0
|
|
beq _022186A2
|
|
ldrb r4, [r5, #0x1b]
|
|
lsl r4, r4, #0x18
|
|
lsr r4, r4, #0x1f
|
|
bne _022186A2
|
|
add r2, r2, #1
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x10
|
|
_022186A2:
|
|
add r1, r1, #1
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
cmp r1, #6
|
|
blo _02218688
|
|
cmp r2, #2
|
|
blo _022186B4
|
|
mov r0, #1
|
|
b _022186B6
|
|
_022186B4:
|
|
mov r0, #0
|
|
_022186B6:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
pop {r4, r5}
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_022186C0
|
|
MOD09_022186C0: ; 0x022186C0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4]
|
|
ldrb r1, [r1, #0x11]
|
|
bl MOD09_02213620
|
|
cmp r0, #2
|
|
bne _022186E0
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
ldrb r1, [r1, #0x11]
|
|
mov r2, #0
|
|
mov r3, #1
|
|
bl MOD09_02217F88
|
|
pop {r4, pc}
|
|
_022186E0:
|
|
ldr r1, [r4]
|
|
mov r2, #0
|
|
ldrb r1, [r1, #0x11]
|
|
add r0, r4, #0
|
|
add r3, r2, #0
|
|
bl MOD09_02217F88
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start MOD09_022186F0
|
|
MOD09_022186F0: ; 0x022186F0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _02218780 ; =MOD09_0221878C
|
|
ldr r1, _02218784 ; =0x0000115C
|
|
ldr r3, [r5, #0xc]
|
|
mov r2, #0x64
|
|
bl FUN_020061E8
|
|
bl FUN_0201B6C8
|
|
ldr r2, _02218784 ; =0x0000115C
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
bl memset
|
|
str r5, [r4]
|
|
ldr r0, [r5]
|
|
bl MOD11_0222FF68
|
|
str r0, [r4, #4]
|
|
ldr r0, [r5]
|
|
bl MOD11_022300CC
|
|
str r0, [r4, #8]
|
|
ldr r0, _02218788 ; =0x0000114A
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
ldr r0, [r5]
|
|
bl MOD11_02230218
|
|
add r6, r0, #0
|
|
mov r5, #0
|
|
_02218730:
|
|
ldr r3, [r4]
|
|
add r0, r6, #0
|
|
add r2, r3, #0
|
|
add r2, #0x27
|
|
add r3, #0x2c
|
|
add r1, r5, #0
|
|
add r2, r2, r5
|
|
add r3, r3, r5
|
|
bl FUN_0206F1A0
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
cmp r5, #5
|
|
blo _02218730
|
|
add r0, r6, #0
|
|
bl FUN_0206F1AC
|
|
ldr r1, [r4]
|
|
strh r0, [r1, #0x20]
|
|
add r0, r6, #0
|
|
bl FUN_0206F1B0
|
|
ldr r1, [r4]
|
|
strb r0, [r1, #0x1f]
|
|
add r0, r4, #0
|
|
bl MOD09_02219C38
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl MOD11_0222FF74
|
|
mov r1, #1
|
|
lsl r1, r1, #0xa
|
|
tst r0, r1
|
|
beq _0221877E
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
str r1, [r0, #0x14]
|
|
_0221877E:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02218780: .word MOD09_0221878C
|
|
_02218784: .word 0x0000115C
|
|
_02218788: .word 0x0000114A
|
|
|
|
thumb_func_start MOD09_0221878C
|
|
MOD09_0221878C: ; 0x0221878C
|
|
push {r4, lr}
|
|
ldr r2, _02218884 ; =0x0000114A
|
|
add r4, r1, #0
|
|
ldrb r2, [r4, r2]
|
|
cmp r2, #0xe
|
|
bhi _02218872
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_022187A4: ; jump table
|
|
.short _022187C2 - _022187A4 - 2 ; case 0
|
|
.short _022187CE - _022187A4 - 2 ; case 1
|
|
.short _022187DA - _022187A4 - 2 ; case 2
|
|
.short _022187E6 - _022187A4 - 2 ; case 3
|
|
.short _022187F2 - _022187A4 - 2 ; case 4
|
|
.short _022187FE - _022187A4 - 2 ; case 5
|
|
.short _0221880A - _022187A4 - 2 ; case 6
|
|
.short _02218816 - _022187A4 - 2 ; case 7
|
|
.short _02218822 - _022187A4 - 2 ; case 8
|
|
.short _0221882E - _022187A4 - 2 ; case 9
|
|
.short _0221883A - _022187A4 - 2 ; case 10
|
|
.short _02218846 - _022187A4 - 2 ; case 11
|
|
.short _02218852 - _022187A4 - 2 ; case 12
|
|
.short _0221885E - _022187A4 - 2 ; case 13
|
|
.short _0221886A - _022187A4 - 2 ; case 14
|
|
_022187C2:
|
|
add r0, r4, #0
|
|
bl MOD09_02218888
|
|
ldr r1, _02218884 ; =0x0000114A
|
|
strb r0, [r4, r1]
|
|
b _02218872
|
|
_022187CE:
|
|
add r0, r4, #0
|
|
bl MOD09_0221895C
|
|
ldr r1, _02218884 ; =0x0000114A
|
|
strb r0, [r4, r1]
|
|
b _02218872
|
|
_022187DA:
|
|
add r0, r4, #0
|
|
bl MOD09_02218A34
|
|
ldr r1, _02218884 ; =0x0000114A
|
|
strb r0, [r4, r1]
|
|
b _02218872
|
|
_022187E6:
|
|
add r0, r4, #0
|
|
bl MOD09_02218BBC
|
|
ldr r1, _02218884 ; =0x0000114A
|
|
strb r0, [r4, r1]
|
|
b _02218872
|
|
_022187F2:
|
|
add r0, r4, #0
|
|
bl MOD09_02218E44
|
|
ldr r1, _02218884 ; =0x0000114A
|
|
strb r0, [r4, r1]
|
|
b _02218872
|
|
_022187FE:
|
|
add r0, r4, #0
|
|
bl MOD09_02218E50
|
|
ldr r1, _02218884 ; =0x0000114A
|
|
strb r0, [r4, r1]
|
|
b _02218872
|
|
_0221880A:
|
|
add r0, r4, #0
|
|
bl MOD09_02218E5C
|
|
ldr r1, _02218884 ; =0x0000114A
|
|
strb r0, [r4, r1]
|
|
b _02218872
|
|
_02218816:
|
|
add r0, r4, #0
|
|
bl MOD09_02218B44
|
|
ldr r1, _02218884 ; =0x0000114A
|
|
strb r0, [r4, r1]
|
|
b _02218872
|
|
_02218822:
|
|
add r0, r4, #0
|
|
bl MOD09_02218E68
|
|
ldr r1, _02218884 ; =0x0000114A
|
|
strb r0, [r4, r1]
|
|
b _02218872
|
|
_0221882E:
|
|
add r0, r4, #0
|
|
bl MOD09_02218E78
|
|
ldr r1, _02218884 ; =0x0000114A
|
|
strb r0, [r4, r1]
|
|
b _02218872
|
|
_0221883A:
|
|
add r0, r4, #0
|
|
bl MOD09_02218E90
|
|
ldr r1, _02218884 ; =0x0000114A
|
|
strb r0, [r4, r1]
|
|
b _02218872
|
|
_02218846:
|
|
add r0, r4, #0
|
|
bl MOD09_02218EB8
|
|
ldr r1, _02218884 ; =0x0000114A
|
|
strb r0, [r4, r1]
|
|
b _02218872
|
|
_02218852:
|
|
add r0, r4, #0
|
|
bl MOD09_02218F90
|
|
ldr r1, _02218884 ; =0x0000114A
|
|
strb r0, [r4, r1]
|
|
b _02218872
|
|
_0221885E:
|
|
add r0, r4, #0
|
|
bl MOD09_02218ED0
|
|
ldr r1, _02218884 ; =0x0000114A
|
|
strb r0, [r4, r1]
|
|
b _02218872
|
|
_0221886A:
|
|
bl MOD09_02218EF8
|
|
cmp r0, #1
|
|
beq _02218882
|
|
_02218872:
|
|
add r0, r4, #0
|
|
bl MOD09_0221AA14
|
|
mov r0, #0xc3
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200BC1C
|
|
_02218882:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02218884: .word 0x0000114A
|
|
|
|
thumb_func_start MOD09_02218888
|
|
MOD09_02218888: ; 0x02218888
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
ldr r0, _0221894C ; =0x04001050
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0xc]
|
|
bl MOD09_0221AC04
|
|
str r0, [r4, #0x34]
|
|
add r0, r4, #0
|
|
bl MOD09_022190CC
|
|
add r0, r4, #0
|
|
bl MOD09_022191C0
|
|
add r0, r4, #0
|
|
bl MOD09_022192A4
|
|
ldr r1, [r4]
|
|
mov r0, #2
|
|
ldr r1, [r1, #0xc]
|
|
bl FUN_02002C50
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl MOD11_02230218
|
|
bl FUN_0206F1B4
|
|
ldr r1, _02218950 ; =0x0000114D
|
|
strb r0, [r4, r1]
|
|
add r0, r4, #0
|
|
bl MOD09_02219CB4
|
|
ldr r1, _02218954 ; =0x0000114C
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
bl MOD09_0221AAF0
|
|
add r0, r4, #0
|
|
bl MOD09_02219474
|
|
ldr r1, _02218954 ; =0x0000114C
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
bl MOD09_0221953C
|
|
add r0, r4, #0
|
|
bl MOD09_02219DC8
|
|
ldr r1, _02218954 ; =0x0000114C
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
bl MOD09_0221A044
|
|
ldr r0, [r4]
|
|
add r0, #0x25
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0221890C
|
|
ldr r0, [r4, #0x34]
|
|
mov r1, #1
|
|
bl MOD09_0221AC2C
|
|
_0221890C:
|
|
ldr r1, _02218954 ; =0x0000114C
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
bl MOD09_0221A1DC
|
|
ldr r1, _02218954 ; =0x0000114C
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
bl MOD09_0221A2BC
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
mov r1, #0xa
|
|
str r0, [sp, #8]
|
|
add r3, r1, #0
|
|
ldr r0, [r4, #8]
|
|
ldr r2, _02218958 ; =0x0000FFFF
|
|
sub r3, #0x12
|
|
bl FUN_02003210
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x14]
|
|
cmp r0, #1
|
|
bne _02218946
|
|
add sp, #0xc
|
|
mov r0, #0xc
|
|
pop {r3, r4, pc}
|
|
_02218946:
|
|
mov r0, #1
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_0221894C: .word 0x04001050
|
|
_02218950: .word 0x0000114D
|
|
_02218954: .word 0x0000114C
|
|
_02218958: .word 0x0000FFFF
|
|
|
|
thumb_func_start MOD09_0221895C
|
|
MOD09_0221895C: ; 0x0221895C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
bl FUN_020038E4
|
|
cmp r0, #0
|
|
beq _0221896E
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_0221896E:
|
|
ldr r1, _02218A28 ; =0x0221BBE8
|
|
add r0, r4, #0
|
|
bl MOD09_02219424
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _02218994
|
|
ldr r0, [r4, #0x34]
|
|
bl MOD09_0221AD30
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _0221899A
|
|
mov r5, #5
|
|
b _0221899A
|
|
_02218994:
|
|
add r0, r4, #0
|
|
bl MOD09_0221A224
|
|
_0221899A:
|
|
cmp r5, #5
|
|
bhi _02218A24
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022189AA: ; jump table
|
|
.short _022189B6 - _022189AA - 2 ; case 0
|
|
.short _022189B6 - _022189AA - 2 ; case 1
|
|
.short _022189B6 - _022189AA - 2 ; case 2
|
|
.short _022189B6 - _022189AA - 2 ; case 3
|
|
.short _022189D6 - _022189AA - 2 ; case 4
|
|
.short _02218A06 - _022189AA - 2 ; case 5
|
|
_022189B6:
|
|
ldr r0, _02218A2C ; =0x000005DD
|
|
bl PlaySE
|
|
lsl r0, r5, #0x18
|
|
lsr r1, r0, #0x18
|
|
ldr r0, _02218A30 ; =0x0000114D
|
|
mov r2, #5
|
|
strb r1, [r4, r0]
|
|
sub r0, r0, #2
|
|
strb r2, [r4, r0]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl MOD09_0221A9D8
|
|
mov r0, #0xb
|
|
pop {r3, r4, r5, pc}
|
|
_022189D6:
|
|
ldr r0, [r4]
|
|
ldrh r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
beq _02218A24
|
|
ldr r0, _02218A2C ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r0, [r4]
|
|
ldrb r1, [r0, #0x1f]
|
|
ldr r0, _02218A30 ; =0x0000114D
|
|
strb r1, [r4, r0]
|
|
mov r1, #6
|
|
sub r0, r0, #2
|
|
strb r1, [r4, r0]
|
|
add r0, r4, #0
|
|
bl MOD09_02219C68
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
mov r2, #0
|
|
bl MOD09_0221A9D8
|
|
mov r0, #0xb
|
|
pop {r3, r4, r5, pc}
|
|
_02218A06:
|
|
ldr r0, _02218A2C ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r0, [r4]
|
|
mov r2, #0
|
|
strh r2, [r0, #0x1c]
|
|
ldr r0, [r4]
|
|
mov r1, #4
|
|
strb r1, [r0, #0x1e]
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
bl MOD09_0221A9D8
|
|
mov r0, #0xd
|
|
pop {r3, r4, r5, pc}
|
|
_02218A24:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02218A28: .word MOD9_0221BBE8
|
|
_02218A2C: .word 0x000005DD
|
|
_02218A30: .word 0x0000114D
|
|
|
|
thumb_func_start MOD09_02218A34
|
|
MOD09_02218A34: ; 0x02218A34
|
|
push {r3, r4, r5, lr}
|
|
ldr r1, _02218B34 ; =0x0221BC04
|
|
add r4, r0, #0
|
|
bl MOD09_02219424
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _02218A5C
|
|
ldr r0, [r4, #0x34]
|
|
bl MOD09_0221AD30
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _02218A62
|
|
mov r5, #8
|
|
b _02218A62
|
|
_02218A5C:
|
|
add r0, r4, #0
|
|
bl MOD09_0221A224
|
|
_02218A62:
|
|
cmp r5, #8
|
|
bhi _02218B30
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02218A72: ; jump table
|
|
.short _02218A84 - _02218A72 - 2 ; case 0
|
|
.short _02218A84 - _02218A72 - 2 ; case 1
|
|
.short _02218A84 - _02218A72 - 2 ; case 2
|
|
.short _02218A84 - _02218A72 - 2 ; case 3
|
|
.short _02218A84 - _02218A72 - 2 ; case 4
|
|
.short _02218A84 - _02218A72 - 2 ; case 5
|
|
.short _02218ABA - _02218A72 - 2 ; case 6
|
|
.short _02218AE8 - _02218A72 - 2 ; case 7
|
|
.short _02218B16 - _02218A72 - 2 ; case 8
|
|
_02218A84:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD09_02219D94
|
|
cmp r0, #0
|
|
beq _02218B30
|
|
ldr r0, _02218B38 ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r0, _02218B3C ; =0x0000114D
|
|
ldr r2, [r4]
|
|
ldrb r1, [r4, r0]
|
|
sub r0, r0, #2
|
|
add r1, r2, r1
|
|
add r1, #0x27
|
|
strb r5, [r1]
|
|
mov r1, #6
|
|
strb r1, [r4, r0]
|
|
add r1, r5, #6
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0
|
|
bl MOD09_0221A9D8
|
|
mov r0, #0xb
|
|
pop {r3, r4, r5, pc}
|
|
_02218ABA:
|
|
ldr r0, _02218B3C ; =0x0000114D
|
|
ldrb r1, [r4, r0]
|
|
add r0, r0, #7
|
|
add r1, r4, r1
|
|
ldrb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _02218B30
|
|
ldr r0, _02218B38 ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r0, _02218B40 ; =0x0000114B
|
|
mov r1, #7
|
|
strb r1, [r4, r0]
|
|
sub r1, #8
|
|
add r0, r0, #3
|
|
strb r1, [r4, r0]
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
mov r2, #0
|
|
bl MOD09_0221A9D8
|
|
mov r0, #0xb
|
|
pop {r3, r4, r5, pc}
|
|
_02218AE8:
|
|
ldr r0, _02218B3C ; =0x0000114D
|
|
ldrb r1, [r4, r0]
|
|
add r0, r0, #7
|
|
add r1, r4, r1
|
|
ldrb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _02218B30
|
|
ldr r0, _02218B38 ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r0, _02218B40 ; =0x0000114B
|
|
mov r1, #7
|
|
strb r1, [r4, r0]
|
|
mov r1, #1
|
|
add r0, r0, #3
|
|
strb r1, [r4, r0]
|
|
add r0, r4, #0
|
|
mov r1, #0xd
|
|
mov r2, #0
|
|
bl MOD09_0221A9D8
|
|
mov r0, #0xb
|
|
pop {r3, r4, r5, pc}
|
|
_02218B16:
|
|
ldr r0, _02218B38 ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r0, _02218B40 ; =0x0000114B
|
|
mov r1, #4
|
|
strb r1, [r4, r0]
|
|
add r0, r4, #0
|
|
mov r1, #0xe
|
|
mov r2, #0
|
|
bl MOD09_0221A9D8
|
|
mov r0, #0xb
|
|
pop {r3, r4, r5, pc}
|
|
_02218B30:
|
|
mov r0, #2
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02218B34: .word MOD9_0221BC04
|
|
_02218B38: .word 0x000005DD
|
|
_02218B3C: .word 0x0000114D
|
|
_02218B40: .word 0x0000114B
|
|
|
|
thumb_func_start MOD09_02218B44
|
|
MOD09_02218B44: ; 0x02218B44
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02218BB4 ; =0x0000114D
|
|
ldr r1, [r4]
|
|
ldrb r2, [r4, r0]
|
|
mov r3, #0
|
|
add r5, r1, r2
|
|
mov r1, #0x2c
|
|
ldrsb r2, [r5, r1]
|
|
add r5, #0x27
|
|
add r1, r0, #1
|
|
strb r3, [r5]
|
|
ldrsb r1, [r4, r1]
|
|
add r1, r2, r1
|
|
lsl r1, r1, #0x18
|
|
asr r2, r1, #0x18
|
|
ldrb r1, [r4, r0]
|
|
add r0, r0, #7
|
|
add r5, r4, r1
|
|
ldrb r5, [r5, r0]
|
|
cmp r2, r5
|
|
ble _02218B7A
|
|
ldr r0, [r4]
|
|
add r0, r0, r1
|
|
add r0, #0x2c
|
|
strb r3, [r0]
|
|
b _02218B8E
|
|
_02218B7A:
|
|
cmp r2, #0
|
|
ldr r0, [r4]
|
|
bge _02218B88
|
|
add r0, r0, r1
|
|
add r0, #0x2c
|
|
strb r5, [r0]
|
|
b _02218B8E
|
|
_02218B88:
|
|
add r0, r0, r1
|
|
add r0, #0x2c
|
|
strb r2, [r0]
|
|
_02218B8E:
|
|
add r0, r4, #0
|
|
bl MOD09_0221983C
|
|
add r0, r4, #0
|
|
bl MOD09_02219884
|
|
ldr r1, _02218BB8 ; =0x0000114C
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
bl MOD09_0221A044
|
|
ldr r1, _02218BB8 ; =0x0000114C
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
bl MOD09_0221AAF0
|
|
mov r0, #2
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02218BB4: .word 0x0000114D
|
|
_02218BB8: .word 0x0000114C
|
|
|
|
thumb_func_start MOD09_02218BBC
|
|
MOD09_02218BBC: ; 0x02218BBC
|
|
push {r3, r4, r5, lr}
|
|
ldr r1, _02218C48 ; =0x0221BB78
|
|
add r5, r0, #0
|
|
bl MOD09_02219424
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _02218BE4
|
|
ldr r0, [r5, #0x34]
|
|
bl MOD09_0221AD30
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _02218BEA
|
|
mov r4, #1
|
|
b _02218BEA
|
|
_02218BE4:
|
|
add r0, r5, #0
|
|
bl MOD09_0221A224
|
|
_02218BEA:
|
|
cmp r4, #0
|
|
beq _02218BF4
|
|
cmp r4, #1
|
|
beq _02218C2A
|
|
b _02218C44
|
|
_02218BF4:
|
|
ldr r0, _02218C4C ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r1, _02218C50 ; =0x0000114D
|
|
ldr r2, [r5]
|
|
ldrb r1, [r5, r1]
|
|
add r0, r5, #0
|
|
add r1, r2, r1
|
|
add r1, #0x27
|
|
ldrb r1, [r1]
|
|
bl MOD09_02219D94
|
|
ldr r1, [r5]
|
|
mov r2, #0
|
|
strh r0, [r1, #0x1c]
|
|
ldr r0, _02218C50 ; =0x0000114D
|
|
ldrb r1, [r5, r0]
|
|
ldr r0, [r5]
|
|
strb r1, [r0, #0x1e]
|
|
add r0, r5, #0
|
|
mov r1, #0xf
|
|
bl MOD09_0221A9D8
|
|
add r0, r5, #0
|
|
bl MOD09_02218C58
|
|
pop {r3, r4, r5, pc}
|
|
_02218C2A:
|
|
ldr r0, _02218C4C ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r0, _02218C54 ; =0x0000114B
|
|
mov r1, #5
|
|
strb r1, [r5, r0]
|
|
add r0, r5, #0
|
|
mov r1, #0x10
|
|
mov r2, #0
|
|
bl MOD09_0221A9D8
|
|
mov r0, #0xb
|
|
pop {r3, r4, r5, pc}
|
|
_02218C44:
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02218C48: .word MOD9_0221BB78
|
|
_02218C4C: .word 0x000005DD
|
|
_02218C50: .word 0x0000114D
|
|
_02218C54: .word 0x0000114B
|
|
|
|
thumb_func_start MOD09_02218C58
|
|
MOD09_02218C58: ; 0x02218C58
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r1, _02218E38 ; =0x0000114D
|
|
add r5, r0, #0
|
|
ldrb r1, [r5, r1]
|
|
ldr r4, [r5]
|
|
cmp r1, #3
|
|
beq _02218C68
|
|
b _02218D82
|
|
_02218C68:
|
|
bl MOD09_02219430
|
|
add r7, r0, #0
|
|
ldrh r0, [r4, #0x1c]
|
|
ldr r2, [r4, #0xc]
|
|
mov r1, #7
|
|
bl GetItemAttr
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #0x18]
|
|
cmp r0, #0
|
|
beq _02218CDA
|
|
ldrh r0, [r4, #0x1c]
|
|
cmp r0, #0x37
|
|
beq _02218CDA
|
|
cmp r6, #3
|
|
beq _02218CDA
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, #0x10]
|
|
add r2, r7, #0
|
|
bl MOD11_02230014
|
|
add r6, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0x2e
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, [r5, #0x14]
|
|
mov r1, #0
|
|
bl BufferBoxMonNickname
|
|
ldr r0, [r5, #0x14]
|
|
ldr r2, _02218E3C ; =0x00000175
|
|
mov r1, #1
|
|
bl BufferMoveName
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, [r5, #0x18]
|
|
add r2, r4, #0
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
add r0, r5, #0
|
|
bl MOD09_02219BE0
|
|
ldr r0, _02218E40 ; =0x0000114B
|
|
mov r1, #8
|
|
strb r1, [r5, r0]
|
|
mov r0, #9
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02218CDA:
|
|
ldrh r0, [r4, #0x1c]
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, #0x10]
|
|
bl MOD11_02230370
|
|
cmp r0, #1
|
|
bne _02218D00
|
|
ldr r2, _02218E38 ; =0x0000114D
|
|
ldrh r1, [r4, #0x1c]
|
|
ldrb r2, [r5, r2]
|
|
ldr r0, [r4]
|
|
ldr r3, [r4, #0xc]
|
|
bl MOD09_0221944C
|
|
mov r0, #0xd
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02218D00:
|
|
cmp r6, #3
|
|
bne _02218D68
|
|
ldr r0, [r4]
|
|
bl MOD11_0222FF74
|
|
mov r1, #1
|
|
tst r0, r1
|
|
bne _02218D22
|
|
ldr r2, _02218E38 ; =0x0000114D
|
|
ldrh r1, [r4, #0x1c]
|
|
ldrb r2, [r5, r2]
|
|
ldr r0, [r4]
|
|
ldr r3, [r4, #0xc]
|
|
bl MOD09_0221944C
|
|
mov r0, #0xd
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02218D22:
|
|
ldr r3, [r4, #0xc]
|
|
add r0, r1, #0
|
|
mov r1, #0x1a
|
|
mov r2, #0xc7
|
|
bl NewMsgDataFromNarc
|
|
mov r1, #0x24
|
|
add r7, r0, #0
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0
|
|
ldr r0, [r5, #0x14]
|
|
ldr r2, [r4, #4]
|
|
mov r1, #0
|
|
bl BufferPlayersName
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, [r5, #0x18]
|
|
add r2, r6, #0
|
|
bl StringExpandPlaceholders
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
add r0, r7, #0
|
|
bl DestroyMsgData
|
|
add r0, r5, #0
|
|
bl MOD09_02219BE0
|
|
ldr r0, _02218E40 ; =0x0000114B
|
|
mov r1, #8
|
|
strb r1, [r5, r0]
|
|
mov r0, #9
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02218D68:
|
|
ldr r0, [r5, #0x10]
|
|
ldr r2, [r5, #0x18]
|
|
mov r1, #0x22
|
|
bl ReadMsgDataIntoString
|
|
add r0, r5, #0
|
|
bl MOD09_02219BE0
|
|
ldr r0, _02218E40 ; =0x0000114B
|
|
mov r1, #8
|
|
strb r1, [r5, r0]
|
|
mov r0, #9
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02218D82:
|
|
cmp r1, #2
|
|
bne _02218E32
|
|
add r0, r4, #0
|
|
add r0, #0x22
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _02218DAA
|
|
ldr r0, [r5, #0x10]
|
|
ldr r2, [r5, #0x18]
|
|
mov r1, #0x2c
|
|
bl ReadMsgDataIntoString
|
|
add r0, r5, #0
|
|
bl MOD09_02219BE0
|
|
ldr r0, _02218E40 ; =0x0000114B
|
|
mov r1, #8
|
|
strb r1, [r5, r0]
|
|
mov r0, #9
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02218DAA:
|
|
add r0, r4, #0
|
|
add r0, #0x23
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _02218DCE
|
|
ldr r0, [r5, #0x10]
|
|
ldr r2, [r5, #0x18]
|
|
mov r1, #0x2f
|
|
bl ReadMsgDataIntoString
|
|
add r0, r5, #0
|
|
bl MOD09_02219BE0
|
|
ldr r0, _02218E40 ; =0x0000114B
|
|
mov r1, #8
|
|
strb r1, [r5, r0]
|
|
mov r0, #9
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02218DCE:
|
|
add r0, r4, #0
|
|
add r0, #0x24
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _02218DF2
|
|
ldr r0, [r5, #0x10]
|
|
ldr r2, [r5, #0x18]
|
|
mov r1, #0x30
|
|
bl ReadMsgDataIntoString
|
|
add r0, r5, #0
|
|
bl MOD09_02219BE0
|
|
ldr r0, _02218E40 ; =0x0000114B
|
|
mov r1, #8
|
|
strb r1, [r5, r0]
|
|
mov r0, #9
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02218DF2:
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, #0x10]
|
|
bl MOD11_0222FF88
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
bl MOD11_02230290
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl GetPartyCount
|
|
cmp r0, #6
|
|
bne _02218E32
|
|
add r0, r4, #0
|
|
bl PCStorage_FindFirstBoxWithEmptySlot
|
|
cmp r0, #0x12
|
|
bne _02218E32
|
|
ldr r0, [r5, #0x10]
|
|
ldr r2, [r5, #0x18]
|
|
mov r1, #0x2d
|
|
bl ReadMsgDataIntoString
|
|
add r0, r5, #0
|
|
bl MOD09_02219BE0
|
|
ldr r0, _02218E40 ; =0x0000114B
|
|
mov r1, #8
|
|
strb r1, [r5, r0]
|
|
mov r0, #9
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02218E32:
|
|
mov r0, #0xd
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02218E38: .word 0x0000114D
|
|
_02218E3C: .word 0x00000175
|
|
_02218E40: .word 0x0000114B
|
|
|
|
thumb_func_start MOD09_02218E44
|
|
MOD09_02218E44: ; 0x02218E44
|
|
push {r3, lr}
|
|
mov r1, #0
|
|
bl MOD09_022193BC
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start MOD09_02218E50
|
|
MOD09_02218E50: ; 0x02218E50
|
|
push {r3, lr}
|
|
mov r1, #1
|
|
bl MOD09_022193BC
|
|
mov r0, #2
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start MOD09_02218E5C
|
|
MOD09_02218E5C: ; 0x02218E5C
|
|
push {r3, lr}
|
|
mov r1, #2
|
|
bl MOD09_022193BC
|
|
mov r0, #3
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start MOD09_02218E68
|
|
MOD09_02218E68: ; 0x02218E68
|
|
push {r3, lr}
|
|
add r0, #0x1c
|
|
mov r1, #0
|
|
bl FUN_0200D0E0
|
|
mov r0, #3
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02218E78
|
|
MOD09_02218E78: ; 0x02218E78
|
|
push {r3, lr}
|
|
add r0, #0x32
|
|
ldrb r0, [r0]
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02218E8A
|
|
mov r0, #0xa
|
|
pop {r3, pc}
|
|
_02218E8A:
|
|
mov r0, #9
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02218E90
|
|
MOD09_02218E90: ; 0x02218E90
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02218EB0 ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
bne _02218EA6
|
|
bl FUN_02020AA4
|
|
cmp r0, #1
|
|
bne _02218EAC
|
|
_02218EA6:
|
|
ldr r0, _02218EB4 ; =0x0000114B
|
|
ldrb r0, [r4, r0]
|
|
pop {r4, pc}
|
|
_02218EAC:
|
|
mov r0, #0xa
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02218EB0: .word gMain
|
|
_02218EB4: .word 0x0000114B
|
|
|
|
thumb_func_start MOD09_02218EB8
|
|
MOD09_02218EB8: ; 0x02218EB8
|
|
ldr r1, _02218ECC ; =0x0000113E
|
|
ldrb r2, [r0, r1]
|
|
cmp r2, #2
|
|
bne _02218EC6
|
|
add r1, #0xd
|
|
ldrb r0, [r0, r1]
|
|
bx lr
|
|
_02218EC6:
|
|
mov r0, #0xb
|
|
bx lr
|
|
nop
|
|
_02218ECC: .word 0x0000113E
|
|
|
|
thumb_func_start MOD09_02218ED0
|
|
MOD09_02218ED0: ; 0x02218ED0
|
|
push {lr}
|
|
sub sp, #0xc
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r1, #0x10
|
|
str r1, [sp, #4]
|
|
str r2, [sp, #8]
|
|
mov r1, #0xa
|
|
add r3, r1, #0
|
|
ldr r0, [r0, #8]
|
|
ldr r2, _02218EF4 ; =0x0000FFFF
|
|
sub r3, #0x12
|
|
bl FUN_02003210
|
|
mov r0, #0xe
|
|
add sp, #0xc
|
|
pop {pc}
|
|
nop
|
|
_02218EF4: .word 0x0000FFFF
|
|
|
|
thumb_func_start MOD09_02218EF8
|
|
MOD09_02218EF8: ; 0x02218EF8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r7, r0, #0
|
|
ldr r0, [r5, #8]
|
|
bl FUN_020038E4
|
|
cmp r0, #0
|
|
beq _02218F0C
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02218F0C:
|
|
add r0, r5, #0
|
|
bl MOD09_02219FE4
|
|
add r0, r5, #0
|
|
bl MOD09_02219520
|
|
add r0, r5, #0
|
|
bl MOD09_022192E4
|
|
ldr r0, [r5, #4]
|
|
bl MOD09_02219198
|
|
ldr r0, [r5, #0x34]
|
|
bl MOD09_0221AC28
|
|
ldr r1, [r5]
|
|
add r1, #0x25
|
|
strb r0, [r1]
|
|
ldr r0, [r5, #0x34]
|
|
bl MOD09_0221AC1C
|
|
mov r0, #2
|
|
bl FUN_02002CF8
|
|
ldr r1, [r5]
|
|
ldrh r0, [r1, #0x1c]
|
|
cmp r0, #0
|
|
beq _02218F78
|
|
ldr r0, [r1]
|
|
bl MOD11_02230218
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
_02218F4E:
|
|
ldr r3, [r5]
|
|
add r0, r6, #0
|
|
add r2, r3, r4
|
|
add r3, r3, r4
|
|
add r2, #0x27
|
|
add r3, #0x2c
|
|
ldrb r2, [r2]
|
|
ldrb r3, [r3]
|
|
add r1, r4, #0
|
|
bl FUN_0206F1B8
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #5
|
|
blo _02218F4E
|
|
ldr r1, _02218F8C ; =0x0000114D
|
|
add r0, r6, #0
|
|
ldrb r1, [r5, r1]
|
|
bl FUN_0206F1EC
|
|
_02218F78:
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
add r0, #0x26
|
|
strb r1, [r0]
|
|
add r0, r7, #0
|
|
bl FUN_0200621C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02218F8C: .word 0x0000114D
|
|
|
|
thumb_func_start MOD09_02218F90
|
|
MOD09_02218F90: ; 0x02218F90
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
bl FUN_020038E4
|
|
cmp r0, #0
|
|
beq _02218FA2
|
|
mov r0, #0xc
|
|
pop {r4, pc}
|
|
_02218FA2:
|
|
ldr r0, _022190BC ; =0x00001159
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #4
|
|
bls _02218FAC
|
|
b _022190B6
|
|
_02218FAC:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02218FB8: ; jump table
|
|
.short _02218FC2 - _02218FB8 - 2 ; case 0
|
|
.short _02219004 - _02218FB8 - 2 ; case 1
|
|
.short _02219014 - _02218FB8 - 2 ; case 2
|
|
.short _0221905E - _02218FB8 - 2 ; case 3
|
|
.short _0221906E - _02218FB8 - 2 ; case 4
|
|
_02218FC2:
|
|
ldr r0, [r4, #0x38]
|
|
bl MOD11_0225D824
|
|
cmp r0, #1
|
|
bne _02218FFA
|
|
ldr r0, _022190C0 ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r0, _022190C4 ; =0x0000114D
|
|
mov r1, #2
|
|
strb r1, [r4, r0]
|
|
mov r2, #0xc
|
|
sub r0, r0, #2
|
|
strb r2, [r4, r0]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl MOD09_0221A9D8
|
|
ldr r0, _022190C8 ; =0x0000115A
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
sub r1, r0, #1
|
|
ldrb r1, [r4, r1]
|
|
sub r0, r0, #1
|
|
add r1, r1, #1
|
|
strb r1, [r4, r0]
|
|
mov r0, #0xb
|
|
pop {r4, pc}
|
|
_02218FFA:
|
|
ldr r0, _022190C8 ; =0x0000115A
|
|
ldrb r1, [r4, r0]
|
|
add r1, r1, #1
|
|
strb r1, [r4, r0]
|
|
b _022190B6
|
|
_02219004:
|
|
add r0, r4, #0
|
|
bl MOD09_02218E50
|
|
ldr r0, _022190BC ; =0x00001159
|
|
ldrb r1, [r4, r0]
|
|
add r1, r1, #1
|
|
strb r1, [r4, r0]
|
|
b _022190B6
|
|
_02219014:
|
|
ldr r0, [r4, #0x38]
|
|
bl MOD11_0225D824
|
|
cmp r0, #1
|
|
bne _02219054
|
|
ldr r0, _022190C0 ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r0, _022190C4 ; =0x0000114D
|
|
ldr r3, [r4]
|
|
ldrb r1, [r4, r0]
|
|
mov r2, #0
|
|
sub r0, r0, #2
|
|
add r1, r3, r1
|
|
add r1, #0x27
|
|
strb r2, [r1]
|
|
mov r1, #0xc
|
|
strb r1, [r4, r0]
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl MOD09_0221A9D8
|
|
ldr r0, _022190C8 ; =0x0000115A
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
sub r1, r0, #1
|
|
ldrb r1, [r4, r1]
|
|
sub r0, r0, #1
|
|
add r1, r1, #1
|
|
strb r1, [r4, r0]
|
|
mov r0, #0xb
|
|
pop {r4, pc}
|
|
_02219054:
|
|
ldr r0, _022190C8 ; =0x0000115A
|
|
ldrb r1, [r4, r0]
|
|
add r1, r1, #1
|
|
strb r1, [r4, r0]
|
|
b _022190B6
|
|
_0221905E:
|
|
add r0, r4, #0
|
|
bl MOD09_02218E5C
|
|
ldr r0, _022190BC ; =0x00001159
|
|
ldrb r1, [r4, r0]
|
|
add r1, r1, #1
|
|
strb r1, [r4, r0]
|
|
b _022190B6
|
|
_0221906E:
|
|
ldr r0, [r4, #0x38]
|
|
bl MOD11_0225D824
|
|
cmp r0, #1
|
|
bne _022190AE
|
|
ldr r0, _022190C0 ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r1, _022190C4 ; =0x0000114D
|
|
ldr r2, [r4]
|
|
ldrb r1, [r4, r1]
|
|
add r0, r4, #0
|
|
add r1, r2, r1
|
|
add r1, #0x27
|
|
ldrb r1, [r1]
|
|
bl MOD09_02219D94
|
|
ldr r1, [r4]
|
|
mov r2, #0
|
|
strh r0, [r1, #0x1c]
|
|
ldr r0, _022190C4 ; =0x0000114D
|
|
ldrb r1, [r4, r0]
|
|
ldr r0, [r4]
|
|
strb r1, [r0, #0x1e]
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
bl MOD09_0221A9D8
|
|
add r0, r4, #0
|
|
bl MOD09_02218C58
|
|
pop {r4, pc}
|
|
_022190AE:
|
|
ldr r0, _022190C8 ; =0x0000115A
|
|
ldrb r1, [r4, r0]
|
|
add r1, r1, #1
|
|
strb r1, [r4, r0]
|
|
_022190B6:
|
|
mov r0, #0xc
|
|
pop {r4, pc}
|
|
nop
|
|
_022190BC: .word 0x00001159
|
|
_022190C0: .word 0x000005DD
|
|
_022190C4: .word 0x0000114D
|
|
_022190C8: .word 0x0000115A
|
|
|
|
thumb_func_start MOD09_022190CC
|
|
MOD09_022190CC: ; 0x022190CC
|
|
push {r4, r5, lr}
|
|
sub sp, #0x64
|
|
ldr r5, _02219188 ; =0x0221BB84
|
|
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
|
|
mov r1, #1
|
|
bl SetScreenModeAndDisable
|
|
ldr r5, _0221918C ; =0x0221BBCC
|
|
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, #6
|
|
str r0, [r3]
|
|
ldr r0, [r4, #4]
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
ldr r5, _02219190 ; =0x0221BBB0
|
|
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, #5
|
|
str r0, [r3]
|
|
ldr r0, [r4, #4]
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
ldr r0, [r4, #4]
|
|
mov r1, #5
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r5, _02219194 ; =0x0221BB94
|
|
add r3, sp, #0
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #4
|
|
str r0, [r3]
|
|
ldr r0, [r4, #4]
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
ldr r0, [r4, #4]
|
|
mov r1, #4
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r3, [r4]
|
|
mov r0, #5
|
|
ldr r3, [r3, #0xc]
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl BG_ClearCharDataRange
|
|
ldr r3, [r4]
|
|
mov r0, #4
|
|
ldr r3, [r3, #0xc]
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl BG_ClearCharDataRange
|
|
ldr r0, [r4, #4]
|
|
mov r1, #5
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r4, #4]
|
|
mov r1, #4
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x64
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_02219188: .word MOD9_0221BB84
|
|
_0221918C: .word MOD9_0221BBCC
|
|
_02219190: .word MOD9_0221BBB0
|
|
_02219194: .word MOD9_0221BB94
|
|
|
|
thumb_func_start MOD09_02219198
|
|
MOD09_02219198: ; 0x02219198
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x17
|
|
mov r1, #0
|
|
bl GX_EngineBToggleLayers
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FreeBgTilemapBuffer
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
bl FreeBgTilemapBuffer
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl FreeBgTilemapBuffer
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_022191C0
|
|
MOD09_022191C0: ; 0x022191C0
|
|
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, #2
|
|
ldr r0, [r0, #0xc]
|
|
mov r3, #6
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #4]
|
|
mov r0, #0x4d
|
|
bl GfGfxLoader_LoadCharData
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r5]
|
|
mov r3, #6
|
|
ldr r0, [r0, #0xc]
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #4]
|
|
mov r0, #0x4d
|
|
bl GfGfxLoader_LoadScrnData
|
|
ldr r2, [r5]
|
|
mov r0, #0x4d
|
|
ldr r2, [r2, #0xc]
|
|
mov r1, #1
|
|
bl AllocAndReadWholeNarcMemberByIdPair
|
|
add r1, sp, #0x10
|
|
add r4, r0, #0
|
|
bl NNS_G2dGetUnpackedScreenData
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r1, #0xc
|
|
bl MOD09_0221A2F4
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r3, [r5]
|
|
ldr r0, [r5, #8]
|
|
ldr r3, [r3, #0xc]
|
|
mov r1, #0x4d
|
|
mov r2, #3
|
|
bl PaletteData_LoadNarc
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
mov r0, #0xf0
|
|
str r0, [sp, #8]
|
|
ldr r3, [r5]
|
|
ldr r0, [r5, #8]
|
|
ldr r3, [r3, #0xc]
|
|
mov r1, #0xe
|
|
mov r2, #7
|
|
bl PaletteData_LoadNarc
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl MOD11_02230E44
|
|
add r4, r0, #0
|
|
bl FUN_0200CD60
|
|
add r1, r0, #0
|
|
ldr r0, _022192A0 ; =0x000003E2
|
|
mov r3, #4
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #0xc]
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #4]
|
|
mov r0, #0x26
|
|
bl GfGfxLoader_LoadCharData
|
|
add r0, r4, #0
|
|
bl FUN_0200CD64
|
|
add r2, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
mov r0, #0xe0
|
|
str r0, [sp, #8]
|
|
ldr r3, [r5]
|
|
ldr r0, [r5, #8]
|
|
ldr r3, [r3, #0xc]
|
|
mov r1, #0x26
|
|
bl PaletteData_LoadNarc
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_022192A0: .word 0x000003E2
|
|
|
|
thumb_func_start MOD09_022192A4
|
|
MOD09_022192A4: ; 0x022192A4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r3, [r4]
|
|
mov r0, #0
|
|
ldr r3, [r3, #0xc]
|
|
mov r1, #0x1a
|
|
mov r2, #2
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r4, #0x10]
|
|
ldr r3, [r4]
|
|
mov r0, #0xf
|
|
ldr r3, [r3, #0xc]
|
|
mov r1, #0xe
|
|
mov r2, #0
|
|
bl MessagePrinter_new
|
|
str r0, [r4, #0xc]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0xc]
|
|
bl ScrStrBufs_new
|
|
str r0, [r4, #0x14]
|
|
ldr r1, [r4]
|
|
mov r0, #2
|
|
ldr r1, [r1, #0xc]
|
|
lsl r0, r0, #8
|
|
bl String_ctor
|
|
str r0, [r4, #0x18]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_022192E4
|
|
MOD09_022192E4: ; 0x022192E4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
bl DestroyMsgData
|
|
ldr r0, [r4, #0xc]
|
|
bl MessagePrinter_delete
|
|
ldr r0, [r4, #0x14]
|
|
bl ScrStrBufs_delete
|
|
ldr r0, [r4, #0x18]
|
|
bl String_dtor
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02219304
|
|
MOD09_02219304: ; 0x02219304
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
beq _02219316
|
|
cmp r1, #1
|
|
beq _02219330
|
|
cmp r1, #2
|
|
beq _0221934C
|
|
pop {r4, pc}
|
|
_02219316:
|
|
mov r2, #0
|
|
ldr r0, [r4, #4]
|
|
mov r1, #6
|
|
add r3, r2, #0
|
|
bl ScheduleSetBgPosText
|
|
ldr r0, [r4, #4]
|
|
mov r1, #6
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl ScheduleSetBgPosText
|
|
pop {r4, pc}
|
|
_02219330:
|
|
mov r1, #6
|
|
add r3, r1, #0
|
|
ldr r0, [r4, #4]
|
|
mov r2, #0
|
|
add r3, #0xfa
|
|
bl ScheduleSetBgPosText
|
|
ldr r0, [r4, #4]
|
|
mov r1, #6
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl ScheduleSetBgPosText
|
|
pop {r4, pc}
|
|
_0221934C:
|
|
mov r2, #0
|
|
ldr r0, [r4, #4]
|
|
mov r1, #6
|
|
add r3, r2, #0
|
|
bl ScheduleSetBgPosText
|
|
mov r2, #3
|
|
add r3, r2, #0
|
|
ldr r0, [r4, #4]
|
|
mov r1, #6
|
|
add r3, #0xfd
|
|
bl ScheduleSetBgPosText
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start MOD09_02219368
|
|
MOD09_02219368: ; 0x02219368
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
cmp r1, #2
|
|
bne _022193B2
|
|
mov r0, #0x1c
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, _022193B8 ; =0x0000114D
|
|
mov r1, #6
|
|
ldrb r0, [r4, r0]
|
|
mov r2, #2
|
|
mov r3, #0x23
|
|
add r0, #8
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #4]
|
|
bl BgTilemapRectChangePalette
|
|
mov r0, #0x1c
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
ldr r0, _022193B8 ; =0x0000114D
|
|
mov r1, #6
|
|
ldrb r0, [r4, r0]
|
|
mov r2, #2
|
|
mov r3, #0x28
|
|
add r0, #8
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #4]
|
|
bl BgTilemapRectChangePalette
|
|
_022193B2:
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_022193B8: .word 0x0000114D
|
|
|
|
thumb_func_start MOD09_022193BC
|
|
MOD09_022193BC: ; 0x022193BC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD09_02219368
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02219304
|
|
ldr r0, [r5, #4]
|
|
mov r1, #4
|
|
mov r2, #0
|
|
bl BgFillTilemapBufferAndSchedule
|
|
ldr r0, [r5, #4]
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl BgFillTilemapBufferAndSchedule
|
|
add r0, r5, #0
|
|
bl MOD09_02219510
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02219498
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_0221953C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_0221AAF0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_0221A1DC
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_0221A2BC
|
|
ldr r1, _02219420 ; =0x0000114C
|
|
add r0, r5, #0
|
|
strb r4, [r5, r1]
|
|
ldrb r1, [r5, r1]
|
|
bl MOD09_0221A044
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02219420: .word 0x0000114C
|
|
|
|
thumb_func_start MOD09_02219424
|
|
MOD09_02219424: ; 0x02219424
|
|
ldr r3, _0221942C ; =FUN_02020988
|
|
add r0, r1, #0
|
|
bx r3
|
|
nop
|
|
_0221942C: .word FUN_02020988
|
|
|
|
thumb_func_start MOD09_02219430
|
|
MOD09_02219430: ; 0x02219430
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5]
|
|
ldr r0, [r4]
|
|
bl MOD11_0222FF78
|
|
add r1, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r3, [r4, #0x10]
|
|
ldr r0, [r0]
|
|
mov r2, #2
|
|
bl MOD11_0224C474
|
|
pop {r3, r4, r5, pc}
|
|
|
|
thumb_func_start MOD09_0221944C
|
|
MOD09_0221944C: ; 0x0221944C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r7, r3, #0
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
bl MOD11_02230214
|
|
add r1, r4, #0
|
|
mov r2, #1
|
|
add r3, r7, #0
|
|
bl Bag_TakeItem
|
|
add r0, r5, #0
|
|
bl MOD11_02230218
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl FUN_0206F1E4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start MOD09_02219474
|
|
MOD09_02219474: ; 0x02219474
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #4]
|
|
ldr r2, _02219490 ; =0x0221BC2C
|
|
add r1, #0x1c
|
|
bl AddWindow
|
|
ldr r1, _02219494 ; =0x0000114C
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
bl MOD09_02219498
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02219490: .word MOD9_0221BC2C
|
|
_02219494: .word 0x0000114C
|
|
|
|
thumb_func_start MOD09_02219498
|
|
MOD09_02219498: ; 0x02219498
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
cmp r1, #0
|
|
beq _022194AA
|
|
cmp r1, #1
|
|
beq _022194B4
|
|
cmp r1, #2
|
|
beq _022194BE
|
|
b _022194C6
|
|
_022194AA:
|
|
mov r1, #5
|
|
add r0, #0x30
|
|
ldr r6, _02219504 ; =0x0221BC54
|
|
strb r1, [r0]
|
|
b _022194C6
|
|
_022194B4:
|
|
mov r1, #0x1a
|
|
add r0, #0x30
|
|
ldr r6, _02219508 ; =0x0221BCAC
|
|
strb r1, [r0]
|
|
b _022194C6
|
|
_022194BE:
|
|
ldr r6, _0221950C ; =0x0221BC34
|
|
mov r1, #4
|
|
add r0, #0x30
|
|
strb r1, [r0]
|
|
_022194C6:
|
|
add r1, r5, #0
|
|
ldr r0, [r5]
|
|
add r1, #0x30
|
|
ldrb r1, [r1]
|
|
ldr r0, [r0, #0xc]
|
|
bl AllocWindows
|
|
str r0, [r5, #0x2c]
|
|
add r0, r5, #0
|
|
add r0, #0x30
|
|
ldrb r0, [r0]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
bls _02219502
|
|
_022194E2:
|
|
ldr r2, [r5, #0x2c]
|
|
lsl r1, r4, #4
|
|
add r1, r2, r1
|
|
lsl r2, r4, #3
|
|
ldr r0, [r5, #4]
|
|
add r2, r6, r2
|
|
bl AddWindow
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
add r0, r5, #0
|
|
add r0, #0x30
|
|
ldrb r0, [r0]
|
|
cmp r4, r0
|
|
blo _022194E2
|
|
_02219502:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02219504: .word MOD9_0221BC54
|
|
_02219508: .word MOD9_0221BCAC
|
|
_0221950C: .word MOD9_0221BC34
|
|
|
|
thumb_func_start MOD09_02219510
|
|
MOD09_02219510: ; 0x02219510
|
|
add r1, r0, #0
|
|
ldr r0, [r1, #0x2c]
|
|
add r1, #0x30
|
|
ldr r3, _0221951C ; =FUN_020191A4
|
|
ldrb r1, [r1]
|
|
bx r3
|
|
.align 2, 0
|
|
_0221951C: .word WindowArray_dtor
|
|
|
|
thumb_func_start MOD09_02219520
|
|
MOD09_02219520: ; 0x02219520
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r1, r4, #0
|
|
add r1, #0x30
|
|
ldrb r1, [r1]
|
|
ldr r0, [r4, #0x2c]
|
|
bl WindowArray_dtor
|
|
add r4, #0x1c
|
|
add r0, r4, #0
|
|
bl RemoveWindow
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_0221953C
|
|
MOD09_0221953C: ; 0x0221953C
|
|
push {r3, lr}
|
|
cmp r1, #0
|
|
beq _0221954C
|
|
cmp r1, #1
|
|
beq _02219552
|
|
cmp r1, #2
|
|
beq _02219558
|
|
pop {r3, pc}
|
|
_0221954C:
|
|
bl MOD09_022195B8
|
|
pop {r3, pc}
|
|
_02219552:
|
|
bl MOD09_02219A74
|
|
pop {r3, pc}
|
|
_02219558:
|
|
bl MOD09_02219B60
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02219560
|
|
MOD09_02219560: ; 0x02219560
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
ldr r5, [r0, #0x2c]
|
|
lsl r4, r1, #4
|
|
ldr r0, [r0, #0x10]
|
|
add r1, r2, #0
|
|
add r6, r3, #0
|
|
bl NewString_ReadMsgData
|
|
str r0, [sp, #0x10]
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r6, #0
|
|
mov r2, #0
|
|
bl FUN_02002E14
|
|
add r7, r0, #0
|
|
add r0, r5, r4
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #3
|
|
sub r0, r0, r7
|
|
lsr r3, r0, #1
|
|
ldr r0, [sp, #0x28]
|
|
ldr r2, [sp, #0x10]
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x2c]
|
|
add r1, r6, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, r4
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x10]
|
|
bl String_dtor
|
|
add r0, r5, r4
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_022195B8
|
|
MOD09_022195B8: ; 0x022195B8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
mov r6, #0
|
|
add r5, r0, #0
|
|
add r4, r6, #0
|
|
add r7, r6, #0
|
|
_022195C4:
|
|
ldr r0, [r5, #0x2c]
|
|
add r1, r7, #0
|
|
add r0, r0, r4
|
|
bl FillWindowPixelBuffer
|
|
add r6, r6, #1
|
|
add r4, #0x10
|
|
cmp r6, #5
|
|
blo _022195C4
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
ldr r0, _02219690 ; =0x00030201
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
mov r3, #2
|
|
bl MOD09_02219560
|
|
mov r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, _02219690 ; =0x00030201
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
mov r3, #2
|
|
bl MOD09_02219560
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
ldr r0, _02219690 ; =0x00030201
|
|
mov r2, #2
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r3, r2, #0
|
|
bl MOD09_02219560
|
|
mov r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, _02219690 ; =0x00030201
|
|
mov r1, #1
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
mov r2, #3
|
|
mov r3, #2
|
|
bl MOD09_02219560
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
ldr r0, _02219690 ; =0x00030201
|
|
mov r1, #2
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
mov r2, #7
|
|
add r3, r1, #0
|
|
bl MOD09_02219560
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
ldr r0, _02219690 ; =0x00030201
|
|
mov r1, #3
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
mov r2, #6
|
|
mov r3, #2
|
|
bl MOD09_02219560
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
beq _0221968A
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #8
|
|
bl NewString_ReadMsgData
|
|
add r4, r0, #0
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02219690 ; =0x00030201
|
|
mov r3, #0
|
|
str r0, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
ldr r0, [r5, #0x2c]
|
|
mov r1, #2
|
|
add r0, #0x40
|
|
add r2, r4, #0
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r4, #0
|
|
bl String_dtor
|
|
ldr r0, [r5, #0x2c]
|
|
add r0, #0x40
|
|
bl ScheduleWindowCopyToVram
|
|
_0221968A:
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02219690: .word 0x00030201
|
|
|
|
thumb_func_start MOD09_02219694
|
|
MOD09_02219694: ; 0x02219694
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x2c]
|
|
lsl r6, r3, #4
|
|
add r7, r1, #0
|
|
add r0, r4, r6
|
|
mov r1, #0
|
|
str r2, [sp, #0x10]
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02219730 ; =0x0000114D
|
|
lsl r7, r7, #2
|
|
ldrb r1, [r5, r0]
|
|
mov r0, #0x90
|
|
mul r0, r1
|
|
add r0, r5, r0
|
|
add r0, r0, r7
|
|
ldrh r0, [r0, #0x3c]
|
|
cmp r0, #0
|
|
beq _02219726
|
|
ldr r1, [sp, #0x10]
|
|
ldr r0, [r5, #0x10]
|
|
lsl r2, r1, #3
|
|
ldr r1, _02219734 ; =0x0221BC7C
|
|
ldr r1, [r1, r2]
|
|
bl NewString_ReadMsgData
|
|
ldr r2, _02219730 ; =0x0000114D
|
|
str r0, [sp, #0x14]
|
|
ldrb r3, [r5, r2]
|
|
mov r2, #0x90
|
|
ldr r0, [r5, #0x14]
|
|
mul r2, r3
|
|
add r2, r5, r2
|
|
add r2, r2, r7
|
|
ldrh r2, [r2, #0x3c]
|
|
mov r1, #0
|
|
bl BufferItemName
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, [r5, #0x18]
|
|
ldr r2, [sp, #0x14]
|
|
bl StringExpandPlaceholders
|
|
ldr r0, [sp, #0x30]
|
|
ldr r1, [r5, #0x18]
|
|
mov r2, #0
|
|
bl FUN_02002E14
|
|
add r7, r0, #0
|
|
add r0, r4, r6
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #3
|
|
sub r0, r0, r7
|
|
lsr r3, r0, #1
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x34]
|
|
ldr r1, [sp, #0x30]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #0x18]
|
|
add r0, r4, r6
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x14]
|
|
bl String_dtor
|
|
_02219726:
|
|
add r0, r4, r6
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02219730: .word 0x0000114D
|
|
_02219734: .word MOD9_0221BC7C
|
|
|
|
thumb_func_start MOD09_02219738
|
|
MOD09_02219738: ; 0x02219738
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x2c]
|
|
lsl r7, r3, #4
|
|
add r6, r1, #0
|
|
add r0, r4, r7
|
|
mov r1, #0
|
|
str r2, [sp, #0x10]
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _022197C4 ; =0x0000114D
|
|
lsl r6, r6, #2
|
|
ldrb r1, [r5, r0]
|
|
mov r0, #0x90
|
|
mul r0, r1
|
|
add r0, r5, r0
|
|
add r0, r0, r6
|
|
ldrh r0, [r0, #0x3e]
|
|
cmp r0, #0
|
|
beq _022197BA
|
|
ldr r1, [sp, #0x10]
|
|
ldr r0, [r5, #0x10]
|
|
lsl r2, r1, #3
|
|
ldr r1, _022197C8 ; =0x0221BC80
|
|
ldr r1, [r1, r2]
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
str r0, [sp, #0x14]
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r2, _022197C4 ; =0x0000114D
|
|
ldr r0, [r5, #0x14]
|
|
ldrb r3, [r5, r2]
|
|
mov r2, #0x90
|
|
mul r2, r3
|
|
add r2, r5, r2
|
|
add r2, r2, r6
|
|
ldrh r2, [r2, #0x3e]
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, [r5, #0x18]
|
|
ldr r2, [sp, #0x14]
|
|
bl StringExpandPlaceholders
|
|
ldr r0, [sp, #0x34]
|
|
mov r3, #0
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x38]
|
|
ldr r1, [sp, #0x30]
|
|
str r0, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
ldr r2, [r5, #0x18]
|
|
add r0, r4, r7
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x14]
|
|
bl String_dtor
|
|
_022197BA:
|
|
add r0, r4, r7
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022197C4: .word 0x0000114D
|
|
_022197C8: .word MOD9_0221BC80
|
|
|
|
thumb_func_start MOD09_022197CC
|
|
MOD09_022197CC: ; 0x022197CC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r6, r0, #0
|
|
ldr r0, _02219830 ; =0x0000114D
|
|
add r5, r1, #0
|
|
ldrb r0, [r6, r0]
|
|
ldr r1, [r6]
|
|
add r0, r1, r0
|
|
add r0, #0x2c
|
|
ldrb r1, [r0]
|
|
mov r0, #6
|
|
mul r0, r1
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
add r0, #0x31
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _022197F4
|
|
mov r4, #0
|
|
b _022197F6
|
|
_022197F4:
|
|
mov r4, #0xc
|
|
_022197F6:
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
ldr r0, _02219834 ; =0x00030201
|
|
ldr r1, [sp, #0xc]
|
|
lsl r7, r5, #1
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
add r1, r5, r1
|
|
add r2, r5, #0
|
|
add r3, r4, r7
|
|
bl MOD09_02219694
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, _02219838 ; =0x00010200
|
|
ldr r1, [sp, #0xc]
|
|
add r3, r4, #1
|
|
str r0, [sp, #8]
|
|
add r0, r6, #0
|
|
add r1, r5, r1
|
|
add r2, r5, #0
|
|
add r3, r3, r7
|
|
bl MOD09_02219738
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02219830: .word 0x0000114D
|
|
_02219834: .word 0x00030201
|
|
_02219838: .word 0x00010200
|
|
|
|
thumb_func_start MOD09_0221983C
|
|
MOD09_0221983C: ; 0x0221983C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
mov r2, #0
|
|
add r4, r0, #0
|
|
str r2, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
mov r0, #0x13
|
|
str r0, [sp, #8]
|
|
mov r0, #0x11
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #4]
|
|
mov r1, #5
|
|
add r3, r2, #0
|
|
bl FillBgTilemapRect
|
|
mov r5, #0
|
|
_0221985E:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD09_022197CC
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
cmp r5, #6
|
|
blo _0221985E
|
|
add r0, r4, #0
|
|
add r0, #0x31
|
|
ldrb r1, [r0]
|
|
mov r0, #1
|
|
add r4, #0x31
|
|
eor r0, r1
|
|
strb r0, [r4]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02219884
|
|
MOD09_02219884: ; 0x02219884
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0
|
|
mov r0, #0x19
|
|
ldr r1, [r5, #0x2c]
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0x1c
|
|
ldr r4, [r5, #0x2c]
|
|
bl NewString_ReadMsgData
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0
|
|
ldr r1, [sp, #0x10]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
add r7, r0, #0
|
|
mov r0, #0x19
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #3
|
|
sub r0, r0, r7
|
|
lsr r6, r0, #1
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022199AC ; =0x00010200
|
|
ldr r2, [sp, #0x10]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x19
|
|
lsl r0, r0, #4
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
add r3, r6, #0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x10]
|
|
bl String_dtor
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0x1d
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
str r0, [sp, #0x14]
|
|
ldr r3, _022199B0 ; =0x0000114D
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r2, _022199B0 ; =0x0000114D
|
|
add r3, r3, #7
|
|
ldrb r2, [r5, r2]
|
|
ldr r0, [r5, #0x14]
|
|
add r2, r5, r2
|
|
ldrb r2, [r2, r3]
|
|
mov r3, #2
|
|
add r2, r2, #1
|
|
bl BufferIntegerAsString
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, [r5, #0x18]
|
|
ldr r2, [sp, #0x14]
|
|
bl StringExpandPlaceholders
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022199AC ; =0x00010200
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
mov r0, #0x19
|
|
lsl r0, r0, #4
|
|
ldr r2, [r5, #0x18]
|
|
add r0, r4, r0
|
|
add r3, r6, r7
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x14]
|
|
bl String_dtor
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0x1e
|
|
bl NewString_ReadMsgData
|
|
mov r1, #0
|
|
add r7, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r3, _022199B0 ; =0x0000114D
|
|
ldr r2, [r5]
|
|
ldrb r3, [r5, r3]
|
|
ldr r0, [r5, #0x14]
|
|
add r2, r2, r3
|
|
add r2, #0x2c
|
|
ldrb r2, [r2]
|
|
mov r3, #2
|
|
add r2, r2, #1
|
|
bl BufferIntegerAsString
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, [r5, #0x18]
|
|
add r2, r7, #0
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0
|
|
ldr r1, [r5, #0x18]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
add r3, r0, #0
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _022199AC ; =0x00010200
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
mov r0, #0x19
|
|
lsl r0, r0, #4
|
|
ldr r2, [r5, #0x18]
|
|
add r0, r4, r0
|
|
sub r3, r6, r3
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r7, #0
|
|
bl String_dtor
|
|
mov r0, #0x19
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_022199AC: .word 0x00010200
|
|
_022199B0: .word 0x0000114D
|
|
|
|
thumb_func_start MOD09_022199B4
|
|
MOD09_022199B4: ; 0x022199B4
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
mov r0, #6
|
|
ldr r1, [r4, #0x2c]
|
|
lsl r0, r0, #6
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _02219A6C ; =0x0000114D
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #3
|
|
bhi _02219A68
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022199DC: ; jump table
|
|
.short _022199E4 - _022199DC - 2 ; case 0
|
|
.short _02219A10 - _022199DC - 2 ; case 1
|
|
.short _02219A3C - _022199DC - 2 ; case 2
|
|
.short _02219A54 - _022199DC - 2 ; case 3
|
|
_022199E4:
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
ldr r0, _02219A70 ; =0x00010200
|
|
mov r1, #0x18
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r2, #0x16
|
|
mov r3, #0
|
|
bl MOD09_02219560
|
|
mov r0, #0x14
|
|
str r0, [sp]
|
|
ldr r0, _02219A70 ; =0x00010200
|
|
mov r1, #0x18
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r2, #0x17
|
|
mov r3, #0
|
|
bl MOD09_02219560
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
_02219A10:
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
ldr r0, _02219A70 ; =0x00010200
|
|
mov r1, #0x18
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl MOD09_02219560
|
|
mov r0, #0x14
|
|
str r0, [sp]
|
|
ldr r0, _02219A70 ; =0x00010200
|
|
mov r1, #0x18
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r2, #0x19
|
|
mov r3, #0
|
|
bl MOD09_02219560
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
_02219A3C:
|
|
mov r0, #0xc
|
|
str r0, [sp]
|
|
ldr r0, _02219A70 ; =0x00010200
|
|
mov r1, #0x18
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r2, #0x1a
|
|
mov r3, #0
|
|
bl MOD09_02219560
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
_02219A54:
|
|
mov r0, #0xc
|
|
str r0, [sp]
|
|
ldr r0, _02219A70 ; =0x00010200
|
|
mov r1, #0x18
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r2, #0x1b
|
|
mov r3, #0
|
|
bl MOD09_02219560
|
|
_02219A68:
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02219A6C: .word 0x0000114D
|
|
_02219A70: .word 0x00010200
|
|
|
|
thumb_func_start MOD09_02219A74
|
|
MOD09_02219A74: ; 0x02219A74
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD09_0221983C
|
|
add r0, r4, #0
|
|
bl MOD09_022199B4
|
|
add r0, r4, #0
|
|
bl MOD09_02219884
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02219A8C
|
|
MOD09_02219A8C: ; 0x02219A8C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
add r6, r1, #0
|
|
mov r1, #9
|
|
ldr r4, [r5, #0x2c]
|
|
bl NewString_ReadMsgData
|
|
ldr r2, _02219AF4 ; =0x0000114D
|
|
add r7, r0, #0
|
|
ldrb r3, [r5, r2]
|
|
mov r2, #0x90
|
|
ldr r0, [r5, #0x14]
|
|
mul r2, r3
|
|
add r2, r5, r2
|
|
lsl r3, r6, #2
|
|
add r2, r2, r3
|
|
ldrh r2, [r2, #0x3c]
|
|
mov r1, #0
|
|
bl BufferItemName
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, [r5, #0x18]
|
|
add r2, r7, #0
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02219AF8 ; =0x00010200
|
|
add r3, r1, #0
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r5, #0x18]
|
|
add r0, r4, #0
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r7, #0
|
|
bl String_dtor
|
|
add r0, r4, #0
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02219AF4: .word 0x0000114D
|
|
_02219AF8: .word 0x00010200
|
|
|
|
thumb_func_start MOD09_02219AFC
|
|
MOD09_02219AFC: ; 0x02219AFC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
ldr r1, [r5]
|
|
ldr r4, [r5, #0x2c]
|
|
ldr r1, [r1, #0xc]
|
|
mov r0, #0x82
|
|
add r4, #0x20
|
|
bl String_ctor
|
|
ldr r1, _02219B58 ; =0x0000114D
|
|
add r7, r0, #0
|
|
ldrb r2, [r5, r1]
|
|
mov r1, #0x90
|
|
mul r1, r2
|
|
add r2, r5, r1
|
|
lsl r1, r6, #2
|
|
add r1, r2, r1
|
|
ldr r2, [r5]
|
|
ldrh r1, [r1, #0x3c]
|
|
ldr r2, [r2, #0xc]
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x10
|
|
bl GetItemDescIntoString
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02219B5C ; =0x00010200
|
|
add r2, r7, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r3, #4
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r7, #0
|
|
bl String_dtor
|
|
add r0, r4, #0
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02219B58: .word 0x0000114D
|
|
_02219B5C: .word 0x00010200
|
|
|
|
thumb_func_start MOD09_02219B60
|
|
MOD09_02219B60: ; 0x02219B60
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
mov r6, #0
|
|
add r5, r0, #0
|
|
add r4, r6, #0
|
|
add r7, r6, #0
|
|
_02219B6C:
|
|
ldr r0, [r5, #0x2c]
|
|
add r1, r7, #0
|
|
add r0, r0, r4
|
|
bl FillWindowPixelBuffer
|
|
add r6, r6, #1
|
|
add r4, #0x10
|
|
cmp r6, #4
|
|
blo _02219B6C
|
|
ldr r0, _02219BD4 ; =0x0000114D
|
|
ldr r1, [r5]
|
|
ldrb r2, [r5, r0]
|
|
add r0, r1, r2
|
|
add r0, #0x27
|
|
ldrb r4, [r0]
|
|
add r0, r1, r2
|
|
add r0, #0x2c
|
|
ldrb r1, [r0]
|
|
mov r0, #6
|
|
add r6, r1, #0
|
|
mul r6, r0
|
|
add r0, r5, #0
|
|
add r1, r4, r6
|
|
bl MOD09_02219A8C
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
ldr r0, _02219BD8 ; =0x00010200
|
|
str r2, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r1, r4, r6
|
|
mov r3, #1
|
|
bl MOD09_02219738
|
|
add r0, r5, #0
|
|
add r1, r4, r6
|
|
bl MOD09_02219AFC
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
ldr r0, _02219BDC ; =0x00030201
|
|
mov r1, #3
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
mov r2, #0x1f
|
|
mov r3, #2
|
|
bl MOD09_02219560
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02219BD4: .word 0x0000114D
|
|
_02219BD8: .word 0x00010200
|
|
_02219BDC: .word 0x00030201
|
|
|
|
thumb_func_start MOD09_02219BE0
|
|
MOD09_02219BE0: ; 0x02219BE0
|
|
push {r4, lr}
|
|
ldr r2, _02219C04 ; =0x000003E2
|
|
add r4, r0, #0
|
|
add r0, #0x1c
|
|
mov r1, #1
|
|
mov r3, #0xe
|
|
bl FUN_0200D0BC
|
|
add r0, r4, #0
|
|
add r0, #0x1c
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
add r0, r4, #0
|
|
bl MOD09_02219C08
|
|
pop {r4, pc}
|
|
nop
|
|
_02219C04: .word 0x000003E2
|
|
|
|
thumb_func_start MOD09_02219C08
|
|
MOD09_02219C08: ; 0x02219C08
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
bl TextFlags_SetCanABSpeedUpPrint
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl MOD11_02230E54
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r0, [sp, #4]
|
|
str r3, [sp, #8]
|
|
add r0, r4, #0
|
|
ldr r2, [r4, #0x18]
|
|
add r0, #0x1c
|
|
mov r1, #1
|
|
bl AddTextPrinterParameterized
|
|
add r4, #0x32
|
|
strb r0, [r4]
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
|
|
thumb_func_start MOD09_02219C38
|
|
MOD09_02219C38: ; 0x02219C38
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r3, [r4]
|
|
ldrh r1, [r3, #0x20]
|
|
cmp r1, #0
|
|
bne _02219C48
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_02219C48:
|
|
ldr r0, [r3, #8]
|
|
ldr r3, [r3, #0xc]
|
|
mov r2, #1
|
|
bl Bag_HasItem
|
|
cmp r0, #0
|
|
bne _02219C62
|
|
ldr r1, [r4]
|
|
mov r0, #0
|
|
strh r0, [r1, #0x20]
|
|
ldr r1, [r4]
|
|
strb r0, [r1, #0x1f]
|
|
pop {r4, pc}
|
|
_02219C62:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02219C68
|
|
MOD09_02219C68: ; 0x02219C68
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _02219CB0 ; =0x0000114D
|
|
ldr r6, [r5]
|
|
ldrb r7, [r5, r0]
|
|
mov r0, #0x90
|
|
ldrh r2, [r6, #0x20]
|
|
mul r0, r7
|
|
mov r4, #0
|
|
add r1, r5, r0
|
|
_02219C7C:
|
|
ldrh r0, [r1, #0x3c]
|
|
cmp r2, r0
|
|
bne _02219CA6
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl _u32_div_f
|
|
add r0, r6, r7
|
|
add r0, #0x27
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl _u32_div_f
|
|
ldr r1, _02219CB0 ; =0x0000114D
|
|
ldr r2, [r5]
|
|
ldrb r1, [r5, r1]
|
|
add r1, r2, r1
|
|
add r1, #0x2c
|
|
strb r0, [r1]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02219CA6:
|
|
add r4, r4, #1
|
|
add r1, r1, #4
|
|
cmp r4, #0x24
|
|
blo _02219C7C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02219CB0: .word 0x0000114D
|
|
|
|
thumb_func_start MOD09_02219CB4
|
|
MOD09_02219CB4: ; 0x02219CB4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
_02219CBE:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #8]
|
|
_02219CCA:
|
|
ldr r0, [r4]
|
|
ldr r2, [sp]
|
|
ldr r0, [r0, #8]
|
|
lsl r2, r2, #0x10
|
|
ldr r1, [sp, #8]
|
|
lsr r2, r2, #0x10
|
|
bl Bag_GetPocketSlotN
|
|
add r5, r0, #0
|
|
beq _02219D3C
|
|
ldrh r0, [r5]
|
|
cmp r0, #0
|
|
beq _02219D34
|
|
ldrh r1, [r5, #2]
|
|
cmp r1, #0
|
|
beq _02219D34
|
|
ldr r2, [r4]
|
|
mov r1, #0xd
|
|
ldr r2, [r2, #0xc]
|
|
bl GetItemAttr
|
|
add r7, r0, #0
|
|
ldr r1, _02219D88 ; =0x0221BD7C
|
|
mov r0, #0
|
|
_02219CFA:
|
|
mov r2, #1
|
|
lsl r2, r0
|
|
tst r2, r7
|
|
beq _02219D2C
|
|
ldrb r2, [r1]
|
|
mov r3, #0x90
|
|
add r6, r2, #0
|
|
mul r6, r3
|
|
add r3, r4, r2
|
|
ldr r2, _02219D8C ; =0x0000114F
|
|
ldrb r2, [r3, r2]
|
|
add r3, r4, r6
|
|
lsl r2, r2, #2
|
|
add r2, r2, r3
|
|
ldrh r3, [r5]
|
|
strh r3, [r2, #0x3c]
|
|
ldrh r3, [r5, #2]
|
|
strh r3, [r2, #0x3e]
|
|
ldrb r2, [r1]
|
|
add r6, r4, r2
|
|
ldr r2, _02219D8C ; =0x0000114F
|
|
ldrb r2, [r6, r2]
|
|
add r3, r2, #1
|
|
ldr r2, _02219D8C ; =0x0000114F
|
|
strb r3, [r6, r2]
|
|
_02219D2C:
|
|
add r0, r0, #1
|
|
add r1, r1, #1
|
|
cmp r0, #5
|
|
blo _02219CFA
|
|
_02219D34:
|
|
ldr r0, [sp]
|
|
add r0, r0, #1
|
|
str r0, [sp]
|
|
b _02219CCA
|
|
_02219D3C:
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, #1
|
|
str r0, [sp, #4]
|
|
cmp r0, #8
|
|
blo _02219CBE
|
|
mov r5, #0
|
|
add r7, r5, #0
|
|
_02219D4A:
|
|
ldr r0, _02219D8C ; =0x0000114F
|
|
add r6, r4, r5
|
|
ldrb r0, [r6, r0]
|
|
cmp r0, #0
|
|
bne _02219D5A
|
|
ldr r0, _02219D90 ; =0x00001154
|
|
strb r7, [r6, r0]
|
|
b _02219D66
|
|
_02219D5A:
|
|
sub r0, r0, #1
|
|
mov r1, #6
|
|
bl _s32_div_f
|
|
ldr r1, _02219D90 ; =0x00001154
|
|
strb r0, [r6, r1]
|
|
_02219D66:
|
|
ldr r1, [r4]
|
|
ldr r0, _02219D90 ; =0x00001154
|
|
add r2, r1, r5
|
|
add r2, #0x2c
|
|
ldrb r0, [r6, r0]
|
|
ldrb r2, [r2]
|
|
cmp r0, r2
|
|
bhs _02219D7C
|
|
add r1, r1, r5
|
|
add r1, #0x2c
|
|
strb r0, [r1]
|
|
_02219D7C:
|
|
add r5, r5, #1
|
|
cmp r5, #5
|
|
blo _02219D4A
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02219D88: .word MOD9_0221BD7C
|
|
_02219D8C: .word 0x0000114F
|
|
_02219D90: .word 0x00001154
|
|
|
|
thumb_func_start MOD09_02219D94
|
|
MOD09_02219D94: ; 0x02219D94
|
|
push {r3, r4}
|
|
ldr r2, _02219DC4 ; =0x0000114D
|
|
ldr r3, [r0]
|
|
ldrb r2, [r0, r2]
|
|
add r3, r3, r2
|
|
add r3, #0x2c
|
|
ldrb r4, [r3]
|
|
mov r3, #6
|
|
mul r3, r4
|
|
add r1, r1, r3
|
|
lsl r3, r1, #2
|
|
mov r1, #0x90
|
|
mul r1, r2
|
|
add r0, r0, r1
|
|
add r1, r0, r3
|
|
ldrh r0, [r1, #0x3c]
|
|
cmp r0, #0
|
|
beq _02219DBE
|
|
ldrh r1, [r1, #0x3e]
|
|
cmp r1, #0
|
|
bne _02219DC0
|
|
_02219DBE:
|
|
mov r0, #0
|
|
_02219DC0:
|
|
pop {r3, r4}
|
|
bx lr
|
|
.align 2, 0
|
|
_02219DC4: .word 0x0000114D
|
|
|
|
thumb_func_start MOD09_02219DC8
|
|
MOD09_02219DC8: ; 0x02219DC8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD09_02219DF4
|
|
add r0, r4, #0
|
|
bl MOD09_02219E40
|
|
add r0, r4, #0
|
|
bl MOD09_02219FC4
|
|
add r0, r4, #0
|
|
bl MOD09_0221A158
|
|
add r0, r4, #0
|
|
bl MOD09_0221A244
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineBToggleLayers
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02219DF4
|
|
MOD09_02219DF4: ; 0x02219DF4
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x18
|
|
ldr r3, _02219E3C ; =0x0221BDB0
|
|
add r2, sp, #0
|
|
add r5, r0, #0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl MOD11_02230078
|
|
add r4, r0, #0
|
|
bl FUN_0200BB34
|
|
mov r1, #0xc3
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
ldr r1, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r2, #0xc
|
|
bl FUN_0200BBF0
|
|
mov r1, #0xc3
|
|
lsl r1, r1, #2
|
|
ldr r1, [r5, r1]
|
|
add r0, r4, #0
|
|
add r2, sp, #0
|
|
bl FUN_0200BF60
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02219E3C: .word MOD9_0221BDB0
|
|
|
|
thumb_func_start MOD09_02219E40
|
|
MOD09_02219E40: ; 0x02219E40
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r6, r0, #0
|
|
ldr r0, [r6]
|
|
ldr r0, [r0]
|
|
bl MOD11_02230078
|
|
add r7, r0, #0
|
|
mov r4, #0
|
|
_02219E52:
|
|
ldr r0, _02219EE8 ; =0x0000B4B7
|
|
add r5, r4, r0
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl GetItemIndexMapping
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r1, #0xc3
|
|
str r5, [sp, #8]
|
|
lsl r1, r1, #2
|
|
ldr r1, [r6, r1]
|
|
add r0, r7, #0
|
|
mov r2, #0x10
|
|
bl FUN_0200C00C
|
|
mov r0, #1
|
|
mov r1, #2
|
|
bl GetItemIndexMapping
|
|
mov r1, #0x10
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
mov r0, #2
|
|
str r0, [sp, #0x10]
|
|
mov r3, #0xc3
|
|
str r5, [sp, #0x14]
|
|
lsl r3, r3, #2
|
|
ldr r0, [r6, #8]
|
|
ldr r3, [r6, r3]
|
|
mov r1, #3
|
|
add r2, r7, #0
|
|
bl FUN_0200C0DC
|
|
add r4, r4, #1
|
|
cmp r4, #6
|
|
blo _02219E52
|
|
bl FUN_0206E708
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02219EE8 ; =0x0000B4B7
|
|
mov r1, #0xc3
|
|
str r0, [sp, #4]
|
|
lsl r1, r1, #2
|
|
ldr r1, [r6, r1]
|
|
add r0, r7, #0
|
|
mov r2, #0x10
|
|
bl FUN_0200C124
|
|
bl FUN_0206E70C
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02219EE8 ; =0x0000B4B7
|
|
mov r1, #0xc3
|
|
str r0, [sp, #4]
|
|
lsl r1, r1, #2
|
|
ldr r1, [r6, r1]
|
|
add r0, r7, #0
|
|
mov r2, #0x10
|
|
bl FUN_0200C13C
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02219EE8: .word 0x0000B4B7
|
|
|
|
thumb_func_start MOD09_02219EEC
|
|
MOD09_02219EEC: ; 0x02219EEC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r6, r1, #0
|
|
ldr r0, [r0]
|
|
add r4, r2, #0
|
|
bl MOD11_02230078
|
|
add r7, r0, #0
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl GetItemIndexMapping
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #0xc3
|
|
str r4, [sp, #4]
|
|
lsl r1, r1, #2
|
|
ldr r1, [r5, r1]
|
|
add r0, r7, #0
|
|
mov r2, #0x10
|
|
bl FUN_0200C9D8
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_02219F24
|
|
MOD09_02219F24: ; 0x02219F24
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
mov r1, #2
|
|
add r4, r2, #0
|
|
bl GetItemIndexMapping
|
|
add r2, r0, #0
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
lsl r0, r4, #0x14
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #8]
|
|
ldr r3, [r5]
|
|
ldr r0, [r5, #8]
|
|
ldr r3, [r3, #0xc]
|
|
mov r1, #0x10
|
|
bl PaletteData_LoadNarc
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start MOD09_02219F54
|
|
MOD09_02219F54: ; 0x02219F54
|
|
push {r4, r5, lr}
|
|
sub sp, #0x34
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
ldr r0, [r0]
|
|
bl MOD11_02230078
|
|
mov r2, #0
|
|
add r1, sp, #0
|
|
strh r2, [r1]
|
|
strh r2, [r1, #2]
|
|
strh r2, [r1, #4]
|
|
strh r2, [r1, #6]
|
|
mov r1, #0x14
|
|
ldr r3, _02219FB0 ; =0x0221BE98
|
|
mul r1, r4
|
|
ldr r3, [r3, r1]
|
|
str r2, [sp, #0xc]
|
|
str r3, [sp, #8]
|
|
mov r3, #2
|
|
str r3, [sp, #0x10]
|
|
ldr r3, _02219FB4 ; =0x0221BE88
|
|
str r2, [sp, #0x30]
|
|
ldr r3, [r3, r1]
|
|
add r2, sp, #0
|
|
str r3, [sp, #0x14]
|
|
ldr r3, _02219FB8 ; =0x0221BE8C
|
|
ldr r3, [r3, r1]
|
|
str r3, [sp, #0x18]
|
|
ldr r3, _02219FBC ; =0x0221BE90
|
|
ldr r3, [r3, r1]
|
|
str r3, [sp, #0x1c]
|
|
ldr r3, _02219FC0 ; =0x0221BE94
|
|
ldr r1, [r3, r1]
|
|
str r1, [sp, #0x20]
|
|
mov r1, #1
|
|
str r1, [sp, #0x2c]
|
|
mov r1, #0xc3
|
|
lsl r1, r1, #2
|
|
ldr r1, [r5, r1]
|
|
bl FUN_0200C154
|
|
add sp, #0x34
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_02219FB0: .word MOD9_0221BE98
|
|
_02219FB4: .word MOD9_0221BE88
|
|
_02219FB8: .word MOD9_0221BE8C
|
|
_02219FBC: .word MOD9_0221BE90
|
|
_02219FC0: .word MOD9_0221BE94
|
|
|
|
thumb_func_start MOD09_02219FC4
|
|
MOD09_02219FC4: ; 0x02219FC4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
mov r7, #0x31
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
lsl r7, r7, #4
|
|
_02219FD0:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02219F54
|
|
str r0, [r5, r7]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #6
|
|
blo _02219FD0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start MOD09_02219FE4
|
|
MOD09_02219FE4: ; 0x02219FE4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
ldr r0, [r7]
|
|
ldr r0, [r0]
|
|
bl MOD11_02230078
|
|
mov r6, #0x31
|
|
str r0, [sp]
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
lsl r6, r6, #4
|
|
_02219FFA:
|
|
ldr r0, [r5, r6]
|
|
bl FUN_0200C3DC
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #6
|
|
blo _02219FFA
|
|
add r0, r7, #0
|
|
bl MOD09_0221A1B0
|
|
add r0, r7, #0
|
|
bl MOD09_0221A294
|
|
mov r1, #0xc3
|
|
lsl r1, r1, #2
|
|
ldr r0, [sp]
|
|
ldr r1, [r7, r1]
|
|
bl FUN_0200C398
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_0221A024
|
|
MOD09_0221A024: ; 0x0221A024
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
mov r1, #1
|
|
add r6, r0, #0
|
|
bl FUN_0200C644
|
|
lsl r1, r5, #0x10
|
|
lsl r2, r4, #0x10
|
|
add r0, r6, #0
|
|
asr r1, r1, #0x10
|
|
asr r2, r2, #0x10
|
|
bl FUN_0200C714
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_0221A044
|
|
MOD09_0221A044: ; 0x0221A044
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r6, #0x31
|
|
str r0, [sp]
|
|
add r7, r1, #0
|
|
mov r4, #0
|
|
add r5, r0, #0
|
|
lsl r6, r6, #4
|
|
_0221A052:
|
|
ldr r0, [r5, r6]
|
|
mov r1, #0
|
|
bl FUN_0200C644
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #6
|
|
blo _0221A052
|
|
cmp r7, #0
|
|
beq _0221A070
|
|
cmp r7, #1
|
|
beq _0221A078
|
|
cmp r7, #2
|
|
beq _0221A080
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0221A070:
|
|
ldr r0, [sp]
|
|
bl MOD09_0221A088
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0221A078:
|
|
ldr r0, [sp]
|
|
bl MOD09_0221A0BC
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0221A080:
|
|
ldr r0, [sp]
|
|
bl MOD09_0221A114
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start MOD09_0221A088
|
|
MOD09_0221A088: ; 0x0221A088
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4]
|
|
ldrh r1, [r1, #0x20]
|
|
cmp r1, #0
|
|
beq _0221A0B6
|
|
ldr r2, _0221A0B8 ; =0x0000B4B7
|
|
bl MOD09_02219EEC
|
|
ldr r1, [r4]
|
|
ldr r3, _0221A0B8 ; =0x0000B4B7
|
|
ldrh r1, [r1, #0x20]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl MOD09_02219F24
|
|
mov r0, #0x31
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x18
|
|
mov r2, #0xb2
|
|
bl MOD09_0221A024
|
|
_0221A0B6:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0221A0B8: .word 0x0000B4B7
|
|
|
|
thumb_func_start MOD09_0221A0BC
|
|
MOD09_0221A0BC: ; 0x0221A0BC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r6, _0221A10C ; =0x0221BE10
|
|
mov r4, #0
|
|
add r7, r5, #0
|
|
_0221A0C6:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02219D94
|
|
str r0, [sp]
|
|
cmp r0, #0
|
|
beq _0221A0FE
|
|
ldr r2, _0221A110 ; =0x0000B4B7
|
|
ldr r1, [sp]
|
|
add r0, r5, #0
|
|
add r2, r4, r2
|
|
bl MOD09_02219EEC
|
|
ldr r3, _0221A110 ; =0x0000B4B7
|
|
lsl r2, r4, #0x10
|
|
ldr r1, [sp]
|
|
add r0, r5, #0
|
|
lsr r2, r2, #0x10
|
|
add r3, r4, r3
|
|
bl MOD09_02219F24
|
|
mov r0, #0x31
|
|
lsl r0, r0, #4
|
|
ldr r0, [r7, r0]
|
|
ldr r1, [r6]
|
|
ldr r2, [r6, #4]
|
|
bl MOD09_0221A024
|
|
_0221A0FE:
|
|
add r4, r4, #1
|
|
add r6, #8
|
|
add r7, r7, #4
|
|
cmp r4, #6
|
|
blo _0221A0C6
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0221A10C: .word MOD9_0221BE10
|
|
_0221A110: .word 0x0000B4B7
|
|
|
|
thumb_func_start MOD09_0221A114
|
|
MOD09_0221A114: ; 0x0221A114
|
|
push {r3, r4, r5, lr}
|
|
ldr r1, _0221A150 ; =0x0000114D
|
|
add r4, r0, #0
|
|
ldrb r1, [r4, r1]
|
|
ldr r2, [r4]
|
|
add r1, r2, r1
|
|
add r1, #0x27
|
|
ldrb r1, [r1]
|
|
bl MOD09_02219D94
|
|
add r5, r0, #0
|
|
ldr r2, _0221A154 ; =0x0000B4B7
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD09_02219EEC
|
|
ldr r3, _0221A154 ; =0x0000B4B7
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl MOD09_02219F24
|
|
mov r0, #0x31
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x28
|
|
mov r2, #0x2c
|
|
bl MOD09_0221A024
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0221A150: .word 0x0000114D
|
|
_0221A154: .word 0x0000B4B7
|
|
|
|
thumb_func_start MOD09_0221A158
|
|
MOD09_0221A158: ; 0x0221A158
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl MOD11_02230078
|
|
ldr r3, _0221A1AC ; =0x0000B4BE
|
|
add r4, r0, #0
|
|
str r3, [sp]
|
|
sub r1, r3, #5
|
|
str r1, [sp, #4]
|
|
str r1, [sp, #8]
|
|
mov r1, #0xc3
|
|
lsl r1, r1, #2
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r5, #8]
|
|
bl MOD11_0225D3EC
|
|
ldr r3, _0221A1AC ; =0x0000B4BE
|
|
mov r1, #0xc3
|
|
str r3, [sp]
|
|
sub r0, r3, #5
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
mov r0, #1
|
|
str r0, [sp, #0x10]
|
|
ldr r2, [r5]
|
|
lsl r1, r1, #2
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r2, #0xc]
|
|
add r0, r4, #0
|
|
bl MOD11_0225D484
|
|
add r1, r0, #0
|
|
ldr r0, [r5, #0x34]
|
|
bl MOD09_0221AC30
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0221A1AC: .word 0x0000B4BE
|
|
|
|
thumb_func_start MOD09_0221A1B0
|
|
MOD09_0221A1B0: ; 0x0221A1B0
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x34]
|
|
bl MOD09_0221AC24
|
|
bl MOD11_0225D508
|
|
ldr r3, _0221A1D8 ; =0x0000B4B9
|
|
mov r0, #0xc3
|
|
add r1, r3, #5
|
|
str r3, [sp]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r2, r1, #0
|
|
bl MOD11_0225D45C
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_0221A1D8: .word 0x0000B4B9
|
|
|
|
thumb_func_start MOD09_0221A1DC
|
|
MOD09_0221A1DC: ; 0x0221A1DC
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r1, _0221A21C ; =0x0221BD94
|
|
lsl r2, r4, #2
|
|
ldr r0, [r5, #0x34]
|
|
ldr r1, [r1, r2]
|
|
bl MOD09_0221AC68
|
|
cmp r4, #0
|
|
beq _0221A1FA
|
|
cmp r4, #1
|
|
beq _0221A206
|
|
cmp r4, #2
|
|
pop {r3, r4, r5, pc}
|
|
_0221A1FA:
|
|
ldr r1, _0221A220 ; =0x0000114D
|
|
ldr r0, [r5, #0x34]
|
|
ldrb r1, [r5, r1]
|
|
bl MOD09_0221AC34
|
|
pop {r3, r4, r5, pc}
|
|
_0221A206:
|
|
ldr r1, _0221A220 ; =0x0000114D
|
|
ldr r2, [r5]
|
|
ldrb r1, [r5, r1]
|
|
ldr r0, [r5, #0x34]
|
|
add r1, r2, r1
|
|
add r1, #0x27
|
|
ldrb r1, [r1]
|
|
bl MOD09_0221AC34
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0221A21C: .word MOD9_0221BD94
|
|
_0221A220: .word 0x0000114D
|
|
|
|
thumb_func_start MOD09_0221A224
|
|
MOD09_0221A224: ; 0x0221A224
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x34]
|
|
mov r1, #0
|
|
bl MOD09_0221AC2C
|
|
ldr r0, [r4, #0x34]
|
|
bl MOD09_0221AC5C
|
|
ldr r0, [r4, #0x34]
|
|
bl MOD09_0221AC24
|
|
bl MOD11_0225D648
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_0221A244
|
|
MOD09_0221A244: ; 0x0221A244
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl MOD11_02230078
|
|
ldr r3, _0221A290 ; =0x0000B4BD
|
|
add r4, r0, #0
|
|
str r3, [sp]
|
|
sub r1, r3, #5
|
|
str r1, [sp, #4]
|
|
str r1, [sp, #8]
|
|
mov r1, #0xc3
|
|
lsl r1, r1, #2
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r5, #8]
|
|
bl MOD11_0225D6A4
|
|
ldr r3, _0221A290 ; =0x0000B4BD
|
|
mov r1, #0xc3
|
|
str r3, [sp]
|
|
sub r0, r3, #5
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r2, [r5]
|
|
lsl r1, r1, #2
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r2, #0xc]
|
|
add r0, r4, #0
|
|
bl MOD11_0225D73C
|
|
str r0, [r5, #0x38]
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0221A290: .word 0x0000B4BD
|
|
|
|
thumb_func_start MOD09_0221A294
|
|
MOD09_0221A294: ; 0x0221A294
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x38]
|
|
bl MOD11_0225D7B8
|
|
ldr r3, _0221A2B8 ; =0x0000B4B8
|
|
mov r0, #0xc3
|
|
add r1, r3, #5
|
|
str r3, [sp]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r2, r1, #0
|
|
bl MOD11_0225D714
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_0221A2B8: .word 0x0000B4B8
|
|
|
|
thumb_func_start MOD09_0221A2BC
|
|
MOD09_0221A2BC: ; 0x0221A2BC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x14]
|
|
cmp r0, #1
|
|
bne _0221A2E2
|
|
lsl r3, r1, #3
|
|
ldr r1, _0221A2EC ; =0x0221BDC8
|
|
ldr r2, _0221A2F0 ; =0x0221BDCC
|
|
ldr r0, [r4, #0x38]
|
|
ldr r1, [r1, r3]
|
|
ldr r2, [r2, r3]
|
|
bl MOD11_0225D800
|
|
ldr r0, [r4, #0x38]
|
|
mov r1, #0x3c
|
|
bl MOD11_0225D820
|
|
pop {r4, pc}
|
|
_0221A2E2:
|
|
ldr r0, [r4, #0x38]
|
|
bl MOD11_0225D80C
|
|
pop {r4, pc}
|
|
nop
|
|
_0221A2EC: .word MOD9_0221BDC8
|
|
_0221A2F0: .word MOD9_0221BDCC
|
|
|
|
thumb_func_start MOD09_0221A2F4
|
|
MOD09_0221A2F4: ; 0x0221A2F4
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #9
|
|
str r0, [sp, #4]
|
|
mov r0, #0xca
|
|
lsl r0, r0, #2
|
|
mov r2, #0
|
|
add r0, r5, r0
|
|
add r3, r2, #0
|
|
add r4, r1, #0
|
|
bl MOD09_0221A62C
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
ldr r0, _0221A5B0 ; =0x00000448
|
|
mov r3, #9
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
str r3, [sp, #4]
|
|
bl MOD09_0221A62C
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #9
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A5B4 ; =0x00000568
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0
|
|
mov r3, #0x12
|
|
bl MOD09_0221A62C
|
|
mov r0, #0x1a
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A5B8 ; =0x00000688
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0
|
|
mov r3, #0x1b
|
|
bl MOD09_0221A62C
|
|
mov r0, #0x1a
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A5BC ; =0x0000078C
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0
|
|
mov r3, #0x20
|
|
bl MOD09_0221A62C
|
|
mov r0, #0x1a
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
mov r0, #0x89
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
mov r3, #0x25
|
|
bl MOD09_0221A62C
|
|
mov r0, #0x1a
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A5C0 ; =0x00000994
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0
|
|
mov r3, #0x25
|
|
bl MOD09_0221A62C
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A5C4 ; =0x00000A98
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0
|
|
mov r3, #0x39
|
|
bl MOD09_0221A62C
|
|
ldr r0, _0221A5C8 ; =0x00000ACA
|
|
mov r2, #5
|
|
str r2, [sp]
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
mov r3, #0x39
|
|
str r2, [sp, #4]
|
|
bl MOD09_0221A62C
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A5CC ; =0x00000AFC
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0xa
|
|
mov r3, #0x39
|
|
bl MOD09_0221A62C
|
|
mov r2, #0x10
|
|
str r2, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A5D0 ; =0x00000B2E
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r3, #0
|
|
bl MOD09_0221A62C
|
|
ldr r0, _0221A5D4 ; =0x00000BEE
|
|
mov r2, #0x10
|
|
str r2, [sp]
|
|
mov r3, #6
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
str r3, [sp, #4]
|
|
bl MOD09_0221A62C
|
|
mov r2, #0x10
|
|
str r2, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A5D8 ; =0x00000CAE
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r3, #0xc
|
|
bl MOD09_0221A62C
|
|
mov r2, #0x10
|
|
str r2, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A5DC ; =0x00000D6E
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r3, #0x12
|
|
bl MOD09_0221A62C
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A5E0 ; =0x00000E2E
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0
|
|
mov r3, #0x2f
|
|
bl MOD09_0221A62C
|
|
mov r0, #0xe6
|
|
mov r2, #5
|
|
lsl r0, r0, #4
|
|
str r2, [sp]
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
mov r3, #0x2f
|
|
str r2, [sp, #4]
|
|
bl MOD09_0221A62C
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A5E4 ; =0x00000E92
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0xa
|
|
mov r3, #0x2f
|
|
bl MOD09_0221A62C
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A5E8 ; =0x00000EC4
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0xf
|
|
mov r3, #0x2f
|
|
bl MOD09_0221A62C
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A5EC ; =0x00000EF6
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0
|
|
mov r3, #0x34
|
|
bl MOD09_0221A62C
|
|
ldr r0, _0221A5F0 ; =0x00000F28
|
|
mov r2, #5
|
|
str r2, [sp]
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
mov r3, #0x34
|
|
str r2, [sp, #4]
|
|
bl MOD09_0221A62C
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A5F4 ; =0x00000F5A
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0xa
|
|
mov r3, #0x34
|
|
bl MOD09_0221A62C
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A5F8 ; =0x00000F8C
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0xf
|
|
mov r3, #0x34
|
|
bl MOD09_0221A62C
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A5FC ; =0x00000FBE
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x14
|
|
mov r3, #0x2f
|
|
bl MOD09_0221A62C
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A600 ; =0x00000FDE
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x18
|
|
mov r3, #0x2f
|
|
bl MOD09_0221A62C
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A604 ; =0x00000FFE
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x1c
|
|
mov r3, #0x2f
|
|
bl MOD09_0221A62C
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A608 ; =0x0000101E
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x14
|
|
mov r3, #0x33
|
|
bl MOD09_0221A62C
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A60C ; =0x0000103E
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x18
|
|
mov r3, #0x33
|
|
bl MOD09_0221A62C
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A610 ; =0x0000105E
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x1c
|
|
mov r3, #0x33
|
|
bl MOD09_0221A62C
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A614 ; =0x0000107E
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x14
|
|
mov r3, #0x37
|
|
bl MOD09_0221A62C
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A618 ; =0x0000109E
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x18
|
|
mov r3, #0x37
|
|
bl MOD09_0221A62C
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A61C ; =0x000010BE
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x1c
|
|
mov r3, #0x37
|
|
bl MOD09_0221A62C
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A620 ; =0x000010DE
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x14
|
|
mov r3, #0x3b
|
|
bl MOD09_0221A62C
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A624 ; =0x000010FE
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x18
|
|
mov r3, #0x3b
|
|
bl MOD09_0221A62C
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0221A628 ; =0x0000111E
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x1c
|
|
mov r3, #0x3b
|
|
bl MOD09_0221A62C
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0221A5B0: .word 0x00000448
|
|
_0221A5B4: .word 0x00000568
|
|
_0221A5B8: .word 0x00000688
|
|
_0221A5BC: .word 0x0000078C
|
|
_0221A5C0: .word 0x00000994
|
|
_0221A5C4: .word 0x00000A98
|
|
_0221A5C8: .word 0x00000ACA
|
|
_0221A5CC: .word 0x00000AFC
|
|
_0221A5D0: .word 0x00000B2E
|
|
_0221A5D4: .word 0x00000BEE
|
|
_0221A5D8: .word 0x00000CAE
|
|
_0221A5DC: .word 0x00000D6E
|
|
_0221A5E0: .word 0x00000E2E
|
|
_0221A5E4: .word 0x00000E92
|
|
_0221A5E8: .word 0x00000EC4
|
|
_0221A5EC: .word 0x00000EF6
|
|
_0221A5F0: .word 0x00000F28
|
|
_0221A5F4: .word 0x00000F5A
|
|
_0221A5F8: .word 0x00000F8C
|
|
_0221A5FC: .word 0x00000FBE
|
|
_0221A600: .word 0x00000FDE
|
|
_0221A604: .word 0x00000FFE
|
|
_0221A608: .word 0x0000101E
|
|
_0221A60C: .word 0x0000103E
|
|
_0221A610: .word 0x0000105E
|
|
_0221A614: .word 0x0000107E
|
|
_0221A618: .word 0x0000109E
|
|
_0221A61C: .word 0x000010BE
|
|
_0221A620: .word 0x000010DE
|
|
_0221A624: .word 0x000010FE
|
|
_0221A628: .word 0x0000111E
|
|
|
|
thumb_func_start MOD09_0221A62C
|
|
MOD09_0221A62C: ; 0x0221A62C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
str r0, [sp]
|
|
add r0, sp, #8
|
|
mov lr, r3
|
|
ldrb r3, [r0, #0x14]
|
|
mov r6, #0
|
|
mov ip, r3
|
|
cmp r3, #0
|
|
ble _0221A678
|
|
ldrb r3, [r0, #0x10]
|
|
lsl r2, r2, #1
|
|
add r7, r1, r2
|
|
_0221A644:
|
|
mov r2, #0
|
|
cmp r3, #0
|
|
ble _0221A66C
|
|
mov r0, lr
|
|
add r0, r0, r6
|
|
lsl r0, r0, #6
|
|
add r5, r7, r0
|
|
add r0, r6, #0
|
|
mul r0, r3
|
|
lsl r1, r0, #1
|
|
ldr r0, [sp]
|
|
add r4, r0, r1
|
|
_0221A65C:
|
|
lsl r1, r2, #1
|
|
ldrh r0, [r5, r1]
|
|
strh r0, [r4, r1]
|
|
add r0, r2, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r2, r0, #0x10
|
|
cmp r2, r3
|
|
blt _0221A65C
|
|
_0221A66C:
|
|
add r0, r6, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r6, r0, #0x10
|
|
mov r0, ip
|
|
cmp r6, r0
|
|
blt _0221A644
|
|
_0221A678:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_0221A67C
|
|
MOD09_0221A67C: ; 0x0221A67C
|
|
cmp r1, #0x10
|
|
bhi _0221A70A
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_0221A68C: ; jump table
|
|
.short _0221A6AE - _0221A68C - 2 ; case 0
|
|
.short _0221A6AE - _0221A68C - 2 ; case 1
|
|
.short _0221A6AE - _0221A68C - 2 ; case 2
|
|
.short _0221A6AE - _0221A68C - 2 ; case 3
|
|
.short _0221A6BE - _0221A68C - 2 ; case 4
|
|
.short _0221A6CC - _0221A68C - 2 ; case 5
|
|
.short _0221A6D8 - _0221A68C - 2 ; case 6
|
|
.short _0221A6D8 - _0221A68C - 2 ; case 7
|
|
.short _0221A6D8 - _0221A68C - 2 ; case 8
|
|
.short _0221A6D8 - _0221A68C - 2 ; case 9
|
|
.short _0221A6D8 - _0221A68C - 2 ; case 10
|
|
.short _0221A6D8 - _0221A68C - 2 ; case 11
|
|
.short _0221A6E4 - _0221A68C - 2 ; case 12
|
|
.short _0221A6F0 - _0221A68C - 2 ; case 13
|
|
.short _0221A6CC - _0221A68C - 2 ; case 14
|
|
.short _0221A6FC - _0221A68C - 2 ; case 15
|
|
.short _0221A6CC - _0221A68C - 2 ; case 16
|
|
_0221A6AE:
|
|
mov r1, #0xca
|
|
lsl r1, r1, #2
|
|
add r1, r0, r1
|
|
mov r0, #0x12
|
|
lsl r0, r0, #4
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_0221A6BE:
|
|
ldr r1, _0221A710 ; =0x00000688
|
|
add r1, r0, r1
|
|
lsl r0, r2, #6
|
|
add r0, r2, r0
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_0221A6CC:
|
|
ldr r1, _0221A714 ; =0x00000A98
|
|
add r1, r0, r1
|
|
mov r0, #0x32
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_0221A6D8:
|
|
ldr r1, _0221A718 ; =0x00000B2E
|
|
add r1, r0, r1
|
|
mov r0, #0xc0
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_0221A6E4:
|
|
ldr r1, _0221A71C ; =0x00000E2E
|
|
add r1, r0, r1
|
|
mov r0, #0x32
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_0221A6F0:
|
|
ldr r1, _0221A720 ; =0x00000EF6
|
|
add r1, r0, r1
|
|
mov r0, #0x32
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_0221A6FC:
|
|
ldr r1, _0221A710 ; =0x00000688
|
|
add r1, r0, r1
|
|
lsl r0, r2, #6
|
|
add r0, r2, r0
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bx lr
|
|
_0221A70A:
|
|
mov r0, #0
|
|
bx lr
|
|
nop
|
|
_0221A710: .word 0x00000688
|
|
_0221A714: .word 0x00000A98
|
|
_0221A718: .word 0x00000B2E
|
|
_0221A71C: .word 0x00000E2E
|
|
_0221A720: .word 0x00000EF6
|
|
|
|
thumb_func_start MOD09_0221A724
|
|
MOD09_0221A724: ; 0x0221A724
|
|
cmp r2, #3
|
|
bne _0221A72C
|
|
mov r0, #5
|
|
bx lr
|
|
_0221A72C:
|
|
cmp r1, #0x10
|
|
bhi _0221A78A
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_0221A73C: ; jump table
|
|
.short _0221A75E - _0221A73C - 2 ; case 0
|
|
.short _0221A75E - _0221A73C - 2 ; case 1
|
|
.short _0221A75E - _0221A73C - 2 ; case 2
|
|
.short _0221A75E - _0221A73C - 2 ; case 3
|
|
.short _0221A762 - _0221A73C - 2 ; case 4
|
|
.short _0221A766 - _0221A73C - 2 ; case 5
|
|
.short _0221A76A - _0221A73C - 2 ; case 6
|
|
.short _0221A76A - _0221A73C - 2 ; case 7
|
|
.short _0221A76A - _0221A73C - 2 ; case 8
|
|
.short _0221A76A - _0221A73C - 2 ; case 9
|
|
.short _0221A76A - _0221A73C - 2 ; case 10
|
|
.short _0221A76A - _0221A73C - 2 ; case 11
|
|
.short _0221A766 - _0221A73C - 2 ; case 12
|
|
.short _0221A766 - _0221A73C - 2 ; case 13
|
|
.short _0221A766 - _0221A73C - 2 ; case 14
|
|
.short _0221A776 - _0221A73C - 2 ; case 15
|
|
.short _0221A766 - _0221A73C - 2 ; case 16
|
|
_0221A75E:
|
|
mov r0, #0
|
|
bx lr
|
|
_0221A762:
|
|
mov r0, #3
|
|
bx lr
|
|
_0221A766:
|
|
mov r0, #2
|
|
bx lr
|
|
_0221A76A:
|
|
ldr r1, _0221A790 ; =0x0000114D
|
|
ldrb r0, [r0, r1]
|
|
add r0, #8
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bx lr
|
|
_0221A776:
|
|
cmp r3, #2
|
|
bne _0221A786
|
|
ldr r1, _0221A790 ; =0x0000114D
|
|
ldrb r0, [r0, r1]
|
|
add r0, #8
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bx lr
|
|
_0221A786:
|
|
mov r0, #1
|
|
bx lr
|
|
_0221A78A:
|
|
mov r0, #0
|
|
bx lr
|
|
nop
|
|
_0221A790: .word 0x0000114D
|
|
|
|
thumb_func_start MOD09_0221A794
|
|
MOD09_0221A794: ; 0x0221A794
|
|
push {r4, r5, r6, r7}
|
|
cmp r2, #0
|
|
bne _0221A7A4
|
|
ldr r2, _0221A7F8 ; =0x00000FBE
|
|
add r2, r0, r2
|
|
lsl r0, r3, #5
|
|
add r0, r2, r0
|
|
b _0221A7CC
|
|
_0221A7A4:
|
|
cmp r2, #1
|
|
bne _0221A7B2
|
|
ldr r2, _0221A7FC ; =0x0000101E
|
|
add r2, r0, r2
|
|
lsl r0, r3, #5
|
|
add r0, r2, r0
|
|
b _0221A7CC
|
|
_0221A7B2:
|
|
cmp r2, #2
|
|
bne _0221A7C0
|
|
ldr r2, _0221A800 ; =0x0000107E
|
|
add r2, r0, r2
|
|
lsl r0, r3, #5
|
|
add r0, r2, r0
|
|
b _0221A7CC
|
|
_0221A7C0:
|
|
cmp r2, #3
|
|
bne _0221A7F4
|
|
ldr r2, _0221A804 ; =0x000010DE
|
|
add r2, r0, r2
|
|
lsl r0, r3, #5
|
|
add r0, r2, r0
|
|
_0221A7CC:
|
|
mov r2, #0
|
|
_0221A7CE:
|
|
lsl r4, r2, #3
|
|
lsl r5, r2, #5
|
|
mov r3, #0
|
|
add r4, r0, r4
|
|
add r5, r1, r5
|
|
_0221A7D8:
|
|
lsl r6, r3, #1
|
|
ldrh r7, [r4, r6]
|
|
add r3, r3, #1
|
|
lsl r3, r3, #0x10
|
|
add r6, r5, r6
|
|
lsr r3, r3, #0x10
|
|
strh r7, [r6, #0xc]
|
|
cmp r3, #4
|
|
blo _0221A7D8
|
|
add r2, r2, #1
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x10
|
|
cmp r2, #4
|
|
blo _0221A7CE
|
|
_0221A7F4:
|
|
pop {r4, r5, r6, r7}
|
|
bx lr
|
|
.align 2, 0
|
|
_0221A7F8: .word 0x00000FBE
|
|
_0221A7FC: .word 0x0000101E
|
|
_0221A800: .word 0x0000107E
|
|
_0221A804: .word 0x000010DE
|
|
|
|
thumb_func_start MOD09_0221A808
|
|
MOD09_0221A808: ; 0x0221A808
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
str r2, [sp, #4]
|
|
str r3, [sp, #8]
|
|
add r5, r1, #0
|
|
ldr r1, [sp, #4]
|
|
ldr r2, [sp, #8]
|
|
str r0, [sp]
|
|
bl MOD09_0221A67C
|
|
add r3, sp, #0x10
|
|
add r4, r0, #0
|
|
ldrb r3, [r3, #0x10]
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #4]
|
|
ldr r2, [sp, #8]
|
|
bl MOD09_0221A724
|
|
lsl r0, r0, #0x1c
|
|
lsr r2, r0, #0x10
|
|
ldr r0, [sp, #4]
|
|
ldr r6, _0221A874 ; =0x0221BF4B
|
|
lsl r3, r0, #2
|
|
ldr r0, _0221A878 ; =0x0221BF4A
|
|
ldrb r6, [r6, r3]
|
|
ldrb r0, [r0, r3]
|
|
mov r1, #0
|
|
mul r6, r0
|
|
cmp r6, #0
|
|
ble _0221A864
|
|
ldr r0, _0221A87C ; =0x0221BF48
|
|
ldr r7, _0221A880 ; =0x00000FFF
|
|
add r3, r0, r3
|
|
_0221A84A:
|
|
lsl r0, r1, #1
|
|
ldrh r6, [r4, r0]
|
|
and r6, r7
|
|
orr r6, r2
|
|
strh r6, [r5, r0]
|
|
add r0, r1, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
ldrb r6, [r3, #2]
|
|
ldrb r0, [r3, #3]
|
|
mul r0, r6
|
|
cmp r1, r0
|
|
blt _0221A84A
|
|
_0221A864:
|
|
ldr r0, [sp]
|
|
ldr r2, [sp, #4]
|
|
ldr r3, [sp, #8]
|
|
add r1, r5, #0
|
|
bl MOD09_0221A794
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0221A874: .word MOD9_0221BF4B
|
|
_0221A878: .word MOD9_0221BF4A
|
|
_0221A87C: .word MOD9_0221BF48
|
|
_0221A880: .word 0x00000FFF
|
|
|
|
thumb_func_start MOD09_0221A884
|
|
MOD09_0221A884: ; 0x0221A884
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
str r1, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
str r3, [sp, #0x14]
|
|
add r5, r0, #0
|
|
ldr r0, [sp, #0xc]
|
|
lsl r4, r0, #2
|
|
ldr r0, _0221A8E8 ; =0x0221BF4B
|
|
ldrb r7, [r0, r4]
|
|
ldr r0, _0221A8EC ; =0x0221BF4A
|
|
ldrb r6, [r0, r4]
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
mul r1, r7
|
|
ldr r0, [r0, #0xc]
|
|
lsl r1, r1, #1
|
|
bl AllocFromHeap
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
str r0, [sp]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r3, [sp, #0x10]
|
|
add r0, r5, #0
|
|
bl MOD09_0221A808
|
|
ldr r0, _0221A8F0 ; =0x0221BF49
|
|
ldr r3, _0221A8F4 ; =0x0221BF48
|
|
ldrb r0, [r0, r4]
|
|
ldrb r3, [r3, r4]
|
|
ldr r2, [sp, #0x18]
|
|
str r0, [sp]
|
|
str r6, [sp, #4]
|
|
str r7, [sp, #8]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #6
|
|
bl LoadRectToBgTilemapRect
|
|
ldr r0, [r5, #4]
|
|
mov r1, #6
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [sp, #0x18]
|
|
bl FreeToHeap
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0221A8E8: .word MOD9_0221BF4B
|
|
_0221A8EC: .word MOD9_0221BF4A
|
|
_0221A8F0: .word MOD9_0221BF49
|
|
_0221A8F4: .word MOD9_0221BF48
|
|
|
|
thumb_func_start MOD09_0221A8F8
|
|
MOD09_0221A8F8: ; 0x0221A8F8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
cmp r1, #6
|
|
blo _0221A916
|
|
cmp r1, #0xb
|
|
bhi _0221A916
|
|
add r0, #0x31
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _0221A916
|
|
add r1, #0xb
|
|
ldr r0, _0221A96C ; =0x0221BF8C
|
|
lsl r1, r1, #2
|
|
ldr r4, [r0, r1]
|
|
b _0221A91C
|
|
_0221A916:
|
|
ldr r0, _0221A96C ; =0x0221BF8C
|
|
lsl r1, r1, #2
|
|
ldr r4, [r0, r1]
|
|
_0221A91C:
|
|
cmp r4, #0
|
|
beq _0221A968
|
|
cmp r2, #0
|
|
beq _0221A92C
|
|
cmp r2, #1
|
|
beq _0221A934
|
|
cmp r2, #2
|
|
bne _0221A93A
|
|
_0221A92C:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r7, #2
|
|
b _0221A93A
|
|
_0221A934:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r7, #4
|
|
_0221A93A:
|
|
mov r5, #0
|
|
_0221A93C:
|
|
ldrb r0, [r4, r5]
|
|
cmp r0, #0xff
|
|
beq _0221A968
|
|
ldr r1, [r6, #0x2c]
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
ldr r1, [sp]
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
bl ScrollWindow
|
|
ldrb r0, [r4, r5]
|
|
ldr r1, [r6, #0x2c]
|
|
lsl r0, r0, #4
|
|
add r0, r1, r0
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
cmp r5, #8
|
|
blo _0221A93C
|
|
_0221A968:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0221A96C: .word MOD9_0221BF8C
|
|
|
|
thumb_func_start MOD09_0221A970
|
|
MOD09_0221A970: ; 0x0221A970
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
cmp r1, #6
|
|
blo _0221A98C
|
|
cmp r1, #0xb
|
|
bhi _0221A98C
|
|
sub r0, r1, #6
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x31
|
|
lsl r0, r0, #4
|
|
ldr r6, [r1, r0]
|
|
b _0221A9B0
|
|
_0221A98C:
|
|
cmp r1, #4
|
|
bne _0221A9D4
|
|
mov r7, #0x31
|
|
mov r4, #0
|
|
lsl r7, r7, #4
|
|
_0221A996:
|
|
lsl r0, r4, #2
|
|
add r0, r5, r0
|
|
ldr r6, [r0, r7]
|
|
add r0, r6, #0
|
|
bl FUN_0200C658
|
|
cmp r0, #0
|
|
bne _0221A9B0
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #6
|
|
blo _0221A996
|
|
_0221A9B0:
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
beq _0221A9BE
|
|
cmp r0, #1
|
|
beq _0221A9CA
|
|
cmp r0, #2
|
|
bne _0221A9D4
|
|
_0221A9BE:
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
mov r2, #2
|
|
bl FUN_0200C82C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0221A9CA:
|
|
mov r1, #0
|
|
add r0, r6, #0
|
|
sub r2, r1, #4
|
|
bl FUN_0200C82C
|
|
_0221A9D4:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_0221A9D8
|
|
MOD09_0221A9D8: ; 0x0221A9D8
|
|
push {r4, r5}
|
|
ldr r3, _0221AA10 ; =0x0000113E
|
|
mov r5, #0
|
|
strb r5, [r0, r3]
|
|
add r4, r3, #1
|
|
strb r5, [r0, r4]
|
|
add r4, r3, #2
|
|
strb r1, [r0, r4]
|
|
add r1, r3, #3
|
|
ldrb r4, [r0, r1]
|
|
mov r1, #0xf0
|
|
bic r4, r1
|
|
lsl r1, r2, #0x1c
|
|
lsr r1, r1, #0x18
|
|
add r2, r4, #0
|
|
orr r2, r1
|
|
add r1, r3, #3
|
|
strb r2, [r0, r1]
|
|
ldrb r2, [r0, r1]
|
|
mov r1, #0xf
|
|
bic r2, r1
|
|
mov r1, #1
|
|
orr r2, r1
|
|
add r1, r3, #3
|
|
strb r2, [r0, r1]
|
|
pop {r4, r5}
|
|
bx lr
|
|
nop
|
|
_0221AA10: .word 0x0000113E
|
|
|
|
thumb_func_start MOD09_0221AA14
|
|
MOD09_0221AA14: ; 0x0221AA14
|
|
push {r4, lr}
|
|
ldr r3, _0221AAE8 ; =0x00001141
|
|
add r4, r0, #0
|
|
ldrb r1, [r4, r3]
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x1c
|
|
beq _0221AAE4
|
|
sub r1, r3, #3
|
|
ldrb r1, [r4, r1]
|
|
cmp r1, #0
|
|
beq _0221AA34
|
|
cmp r1, #1
|
|
beq _0221AA6C
|
|
cmp r1, #2
|
|
beq _0221AAA4
|
|
pop {r4, pc}
|
|
_0221AA34:
|
|
sub r1, r3, #1
|
|
add r3, #0xb
|
|
ldrb r1, [r4, r1]
|
|
ldrb r3, [r4, r3]
|
|
mov r2, #1
|
|
bl MOD09_0221A884
|
|
mov r1, #0x45
|
|
lsl r1, r1, #6
|
|
ldrb r1, [r4, r1]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl MOD09_0221A8F8
|
|
mov r1, #0x45
|
|
lsl r1, r1, #6
|
|
ldrb r1, [r4, r1]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl MOD09_0221A970
|
|
ldr r0, _0221AAEC ; =0x0000113F
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
mov r1, #1
|
|
sub r0, r0, #1
|
|
strb r1, [r4, r0]
|
|
pop {r4, pc}
|
|
_0221AA6C:
|
|
sub r1, r3, #1
|
|
add r3, #0xb
|
|
ldrb r1, [r4, r1]
|
|
ldrb r3, [r4, r3]
|
|
mov r2, #2
|
|
bl MOD09_0221A884
|
|
mov r1, #0x45
|
|
lsl r1, r1, #6
|
|
ldrb r1, [r4, r1]
|
|
add r0, r4, #0
|
|
mov r2, #2
|
|
bl MOD09_0221A8F8
|
|
mov r1, #0x45
|
|
lsl r1, r1, #6
|
|
ldrb r1, [r4, r1]
|
|
add r0, r4, #0
|
|
mov r2, #2
|
|
bl MOD09_0221A970
|
|
ldr r0, _0221AAEC ; =0x0000113F
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
mov r1, #2
|
|
sub r0, r0, #1
|
|
strb r1, [r4, r0]
|
|
pop {r4, pc}
|
|
_0221AAA4:
|
|
sub r1, r3, #1
|
|
add r3, #0xb
|
|
ldrb r1, [r4, r1]
|
|
ldrb r3, [r4, r3]
|
|
mov r2, #0
|
|
bl MOD09_0221A884
|
|
mov r1, #0x45
|
|
lsl r1, r1, #6
|
|
ldrb r1, [r4, r1]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl MOD09_0221A8F8
|
|
mov r1, #0x45
|
|
lsl r1, r1, #6
|
|
ldrb r1, [r4, r1]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl MOD09_0221A970
|
|
ldr r0, _0221AAEC ; =0x0000113F
|
|
mov r2, #0
|
|
strb r2, [r4, r0]
|
|
sub r1, r0, #1
|
|
strb r2, [r4, r1]
|
|
add r1, r0, #2
|
|
ldrb r2, [r4, r1]
|
|
mov r1, #0xf
|
|
add r0, r0, #2
|
|
bic r2, r1
|
|
strb r2, [r4, r0]
|
|
_0221AAE4:
|
|
pop {r4, pc}
|
|
nop
|
|
_0221AAE8: .word 0x00001141
|
|
_0221AAEC: .word 0x0000113F
|
|
|
|
thumb_func_start MOD09_0221AAF0
|
|
MOD09_0221AAF0: ; 0x0221AAF0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
beq _0221AB02
|
|
cmp r6, #1
|
|
beq _0221AB60
|
|
cmp r6, #2
|
|
beq _0221ABE6
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0221AB02:
|
|
mov r1, #0
|
|
add r2, r1, #0
|
|
add r3, r6, #0
|
|
bl MOD09_0221A884
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl MOD09_0221A884
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl MOD09_0221A884
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl MOD09_0221A884
|
|
ldr r0, [r5]
|
|
ldrh r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
bne _0221AB46
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
mov r2, #3
|
|
add r3, r6, #0
|
|
bl MOD09_0221A884
|
|
b _0221AB52
|
|
_0221AB46:
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl MOD09_0221A884
|
|
_0221AB52:
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl MOD09_0221A884
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0221AB60:
|
|
mov r4, #0
|
|
mov r7, #3
|
|
_0221AB64:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD09_02219D94
|
|
cmp r0, #0
|
|
bne _0221AB82
|
|
add r1, r4, #6
|
|
lsl r1, r1, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
add r2, r7, #0
|
|
add r3, r6, #0
|
|
bl MOD09_0221A884
|
|
b _0221AB92
|
|
_0221AB82:
|
|
add r1, r4, #6
|
|
lsl r1, r1, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl MOD09_0221A884
|
|
_0221AB92:
|
|
add r4, r4, #1
|
|
cmp r4, #6
|
|
blo _0221AB64
|
|
ldr r0, _0221AC00 ; =0x0000114D
|
|
ldrb r1, [r5, r0]
|
|
add r0, r0, #7
|
|
add r1, r5, r1
|
|
ldrb r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _0221ABC0
|
|
add r0, r5, #0
|
|
mov r1, #0xc
|
|
mov r2, #3
|
|
add r3, r6, #0
|
|
bl MOD09_0221A884
|
|
add r0, r5, #0
|
|
mov r1, #0xd
|
|
mov r2, #3
|
|
add r3, r6, #0
|
|
bl MOD09_0221A884
|
|
b _0221ABD8
|
|
_0221ABC0:
|
|
add r0, r5, #0
|
|
mov r1, #0xc
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl MOD09_0221A884
|
|
add r0, r5, #0
|
|
mov r1, #0xd
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl MOD09_0221A884
|
|
_0221ABD8:
|
|
add r0, r5, #0
|
|
mov r1, #0xe
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl MOD09_0221A884
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0221ABE6:
|
|
mov r1, #0xf
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl MOD09_0221A884
|
|
add r0, r5, #0
|
|
mov r1, #0x10
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl MOD09_0221A884
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0221AC00: .word 0x0000114D
|
|
|
|
thumb_func_start MOD09_0221AC04
|
|
MOD09_0221AC04: ; 0x0221AC04
|
|
push {r3, lr}
|
|
mov r1, #0x10
|
|
bl AllocFromHeap
|
|
add r3, r0, #0
|
|
mov r2, #0x10
|
|
mov r1, #0
|
|
_0221AC12:
|
|
strb r1, [r3]
|
|
add r3, r3, #1
|
|
sub r2, r2, #1
|
|
bne _0221AC12
|
|
pop {r3, pc}
|
|
|
|
thumb_func_start MOD09_0221AC1C
|
|
MOD09_0221AC1C: ; 0x0221AC1C
|
|
ldr r3, _0221AC20 ; =FreeToHeap
|
|
bx r3
|
|
.align 2, 0
|
|
_0221AC20: .word FreeToHeap
|
|
|
|
thumb_func_start MOD09_0221AC24
|
|
MOD09_0221AC24: ; 0x0221AC24
|
|
ldr r0, [r0]
|
|
bx lr
|
|
|
|
thumb_func_start MOD09_0221AC28
|
|
MOD09_0221AC28: ; 0x0221AC28
|
|
ldrb r0, [r0, #8]
|
|
bx lr
|
|
|
|
thumb_func_start MOD09_0221AC2C
|
|
MOD09_0221AC2C: ; 0x0221AC2C
|
|
strb r1, [r0, #8]
|
|
bx lr
|
|
|
|
thumb_func_start MOD09_0221AC30
|
|
MOD09_0221AC30: ; 0x0221AC30
|
|
str r1, [r0]
|
|
bx lr
|
|
|
|
thumb_func_start MOD09_0221AC34
|
|
MOD09_0221AC34: ; 0x0221AC34
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
strb r1, [r0, #9]
|
|
ldrb r1, [r0, #8]
|
|
cmp r1, #1
|
|
bne _0221AC58
|
|
ldrb r1, [r0, #9]
|
|
ldr r2, [r0, #4]
|
|
lsl r4, r1, #3
|
|
add r3, r2, r4
|
|
ldrb r1, [r3, #3]
|
|
str r1, [sp]
|
|
ldrb r1, [r2, r4]
|
|
ldrb r2, [r3, #2]
|
|
ldrb r3, [r3, #1]
|
|
ldr r0, [r0]
|
|
bl MOD11_0225D5DC
|
|
_0221AC58:
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
|
|
thumb_func_start MOD09_0221AC5C
|
|
MOD09_0221AC5C: ; 0x0221AC5C
|
|
mov r1, #0
|
|
strb r1, [r0, #9]
|
|
mov r1, #0xff
|
|
strb r1, [r0, #0xa]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start MOD09_0221AC68
|
|
MOD09_0221AC68: ; 0x0221AC68
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
bl MOD09_0221AC5C
|
|
mov r0, #0
|
|
str r5, [r4, #4]
|
|
mvn r0, r0
|
|
str r0, [r4, #0xc]
|
|
ldrb r0, [r4, #8]
|
|
cmp r0, #1
|
|
bne _0221AC92
|
|
ldr r3, [r4, #4]
|
|
ldrb r0, [r3, #3]
|
|
str r0, [sp]
|
|
ldrb r1, [r3]
|
|
ldrb r2, [r3, #2]
|
|
ldrb r3, [r3, #1]
|
|
ldr r0, [r4]
|
|
bl MOD11_0225D5DC
|
|
_0221AC92:
|
|
pop {r3, r4, r5, pc}
|
|
|
|
thumb_func_start MOD09_0221AC94
|
|
MOD09_0221AC94: ; 0x0221AC94
|
|
str r1, [r0, #0xc]
|
|
bx lr
|
|
|
|
thumb_func_start MOD09_0221AC98
|
|
MOD09_0221AC98: ; 0x0221AC98
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldrb r1, [r0, #8]
|
|
cmp r1, #1
|
|
bne _0221ACA8
|
|
add sp, #4
|
|
mov r0, #1
|
|
pop {r3, r4, pc}
|
|
_0221ACA8:
|
|
ldr r1, _0221ACDC ; =gMain
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #0xf3
|
|
tst r1, r2
|
|
beq _0221ACD4
|
|
mov r1, #1
|
|
strb r1, [r0, #8]
|
|
ldrb r1, [r0, #9]
|
|
ldr r2, [r0, #4]
|
|
lsl r4, r1, #3
|
|
add r3, r2, r4
|
|
ldrb r1, [r3, #3]
|
|
str r1, [sp]
|
|
ldrb r1, [r2, r4]
|
|
ldrb r2, [r3, #2]
|
|
ldrb r3, [r3, #1]
|
|
ldr r0, [r0]
|
|
bl MOD11_0225D5DC
|
|
ldr r0, _0221ACE0 ; =0x000005DC
|
|
bl PlaySE
|
|
_0221ACD4:
|
|
mov r0, #0
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_0221ACDC: .word gMain
|
|
_0221ACE0: .word 0x000005DC
|
|
|
|
thumb_func_start MOD09_0221ACE4
|
|
MOD09_0221ACE4: ; 0x0221ACE4
|
|
cmp r1, #3
|
|
bhi _0221AD2C
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_0221ACF4: ; jump table
|
|
.short _0221ACFC - _0221ACF4 - 2 ; case 0
|
|
.short _0221AD08 - _0221ACF4 - 2 ; case 1
|
|
.short _0221AD14 - _0221ACF4 - 2 ; case 2
|
|
.short _0221AD20 - _0221ACF4 - 2 ; case 3
|
|
_0221ACFC:
|
|
ldrb r1, [r0, #5]
|
|
mov r0, #0x80
|
|
tst r0, r1
|
|
beq _0221AD2C
|
|
mov r0, #1
|
|
bx lr
|
|
_0221AD08:
|
|
ldrb r1, [r0, #4]
|
|
mov r0, #0x80
|
|
tst r0, r1
|
|
beq _0221AD2C
|
|
mov r0, #1
|
|
bx lr
|
|
_0221AD14:
|
|
ldrb r1, [r0, #7]
|
|
mov r0, #0x80
|
|
tst r0, r1
|
|
beq _0221AD2C
|
|
mov r0, #1
|
|
bx lr
|
|
_0221AD20:
|
|
ldrb r1, [r0, #6]
|
|
mov r0, #0x80
|
|
tst r0, r1
|
|
beq _0221AD2C
|
|
mov r0, #1
|
|
bx lr
|
|
_0221AD2C:
|
|
mov r0, #0
|
|
bx lr
|
|
|
|
thumb_func_start MOD09_0221AD30
|
|
MOD09_0221AD30: ; 0x0221AD30
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
bl MOD09_0221AC98
|
|
cmp r0, #0
|
|
bne _0221AD46
|
|
mov r0, #0
|
|
add sp, #0x14
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0221AD46:
|
|
ldr r0, _0221AEBC ; =gMain
|
|
mov r1, #0x40
|
|
ldr r0, [r0, #0x48]
|
|
tst r1, r0
|
|
beq _0221AD6A
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldrb r0, [r5, #9]
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r5, #4]
|
|
bl FUN_0201C638
|
|
add r4, r0, #0
|
|
mov r6, #0
|
|
b _0221ADD2
|
|
_0221AD6A:
|
|
mov r1, #0x80
|
|
tst r1, r0
|
|
beq _0221AD8C
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldrb r0, [r5, #9]
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, #4]
|
|
bl FUN_0201C638
|
|
add r4, r0, #0
|
|
mov r6, #1
|
|
b _0221ADD2
|
|
_0221AD8C:
|
|
mov r1, #0x20
|
|
tst r1, r0
|
|
beq _0221ADAE
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldrb r0, [r5, #9]
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, #4]
|
|
bl FUN_0201C638
|
|
add r4, r0, #0
|
|
mov r6, #2
|
|
b _0221ADD2
|
|
_0221ADAE:
|
|
mov r1, #0x10
|
|
tst r0, r1
|
|
beq _0221ADD0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldrb r0, [r5, #9]
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #3
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, #4]
|
|
bl FUN_0201C638
|
|
add r4, r0, #0
|
|
mov r6, #3
|
|
b _0221ADD2
|
|
_0221ADD0:
|
|
mov r4, #0xff
|
|
_0221ADD2:
|
|
cmp r4, #0xff
|
|
beq _0221AE92
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x80
|
|
add r1, r4, #0
|
|
tst r1, r0
|
|
beq _0221ADF2
|
|
ldrb r1, [r5, #0xa]
|
|
cmp r1, #0xff
|
|
beq _0221ADEC
|
|
add r4, r1, #0
|
|
b _0221ADF2
|
|
_0221ADEC:
|
|
eor r0, r4
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
_0221ADF2:
|
|
mov r7, #0
|
|
_0221ADF4:
|
|
mov r0, #1
|
|
ldr r1, [r5, #0xc]
|
|
lsl r0, r4
|
|
tst r0, r1
|
|
bne _0221AE2C
|
|
str r7, [sp, #0xc]
|
|
str r7, [sp]
|
|
str r4, [sp, #4]
|
|
str r6, [sp, #8]
|
|
ldr r0, [r5, #4]
|
|
add r1, r7, #0
|
|
add r2, r7, #0
|
|
add r3, r7, #0
|
|
bl FUN_0201C638
|
|
mov r1, #0x7f
|
|
and r0, r1
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
cmp r1, r4
|
|
beq _0221AE24
|
|
ldrb r0, [r5, #9]
|
|
cmp r1, r0
|
|
bne _0221AE28
|
|
_0221AE24:
|
|
ldrb r4, [r5, #9]
|
|
b _0221AE2C
|
|
_0221AE28:
|
|
add r4, r1, #0
|
|
b _0221ADF4
|
|
_0221AE2C:
|
|
ldrb r0, [r5, #9]
|
|
cmp r0, r4
|
|
beq _0221AE8A
|
|
ldr r0, [r5, #4]
|
|
lsl r7, r4, #3
|
|
add r1, sp, #0x10
|
|
add r2, sp, #0x10
|
|
add r0, r0, r7
|
|
add r1, #3
|
|
add r2, #2
|
|
bl FUN_0201C620
|
|
ldr r0, [r5, #4]
|
|
add r1, sp, #0x10
|
|
add r0, r0, r7
|
|
add r1, #1
|
|
add r2, sp, #0x10
|
|
bl FUN_0201C62C
|
|
ldr r0, [r5, #4]
|
|
add r1, r6, #0
|
|
add r0, r0, r7
|
|
bl MOD09_0221ACE4
|
|
cmp r0, #1
|
|
bne _0221AE6C
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
beq _0221AE6C
|
|
ldrb r0, [r5, #9]
|
|
strb r0, [r5, #0xa]
|
|
b _0221AE70
|
|
_0221AE6C:
|
|
mov r0, #0xff
|
|
strb r0, [r5, #0xa]
|
|
_0221AE70:
|
|
strb r4, [r5, #9]
|
|
add r3, sp, #0x10
|
|
ldrb r0, [r3]
|
|
str r0, [sp]
|
|
ldrb r1, [r3, #3]
|
|
ldrb r2, [r3, #1]
|
|
ldrb r3, [r3, #2]
|
|
ldr r0, [r5]
|
|
bl MOD11_0225D5DC
|
|
ldr r0, _0221AEC0 ; =0x000005DC
|
|
bl PlaySE
|
|
_0221AE8A:
|
|
mov r0, #0
|
|
add sp, #0x14
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0221AE92:
|
|
ldr r0, _0221AEBC ; =gMain
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _0221AEA2
|
|
add sp, #0x14
|
|
ldrb r0, [r5, #9]
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0221AEA2:
|
|
mov r0, #2
|
|
tst r1, r0
|
|
beq _0221AEB6
|
|
ldr r0, _0221AEC4 ; =0x000005DD
|
|
bl PlaySE
|
|
mov r0, #1
|
|
add sp, #0x14
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0221AEB6:
|
|
sub r0, r0, #3
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0221AEBC: .word gMain
|
|
_0221AEC0: .word 0x000005DC
|
|
_0221AEC4: .word 0x000005DD
|
|
|
|
.rodata
|
|
.global MOD9_0221AEC8
|
|
MOD9_0221AEC8: ; 0x0221AEC8
|
|
.byte 0x00, 0x02, 0x04, 0x01, 0x03, 0x05, 0x00, 0x00
|
|
|
|
.global MOD9_0221AED0
|
|
MOD9_0221AED0: ; 0x0221AED0
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221AEE0
|
|
MOD9_0221AEE0: ; 0x0221AEE0
|
|
.byte 0x98, 0xBF, 0x00, 0xCF, 0x00, 0x27, 0xB8, 0xFF, 0x98, 0xBF, 0xD8, 0xFF, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221AEF0
|
|
MOD9_0221AEF0: ; 0x0221AEF0
|
|
.byte 0x08, 0x8F, 0x08, 0xF7, 0x98, 0xBF, 0x00, 0x67, 0x98, 0xBF, 0x68, 0xCF, 0x98, 0xBF, 0xD8, 0xFF
|
|
.byte 0xFF, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221AF04
|
|
MOD9_0221AF04: ; 0x0221AF04
|
|
.byte 0x98, 0xBF, 0x00, 0x27, 0x98, 0xBF, 0x28, 0x4F, 0x98, 0xBF, 0x60, 0xC7, 0x98, 0xBF, 0xD8, 0xFF
|
|
.byte 0xFF, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221AF18
|
|
MOD9_0221AF18: ; 0x0221AF18
|
|
.byte 0x98, 0xA7, 0x58, 0x7F, 0x98, 0xA7, 0x80, 0xA7, 0xA8, 0xB7, 0x58, 0x7F, 0xA8, 0xB7, 0x80, 0xA7
|
|
.byte 0x98, 0xBF, 0xD8, 0xFF, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221AF30
|
|
MOD9_0221AF30: ; 0x0221AF30
|
|
.byte 0x30, 0x5F, 0x00, 0x7F, 0x30, 0x5F, 0x80, 0xFF, 0x60, 0x8F, 0x00, 0x7F, 0x60, 0x8F, 0x80, 0xFF
|
|
.byte 0x98, 0xBF, 0xD8, 0xFF, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221AF48
|
|
MOD9_0221AF48: ; 0x0221AF48
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221AF64
|
|
MOD9_0221AF64: ; 0x0221AF64
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x03, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221AF80
|
|
MOD9_0221AF80: ; 0x0221AF80
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221AF9C
|
|
MOD9_0221AF9C: ; 0x0221AF9C
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x02, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221AFB8
|
|
MOD9_0221AFB8: ; 0x0221AFB8
|
|
.byte 0x00, 0x2F, 0x00, 0x7F, 0x08, 0x37, 0x80, 0xFF, 0x30, 0x5F, 0x00, 0x7F, 0x38, 0x67, 0x80, 0xFF
|
|
.byte 0x60, 0x8F, 0x00, 0x7F, 0x68, 0x97, 0x80, 0xFF, 0x98, 0xBF, 0xD8, 0xFF, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221AFD8
|
|
MOD9_0221AFD8: ; 0x0221AFD8
|
|
.byte 0x30, 0x5F, 0x00, 0x7F, 0x30, 0x5F, 0x80, 0xFF, 0x60, 0x8F, 0x00, 0x7F, 0x60, 0x8F, 0x80, 0xFF
|
|
.byte 0x90, 0xBF, 0x40, 0xBF, 0x00, 0x27, 0xB8, 0xFF, 0x98, 0xBF, 0xD8, 0xFF, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221AFF8
|
|
MOD9_0221AFF8: ; 0x0221AFF8
|
|
.byte 0x30, 0x5F, 0x00, 0x7F, 0x30, 0x5F, 0x80, 0xFF, 0x60, 0x8F, 0x00, 0x7F, 0x60, 0x8F, 0x80, 0xFF
|
|
.byte 0x98, 0xBF, 0x00, 0x27, 0x98, 0xBF, 0x28, 0x4F, 0x98, 0xBF, 0x60, 0xC7, 0x98, 0xBF, 0xD8, 0xFF
|
|
.byte 0xFF, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221B01C
|
|
MOD9_0221B01C: ; 0x0221B01C
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221B06C
|
|
MOD9_0221B06C: ; 0x0221B06C
|
|
.byte 0x04, 0x02, 0x15, 0x16, 0x02, 0x0F, 0x1F, 0x00, 0x04, 0x02, 0x13, 0x1B, 0x04, 0x0F, 0x1F, 0x00
|
|
|
|
.global MOD9_0221B07C
|
|
MOD9_0221B07C: ; 0x0221B07C
|
|
.byte 0x3D, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
.byte 0x49, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221B090
|
|
MOD9_0221B090: ; 0x0221B090
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221B0A8
|
|
MOD9_0221B0A8: ; 0x0221B0A8
|
|
.byte 0x05, 0x0A, 0x04, 0x0C, 0x03, 0x09, 0x01, 0x00, 0x05, 0x0B, 0x0C, 0x0A, 0x03, 0x09, 0x25, 0x00
|
|
.byte 0x05, 0x01, 0x14, 0x0B, 0x03, 0x09, 0x43, 0x00, 0x05, 0x0E, 0x14, 0x0B, 0x03, 0x09, 0x64, 0x00
|
|
|
|
.global MOD9_0221B0C8
|
|
MOD9_0221B0C8: ; 0x0221B0C8
|
|
.byte 0x04, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x8B, 0x00, 0x04, 0x01, 0x06, 0x0E, 0x05, 0x09, 0x9D, 0x00
|
|
.byte 0x04, 0x11, 0x06, 0x0E, 0x05, 0x09, 0xE3, 0x00, 0x04, 0x01, 0x0C, 0x0E, 0x05, 0x09, 0x29, 0x01
|
|
.byte 0x04, 0x11, 0x0C, 0x0E, 0x05, 0x09, 0x6F, 0x01
|
|
|
|
.global MOD9_0221B0F0
|
|
MOD9_0221B0F0: ; 0x0221B0F0
|
|
.byte 0x04, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x85, 0x00, 0x04, 0x01, 0x06, 0x0E, 0x05, 0x09, 0x97, 0x00
|
|
.byte 0x04, 0x11, 0x06, 0x0E, 0x05, 0x09, 0xDD, 0x00, 0x04, 0x01, 0x0C, 0x0E, 0x05, 0x09, 0x23, 0x01
|
|
.byte 0x04, 0x11, 0x0C, 0x0E, 0x05, 0x09, 0x69, 0x01, 0x04, 0x09, 0x12, 0x0E, 0x05, 0x09, 0xAF, 0x01
|
|
|
|
.global MOD9_0221B120
|
|
MOD9_0221B120: ; 0x0221B120
|
|
.byte 0x05, 0x00, 0x00, 0x0F, 0x05, 0x09, 0x85, 0x00, 0x05, 0x10, 0x01, 0x0F, 0x05, 0x09, 0xD0, 0x00
|
|
.byte 0x05, 0x00, 0x06, 0x0F, 0x05, 0x09, 0x1B, 0x01, 0x05, 0x10, 0x07, 0x0F, 0x05, 0x09, 0x66, 0x01
|
|
.byte 0x05, 0x00, 0x0C, 0x0F, 0x05, 0x09, 0xB1, 0x01, 0x05, 0x10, 0x0D, 0x0F, 0x05, 0x09, 0xFC, 0x01
|
|
|
|
.global MOD9_0221B150
|
|
MOD9_0221B150: ; 0x0221B150
|
|
.byte 0x05, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x01, 0x00, 0x05, 0x04, 0x08, 0x0B, 0x02, 0x0D, 0x13, 0x00
|
|
.byte 0x05, 0x14, 0x08, 0x02, 0x02, 0x0D, 0x29, 0x00, 0x05, 0x17, 0x08, 0x05, 0x02, 0x0D, 0x2D, 0x00
|
|
.byte 0x05, 0x02, 0x0B, 0x0C, 0x02, 0x0D, 0x45, 0x01, 0x05, 0x10, 0x0B, 0x0F, 0x06, 0x0D, 0x5D, 0x01
|
|
.byte 0x05, 0x07, 0x14, 0x0C, 0x03, 0x09, 0x37, 0x00
|
|
|
|
.global MOD9_0221B188
|
|
MOD9_0221B188: ; 0x0221B188
|
|
.byte 0x05, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x25, 0x01, 0x05, 0x01, 0x06, 0x0E, 0x05, 0x09, 0x49, 0x01
|
|
.byte 0x05, 0x11, 0x06, 0x0E, 0x05, 0x09, 0x8F, 0x01, 0x05, 0x01, 0x0C, 0x0E, 0x05, 0x09, 0xD5, 0x01
|
|
.byte 0x05, 0x11, 0x0C, 0x0E, 0x05, 0x09, 0x1B, 0x02, 0x05, 0x0D, 0x14, 0x0B, 0x03, 0x09, 0x04, 0x01
|
|
.byte 0x05, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x37, 0x01, 0x05, 0x01, 0x06, 0x0E, 0x05, 0x09, 0x61, 0x02
|
|
.byte 0x05, 0x11, 0x06, 0x0E, 0x05, 0x09, 0xA7, 0x02, 0x05, 0x01, 0x0C, 0x0E, 0x05, 0x09, 0xED, 0x02
|
|
.byte 0x05, 0x11, 0x0C, 0x0E, 0x05, 0x09, 0x33, 0x03
|
|
|
|
.global MOD9_0221B1E0
|
|
MOD9_0221B1E0: ; 0x0221B1E0
|
|
.byte 0x05, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x01, 0x00, 0x05, 0x04, 0x05, 0x0B, 0x02, 0x0D, 0x13, 0x00
|
|
.byte 0x05, 0x14, 0x05, 0x02, 0x02, 0x0D, 0x29, 0x00, 0x05, 0x17, 0x05, 0x05, 0x02, 0x0D, 0x2D, 0x00
|
|
.byte 0x05, 0x01, 0x10, 0x08, 0x02, 0x0D, 0x5B, 0x00, 0x05, 0x01, 0x0D, 0x08, 0x02, 0x0D, 0x6B, 0x00
|
|
.byte 0x05, 0x0A, 0x10, 0x03, 0x02, 0x0D, 0x7B, 0x00, 0x05, 0x0A, 0x0D, 0x03, 0x02, 0x0D, 0x81, 0x00
|
|
.byte 0x05, 0x10, 0x08, 0x0F, 0x0A, 0x0D, 0x87, 0x00, 0x05, 0x01, 0x08, 0x0C, 0x02, 0x0D, 0x1D, 0x01
|
|
.byte 0x05, 0x06, 0x0A, 0x08, 0x02, 0x0D, 0x35, 0x01, 0x05, 0x07, 0x14, 0x0C, 0x03, 0x09, 0x37, 0x00
|
|
|
|
.global MOD9_0221B240
|
|
MOD9_0221B240: ; 0x0221B240
|
|
.byte 0x04, 0x04, 0x05, 0x0B, 0x02, 0x0D, 0x9D, 0x00, 0x04, 0x17, 0x05, 0x05, 0x02, 0x0D, 0xB7, 0x00
|
|
.byte 0x04, 0x0A, 0x10, 0x03, 0x02, 0x0D, 0xE1, 0x00, 0x04, 0x0A, 0x0D, 0x03, 0x02, 0x0D, 0xE7, 0x00
|
|
.byte 0x04, 0x10, 0x08, 0x0F, 0x0A, 0x0D, 0xED, 0x00, 0x04, 0x06, 0x0A, 0x08, 0x02, 0x0D, 0x9B, 0x01
|
|
.byte 0x04, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x8B, 0x00, 0x04, 0x14, 0x05, 0x02, 0x02, 0x0D, 0xB3, 0x00
|
|
.byte 0x04, 0x01, 0x10, 0x08, 0x02, 0x0D, 0xC1, 0x00, 0x04, 0x01, 0x0D, 0x08, 0x02, 0x0D, 0xD1, 0x00
|
|
.byte 0x04, 0x01, 0x08, 0x0C, 0x02, 0x0D, 0x83, 0x01, 0x04, 0x04, 0x05, 0x0B, 0x02, 0x0D, 0xAB, 0x01
|
|
.byte 0x04, 0x17, 0x05, 0x05, 0x02, 0x0D, 0xC1, 0x01, 0x04, 0x0A, 0x10, 0x03, 0x02, 0x0D, 0xCB, 0x01
|
|
.byte 0x04, 0x0A, 0x0D, 0x03, 0x02, 0x0D, 0xD1, 0x01, 0x04, 0x10, 0x08, 0x0F, 0x0A, 0x0D, 0xD7, 0x01
|
|
.byte 0x04, 0x06, 0x0A, 0x08, 0x02, 0x0D, 0x6D, 0x02
|
|
|
|
.global MOD9_0221B2C8
|
|
MOD9_0221B2C8: ; 0x0221B2C8
|
|
.byte 0x05, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x25, 0x01, 0x05, 0x01, 0x09, 0x0B, 0x02, 0x0D, 0x49, 0x01
|
|
.byte 0x05, 0x01, 0x0B, 0x12, 0x04, 0x0D, 0x5F, 0x01, 0x05, 0x04, 0x10, 0x0C, 0x02, 0x0D, 0xA7, 0x01
|
|
.byte 0x05, 0x18, 0x04, 0x07, 0x02, 0x0D, 0xBF, 0x01, 0x05, 0x1C, 0x07, 0x03, 0x02, 0x0D, 0xCD, 0x01
|
|
.byte 0x05, 0x1C, 0x09, 0x03, 0x02, 0x0D, 0xD3, 0x01, 0x05, 0x1C, 0x0F, 0x03, 0x02, 0x0D, 0xD9, 0x01
|
|
.byte 0x05, 0x1C, 0x0B, 0x03, 0x02, 0x0D, 0xDF, 0x01, 0x05, 0x1C, 0x0D, 0x03, 0x02, 0x0D, 0xE5, 0x01
|
|
.byte 0x05, 0x19, 0x06, 0x06, 0x01, 0x09, 0xEB, 0x01, 0x05, 0x05, 0x04, 0x03, 0x02, 0x0D, 0xF1, 0x01
|
|
.byte 0x05, 0x0D, 0x06, 0x06, 0x02, 0x0D, 0xF7, 0x01, 0x05, 0x15, 0x04, 0x02, 0x02, 0x0D, 0x85, 0x00
|
|
.byte 0x05, 0x15, 0x07, 0x06, 0x02, 0x0D, 0x89, 0x00, 0x05, 0x15, 0x09, 0x06, 0x02, 0x0D, 0x95, 0x00
|
|
.byte 0x05, 0x15, 0x0F, 0x06, 0x02, 0x0D, 0xA1, 0x00, 0x05, 0x15, 0x0B, 0x06, 0x02, 0x0D, 0xAD, 0x00
|
|
.byte 0x05, 0x15, 0x0D, 0x06, 0x02, 0x0D, 0xB9, 0x00, 0x05, 0x01, 0x04, 0x04, 0x02, 0x0D, 0xC5, 0x00
|
|
.byte 0x05, 0x01, 0x06, 0x0B, 0x02, 0x0D, 0xCD, 0x00, 0x05, 0x0D, 0x14, 0x0B, 0x03, 0x09, 0xE3, 0x00
|
|
.byte 0x05, 0x05, 0x01, 0x09, 0x02, 0x0D, 0x37, 0x01, 0x05, 0x01, 0x09, 0x0B, 0x02, 0x0D, 0x61, 0x02
|
|
.byte 0x05, 0x01, 0x0B, 0x12, 0x04, 0x0D, 0x77, 0x02, 0x05, 0x04, 0x10, 0x0C, 0x02, 0x0D, 0xBF, 0x02
|
|
.byte 0x05, 0x18, 0x04, 0x07, 0x02, 0x0D, 0xD7, 0x02, 0x05, 0x1C, 0x07, 0x03, 0x02, 0x0D, 0xE5, 0x02
|
|
.byte 0x05, 0x1C, 0x09, 0x03, 0x02, 0x0D, 0xEB, 0x02, 0x05, 0x1C, 0x0F, 0x03, 0x02, 0x0D, 0xF1, 0x02
|
|
.byte 0x05, 0x1C, 0x0B, 0x03, 0x02, 0x0D, 0xF7, 0x02, 0x05, 0x1C, 0x0D, 0x03, 0x02, 0x0D, 0xFD, 0x02
|
|
.byte 0x05, 0x19, 0x06, 0x06, 0x01, 0x09, 0x03, 0x03, 0x05, 0x05, 0x04, 0x03, 0x02, 0x0D, 0x09, 0x03
|
|
.byte 0x05, 0x0D, 0x06, 0x06, 0x02, 0x0D, 0x0F, 0x03, 0x18, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x88, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0xC6, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x88, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x88, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221B450
|
|
MOD9_0221B450: ; 0x0221B450
|
|
.byte 0x82, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221B460
|
|
MOD9_0221B460: ; 0x0221B460
|
|
.byte 0x82, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221B470
|
|
MOD9_0221B470: ; 0x0221B470
|
|
.byte 0x82, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221B480
|
|
MOD9_0221B480: ; 0x0221B480
|
|
.byte 0x82, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221B490
|
|
MOD9_0221B490: ; 0x0221B490
|
|
.byte 0x82, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221B4A0
|
|
MOD9_0221B4A0: ; 0x0221B4A0
|
|
.byte 0x08, 0xA0, 0xC8, 0xB8, 0x01, 0x00, 0x00, 0x02, 0xC0, 0x08, 0xF8, 0x18, 0x01, 0x82, 0x00, 0x01
|
|
.byte 0xE0, 0xA0, 0xF8, 0xB8, 0x01, 0x02, 0x00, 0x02
|
|
|
|
.global MOD9_0221B4B8
|
|
MOD9_0221B4B8: ; 0x0221B4B8
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221B4D0
|
|
MOD9_0221B4D0: ; 0x0221B4D0
|
|
.byte 0x08, 0xA0, 0x20, 0xB8, 0x00, 0x00, 0x00, 0x01
|
|
.byte 0x30, 0xA0, 0x48, 0xB8, 0x01, 0x01, 0x00, 0x02, 0x68, 0xA0, 0xC0, 0xB8, 0x02, 0x02, 0x01, 0x03
|
|
.byte 0xE0, 0xA0, 0xF8, 0xB8, 0x03, 0x03, 0x02, 0x03
|
|
|
|
.global MOD9_0221B4F0
|
|
MOD9_0221B4F0: ; 0x0221B4F0
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221B510
|
|
MOD9_0221B510: ; 0x0221B510
|
|
.byte 0x10, 0x10, 0xF0, 0x88, 0x00, 0x81, 0x00, 0x00, 0x08, 0xA0, 0x60, 0xB8, 0x00, 0x01, 0x01, 0x02
|
|
.byte 0x70, 0xA0, 0xC8, 0xB8, 0x00, 0x02, 0x01, 0x03, 0xE0, 0xA0, 0xF8, 0xB8, 0x00, 0x03, 0x02, 0x03
|
|
|
|
.global MOD9_0221B530
|
|
MOD9_0221B530: ; 0x0221B530
|
|
.byte 0x5C, 0x9D, 0x7C, 0xA5, 0x00, 0x02, 0x00, 0x01, 0x84, 0x9D, 0xA4, 0xA5, 0x01, 0x03, 0x00, 0x04
|
|
.byte 0x5C, 0xAD, 0x7C, 0xB5, 0x00, 0x02, 0x02, 0x03, 0x84, 0xAD, 0xA4, 0xB5, 0x01, 0x03, 0x02, 0x04
|
|
.byte 0xE0, 0xA0, 0xF8, 0xB8, 0x04, 0x04, 0x83, 0x04
|
|
|
|
.global MOD9_0221B558
|
|
MOD9_0221B558: ; 0x0221B558
|
|
.word MOD9_0221B630, MOD9_0221B510, MOD9_0221B4D0, MOD9_0221B6A0
|
|
.word MOD9_0221B530, MOD9_0221B580, MOD9_0221B668, MOD9_0221B4A0
|
|
.word MOD9_0221B668, MOD9_0221B4A0
|
|
|
|
.global MOD9_0221B580
|
|
MOD9_0221B580: ; 0x0221B580
|
|
.byte 0x08, 0x38, 0x78, 0x58, 0x00, 0x02, 0x00, 0x01
|
|
.byte 0x88, 0x38, 0xF8, 0x58, 0x01, 0x03, 0x00, 0x01, 0x08, 0x68, 0x78, 0x88, 0x00, 0x04, 0x02, 0x03
|
|
.byte 0x88, 0x68, 0xF8, 0x88, 0x01, 0x04, 0x02, 0x03, 0xE0, 0xA0, 0xF8, 0xB8, 0x83, 0x04, 0x04, 0x04
|
|
|
|
.global MOD9_0221B5A8
|
|
MOD9_0221B5A8: ; 0x0221B5A8
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x58, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221B5D0
|
|
MOD9_0221B5D0: ; 0x0221B5D0
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221B600
|
|
MOD9_0221B600: ; 0x0221B600
|
|
.byte 0x1C, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00
|
|
.byte 0x1C, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
|
|
.byte 0x1C, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221B630
|
|
MOD9_0221B630: ; 0x0221B630
|
|
.byte 0x08, 0x08, 0x78, 0x28, 0x06, 0x02, 0x06, 0x01, 0x88, 0x10, 0xF8, 0x30, 0x04, 0x03, 0x00, 0x02
|
|
.byte 0x08, 0x38, 0x78, 0x58, 0x00, 0x04, 0x01, 0x03, 0x88, 0x40, 0xF8, 0x60, 0x01, 0x05, 0x02, 0x04
|
|
.byte 0x08, 0x68, 0x78, 0x88, 0x02, 0x01, 0x03, 0x05, 0x88, 0x70, 0xF8, 0x90, 0x03, 0x06, 0x04, 0x06
|
|
.byte 0xE0, 0xA0, 0xF8, 0xB8, 0x05, 0x00, 0x05, 0x00
|
|
|
|
.global MOD9_0221B668
|
|
MOD9_0221B668: ; 0x0221B668
|
|
.byte 0x08, 0x38, 0x78, 0x58, 0x05, 0x02, 0x00, 0x01
|
|
.byte 0x88, 0x38, 0xF8, 0x58, 0x05, 0x03, 0x00, 0x01, 0x08, 0x68, 0x78, 0x88, 0x00, 0x04, 0x02, 0x03
|
|
.byte 0x88, 0x68, 0xF8, 0x88, 0x01, 0x06, 0x02, 0x03, 0x48, 0x98, 0xB8, 0xB8, 0x02, 0x04, 0x04, 0x06
|
|
.byte 0xC0, 0x08, 0xF8, 0x18, 0x05, 0x81, 0x00, 0x05, 0xE0, 0xA0, 0xF8, 0xB8, 0x03, 0x06, 0x04, 0x06
|
|
|
|
.global MOD9_0221B6A0
|
|
MOD9_0221B6A0: ; 0x0221B6A0
|
|
.byte 0x08, 0x38, 0x78, 0x58, 0x00, 0x02, 0x00, 0x01, 0x88, 0x38, 0xF8, 0x58, 0x01, 0x03, 0x00, 0x01
|
|
.byte 0x08, 0x68, 0x78, 0x88, 0x00, 0x84, 0x02, 0x03, 0x88, 0x68, 0xF8, 0x88, 0x01, 0x87, 0x02, 0x03
|
|
.byte 0x08, 0xA0, 0x20, 0xB8, 0x02, 0x04, 0x04, 0x05, 0x30, 0xA0, 0x48, 0xB8, 0x02, 0x05, 0x04, 0x06
|
|
.byte 0x68, 0xA0, 0xC0, 0xB8, 0x03, 0x06, 0x05, 0x07, 0xE0, 0xA0, 0xF8, 0xB8, 0x03, 0x07, 0x06, 0x07
|
|
|
|
.global MOD9_0221B6E0
|
|
MOD9_0221B6E0: ; 0x0221B6E0
|
|
.byte 0x16, 0xB0, 0x00, 0x00
|
|
|
|
.global MOD9_0221B6E4
|
|
MOD9_0221B6E4: ; 0x0221B6E4
|
|
.byte 0x0A, 0xB0, 0x00, 0x00
|
|
|
|
.global MOD9_0221B6E8
|
|
MOD9_0221B6E8: ; 0x0221B6E8
|
|
.byte 0x0A, 0xB0, 0x00, 0x00
|
|
|
|
.global MOD9_0221B6EC
|
|
MOD9_0221B6EC: ; 0x0221B6EC
|
|
.byte 0x0A, 0xB0, 0x00, 0x00
|
|
|
|
.global MOD9_0221B6F0
|
|
MOD9_0221B6F0: ; 0x0221B6F0
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00
|
|
.byte 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00
|
|
.byte 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00
|
|
.byte 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00
|
|
.byte 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00
|
|
.byte 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00
|
|
.byte 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00
|
|
.byte 0x07, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00
|
|
.byte 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00
|
|
.byte 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00, 0x07, 0xB0, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x0D, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00
|
|
.byte 0x08, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00
|
|
.byte 0x08, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0xB0, 0x00, 0x00
|
|
.byte 0x08, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x0D, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00
|
|
.byte 0x08, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00
|
|
.byte 0x08, 0xB0, 0x00, 0x00, 0x08, 0xB0, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0xB0, 0x00, 0x00
|
|
.byte 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x10, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00
|
|
.byte 0x09, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00
|
|
.byte 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0xB0, 0x00, 0x00
|
|
.byte 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x14, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00
|
|
.byte 0x09, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00
|
|
.byte 0x09, 0xB0, 0x00, 0x00, 0x09, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0xB0, 0x00, 0x00
|
|
.byte 0x0B, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x17, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x17, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00
|
|
.byte 0x0B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00
|
|
.byte 0x0B, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0xB0, 0x00, 0x00
|
|
.byte 0x0B, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00, 0x0B, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00
|
|
.byte 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00
|
|
.byte 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00
|
|
.byte 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00
|
|
.byte 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00
|
|
.byte 0x0A, 0xB0, 0x00, 0x00, 0x0A, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221B9EC
|
|
MOD9_0221B9EC: ; 0x0221B9EC
|
|
.byte 0x02, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221B9F0
|
|
MOD9_0221B9F0: ; 0x0221B9F0
|
|
.byte 0x03, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221B9F4
|
|
MOD9_0221B9F4: ; 0x0221B9F4
|
|
.byte 0x04, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221B9F8
|
|
MOD9_0221B9F8: ; 0x0221B9F8
|
|
.byte 0x01, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221B9FC
|
|
MOD9_0221B9FC: ; 0x0221B9FC
|
|
.byte 0x01, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BA00
|
|
MOD9_0221BA00: ; 0x0221BA00
|
|
.byte 0x0B, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BA04
|
|
MOD9_0221BA04: ; 0x0221BA04
|
|
.byte 0x00, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BA08
|
|
MOD9_0221BA08: ; 0x0221BA08
|
|
.byte 0x03, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BA0C
|
|
MOD9_0221BA0C: ; 0x0221BA0C
|
|
.byte 0x05, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BA10
|
|
MOD9_0221BA10: ; 0x0221BA10
|
|
.byte 0x02, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BA14
|
|
MOD9_0221BA14: ; 0x0221BA14
|
|
.byte 0x06, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BA18
|
|
MOD9_0221BA18: ; 0x0221BA18
|
|
.byte 0x04, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BA1C
|
|
MOD9_0221BA1C: ; 0x0221BA1C
|
|
.byte 0x03, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BA20
|
|
MOD9_0221BA20: ; 0x0221BA20
|
|
.byte 0x02, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BA24
|
|
MOD9_0221BA24: ; 0x0221BA24
|
|
.byte 0x05, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BA28
|
|
MOD9_0221BA28: ; 0x0221BA28
|
|
.byte 0x01, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BA2C
|
|
MOD9_0221BA2C: ; 0x0221BA2C
|
|
.byte 0x04, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BA30
|
|
MOD9_0221BA30: ; 0x0221BA30
|
|
.byte 0x02, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BA34
|
|
MOD9_0221BA34: ; 0x0221BA34
|
|
.byte 0x03, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BA38
|
|
MOD9_0221BA38: ; 0x0221BA38
|
|
.byte 0x05, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BA3C
|
|
MOD9_0221BA3C: ; 0x0221BA3C
|
|
.byte 0x15, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BA40
|
|
MOD9_0221BA40: ; 0x0221BA40
|
|
.byte 0x00, 0x01, 0xFF, 0x00
|
|
|
|
.global MOD9_0221BA44
|
|
MOD9_0221BA44: ; 0x0221BA44
|
|
.byte 0x07, 0x01, 0xFF, 0x00
|
|
|
|
.global MOD9_0221BA48
|
|
MOD9_0221BA48: ; 0x0221BA48
|
|
.byte 0x02, 0x04, 0x02, 0x00
|
|
|
|
.global MOD9_0221BA4C
|
|
MOD9_0221BA4C: ; 0x0221BA4C
|
|
.byte 0x08, 0x02, 0xFF, 0x00
|
|
|
|
.global MOD9_0221BA50
|
|
MOD9_0221BA50: ; 0x0221BA50
|
|
.byte 0x09, 0x03, 0xFF, 0x00
|
|
|
|
.global MOD9_0221BA54
|
|
MOD9_0221BA54: ; 0x0221BA54
|
|
.byte 0x0A, 0x04, 0xFF, 0x00
|
|
|
|
.global MOD9_0221BA58
|
|
MOD9_0221BA58: ; 0x0221BA58
|
|
.byte 0x02, 0x03, 0x01, 0x00
|
|
|
|
.global MOD9_0221BA5C
|
|
MOD9_0221BA5C: ; 0x0221BA5C
|
|
.byte 0x02, 0x00, 0xFC, 0xFF, 0x02, 0x00
|
|
|
|
.global MOD9_0221BA62
|
|
MOD9_0221BA62: ; 0x0221BA62
|
|
.byte 0x02, 0x00, 0xFD, 0xFF, 0x01, 0x00
|
|
|
|
.global MOD9_0221BA68
|
|
MOD9_0221BA68: ; 0x0221BA68
|
|
.word MOD9_0221BA04, MOD9_0221B9FC, MOD9_0221BA30, MOD9_0221BA08
|
|
.word MOD9_0221B9F4, MOD9_0221BA0C, 0x00000000, MOD9_0221BA40
|
|
.word MOD9_0221B9EC, MOD9_0221BA38, MOD9_0221B9F0, MOD9_0221BA3C
|
|
.word 0x00000000, 0x00000000, MOD9_0221BA44, MOD9_0221BA4C
|
|
.word MOD9_0221BA50, MOD9_0221BA54, 0x00000000, MOD9_0221BA28
|
|
.word MOD9_0221BA20, MOD9_0221BA1C, MOD9_0221BA18, MOD9_0221B9F8
|
|
.word MOD9_0221BA10, MOD9_0221BA34, MOD9_0221BA2C, MOD9_0221BA24
|
|
.word MOD9_0221BA00, MOD9_0221BA14, 0x00000000, 0x00000000
|
|
.word 0x00000000, 0x00000000
|
|
|
|
.global MOD9_0221BAF0
|
|
MOD9_0221BAF0: ; 0x0221BAF0
|
|
.byte 0x00
|
|
|
|
.global MOD9_0221BAF1
|
|
MOD9_0221BAF1: ; 0x0221BAF1
|
|
.byte 0x00
|
|
|
|
.global MOD9_0221BAF2
|
|
MOD9_0221BAF2: ; 0x0221BAF2
|
|
.byte 0x10
|
|
|
|
.global MOD9_0221BAF3
|
|
MOD9_0221BAF3: ; 0x0221BAF3
|
|
.byte 0x06, 0x10, 0x01, 0x10, 0x06, 0x00, 0x06, 0x10, 0x06, 0x10, 0x07, 0x10, 0x06, 0x00, 0x0C, 0x10
|
|
.byte 0x06, 0x10, 0x0D, 0x10, 0x06, 0x1B, 0x13, 0x05, 0x05, 0x01, 0x01, 0x1E, 0x11, 0x00, 0x13, 0x0D
|
|
.byte 0x05, 0x0C, 0x13, 0x0D, 0x05, 0x0D, 0x13, 0x0D, 0x05, 0x0C, 0x13, 0x0D, 0x05, 0x00, 0x13, 0x05
|
|
.byte 0x05, 0x05, 0x13, 0x05, 0x05, 0x00, 0x06, 0x10, 0x06, 0x10, 0x06, 0x10, 0x06, 0x00, 0x0C, 0x10
|
|
.byte 0x06, 0x10, 0x0C, 0x10, 0x06, 0x17, 0x00, 0x09, 0x04, 0x00, 0x06, 0x10, 0x06, 0x10, 0x06, 0x10
|
|
.byte 0x06, 0x00, 0x0C, 0x10, 0x06, 0x10, 0x0C, 0x10, 0x06, 0x00, 0x06, 0x10, 0x06, 0x10, 0x06, 0x10
|
|
.byte 0x06, 0x00, 0x0C, 0x10, 0x06, 0x10, 0x0C, 0x10, 0x06, 0x08, 0x12, 0x10, 0x06, 0x00, 0x13, 0x1A
|
|
.byte 0x05, 0x00, 0x13, 0x1A, 0x05, 0x0B, 0x13, 0x05, 0x02, 0x10, 0x13, 0x05, 0x02, 0x0B, 0x15, 0x05
|
|
.byte 0x02, 0x10, 0x15, 0x05, 0x02
|
|
|
|
.global MOD9_0221BB78
|
|
MOD9_0221BB78: ; 0x0221BB78
|
|
.byte 0x98, 0xBF, 0x00, 0xCF, 0x98, 0xBF, 0xD8, 0xFF, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221BB84
|
|
MOD9_0221BB84: ; 0x0221BB84
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221BB94
|
|
MOD9_0221BB94: ; 0x0221BB94
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221BBB0
|
|
MOD9_0221BBB0: ; 0x0221BBB0
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1F, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221BBCC
|
|
MOD9_0221BBCC: ; 0x0221BBCC
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x1A, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221BBE8
|
|
MOD9_0221BBE8: ; 0x0221BBE8
|
|
.byte 0x08, 0x4F, 0x00, 0x7F, 0x50, 0x97, 0x00, 0x7F, 0x08, 0x4F, 0x80, 0xFF, 0x50, 0x97, 0x80, 0xFF
|
|
.byte 0x98, 0xBF, 0x00, 0xCF, 0x98, 0xBF, 0xD8, 0xFF, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221BC04
|
|
MOD9_0221BC04: ; 0x0221BC04
|
|
.byte 0x08, 0x37, 0x00, 0x7F, 0x08, 0x37, 0x80, 0xFF, 0x38, 0x67, 0x00, 0x7F, 0x38, 0x67, 0x80, 0xFF
|
|
.byte 0x68, 0x97, 0x00, 0x7F, 0x68, 0x97, 0x80, 0xFF, 0x98, 0xBF, 0x00, 0x27, 0x98, 0xBF, 0x28, 0x4F
|
|
.byte 0x98, 0xBF, 0xD8, 0xFF, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221BC2C
|
|
MOD9_0221BC2C: ; 0x0221BC2C
|
|
.byte 0x04, 0x02, 0x13, 0x1B, 0x04, 0x0F, 0x76, 0x03
|
|
|
|
.global MOD9_0221BC34
|
|
MOD9_0221BC34: ; 0x0221BC34
|
|
.byte 0x05, 0x07, 0x04, 0x0C, 0x02, 0x04, 0xC7, 0x02, 0x05, 0x14, 0x04, 0x04, 0x02, 0x04, 0xDF, 0x02
|
|
.byte 0x05, 0x02, 0x09, 0x1C, 0x06, 0x04, 0xE7, 0x02, 0x05, 0x0A, 0x14, 0x06, 0x03, 0x00, 0x8F, 0x03
|
|
|
|
.global MOD9_0221BC54
|
|
MOD9_0221BC54: ; 0x0221BC54
|
|
.byte 0x04, 0x02, 0x04, 0x0C, 0x05, 0x00, 0xCE, 0x02, 0x04, 0x02, 0x0D, 0x0C, 0x05, 0x00, 0x0A, 0x03
|
|
.byte 0x04, 0x12, 0x05, 0x0C, 0x03, 0x00, 0x86, 0x02, 0x04, 0x12, 0x0E, 0x0C, 0x03, 0x00, 0xAA, 0x02
|
|
.byte 0x04, 0x05, 0x14, 0x14, 0x03, 0x00, 0x4A, 0x02
|
|
|
|
.global MOD9_0221BC7C
|
|
MOD9_0221BC7C: ; 0x0221BC7C
|
|
.byte 0x09, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221BC80
|
|
MOD9_0221BC80: ; 0x0221BC80
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221BCAC
|
|
MOD9_0221BCAC: ; 0x0221BCAC
|
|
.byte 0x05, 0x01, 0x01, 0x0E, 0x03, 0x00, 0x01, 0x00, 0x05, 0x08, 0x04, 0x04, 0x03, 0x04, 0x2B, 0x00
|
|
.byte 0x05, 0x11, 0x01, 0x0E, 0x03, 0x00, 0x37, 0x00, 0x05, 0x18, 0x04, 0x04, 0x03, 0x04, 0x61, 0x00
|
|
.byte 0x05, 0x01, 0x07, 0x0E, 0x03, 0x00, 0x6D, 0x00, 0x05, 0x08, 0x0A, 0x04, 0x03, 0x04, 0x97, 0x00
|
|
.byte 0x05, 0x11, 0x07, 0x0E, 0x03, 0x00, 0xA3, 0x00, 0x05, 0x18, 0x0A, 0x04, 0x03, 0x04, 0xCD, 0x00
|
|
.byte 0x05, 0x01, 0x0D, 0x0E, 0x03, 0x00, 0xD9, 0x00, 0x05, 0x08, 0x10, 0x04, 0x03, 0x04, 0x03, 0x01
|
|
.byte 0x05, 0x11, 0x0D, 0x0E, 0x03, 0x00, 0x0F, 0x01, 0x05, 0x18, 0x10, 0x04, 0x03, 0x04, 0x39, 0x01
|
|
.byte 0x05, 0x01, 0x01, 0x0E, 0x03, 0x00, 0x45, 0x01, 0x05, 0x08, 0x04, 0x04, 0x03, 0x04, 0x6F, 0x01
|
|
.byte 0x05, 0x11, 0x01, 0x0E, 0x03, 0x00, 0x7B, 0x01, 0x05, 0x18, 0x04, 0x04, 0x03, 0x04, 0xA5, 0x01
|
|
.byte 0x05, 0x01, 0x07, 0x0E, 0x03, 0x00, 0xB1, 0x01, 0x05, 0x08, 0x0A, 0x04, 0x03, 0x04, 0xDB, 0x01
|
|
.byte 0x05, 0x11, 0x07, 0x0E, 0x03, 0x00, 0xE7, 0x01, 0x05, 0x18, 0x0A, 0x04, 0x03, 0x04, 0x11, 0x02
|
|
.byte 0x05, 0x01, 0x0D, 0x0E, 0x03, 0x00, 0x1D, 0x02, 0x05, 0x08, 0x10, 0x04, 0x03, 0x04, 0x47, 0x02
|
|
.byte 0x05, 0x11, 0x0D, 0x0E, 0x03, 0x00, 0x53, 0x02, 0x05, 0x18, 0x10, 0x04, 0x03, 0x04, 0x7D, 0x02
|
|
.byte 0x05, 0x0B, 0x13, 0x0A, 0x05, 0x04, 0x89, 0x02, 0x05, 0x16, 0x14, 0x04, 0x03, 0x04, 0xBB, 0x02
|
|
|
|
.global MOD9_0221BD7C
|
|
MOD9_0221BD7C: ; 0x0221BD7C
|
|
.byte 0x02, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221BD94
|
|
MOD9_0221BD94: ; 0x0221BD94
|
|
.word MOD9_0221BDE0, MOD9_0221BE40, MOD9_0221BDA0
|
|
|
|
.global MOD9_0221BDA0
|
|
MOD9_0221BDA0: ; 0x0221BDA0
|
|
.byte 0x08, 0xA0, 0xC8, 0xB8
|
|
.byte 0x00, 0x00, 0x00, 0x01, 0xE0, 0xA0, 0xF8, 0xB8, 0x01, 0x01, 0x00, 0x01
|
|
|
|
.global MOD9_0221BDB0
|
|
MOD9_0221BDB0: ; 0x0221BDB0
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221BDC8
|
|
MOD9_0221BDC8: ; 0x0221BDC8
|
|
.byte 0xC0, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221BDCC
|
|
MOD9_0221BDCC: ; 0x0221BDCC
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00
|
|
.byte 0x98, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221BDE0
|
|
MOD9_0221BDE0: ; 0x0221BDE0
|
|
.byte 0x08, 0x10, 0x78, 0x48, 0x00, 0x01, 0x00, 0x02, 0x08, 0x58, 0x78, 0x90
|
|
.byte 0x00, 0x04, 0x01, 0x03, 0x88, 0x10, 0xF8, 0x48, 0x02, 0x03, 0x00, 0x02, 0x88, 0x58, 0xF8, 0x90
|
|
.byte 0x02, 0x05, 0x01, 0x03, 0x08, 0xA0, 0xC8, 0xB8, 0x01, 0x04, 0x04, 0x05, 0xE0, 0xA0, 0xF8, 0xB8
|
|
.byte 0x83, 0x05, 0x04, 0x05
|
|
|
|
.global MOD9_0221BE10
|
|
MOD9_0221BE10: ; 0x0221BE10
|
|
.byte 0x2C, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00
|
|
.byte 0x2C, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00
|
|
.byte 0x2C, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x8D, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221BE40
|
|
MOD9_0221BE40: ; 0x0221BE40
|
|
.byte 0x08, 0x10, 0x78, 0x30, 0x00, 0x02, 0x00, 0x01, 0x88, 0x10, 0xF8, 0x30, 0x01, 0x03, 0x00, 0x01
|
|
.byte 0x08, 0x40, 0x78, 0x60, 0x00, 0x04, 0x02, 0x03, 0x88, 0x40, 0xF8, 0x60, 0x01, 0x05, 0x02, 0x03
|
|
.byte 0x08, 0x70, 0x78, 0x90, 0x02, 0x86, 0x04, 0x05, 0x88, 0x70, 0xF8, 0x90, 0x03, 0x08, 0x04, 0x05
|
|
.byte 0x08, 0xA0, 0x20, 0xB8, 0x04, 0x06, 0x06, 0x07, 0x30, 0xA0, 0x48, 0xB8, 0x04, 0x07, 0x06, 0x08
|
|
.byte 0xE0, 0xA0, 0xF8, 0xB8, 0x05, 0x08, 0x07, 0x08
|
|
|
|
.global MOD9_0221BE88
|
|
MOD9_0221BE88: ; 0x0221BE88
|
|
.byte 0xB7, 0xB4, 0x00, 0x00
|
|
|
|
.global MOD9_0221BE8C
|
|
MOD9_0221BE8C: ; 0x0221BE8C
|
|
.byte 0xB7, 0xB4, 0x00, 0x00
|
|
|
|
.global MOD9_0221BE90
|
|
MOD9_0221BE90: ; 0x0221BE90
|
|
.byte 0xB7, 0xB4, 0x00, 0x00
|
|
|
|
.global MOD9_0221BE94
|
|
MOD9_0221BE94: ; 0x0221BE94
|
|
.byte 0xB7, 0xB4, 0x00, 0x00
|
|
|
|
.global MOD9_0221BE98
|
|
MOD9_0221BE98: ; 0x0221BE98
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0xB8, 0xB4, 0x00, 0x00, 0xB8, 0xB4, 0x00, 0x00, 0xB7, 0xB4, 0x00, 0x00
|
|
.byte 0xB7, 0xB4, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB9, 0xB4, 0x00, 0x00, 0xB9, 0xB4, 0x00, 0x00
|
|
.byte 0xB7, 0xB4, 0x00, 0x00, 0xB7, 0xB4, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBA, 0xB4, 0x00, 0x00
|
|
.byte 0xBA, 0xB4, 0x00, 0x00, 0xB7, 0xB4, 0x00, 0x00, 0xB7, 0xB4, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0xBB, 0xB4, 0x00, 0x00, 0xBB, 0xB4, 0x00, 0x00, 0xB7, 0xB4, 0x00, 0x00, 0xB7, 0xB4, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0xBC, 0xB4, 0x00, 0x00, 0xBC, 0xB4, 0x00, 0x00, 0xB7, 0xB4, 0x00, 0x00
|
|
.byte 0xB7, 0xB4, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
|
|
.global MOD9_0221BF00
|
|
MOD9_0221BF00: ; 0x0221BF00
|
|
.byte 0x03, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BF04
|
|
MOD9_0221BF04: ; 0x0221BF04
|
|
.byte 0x03, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BF08
|
|
MOD9_0221BF08: ; 0x0221BF08
|
|
.byte 0x01, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BF0C
|
|
MOD9_0221BF0C: ; 0x0221BF0C
|
|
.byte 0x04, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BF10
|
|
MOD9_0221BF10: ; 0x0221BF10
|
|
.byte 0x02, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BF14
|
|
MOD9_0221BF14: ; 0x0221BF14
|
|
.byte 0x00, 0xFF, 0x00, 0x00
|
|
|
|
.global MOD9_0221BF18
|
|
MOD9_0221BF18: ; 0x0221BF18
|
|
.byte 0x0E, 0x0F, 0xFF, 0x00
|
|
|
|
.global MOD9_0221BF1C
|
|
MOD9_0221BF1C: ; 0x0221BF1C
|
|
.byte 0x10, 0x11, 0xFF, 0x00
|
|
|
|
.global MOD9_0221BF20
|
|
MOD9_0221BF20: ; 0x0221BF20
|
|
.byte 0x16, 0x17, 0xFF, 0x00
|
|
|
|
.global MOD9_0221BF24
|
|
MOD9_0221BF24: ; 0x0221BF24
|
|
.byte 0x06, 0x07, 0xFF, 0x00
|
|
|
|
.global MOD9_0221BF28
|
|
MOD9_0221BF28: ; 0x0221BF28
|
|
.byte 0x04, 0x05, 0xFF, 0x00
|
|
|
|
.global MOD9_0221BF2C
|
|
MOD9_0221BF2C: ; 0x0221BF2C
|
|
.byte 0x02, 0x03, 0xFF, 0x00
|
|
|
|
.global MOD9_0221BF30
|
|
MOD9_0221BF30: ; 0x0221BF30
|
|
.byte 0x00, 0x01, 0xFF, 0x00
|
|
|
|
.global MOD9_0221BF34
|
|
MOD9_0221BF34: ; 0x0221BF34
|
|
.byte 0x08, 0x09, 0xFF, 0x00
|
|
|
|
.global MOD9_0221BF38
|
|
MOD9_0221BF38: ; 0x0221BF38
|
|
.byte 0x12, 0x13, 0xFF, 0x00
|
|
|
|
.global MOD9_0221BF3C
|
|
MOD9_0221BF3C: ; 0x0221BF3C
|
|
.byte 0x0A, 0x0B, 0xFF, 0x00
|
|
|
|
.global MOD9_0221BF40
|
|
MOD9_0221BF40: ; 0x0221BF40
|
|
.byte 0x0C, 0x0D, 0xFF, 0x00
|
|
|
|
.global MOD9_0221BF44
|
|
MOD9_0221BF44: ; 0x0221BF44
|
|
.byte 0x14, 0x15, 0xFF, 0x00
|
|
|
|
.global MOD9_0221BF48
|
|
MOD9_0221BF48: ; 0x0221BF48
|
|
.byte 0x00
|
|
|
|
.global MOD9_0221BF49
|
|
MOD9_0221BF49: ; 0x0221BF49
|
|
.byte 0x01
|
|
|
|
.global MOD9_0221BF4A
|
|
MOD9_0221BF4A: ; 0x0221BF4A
|
|
.byte 0x10
|
|
|
|
.global MOD9_0221BF4B
|
|
MOD9_0221BF4B: ; 0x0221BF4B
|
|
.byte 0x09, 0x00, 0x0A, 0x10, 0x09, 0x10, 0x01, 0x10, 0x09, 0x10, 0x0A, 0x10, 0x09, 0x00, 0x13, 0x1A
|
|
.byte 0x05, 0x1B, 0x13, 0x05, 0x05, 0x20, 0x01, 0x10, 0x06, 0x30, 0x01, 0x10, 0x06, 0x20, 0x07, 0x10
|
|
.byte 0x06, 0x30, 0x07, 0x10, 0x06, 0x20, 0x0D, 0x10, 0x06, 0x30, 0x0D, 0x10, 0x06, 0x20, 0x13, 0x05
|
|
.byte 0x05, 0x25, 0x13, 0x05, 0x05, 0x3B, 0x13, 0x05, 0x05, 0x00, 0x33, 0x1A, 0x05, 0x1B, 0x33, 0x05
|
|
.byte 0x05
|
|
|
|
.global MOD9_0221BF8C
|
|
MOD9_0221BF8C: ; 0x0221BF8C
|
|
|
|
.word MOD9_0221BF14, MOD9_0221BF08, MOD9_0221BF10, MOD9_0221BF00
|
|
.word MOD9_0221BF0C, 0x00000000, MOD9_0221BF30, MOD9_0221BF2C
|
|
.word MOD9_0221BF28, MOD9_0221BF24, MOD9_0221BF34, MOD9_0221BF3C
|
|
.word 0x00000000, 0x00000000, 0x00000000, MOD9_0221BF04
|
|
.word 0x00000000, MOD9_0221BF40, MOD9_0221BF18, MOD9_0221BF1C
|
|
.word MOD9_0221BF38, MOD9_0221BF44, MOD9_0221BF20
|
|
|
|
.data
|
|
.bss
|