mirror of
https://github.com/pret/pokediamond.git
synced 2026-08-20 07:44:54 -05:00
19515 lines
367 KiB
ArmAsm
19515 lines
367 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
.section .text
|
|
.balign 4, 0
|
|
|
|
thumb_func_start MOD80_0222D5C0
|
|
MOD80_0222D5C0: ; 0x0222D5C0
|
|
push {r3, r4}
|
|
ldr r3, _0222D5D8 ; =0x02237CE0
|
|
mov r4, #1
|
|
str r4, [r3]
|
|
mov r4, #0
|
|
str r4, [r3, #4]
|
|
str r0, [r3, #8]
|
|
str r1, [r3, #0xc]
|
|
str r2, [r3, #0x10]
|
|
pop {r3, r4}
|
|
bx lr
|
|
nop
|
|
_0222D5D8: .word 0x02237CE0
|
|
thumb_func_end MOD80_0222D5C0
|
|
|
|
thumb_func_start MOD80_0222D5DC
|
|
MOD80_0222D5DC: ; 0x0222D5DC
|
|
push {r3, lr}
|
|
ldr r1, _0222D8D4 ; =0x02237CE0
|
|
ldr r0, [r1]
|
|
cmp r0, #0x16
|
|
bls _0222D5E8
|
|
b _0222DB8A
|
|
_0222D5E8:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0222D5F4: ; jump table
|
|
.short _0222DB8A - _0222D5F4 - 2 ; case 0
|
|
.short _0222DB8A - _0222D5F4 - 2 ; case 1
|
|
.short _0222D622 - _0222D5F4 - 2 ; case 2
|
|
.short _0222DB7E - _0222D5F4 - 2 ; case 3
|
|
.short _0222D6D0 - _0222D5F4 - 2 ; case 4
|
|
.short _0222DB7E - _0222D5F4 - 2 ; case 5
|
|
.short _0222D756 - _0222D5F4 - 2 ; case 6
|
|
.short _0222DB7E - _0222D5F4 - 2 ; case 7
|
|
.short _0222D7D6 - _0222D5F4 - 2 ; case 8
|
|
.short _0222DB7E - _0222D5F4 - 2 ; case 9
|
|
.short _0222D86A - _0222D5F4 - 2 ; case 10
|
|
.short _0222DB7E - _0222D5F4 - 2 ; case 11
|
|
.short _0222D8EA - _0222D5F4 - 2 ; case 12
|
|
.short _0222DB7E - _0222D5F4 - 2 ; case 13
|
|
.short _0222D970 - _0222D5F4 - 2 ; case 14
|
|
.short _0222DB7E - _0222D5F4 - 2 ; case 15
|
|
.short _0222D9E8 - _0222D5F4 - 2 ; case 16
|
|
.short _0222DB7E - _0222D5F4 - 2 ; case 17
|
|
.short _0222DABA - _0222D5F4 - 2 ; case 18
|
|
.short _0222DB7E - _0222D5F4 - 2 ; case 19
|
|
.short _0222DB0E - _0222D5F4 - 2 ; case 20
|
|
.short _0222DB7E - _0222D5F4 - 2 ; case 21
|
|
.short _0222DB8A - _0222D5F4 - 2 ; case 22
|
|
_0222D622:
|
|
bl MOD79_022123A8
|
|
cmp r0, #1
|
|
beq _0222D630
|
|
cmp r0, #7
|
|
beq _0222D648
|
|
pop {r3, pc}
|
|
_0222D630:
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
bl MOD79_02212474
|
|
bl MOD80_0222DF38
|
|
ldr r1, _0222D8D4 ; =0x02237CE0
|
|
str r0, [r1, #4]
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222D648:
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mov r1, #0x16
|
|
ldr r2, _0222D8D8 ; =0x02237E00
|
|
str r1, [r0]
|
|
ldrb r2, [r2, #0x1c]
|
|
cmp r2, #0xe
|
|
bhi _0222D6C2
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_0222D662: ; jump table
|
|
.short _0222D6C2 - _0222D662 - 2 ; case 0
|
|
.short _0222D680 - _0222D662 - 2 ; case 1
|
|
.short _0222D686 - _0222D662 - 2 ; case 2
|
|
.short _0222D68C - _0222D662 - 2 ; case 3
|
|
.short _0222D6C2 - _0222D662 - 2 ; case 4
|
|
.short _0222D6C2 - _0222D662 - 2 ; case 5
|
|
.short _0222D6C2 - _0222D662 - 2 ; case 6
|
|
.short _0222D692 - _0222D662 - 2 ; case 7
|
|
.short _0222D6A4 - _0222D662 - 2 ; case 8
|
|
.short _0222D6AA - _0222D662 - 2 ; case 9
|
|
.short _0222D6B0 - _0222D662 - 2 ; case 10
|
|
.short _0222D6B6 - _0222D662 - 2 ; case 11
|
|
.short _0222D698 - _0222D662 - 2 ; case 12
|
|
.short _0222D69E - _0222D662 - 2 ; case 13
|
|
.short _0222D6BC - _0222D662 - 2 ; case 14
|
|
_0222D680:
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
b _0222D6CA
|
|
_0222D686:
|
|
sub r1, #0x1b
|
|
str r1, [r0, #4]
|
|
b _0222D6CA
|
|
_0222D68C:
|
|
sub r1, #0x1a
|
|
str r1, [r0, #4]
|
|
b _0222D6CA
|
|
_0222D692:
|
|
sub r1, #0x17
|
|
str r1, [r0, #4]
|
|
b _0222D6CA
|
|
_0222D698:
|
|
sub r1, #0x1c
|
|
str r1, [r0, #4]
|
|
b _0222D6CA
|
|
_0222D69E:
|
|
sub r1, #0x1d
|
|
str r1, [r0, #4]
|
|
b _0222D6CA
|
|
_0222D6A4:
|
|
sub r1, #0x1e
|
|
str r1, [r0, #4]
|
|
b _0222D6CA
|
|
_0222D6AA:
|
|
sub r1, #0x1f
|
|
str r1, [r0, #4]
|
|
b _0222D6CA
|
|
_0222D6B0:
|
|
sub r1, #0x20
|
|
str r1, [r0, #4]
|
|
b _0222D6CA
|
|
_0222D6B6:
|
|
sub r1, #0x21
|
|
str r1, [r0, #4]
|
|
b _0222D6CA
|
|
_0222D6BC:
|
|
sub r1, #0x18
|
|
str r1, [r0, #4]
|
|
b _0222D6CA
|
|
_0222D6C2:
|
|
mov r1, #0xc
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
_0222D6CA:
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222D6D0:
|
|
bl MOD79_022123A8
|
|
cmp r0, #1
|
|
beq _0222D6DE
|
|
cmp r0, #7
|
|
beq _0222D6F6
|
|
pop {r3, pc}
|
|
_0222D6DE:
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
bl MOD79_02212474
|
|
bl MOD80_0222DF38
|
|
ldr r1, _0222D8D4 ; =0x02237CE0
|
|
str r0, [r1, #4]
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222D6F6:
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mov r2, #0x16
|
|
ldr r1, _0222D8D8 ; =0x02237E00
|
|
str r2, [r0]
|
|
ldrb r1, [r1, #0x1c]
|
|
cmp r1, #5
|
|
bgt _0222D720
|
|
cmp r1, #0
|
|
blt _0222D748
|
|
add r3, r1, r1
|
|
add r3, pc
|
|
ldrh r3, [r3, #6]
|
|
lsl r3, r3, #0x10
|
|
asr r3, r3, #0x10
|
|
add pc, r3
|
|
_0222D714: ; jump table
|
|
.short _0222D748 - _0222D714 - 2 ; case 0
|
|
.short _0222D726 - _0222D714 - 2 ; case 1
|
|
.short _0222D72C - _0222D714 - 2 ; case 2
|
|
.short _0222D732 - _0222D714 - 2 ; case 3
|
|
.short _0222D748 - _0222D714 - 2 ; case 4
|
|
.short _0222D738 - _0222D714 - 2 ; case 5
|
|
_0222D720:
|
|
cmp r1, #0xe
|
|
beq _0222D73E
|
|
b _0222D748
|
|
_0222D726:
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
b _0222D750
|
|
_0222D72C:
|
|
sub r2, #0x1b
|
|
str r2, [r0, #4]
|
|
b _0222D750
|
|
_0222D732:
|
|
sub r2, #0x1a
|
|
str r2, [r0, #4]
|
|
b _0222D750
|
|
_0222D738:
|
|
sub r2, #0x19
|
|
str r2, [r0, #4]
|
|
b _0222D750
|
|
_0222D73E:
|
|
mov r1, #1
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
b _0222D750
|
|
_0222D748:
|
|
mov r1, #0xc
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
_0222D750:
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222D756:
|
|
bl MOD79_022123A8
|
|
cmp r0, #1
|
|
beq _0222D764
|
|
cmp r0, #7
|
|
beq _0222D77C
|
|
pop {r3, pc}
|
|
_0222D764:
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
bl MOD79_02212474
|
|
bl MOD80_0222DF38
|
|
ldr r1, _0222D8D4 ; =0x02237CE0
|
|
str r0, [r1, #4]
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222D77C:
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
bl MOD79_02212480
|
|
mov r1, #0x49
|
|
lsl r1, r1, #2
|
|
cmp r0, r1
|
|
bne _0222D796
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
b _0222D7D0
|
|
_0222D796:
|
|
ldr r0, _0222D8DC ; =0x02237DE0
|
|
ldr r0, [r0, #0x40]
|
|
ldrb r0, [r0]
|
|
cmp r0, #3
|
|
beq _0222D7B4
|
|
cmp r0, #5
|
|
beq _0222D7AA
|
|
cmp r0, #0xe
|
|
beq _0222D7BE
|
|
b _0222D7C8
|
|
_0222D7AA:
|
|
mov r1, #2
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
b _0222D7D0
|
|
_0222D7B4:
|
|
mov r1, #3
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
b _0222D7D0
|
|
_0222D7BE:
|
|
mov r1, #1
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
b _0222D7D0
|
|
_0222D7C8:
|
|
mov r1, #0xc
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
_0222D7D0:
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222D7D6:
|
|
bl MOD79_022123A8
|
|
cmp r0, #1
|
|
beq _0222D7E4
|
|
cmp r0, #7
|
|
beq _0222D7FC
|
|
pop {r3, pc}
|
|
_0222D7E4:
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
bl MOD79_02212474
|
|
bl MOD80_0222DF38
|
|
ldr r1, _0222D8D4 ; =0x02237CE0
|
|
str r0, [r1, #4]
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222D7FC:
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
bl MOD79_02212480
|
|
mov r1, #0x49
|
|
lsl r1, r1, #2
|
|
cmp r0, r1
|
|
bne _0222D816
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mov r1, #1
|
|
str r1, [r0, #4]
|
|
b _0222D864
|
|
_0222D816:
|
|
ldr r0, _0222D8DC ; =0x02237DE0
|
|
ldr r0, [r0, #0x40]
|
|
ldrb r0, [r0]
|
|
cmp r0, #5
|
|
bgt _0222D830
|
|
cmp r0, #3
|
|
blt _0222D85C
|
|
beq _0222D840
|
|
cmp r0, #4
|
|
beq _0222D84A
|
|
cmp r0, #5
|
|
beq _0222D836
|
|
b _0222D85C
|
|
_0222D830:
|
|
cmp r0, #0xe
|
|
beq _0222D852
|
|
b _0222D85C
|
|
_0222D836:
|
|
mov r1, #2
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
b _0222D864
|
|
_0222D840:
|
|
mov r1, #3
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
b _0222D864
|
|
_0222D84A:
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
b _0222D864
|
|
_0222D852:
|
|
mov r1, #1
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
b _0222D864
|
|
_0222D85C:
|
|
mov r1, #0xc
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
_0222D864:
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222D86A:
|
|
bl MOD79_022123A8
|
|
cmp r0, #1
|
|
beq _0222D878
|
|
cmp r0, #7
|
|
beq _0222D890
|
|
pop {r3, pc}
|
|
_0222D878:
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
bl MOD79_02212474
|
|
bl MOD80_0222DF38
|
|
ldr r1, _0222D8D4 ; =0x02237CE0
|
|
str r0, [r1, #4]
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222D890:
|
|
ldr r1, _0222D8D4 ; =0x02237CE0
|
|
mov r2, #0x16
|
|
ldr r0, _0222D8D8 ; =0x02237E00
|
|
str r2, [r1]
|
|
ldrb r0, [r0, #0x1c]
|
|
cmp r0, #5
|
|
bgt _0222D8AE
|
|
cmp r0, #1
|
|
blt _0222D8CC
|
|
beq _0222D8B4
|
|
cmp r0, #3
|
|
beq _0222D8C0
|
|
cmp r0, #5
|
|
beq _0222D8BA
|
|
b _0222D8CC
|
|
_0222D8AE:
|
|
cmp r0, #0xe
|
|
beq _0222D8C6
|
|
b _0222D8CC
|
|
_0222D8B4:
|
|
mov r0, #0
|
|
str r0, [r1, #4]
|
|
b _0222D8E4
|
|
_0222D8BA:
|
|
sub r2, #0x19
|
|
str r2, [r1, #4]
|
|
b _0222D8E4
|
|
_0222D8C0:
|
|
sub r2, #0x1a
|
|
str r2, [r1, #4]
|
|
b _0222D8E4
|
|
_0222D8C6:
|
|
sub r2, #0x18
|
|
str r2, [r1, #4]
|
|
b _0222D8E4
|
|
_0222D8CC:
|
|
mov r1, #0xc
|
|
ldr r0, _0222D8D4 ; =0x02237CE0
|
|
b _0222D8E0
|
|
nop
|
|
_0222D8D4: .word 0x02237CE0
|
|
_0222D8D8: .word 0x02237E00
|
|
_0222D8DC: .word 0x02237DE0
|
|
_0222D8E0:
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
_0222D8E4:
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222D8EA:
|
|
bl MOD79_022123A8
|
|
cmp r0, #1
|
|
beq _0222D8F8
|
|
cmp r0, #7
|
|
beq _0222D910
|
|
pop {r3, pc}
|
|
_0222D8F8:
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
bl MOD79_02212474
|
|
bl MOD80_0222DF38
|
|
ldr r1, _0222DB8C ; =0x02237CE0
|
|
str r0, [r1, #4]
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222D910:
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mov r2, #0x16
|
|
ldr r1, _0222DB90 ; =0x02237E00
|
|
str r2, [r0]
|
|
ldrb r1, [r1, #0x1c]
|
|
cmp r1, #5
|
|
bgt _0222D93A
|
|
cmp r1, #0
|
|
blt _0222D962
|
|
add r3, r1, r1
|
|
add r3, pc
|
|
ldrh r3, [r3, #6]
|
|
lsl r3, r3, #0x10
|
|
asr r3, r3, #0x10
|
|
add pc, r3
|
|
_0222D92E: ; jump table
|
|
.short _0222D962 - _0222D92E - 2 ; case 0
|
|
.short _0222D940 - _0222D92E - 2 ; case 1
|
|
.short _0222D94C - _0222D92E - 2 ; case 2
|
|
.short _0222D952 - _0222D92E - 2 ; case 3
|
|
.short _0222D962 - _0222D92E - 2 ; case 4
|
|
.short _0222D946 - _0222D92E - 2 ; case 5
|
|
_0222D93A:
|
|
cmp r1, #0xe
|
|
beq _0222D958
|
|
b _0222D962
|
|
_0222D940:
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
b _0222D96A
|
|
_0222D946:
|
|
sub r2, #0x19
|
|
str r2, [r0, #4]
|
|
b _0222D96A
|
|
_0222D94C:
|
|
sub r2, #0x1b
|
|
str r2, [r0, #4]
|
|
b _0222D96A
|
|
_0222D952:
|
|
sub r2, #0x1a
|
|
str r2, [r0, #4]
|
|
b _0222D96A
|
|
_0222D958:
|
|
mov r1, #1
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
b _0222D96A
|
|
_0222D962:
|
|
mov r1, #0xc
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
_0222D96A:
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222D970:
|
|
bl MOD79_022123A8
|
|
cmp r0, #1
|
|
beq _0222D97E
|
|
cmp r0, #7
|
|
beq _0222D996
|
|
pop {r3, pc}
|
|
_0222D97E:
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
bl MOD79_02212474
|
|
bl MOD80_0222DF38
|
|
ldr r1, _0222DB8C ; =0x02237CE0
|
|
str r0, [r1, #4]
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222D996:
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
bl MOD79_02212480
|
|
mov r1, #0x49
|
|
lsl r1, r1, #2
|
|
cmp r0, r1
|
|
blo _0222D9BA
|
|
bl MOD79_02212480
|
|
mov r1, #0x49
|
|
lsl r1, r1, #2
|
|
bl _u32_div_f
|
|
ldr r1, _0222DB8C ; =0x02237CE0
|
|
str r0, [r1, #4]
|
|
b _0222D9E2
|
|
_0222D9BA:
|
|
cmp r0, #0
|
|
bne _0222D9C6
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
b _0222D9E2
|
|
_0222D9C6:
|
|
ldr r0, _0222DB94 ; =0x02237DE0
|
|
ldr r0, [r0, #0x40]
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xe
|
|
bne _0222D9DA
|
|
mov r1, #1
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
b _0222D9E2
|
|
_0222D9DA:
|
|
mov r1, #0xc
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
_0222D9E2:
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222D9E8:
|
|
bl MOD79_022123A8
|
|
cmp r0, #1
|
|
beq _0222D9F6
|
|
cmp r0, #7
|
|
beq _0222DA0E
|
|
pop {r3, pc}
|
|
_0222D9F6:
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
bl MOD79_02212474
|
|
bl MOD80_0222DF38
|
|
ldr r1, _0222DB8C ; =0x02237CE0
|
|
str r0, [r1, #4]
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222DA0E:
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
bl MOD79_02212480
|
|
mov r1, #0x49
|
|
lsl r1, r1, #2
|
|
cmp r0, r1
|
|
bne _0222DA28
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
b _0222DAB4
|
|
_0222DA28:
|
|
ldr r0, _0222DB94 ; =0x02237DE0
|
|
ldr r0, [r0, #0x40]
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xe
|
|
bhi _0222DAAC
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0222DA3E: ; jump table
|
|
.short _0222DAAC - _0222DA3E - 2 ; case 0
|
|
.short _0222DAAC - _0222DA3E - 2 ; case 1
|
|
.short _0222DA5C - _0222DA3E - 2 ; case 2
|
|
.short _0222DAAC - _0222DA3E - 2 ; case 3
|
|
.short _0222DAAC - _0222DA3E - 2 ; case 4
|
|
.short _0222DAAC - _0222DA3E - 2 ; case 5
|
|
.short _0222DAAC - _0222DA3E - 2 ; case 6
|
|
.short _0222DAAC - _0222DA3E - 2 ; case 7
|
|
.short _0222DA7A - _0222DA3E - 2 ; case 8
|
|
.short _0222DA84 - _0222DA3E - 2 ; case 9
|
|
.short _0222DA8E - _0222DA3E - 2 ; case 10
|
|
.short _0222DA98 - _0222DA3E - 2 ; case 11
|
|
.short _0222DA66 - _0222DA3E - 2 ; case 12
|
|
.short _0222DA70 - _0222DA3E - 2 ; case 13
|
|
.short _0222DAA2 - _0222DA3E - 2 ; case 14
|
|
_0222DA5C:
|
|
mov r1, #4
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
b _0222DAB4
|
|
_0222DA66:
|
|
mov r1, #5
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
b _0222DAB4
|
|
_0222DA70:
|
|
mov r1, #6
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
b _0222DAB4
|
|
_0222DA7A:
|
|
mov r1, #7
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
b _0222DAB4
|
|
_0222DA84:
|
|
mov r1, #8
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
b _0222DAB4
|
|
_0222DA8E:
|
|
mov r1, #9
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
b _0222DAB4
|
|
_0222DA98:
|
|
mov r1, #0xa
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
b _0222DAB4
|
|
_0222DAA2:
|
|
mov r1, #1
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
b _0222DAB4
|
|
_0222DAAC:
|
|
mov r1, #0xc
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
_0222DAB4:
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222DABA:
|
|
bl MOD79_022123A8
|
|
cmp r0, #1
|
|
beq _0222DAC8
|
|
cmp r0, #7
|
|
beq _0222DAE0
|
|
pop {r3, pc}
|
|
_0222DAC8:
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
bl MOD79_02212474
|
|
bl MOD80_0222DF38
|
|
ldr r1, _0222DB8C ; =0x02237CE0
|
|
str r0, [r1, #4]
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222DAE0:
|
|
ldr r1, _0222DB8C ; =0x02237CE0
|
|
mov r2, #0x16
|
|
ldr r0, _0222DB90 ; =0x02237E00
|
|
str r2, [r1]
|
|
ldrb r0, [r0, #0x1c]
|
|
cmp r0, #1
|
|
beq _0222DAF8
|
|
cmp r0, #2
|
|
beq _0222DB04
|
|
cmp r0, #0xe
|
|
beq _0222DAFE
|
|
b _0222DB08
|
|
_0222DAF8:
|
|
mov r0, #0
|
|
str r0, [r1, #4]
|
|
b _0222DB08
|
|
_0222DAFE:
|
|
sub r2, #0x18
|
|
str r2, [r1, #4]
|
|
b _0222DB08
|
|
_0222DB04:
|
|
sub r2, #0x1b
|
|
str r2, [r1, #4]
|
|
_0222DB08:
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222DB0E:
|
|
bl MOD79_022123A8
|
|
cmp r0, #1
|
|
beq _0222DB1C
|
|
cmp r0, #7
|
|
beq _0222DB34
|
|
pop {r3, pc}
|
|
_0222DB1C:
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
bl MOD79_02212474
|
|
bl MOD80_0222DF38
|
|
ldr r1, _0222DB8C ; =0x02237CE0
|
|
str r0, [r1, #4]
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222DB34:
|
|
ldr r1, _0222DB8C ; =0x02237CE0
|
|
mov r2, #0x16
|
|
ldr r0, _0222DB90 ; =0x02237E00
|
|
str r2, [r1]
|
|
ldrb r0, [r0, #0x1c]
|
|
cmp r0, #7
|
|
bgt _0222DB52
|
|
cmp r0, #1
|
|
blt _0222DB70
|
|
beq _0222DB58
|
|
cmp r0, #6
|
|
beq _0222DB5E
|
|
cmp r0, #7
|
|
beq _0222DB64
|
|
b _0222DB70
|
|
_0222DB52:
|
|
cmp r0, #0xe
|
|
beq _0222DB6A
|
|
b _0222DB70
|
|
_0222DB58:
|
|
mov r0, #0
|
|
str r0, [r1, #4]
|
|
b _0222DB78
|
|
_0222DB5E:
|
|
mov r0, #1
|
|
str r0, [r1, #4]
|
|
b _0222DB78
|
|
_0222DB64:
|
|
mov r0, #2
|
|
str r0, [r1, #4]
|
|
b _0222DB78
|
|
_0222DB6A:
|
|
sub r2, #0x18
|
|
str r2, [r1, #4]
|
|
b _0222DB78
|
|
_0222DB70:
|
|
mov r1, #0xc
|
|
ldr r0, _0222DB8C ; =0x02237CE0
|
|
mvn r1, r1
|
|
str r1, [r0, #4]
|
|
_0222DB78:
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
_0222DB7E:
|
|
mov r0, #0x16
|
|
str r0, [r1]
|
|
sub r0, #0x22
|
|
str r0, [r1, #4]
|
|
bl MOD56_0221244C
|
|
_0222DB8A:
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_0222DB8C: .word 0x02237CE0
|
|
_0222DB90: .word 0x02237E00
|
|
_0222DB94: .word 0x02237DE0
|
|
thumb_func_end MOD80_0222D5DC
|
|
|
|
thumb_func_start MOD80_0222DB98
|
|
MOD80_0222DB98: ; 0x0222DB98
|
|
ldr r1, _0222DBB4 ; =0x02237CE0
|
|
ldr r0, [r1]
|
|
cmp r0, #1
|
|
beq _0222DBA6
|
|
cmp r0, #0x16
|
|
beq _0222DBAA
|
|
b _0222DBB0
|
|
_0222DBA6:
|
|
mov r0, #1
|
|
bx lr
|
|
_0222DBAA:
|
|
mov r0, #1
|
|
str r0, [r1]
|
|
bx lr
|
|
_0222DBB0:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_0222DBB4: .word 0x02237CE0
|
|
thumb_func_end MOD80_0222DB98
|
|
|
|
thumb_func_start MOD80_0222DBB8
|
|
MOD80_0222DBB8: ; 0x0222DBB8
|
|
ldr r0, _0222DBC0 ; =0x02237CE0
|
|
ldr r0, [r0, #4]
|
|
bx lr
|
|
nop
|
|
_0222DBC0: .word 0x02237CE0
|
|
thumb_func_end MOD80_0222DBB8
|
|
|
|
thumb_func_start MOD80_0222DBC4
|
|
MOD80_0222DBC4: ; 0x0222DBC4
|
|
push {r3, lr}
|
|
add r1, r0, #0
|
|
mov r2, #0x49
|
|
ldr r0, _0222DC04 ; =0x02237CF4
|
|
lsl r2, r2, #2
|
|
bl memcpy
|
|
bl MOD79_022122E4
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r2, #0x49
|
|
ldr r0, _0222DC08 ; =0x02237680
|
|
ldr r1, _0222DC04 ; =0x02237CF4
|
|
ldr r3, _0222DC0C ; =0x02237E1C
|
|
lsl r2, r2, #2
|
|
bl MOD80_0222DF00
|
|
cmp r0, #0
|
|
beq _0222DBF4
|
|
ldr r0, _0222DC10 ; =0x02237CE0
|
|
mov r1, #2
|
|
str r1, [r0]
|
|
pop {r3, pc}
|
|
_0222DBF4:
|
|
ldr r0, _0222DC10 ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
sub r1, #0x23
|
|
str r1, [r0, #4]
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_0222DC04: .word 0x02237CF4
|
|
_0222DC08: .word 0x02237680
|
|
_0222DC0C: .word 0x02237E1C
|
|
_0222DC10: .word 0x02237CE0
|
|
thumb_func_end MOD80_0222DBC4
|
|
|
|
thumb_func_start MOD80_0222DC14
|
|
MOD80_0222DC14: ; 0x0222DC14
|
|
push {r3, lr}
|
|
ldr r0, _0222DC54 ; =0x02237CEC
|
|
ldr r2, _0222DC58 ; =0x02237CF4
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, #4]
|
|
str r1, [r2]
|
|
str r0, [r2, #4]
|
|
bl MOD79_022122E4
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
ldr r0, _0222DC5C ; =0x022376CC
|
|
ldr r1, _0222DC58 ; =0x02237CF4
|
|
ldr r3, _0222DC60 ; =0x02237E1C
|
|
mov r2, #8
|
|
bl MOD80_0222DF00
|
|
cmp r0, #0
|
|
beq _0222DC42
|
|
ldr r0, _0222DC64 ; =0x02237CE0
|
|
mov r1, #4
|
|
str r1, [r0]
|
|
pop {r3, pc}
|
|
_0222DC42:
|
|
ldr r0, _0222DC64 ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
sub r1, #0x23
|
|
str r1, [r0, #4]
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
nop
|
|
_0222DC54: .word 0x02237CEC
|
|
_0222DC58: .word 0x02237CF4
|
|
_0222DC5C: .word 0x022376CC
|
|
_0222DC60: .word 0x02237E1C
|
|
_0222DC64: .word 0x02237CE0
|
|
thumb_func_end MOD80_0222DC14
|
|
|
|
thumb_func_start MOD80_0222DC68
|
|
MOD80_0222DC68: ; 0x0222DC68
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
ldr r0, _0222DCA8 ; =0x02237DE0
|
|
str r4, [r0, #0x40]
|
|
bl MOD79_022122E4
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
str r0, [sp]
|
|
ldr r0, _0222DCAC ; =0x0223771C
|
|
ldr r1, _0222DCB0 ; =0x02237CF4
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
bl MOD80_0222DF00
|
|
cmp r0, #0
|
|
beq _0222DC96
|
|
ldr r0, _0222DCB4 ; =0x02237CE0
|
|
mov r1, #6
|
|
str r1, [r0]
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
_0222DC96:
|
|
ldr r0, _0222DCB4 ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
sub r1, #0x23
|
|
str r1, [r0, #4]
|
|
bl MOD56_0221244C
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_0222DCA8: .word 0x02237DE0
|
|
_0222DCAC: .word 0x0223771C
|
|
_0222DCB0: .word 0x02237CF4
|
|
_0222DCB4: .word 0x02237CE0
|
|
thumb_func_end MOD80_0222DC68
|
|
|
|
thumb_func_start MOD80_0222DCB8
|
|
MOD80_0222DCB8: ; 0x0222DCB8
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
ldr r0, _0222DCF8 ; =0x02237DE0
|
|
str r4, [r0, #0x40]
|
|
bl MOD79_022122E4
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
str r0, [sp]
|
|
ldr r0, _0222DCFC ; =0x02237764
|
|
ldr r1, _0222DD00 ; =0x02237CF4
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
bl MOD80_0222DF00
|
|
cmp r0, #0
|
|
beq _0222DCE6
|
|
ldr r0, _0222DD04 ; =0x02237CE0
|
|
mov r1, #8
|
|
str r1, [r0]
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
_0222DCE6:
|
|
ldr r0, _0222DD04 ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
sub r1, #0x23
|
|
str r1, [r0, #4]
|
|
bl MOD56_0221244C
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_0222DCF8: .word 0x02237DE0
|
|
_0222DCFC: .word 0x02237764
|
|
_0222DD00: .word 0x02237CF4
|
|
_0222DD04: .word 0x02237CE0
|
|
thumb_func_end MOD80_0222DCB8
|
|
|
|
thumb_func_start MOD80_0222DD08
|
|
MOD80_0222DD08: ; 0x0222DD08
|
|
push {r3, lr}
|
|
bl MOD79_022122E4
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
ldr r0, _0222DD3C ; =0x022377B0
|
|
ldr r1, _0222DD40 ; =0x02237CF4
|
|
ldr r3, _0222DD44 ; =0x02237E1C
|
|
mov r2, #0
|
|
bl MOD80_0222DF00
|
|
cmp r0, #0
|
|
beq _0222DD2A
|
|
ldr r0, _0222DD48 ; =0x02237CE0
|
|
mov r1, #0xa
|
|
str r1, [r0]
|
|
pop {r3, pc}
|
|
_0222DD2A:
|
|
ldr r0, _0222DD48 ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
sub r1, #0x23
|
|
str r1, [r0, #4]
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
nop
|
|
_0222DD3C: .word 0x022377B0
|
|
_0222DD40: .word 0x02237CF4
|
|
_0222DD44: .word 0x02237E1C
|
|
_0222DD48: .word 0x02237CE0
|
|
thumb_func_end MOD80_0222DD08
|
|
|
|
thumb_func_start MOD80_0222DD4C
|
|
MOD80_0222DD4C: ; 0x0222DD4C
|
|
push {r3, lr}
|
|
bl MOD79_022122E4
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
ldr r0, _0222DD80 ; =0x022377FC
|
|
ldr r1, _0222DD84 ; =0x02237CF4
|
|
ldr r3, _0222DD88 ; =0x02237E1C
|
|
mov r2, #0
|
|
bl MOD80_0222DF00
|
|
cmp r0, #0
|
|
beq _0222DD6E
|
|
ldr r0, _0222DD8C ; =0x02237CE0
|
|
mov r1, #0xc
|
|
str r1, [r0]
|
|
pop {r3, pc}
|
|
_0222DD6E:
|
|
ldr r0, _0222DD8C ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
sub r1, #0x23
|
|
str r1, [r0, #4]
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
nop
|
|
_0222DD80: .word 0x022377FC
|
|
_0222DD84: .word 0x02237CF4
|
|
_0222DD88: .word 0x02237E1C
|
|
_0222DD8C: .word 0x02237CE0
|
|
thumb_func_end MOD80_0222DD4C
|
|
|
|
thumb_func_start MOD80_0222DD90
|
|
MOD80_0222DD90: ; 0x0222DD90
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
ldr r0, _0222DDF4 ; =0x02237DE0
|
|
add r6, r2, #0
|
|
str r6, [r0, #0x40]
|
|
add r4, r1, #0
|
|
bl MOD79_022122E4
|
|
ldrb r0, [r5]
|
|
ldr r1, _0222DDF8 ; =0x02237CF4
|
|
mov r2, #7
|
|
strb r0, [r1]
|
|
ldrb r0, [r5, #1]
|
|
add r3, r6, #0
|
|
strb r0, [r1, #1]
|
|
ldrb r0, [r5, #2]
|
|
strb r0, [r1, #2]
|
|
ldrb r0, [r5, #3]
|
|
strb r0, [r1, #3]
|
|
ldrb r0, [r5, #4]
|
|
strb r0, [r1, #4]
|
|
ldrb r0, [r5, #5]
|
|
strb r0, [r1, #5]
|
|
ldr r0, _0222DDFC ; =0x02237CE0
|
|
strb r4, [r0, #0x1a]
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
mul r0, r4
|
|
str r0, [sp]
|
|
ldr r0, _0222DE00 ; =0x02237848
|
|
bl MOD80_0222DF00
|
|
cmp r0, #0
|
|
beq _0222DDE0
|
|
ldr r0, _0222DDFC ; =0x02237CE0
|
|
mov r1, #0xe
|
|
str r1, [r0]
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
_0222DDE0:
|
|
ldr r0, _0222DDFC ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
sub r1, #0x23
|
|
str r1, [r0, #4]
|
|
bl MOD56_0221244C
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_0222DDF4: .word 0x02237DE0
|
|
_0222DDF8: .word 0x02237CF4
|
|
_0222DDFC: .word 0x02237CE0
|
|
_0222DE00: .word 0x02237848
|
|
thumb_func_end MOD80_0222DD90
|
|
|
|
thumb_func_start MOD80_0222DE04
|
|
MOD80_0222DE04: ; 0x0222DE04
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
ldr r0, _0222DE58 ; =0x02237DE0
|
|
add r6, r2, #0
|
|
add r4, r1, #0
|
|
str r6, [r0, #0x40]
|
|
bl MOD79_022122E4
|
|
mov r2, #0x49
|
|
ldr r0, _0222DE5C ; =0x02237CF4
|
|
add r1, r4, #0
|
|
lsl r2, r2, #2
|
|
bl memcpy
|
|
ldr r0, _0222DE58 ; =0x02237DE0
|
|
mov r2, #0x49
|
|
str r5, [r0, #0x38]
|
|
lsl r2, r2, #2
|
|
str r2, [sp]
|
|
ldr r0, _0222DE60 ; =0x02237894
|
|
ldr r1, _0222DE5C ; =0x02237CF4
|
|
add r2, r2, #4
|
|
add r3, r6, #0
|
|
bl MOD80_0222DF00
|
|
cmp r0, #0
|
|
beq _0222DE46
|
|
ldr r0, _0222DE64 ; =0x02237CE0
|
|
mov r1, #0x10
|
|
str r1, [r0]
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
_0222DE46:
|
|
ldr r0, _0222DE64 ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
sub r1, #0x23
|
|
str r1, [r0, #4]
|
|
bl MOD56_0221244C
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0222DE58: .word 0x02237DE0
|
|
_0222DE5C: .word 0x02237CF4
|
|
_0222DE60: .word 0x02237894
|
|
_0222DE64: .word 0x02237CE0
|
|
thumb_func_end MOD80_0222DE04
|
|
|
|
thumb_func_start MOD80_0222DE68
|
|
MOD80_0222DE68: ; 0x0222DE68
|
|
push {r3, lr}
|
|
ldr r0, _0222DEA8 ; =0x02237CEC
|
|
ldr r2, _0222DEAC ; =0x02237CF4
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, #4]
|
|
str r1, [r2]
|
|
str r0, [r2, #4]
|
|
bl MOD79_022122E4
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
ldr r0, _0222DEB0 ; =0x022378E4
|
|
ldr r1, _0222DEAC ; =0x02237CF4
|
|
ldr r3, _0222DEB4 ; =0x02237E1C
|
|
mov r2, #8
|
|
bl MOD80_0222DF00
|
|
cmp r0, #0
|
|
beq _0222DE96
|
|
ldr r0, _0222DEB8 ; =0x02237CE0
|
|
mov r1, #0x12
|
|
str r1, [r0]
|
|
pop {r3, pc}
|
|
_0222DE96:
|
|
ldr r0, _0222DEB8 ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
sub r1, #0x23
|
|
str r1, [r0, #4]
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
nop
|
|
_0222DEA8: .word 0x02237CEC
|
|
_0222DEAC: .word 0x02237CF4
|
|
_0222DEB0: .word 0x022378E4
|
|
_0222DEB4: .word 0x02237E1C
|
|
_0222DEB8: .word 0x02237CE0
|
|
thumb_func_end MOD80_0222DE68
|
|
|
|
thumb_func_start MOD80_0222DEBC
|
|
MOD80_0222DEBC: ; 0x0222DEBC
|
|
push {r3, lr}
|
|
bl MOD79_022122E4
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
ldr r0, _0222DEF0 ; =0x02237938
|
|
ldr r1, _0222DEF4 ; =0x02237CF4
|
|
ldr r3, _0222DEF8 ; =0x02237E1C
|
|
mov r2, #0
|
|
bl MOD80_0222DF00
|
|
cmp r0, #0
|
|
beq _0222DEDE
|
|
ldr r0, _0222DEFC ; =0x02237CE0
|
|
mov r1, #0x14
|
|
str r1, [r0]
|
|
pop {r3, pc}
|
|
_0222DEDE:
|
|
ldr r0, _0222DEFC ; =0x02237CE0
|
|
mov r1, #0x16
|
|
str r1, [r0]
|
|
sub r1, #0x23
|
|
str r1, [r0, #4]
|
|
bl MOD56_0221244C
|
|
pop {r3, pc}
|
|
nop
|
|
_0222DEF0: .word 0x02237938
|
|
_0222DEF4: .word 0x02237CF4
|
|
_0222DEF8: .word 0x02237E1C
|
|
_0222DEFC: .word 0x02237CE0
|
|
thumb_func_end MOD80_0222DEBC
|
|
|
|
thumb_func_start MOD80_0222DF00
|
|
MOD80_0222DF00: ; 0x0222DF00
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
ldr r1, [sp, #0x18]
|
|
str r3, [sp]
|
|
str r1, [sp, #4]
|
|
add r4, r2, #0
|
|
ldr r1, _0222DF34 ; =0x02237CE0
|
|
add r2, r5, #0
|
|
ldr r1, [r1, #8]
|
|
add r3, r4, #0
|
|
bl MOD79_02212308
|
|
cmp r0, #0
|
|
beq _0222DF26
|
|
cmp r0, #1
|
|
beq _0222DF2C
|
|
cmp r0, #2
|
|
b _0222DF2C
|
|
_0222DF26:
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_0222DF2C:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0222DF34: .word 0x02237CE0
|
|
thumb_func_end MOD80_0222DF00
|
|
|
|
thumb_func_start MOD80_0222DF38
|
|
MOD80_0222DF38: ; 0x0222DF38
|
|
push {r4, lr}
|
|
cmp r0, #0x20
|
|
bhi _0222DFB0
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0222DF4A: ; jump table
|
|
.short _0222DF8C - _0222DF4A - 2 ; case 0
|
|
.short _0222DF8C - _0222DF4A - 2 ; case 1
|
|
.short _0222DF92 - _0222DF4A - 2 ; case 2
|
|
.short _0222DF8C - _0222DF4A - 2 ; case 3
|
|
.short _0222DF8C - _0222DF4A - 2 ; case 4
|
|
.short _0222DF8C - _0222DF4A - 2 ; case 5
|
|
.short _0222DF8C - _0222DF4A - 2 ; case 6
|
|
.short _0222DFB0 - _0222DF4A - 2 ; case 7
|
|
.short _0222DF92 - _0222DF4A - 2 ; case 8
|
|
.short _0222DF8C - _0222DF4A - 2 ; case 9
|
|
.short _0222DF8C - _0222DF4A - 2 ; case 10
|
|
.short _0222DF98 - _0222DF4A - 2 ; case 11
|
|
.short _0222DF9E - _0222DF4A - 2 ; case 12
|
|
.short _0222DF9E - _0222DF4A - 2 ; case 13
|
|
.short _0222DF8C - _0222DF4A - 2 ; case 14
|
|
.short _0222DFAA - _0222DF4A - 2 ; case 15
|
|
.short _0222DFA4 - _0222DF4A - 2 ; case 16
|
|
.short _0222DFA4 - _0222DF4A - 2 ; case 17
|
|
.short _0222DFA4 - _0222DF4A - 2 ; case 18
|
|
.short _0222DFA4 - _0222DF4A - 2 ; case 19
|
|
.short _0222DF8C - _0222DF4A - 2 ; case 20
|
|
.short _0222DF8C - _0222DF4A - 2 ; case 21
|
|
.short _0222DF8C - _0222DF4A - 2 ; case 22
|
|
.short _0222DF8C - _0222DF4A - 2 ; case 23
|
|
.short _0222DFB0 - _0222DF4A - 2 ; case 24
|
|
.short _0222DF92 - _0222DF4A - 2 ; case 25
|
|
.short _0222DFA4 - _0222DF4A - 2 ; case 26
|
|
.short _0222DFA4 - _0222DF4A - 2 ; case 27
|
|
.short _0222DFA4 - _0222DF4A - 2 ; case 28
|
|
.short _0222DFA4 - _0222DF4A - 2 ; case 29
|
|
.short _0222DFAA - _0222DF4A - 2 ; case 30
|
|
.short _0222DFA4 - _0222DF4A - 2 ; case 31
|
|
.short _0222DF8C - _0222DF4A - 2 ; case 32
|
|
_0222DF8C:
|
|
mov r4, #0xc
|
|
mvn r4, r4
|
|
b _0222DFB4
|
|
_0222DF92:
|
|
mov r4, #0xc
|
|
mvn r4, r4
|
|
b _0222DFB4
|
|
_0222DF98:
|
|
mov r4, #0xe
|
|
mvn r4, r4
|
|
b _0222DFB4
|
|
_0222DF9E:
|
|
mov r4, #0xe
|
|
mvn r4, r4
|
|
b _0222DFB4
|
|
_0222DFA4:
|
|
mov r4, #1
|
|
mvn r4, r4
|
|
b _0222DFB4
|
|
_0222DFAA:
|
|
mov r4, #1
|
|
mvn r4, r4
|
|
b _0222DFB4
|
|
_0222DFB0:
|
|
mov r4, #0xc
|
|
mvn r4, r4
|
|
_0222DFB4:
|
|
mov r0, #0xc
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _0222DFCC
|
|
bl WCM_GetPhase
|
|
cmp r0, #9
|
|
beq _0222DFC8
|
|
mov r4, #0xd
|
|
mvn r4, r4
|
|
_0222DFC8:
|
|
bl MOD04_021DD6F0
|
|
_0222DFCC:
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_0222DF38
|
|
|
|
thumb_func_start MOD80_0222DFD0
|
|
MOD80_0222DFD0: ; 0x0222DFD0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
ldr r0, [r5]
|
|
cmp r0, #0
|
|
beq _0222DFE4
|
|
cmp r0, #1
|
|
beq _0222E0E2
|
|
b _0222E0F8
|
|
_0222DFE4:
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl FUN_02015F10
|
|
bl FUN_02015F1C
|
|
bl FUN_0201E6D8
|
|
bl FUN_0201E740
|
|
mov r2, #1
|
|
lsl r2, r2, #0x1a
|
|
ldr r1, [r2]
|
|
ldr r0, _0222E100 ; =0xFFFFE0FF
|
|
and r1, r0
|
|
str r1, [r2]
|
|
ldr r2, _0222E104 ; =0x04001000
|
|
ldr r1, [r2]
|
|
and r0, r1
|
|
str r0, [r2]
|
|
mov r2, #7
|
|
mov r0, #3
|
|
mov r1, #0x3e
|
|
lsl r2, r2, #0x10
|
|
bl FUN_0201681C
|
|
ldr r1, _0222E108 ; =0x00001044
|
|
add r0, r6, #0
|
|
mov r2, #0x3e
|
|
bl FUN_02006268
|
|
ldr r2, _0222E108 ; =0x00001044
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
mov r0, #0x3e
|
|
bl FUN_02016B94
|
|
str r0, [r4, #4]
|
|
ldr r0, _0222E10C ; =0x02237E24
|
|
add r2, sp, #0
|
|
ldr r3, _0222E110 ; =0x02236E50
|
|
str r4, [r0, #4]
|
|
add r7, r2, #0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
add r0, r7, #0
|
|
bl FUN_02016BBC
|
|
mov r0, #0xb
|
|
mov r1, #0x40
|
|
mov r2, #0x3e
|
|
bl FUN_0200AA90
|
|
mov r1, #0xb3
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
ldr r2, _0222E114 ; =0x0000024F
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
mov r3, #0x3e
|
|
bl FUN_0200A86C
|
|
ldr r1, _0222E118 ; =0x00000B34
|
|
mov r2, #0x25
|
|
str r0, [r4, r1]
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
lsl r2, r2, #4
|
|
mov r3, #0x3e
|
|
bl FUN_0200A86C
|
|
ldr r1, _0222E11C ; =0x00000B3C
|
|
ldr r2, _0222E120 ; =0x00000265
|
|
str r0, [r4, r1]
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
mov r3, #0x3e
|
|
bl FUN_0200A86C
|
|
mov r1, #0x2d
|
|
lsl r1, r1, #6
|
|
str r0, [r4, r1]
|
|
ldr r2, _0222E124 ; =0x0000016A
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
mov r3, #0x3e
|
|
bl FUN_0200A86C
|
|
ldr r1, _0222E128 ; =0x00000B38
|
|
str r0, [r4, r1]
|
|
mov r0, #4
|
|
mov r1, #8
|
|
bl FUN_0201669C
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl MOD80_0222E338
|
|
add r0, r4, #0
|
|
bl MOD80_0222E7C8
|
|
ldr r1, _0222E12C ; =0x00000449
|
|
mov r0, #4
|
|
mov r2, #1
|
|
bl FUN_0200433C
|
|
ldr r1, _0222E130 ; =0x00020020
|
|
mov r0, #0x3e
|
|
bl AllocFromHeap
|
|
str r0, [r4, #0x48]
|
|
add r0, #0x1f
|
|
mov r1, #0x1f
|
|
bic r0, r1
|
|
mov r1, #2
|
|
lsl r1, r1, #0x10
|
|
mov r2, #0
|
|
bl tempName_NNS_FndCreateExpHeapEx
|
|
str r0, [r4, #0x4c]
|
|
mov r0, #1
|
|
str r0, [r5]
|
|
b _0222E0F8
|
|
_0222E0E2:
|
|
bl FUN_02088858
|
|
bl FUN_020888BC
|
|
bl FUN_0202E49C
|
|
mov r0, #0
|
|
str r0, [r5]
|
|
add sp, #0x10
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0222E0F8:
|
|
mov r0, #0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222E100: .word 0xFFFFE0FF
|
|
_0222E104: .word 0x04001000
|
|
_0222E108: .word 0x00001044
|
|
_0222E10C: .word 0x02237E24
|
|
_0222E110: .word 0x02236E50
|
|
_0222E114: .word 0x0000024F
|
|
_0222E118: .word 0x00000B34
|
|
_0222E11C: .word 0x00000B3C
|
|
_0222E120: .word 0x00000265
|
|
_0222E124: .word 0x0000016A
|
|
_0222E128: .word 0x00000B38
|
|
_0222E12C: .word 0x00000449
|
|
_0222E130: .word 0x00020020
|
|
thumb_func_end MOD80_0222DFD0
|
|
|
|
thumb_func_start MOD80_0222E134
|
|
MOD80_0222E134: ; 0x0222E134
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
bl FUN_02006278
|
|
add r4, r0, #0
|
|
bl MOD04_021DD984
|
|
bl MOD80_0222D5DC
|
|
ldr r1, [r5]
|
|
cmp r1, #5
|
|
bhi _0222E224
|
|
add r0, r1, r1
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0222E158: ; jump table
|
|
.short _0222E164 - _0222E158 - 2 ; case 0
|
|
.short _0222E180 - _0222E158 - 2 ; case 1
|
|
.short _0222E1A4 - _0222E158 - 2 ; case 2
|
|
.short _0222E1B2 - _0222E158 - 2 ; case 3
|
|
.short _0222E1C6 - _0222E158 - 2 ; case 4
|
|
.short _0222E220 - _0222E158 - 2 ; case 5
|
|
_0222E164:
|
|
bl FUN_0202E4C8
|
|
cmp r0, #0
|
|
beq _0222E224
|
|
ldr r1, [r4, #0x4c]
|
|
ldr r0, _0222E240 ; =0x02237E24
|
|
str r1, [r0]
|
|
ldr r0, _0222E244 ; =MOD80_0222E750
|
|
ldr r1, _0222E248 ; =MOD80_0222E778
|
|
bl MOD04_021DD968
|
|
mov r0, #1
|
|
str r0, [r5]
|
|
b _0222E224
|
|
_0222E180:
|
|
ldr r3, [r4, #0x14]
|
|
mov r2, #0xc
|
|
add r6, r3, #0
|
|
mul r6, r2
|
|
ldr r2, _0222E24C ; =0x02237984
|
|
add r0, r4, #0
|
|
ldr r2, [r2, r6]
|
|
blx r2
|
|
str r0, [r5]
|
|
add r0, r4, #0
|
|
add r0, #0xac
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _0222E224
|
|
add r0, r4, #0
|
|
bl MOD80_0222E7F0
|
|
b _0222E224
|
|
_0222E1A4:
|
|
bl FUN_0200E308
|
|
cmp r0, #0
|
|
beq _0222E224
|
|
mov r0, #3
|
|
str r0, [r5]
|
|
b _0222E224
|
|
_0222E1B2:
|
|
ldr r3, [r4, #0x14]
|
|
mov r2, #0xc
|
|
add r6, r3, #0
|
|
mul r6, r2
|
|
ldr r2, _0222E250 ; =0x02237988
|
|
add r0, r4, #0
|
|
ldr r2, [r2, r6]
|
|
blx r2
|
|
str r0, [r5]
|
|
b _0222E224
|
|
_0222E1C6:
|
|
bl FUN_0200E308
|
|
cmp r0, #0
|
|
beq _0222E224
|
|
add r0, r4, #0
|
|
add r0, #0xac
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _0222E20A
|
|
add r0, r4, #0
|
|
bl MOD80_0222E7C8
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x1c]
|
|
bl FUN_020239CC
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl MOD80_02235850
|
|
add r1, r4, #0
|
|
add r1, #0xc0
|
|
ldr r1, [r1]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl MOD80_02235B90
|
|
add r0, r4, #0
|
|
bl MOD80_0222F338
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0xac
|
|
str r1, [r0]
|
|
_0222E20A:
|
|
ldr r3, [r4, #0x14]
|
|
mov r2, #0xc
|
|
add r6, r3, #0
|
|
mul r6, r2
|
|
ldr r2, _0222E254 ; =0x0223798C
|
|
ldr r1, [r5]
|
|
ldr r2, [r2, r6]
|
|
add r0, r4, #0
|
|
blx r2
|
|
str r0, [r5]
|
|
b _0222E224
|
|
_0222E220:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_0222E224:
|
|
add r0, r4, #0
|
|
bl MOD80_0222E85C
|
|
add r0, r4, #0
|
|
bl MOD80_0222E87C
|
|
ldr r0, _0222E258 ; =0x00000B84
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222E23C
|
|
bl FUN_0201FDEC
|
|
_0222E23C:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0222E240: .word 0x02237E24
|
|
_0222E244: .word MOD80_0222E750
|
|
_0222E248: .word MOD80_0222E778
|
|
_0222E24C: .word 0x02237984
|
|
_0222E250: .word 0x02237988
|
|
_0222E254: .word 0x0223798C
|
|
_0222E258: .word 0x00000B84
|
|
thumb_func_end MOD80_0222E134
|
|
|
|
thumb_func_start MOD80_0222E25C
|
|
MOD80_0222E25C: ; 0x0222E25C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl FUN_02006278
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x48]
|
|
bl FreeToHeap
|
|
bl FUN_020888CC
|
|
bl FUN_02088868
|
|
add r0, r4, #0
|
|
bl MOD80_0222E7F0
|
|
ldr r0, _0222E2D4 ; =0x00000B38
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200A8B8
|
|
mov r0, #0x2d
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200A8B8
|
|
ldr r0, _0222E2D8 ; =0x00000B3C
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200A8B8
|
|
ldr r0, _0222E2DC ; =0x00000B34
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200A8B8
|
|
mov r0, #0xb3
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200AB18
|
|
add r0, r4, #0
|
|
bl MOD80_0222E398
|
|
bl FUN_0202E4F0
|
|
ldr r0, [r4, #4]
|
|
bl FreeToHeap
|
|
ldr r0, [r4]
|
|
bl FreeToHeap
|
|
add r0, r5, #0
|
|
bl FUN_0200627C
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl FUN_02015F10
|
|
mov r0, #0x3e
|
|
bl FUN_020168D0
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0222E2D4: .word 0x00000B38
|
|
_0222E2D8: .word 0x00000B3C
|
|
_0222E2DC: .word 0x00000B34
|
|
thumb_func_end MOD80_0222E25C
|
|
|
|
thumb_func_start MOD80_0222E2E0
|
|
MOD80_0222E2E0: ; 0x0222E2E0
|
|
push {r4, lr}
|
|
ldr r1, _0222E30C ; =0x00001014
|
|
add r4, r0, #0
|
|
ldr r1, [r4, r1]
|
|
cmp r1, #0
|
|
beq _0222E2F4
|
|
blx r1
|
|
ldr r0, _0222E30C ; =0x00001014
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
_0222E2F4:
|
|
bl FUN_0201C30C
|
|
bl FUN_02009F80
|
|
ldr r3, _0222E310 ; =0x027E0000
|
|
ldr r1, _0222E314 ; =0x00003FF8
|
|
mov r0, #1
|
|
ldr r2, [r3, r1]
|
|
orr r0, r2
|
|
str r0, [r3, r1]
|
|
pop {r4, pc}
|
|
nop
|
|
_0222E30C: .word 0x00001014
|
|
_0222E310: .word 0x027E0000
|
|
_0222E314: .word 0x00003FF8
|
|
thumb_func_end MOD80_0222E2E0
|
|
|
|
thumb_func_start MOD80_0222E318
|
|
MOD80_0222E318: ; 0x0222E318
|
|
push {r4, lr}
|
|
sub sp, #0x28
|
|
ldr r4, _0222E334 ; =0x02236E70
|
|
add r3, sp, #0
|
|
mov r2, #5
|
|
_0222E322:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _0222E322
|
|
add r0, sp, #0
|
|
bl FUN_0201E66C
|
|
add sp, #0x28
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0222E334: .word 0x02236E70
|
|
thumb_func_end MOD80_0222E318
|
|
|
|
thumb_func_start MOD80_0222E338
|
|
MOD80_0222E338: ; 0x0222E338
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, r1, #0
|
|
bl FUN_0200628C
|
|
mov r1, #0
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
str r1, [r4, #0x14]
|
|
bl MOD80_0222E7A8
|
|
add r1, r4, #0
|
|
mov r0, #0
|
|
add r1, #0xb4
|
|
strh r0, [r1]
|
|
ldr r1, _0222E390 ; =0x00000B22
|
|
mov r3, #3
|
|
strh r0, [r4, r1]
|
|
add r2, r1, #2
|
|
strb r3, [r4, r2]
|
|
add r2, r1, #3
|
|
strb r0, [r4, r2]
|
|
add r2, r1, #4
|
|
strb r0, [r4, r2]
|
|
add r1, r1, #6
|
|
strh r0, [r4, r1]
|
|
ldr r2, _0222E394 ; =0x00000FEC
|
|
add r1, r4, #0
|
|
strh r0, [r4, r2]
|
|
mov r3, #0x12
|
|
add r1, #0xb8
|
|
strh r3, [r1]
|
|
add r1, r2, #0
|
|
add r1, #0x1c
|
|
strh r0, [r4, r1]
|
|
add r1, r2, #0
|
|
add r1, #0x1e
|
|
strh r0, [r4, r1]
|
|
add r1, r2, #2
|
|
strh r0, [r4, r1]
|
|
sub r2, #0x14
|
|
str r0, [r4, r2]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0222E390: .word 0x00000B22
|
|
_0222E394: .word 0x00000FEC
|
|
thumb_func_end MOD80_0222E338
|
|
|
|
thumb_func_start MOD80_0222E398
|
|
MOD80_0222E398: ; 0x0222E398
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD80_0222E398
|
|
|
|
thumb_func_start MOD80_0222E39C
|
|
MOD80_0222E39C: ; 0x0222E39C
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
ldr r4, _0222E3C8 ; =0x02236E60
|
|
add r3, sp, #0
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
bl FUN_0201D040
|
|
mov r0, #0x14
|
|
mov r1, #0x3e
|
|
bl FUN_0201E00C
|
|
bl FUN_0201D168
|
|
bl FUN_0201E0BC
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0222E3C8: .word 0x02236E60
|
|
thumb_func_end MOD80_0222E39C
|
|
|
|
thumb_func_start MOD80_0222E3CC
|
|
MOD80_0222E3CC: ; 0x0222E3CC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
bl FUN_020B0FC0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #0x7e
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r3, #0x20
|
|
str r3, [sp, #0xc]
|
|
mov r2, #0x3e
|
|
str r2, [sp, #0x10]
|
|
add r2, r0, #0
|
|
bl FUN_02009EAC
|
|
ldr r1, _0222E5C8 ; =0x00000B88
|
|
mov r0, #0x4e
|
|
add r1, r5, r1
|
|
mov r2, #0x3e
|
|
bl FUN_02008C9C
|
|
ldr r1, _0222E5CC ; =0x00000B84
|
|
mov r2, #1
|
|
str r0, [r5, r1]
|
|
add r0, r1, #4
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
lsl r2, r2, #0x14
|
|
bl FUN_02008D24
|
|
mov r7, #0xcb
|
|
mov r6, #0
|
|
add r4, r5, #0
|
|
lsl r7, r7, #4
|
|
_0222E414:
|
|
mov r0, #3
|
|
add r1, r6, #0
|
|
mov r2, #0x3e
|
|
bl FUN_02008DEC
|
|
str r0, [r4, r7]
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, #4
|
|
blt _0222E414
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r3, #1
|
|
str r3, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #0xcb
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x68
|
|
mov r2, #0x12
|
|
bl FUN_02008F34
|
|
mov r1, #0x33
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #3
|
|
str r0, [sp, #8]
|
|
mov r0, #0x3e
|
|
sub r1, #0xc
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x68
|
|
mov r2, #9
|
|
bl FUN_02008FEC
|
|
ldr r1, _0222E5D0 ; =0x00000CC4
|
|
mov r2, #0x13
|
|
str r0, [r5, r1]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
sub r1, #0xc
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x68
|
|
mov r3, #1
|
|
bl FUN_020090AC
|
|
ldr r1, _0222E5D4 ; =0x00000CC8
|
|
mov r2, #0x14
|
|
str r0, [r5, r1]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
sub r1, #0xc
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x68
|
|
mov r3, #1
|
|
bl FUN_020090AC
|
|
ldr r1, _0222E5D8 ; =0x00000CCC
|
|
mov r3, #1
|
|
str r0, [r5, r1]
|
|
str r3, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
sub r1, #0x1c
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x68
|
|
mov r2, #0x20
|
|
bl FUN_02008F34
|
|
mov r1, #0xcd
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #9
|
|
str r0, [sp, #8]
|
|
mov r0, #0x3e
|
|
sub r1, #0x1c
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x68
|
|
mov r2, #8
|
|
mov r3, #0
|
|
bl FUN_02008FEC
|
|
ldr r1, _0222E5DC ; =0x00000CD4
|
|
mov r3, #1
|
|
str r0, [r5, r1]
|
|
str r3, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
sub r1, #0x1c
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x68
|
|
mov r2, #0x21
|
|
bl FUN_020090AC
|
|
ldr r1, _0222E5E0 ; =0x00000CD8
|
|
mov r3, #1
|
|
str r0, [r5, r1]
|
|
str r3, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
sub r1, #0x1c
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x68
|
|
mov r2, #0x22
|
|
bl FUN_020090AC
|
|
ldr r1, _0222E5E4 ; =0x00000CDC
|
|
str r0, [r5, r1]
|
|
sub r1, #0x1c
|
|
ldr r0, [r5, r1]
|
|
bl FUN_02009A50
|
|
mov r0, #0xcd
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02009A50
|
|
ldr r0, _0222E5D0 ; =0x00000CC4
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02009CF0
|
|
ldr r0, _0222E5DC ; =0x00000CD4
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02009CF0
|
|
bl FUN_0206B888
|
|
add r1, r0, #0
|
|
mov r0, #0x13
|
|
add r2, sp, #0x18
|
|
mov r3, #0x3e
|
|
bl FUN_02006C08
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #0x60
|
|
ldr r0, [r0, #0xc]
|
|
bl DC_FlushRange
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #0x60
|
|
ldr r0, [r0, #0xc]
|
|
add r2, r1, #0
|
|
bl GX_LoadOBJPltt
|
|
ldr r0, [sp, #0x18]
|
|
mov r7, #0x1f
|
|
ldr r4, [r0, #0xc]
|
|
mov r3, #0
|
|
add r5, r7, #0
|
|
_0222E570:
|
|
ldrh r2, [r4]
|
|
mov r0, #0x1f
|
|
add r3, r3, #1
|
|
add r1, r2, #0
|
|
and r1, r0
|
|
lsr r0, r1, #0x1f
|
|
add r0, r1, r0
|
|
asr r1, r0, #1
|
|
asr r0, r2, #0xa
|
|
add r6, r0, #0
|
|
and r6, r7
|
|
lsr r0, r6, #0x1f
|
|
add r0, r6, r0
|
|
asr r2, r2, #5
|
|
add r6, r2, #0
|
|
and r6, r5
|
|
lsr r2, r6, #0x1f
|
|
add r2, r6, r2
|
|
asr r0, r0, #1
|
|
asr r2, r2, #1
|
|
lsl r0, r0, #0xa
|
|
lsl r2, r2, #5
|
|
orr r0, r2
|
|
orr r0, r1
|
|
strh r0, [r4]
|
|
add r4, r4, #2
|
|
cmp r3, #0x30
|
|
blt _0222E570
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #0x60
|
|
ldr r0, [r0, #0xc]
|
|
bl DC_FlushRange
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #0xc0
|
|
ldr r0, [r0, #0xc]
|
|
mov r2, #0x60
|
|
bl GX_LoadOBJPltt
|
|
ldr r0, [sp, #0x14]
|
|
bl FreeToHeap
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0222E5C8: .word 0x00000B88
|
|
_0222E5CC: .word 0x00000B84
|
|
_0222E5D0: .word 0x00000CC4
|
|
_0222E5D4: .word 0x00000CC8
|
|
_0222E5D8: .word 0x00000CCC
|
|
_0222E5DC: .word 0x00000CD4
|
|
_0222E5E0: .word 0x00000CD8
|
|
_0222E5E4: .word 0x00000CDC
|
|
thumb_func_end MOD80_0222E3CC
|
|
|
|
thumb_func_start MOD80_0222E5E8
|
|
MOD80_0222E5E8: ; 0x0222E5E8
|
|
push {r3, r4}
|
|
ldr r4, _0222E610 ; =0x00000B84
|
|
ldr r1, [r1, r4]
|
|
str r1, [r0]
|
|
str r2, [r0, #4]
|
|
mov r2, #0
|
|
mov r1, #1
|
|
str r2, [r0, #0x10]
|
|
lsl r1, r1, #0xc
|
|
str r1, [r0, #0x14]
|
|
str r1, [r0, #0x18]
|
|
str r1, [r0, #0x1c]
|
|
strh r2, [r0, #0x20]
|
|
mov r1, #1
|
|
str r1, [r0, #0x24]
|
|
str r3, [r0, #0x28]
|
|
mov r1, #0x3e
|
|
str r1, [r0, #0x2c]
|
|
pop {r3, r4}
|
|
bx lr
|
|
.align 2, 0
|
|
_0222E610: .word 0x00000B84
|
|
thumb_func_end MOD80_0222E5E8
|
|
|
|
thumb_func_start MOD80_0222E614
|
|
MOD80_0222E614: ; 0x0222E614
|
|
push {r3, r4, lr}
|
|
sub sp, #0x2c
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
sub r0, r1, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
mov r2, #0xcb
|
|
str r1, [sp, #0x10]
|
|
lsl r2, r2, #4
|
|
ldr r0, [r4, r2]
|
|
add r3, r1, #0
|
|
str r0, [sp, #0x14]
|
|
add r0, r2, #4
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0x18]
|
|
add r0, r2, #0
|
|
add r0, #8
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0x1c]
|
|
add r0, r2, #0
|
|
add r0, #0xc
|
|
ldr r0, [r4, r0]
|
|
add r2, #0x40
|
|
str r0, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
add r0, r4, r2
|
|
add r2, r1, #0
|
|
str r1, [sp, #0x28]
|
|
bl FUN_02008AA4
|
|
mov r1, #1
|
|
mov r3, #0xcb
|
|
str r1, [sp]
|
|
sub r0, r1, #2
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
lsl r3, r3, #4
|
|
ldr r2, [r4, r3]
|
|
str r2, [sp, #0x14]
|
|
add r2, r3, #4
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r3, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x1c]
|
|
add r2, r3, #0
|
|
add r2, #0xc
|
|
ldr r2, [r4, r2]
|
|
add r3, #0x64
|
|
str r2, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
add r0, r4, r3
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl FUN_02008AA4
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl FUN_0201E6E4
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl FUN_0201E74C
|
|
add sp, #0x2c
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD80_0222E614
|
|
|
|
thumb_func_start MOD80_0222E6A8
|
|
MOD80_0222E6A8: ; 0x0222E6A8
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
ldr r5, _0222E6D8 ; =0x02236E48
|
|
add r4, sp, #4
|
|
ldrh r6, [r5]
|
|
add r3, sp, #4
|
|
strh r6, [r4]
|
|
ldrh r6, [r5, #2]
|
|
strh r6, [r4, #2]
|
|
ldrh r6, [r5, #4]
|
|
ldrh r5, [r5, #6]
|
|
strh r6, [r4, #4]
|
|
strh r5, [r4, #6]
|
|
strb r1, [r4, #2]
|
|
strh r2, [r4, #6]
|
|
mov r1, #0x3e
|
|
str r1, [sp]
|
|
add r1, r3, #0
|
|
mov r2, #0x1f
|
|
mov r3, #0xb
|
|
bl FUN_02002198
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0222E6D8: .word 0x02236E48
|
|
thumb_func_end MOD80_0222E6A8
|
|
|
|
thumb_func_start MOD80_0222E6DC
|
|
MOD80_0222E6DC: ; 0x0222E6DC
|
|
str r1, [r0, #0x2c]
|
|
str r2, [r0, #0x30]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD80_0222E6DC
|
|
|
|
thumb_func_start MOD80_0222E6E4
|
|
MOD80_0222E6E4: ; 0x0222E6E4
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
add r5, r2, #0
|
|
cmp r1, #0
|
|
ble _0222E702
|
|
lsl r0, r1, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0222E710
|
|
_0222E702:
|
|
lsl r0, r1, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0222E710:
|
|
bl _ffix
|
|
str r0, [sp]
|
|
cmp r5, #0
|
|
ble _0222E72C
|
|
lsl r0, r5, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0222E73A
|
|
_0222E72C:
|
|
lsl r0, r5, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0222E73A:
|
|
bl _ffix
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r1, sp, #0
|
|
bl FUN_02020044
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
thumb_func_end MOD80_0222E6E4
|
|
|
|
thumb_func_start MOD80_0222E750
|
|
MOD80_0222E750: ; 0x0222E750
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
bl OS_DisableInterrupts
|
|
add r6, r0, #0
|
|
ldr r0, _0222E774 ; =0x02237E24
|
|
add r1, r5, #0
|
|
ldr r0, [r0]
|
|
add r2, r4, #0
|
|
bl tempName_NNS_FndAllocFromExpHeapEx
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl OS_RestoreInterrupts
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0222E774: .word 0x02237E24
|
|
thumb_func_end MOD80_0222E750
|
|
|
|
thumb_func_start MOD80_0222E778
|
|
MOD80_0222E778: ; 0x0222E778
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
beq _0222E794
|
|
bl OS_DisableInterrupts
|
|
add r4, r0, #0
|
|
ldr r0, _0222E798 ; =0x02237E24
|
|
add r1, r5, #0
|
|
ldr r0, [r0]
|
|
bl FUN_020ADDF0
|
|
add r0, r4, #0
|
|
bl OS_RestoreInterrupts
|
|
_0222E794:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0222E798: .word 0x02237E24
|
|
thumb_func_end MOD80_0222E778
|
|
|
|
thumb_func_start MOD80_0222E79C
|
|
MOD80_0222E79C: ; 0x0222E79C
|
|
push {r3, lr}
|
|
bl MOD04_021DDB08
|
|
mov r1, #3
|
|
sub r0, r1, r0
|
|
pop {r3, pc}
|
|
thumb_func_end MOD80_0222E79C
|
|
|
|
thumb_func_start MOD80_0222E7A8
|
|
MOD80_0222E7A8: ; 0x0222E7A8
|
|
str r1, [r0, #0x18]
|
|
str r2, [r0, #0x24]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD80_0222E7A8
|
|
|
|
thumb_func_start MOD80_0222E7B0
|
|
MOD80_0222E7B0: ; 0x0222E7B0
|
|
ldr r1, [r0, #0x14]
|
|
str r1, [r0, #0x20]
|
|
ldr r1, [r0, #0x18]
|
|
str r1, [r0, #0x14]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD80_0222E7B0
|
|
|
|
thumb_func_start MOD80_0222E7BC
|
|
MOD80_0222E7BC: ; 0x0222E7BC
|
|
ldr r0, [r0]
|
|
ldr r3, _0222E7C4 ; =FUN_02024FF4
|
|
ldr r0, [r0, #0x24]
|
|
bx r3
|
|
.align 2, 0
|
|
_0222E7C4: .word FUN_02024FF4
|
|
thumb_func_end MOD80_0222E7BC
|
|
|
|
thumb_func_start MOD80_0222E7C8
|
|
MOD80_0222E7C8: ; 0x0222E7C8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222E318
|
|
bl MOD80_0222E39C
|
|
add r0, r4, #0
|
|
bl MOD80_0222E3CC
|
|
add r0, r4, #0
|
|
bl MOD80_0222E614
|
|
ldr r0, _0222E7EC ; =MOD80_0222E2E0
|
|
add r1, r4, #0
|
|
bl FUN_02015F10
|
|
pop {r4, pc}
|
|
nop
|
|
_0222E7EC: .word MOD80_0222E2E0
|
|
thumb_func_end MOD80_0222E7C8
|
|
|
|
thumb_func_start MOD80_0222E7F0
|
|
MOD80_0222E7F0: ; 0x0222E7F0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
bl MOD80_02235D10
|
|
mov r0, #0x33
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
bl FUN_02009C0C
|
|
mov r0, #0xcd
|
|
lsl r0, r0, #4
|
|
ldr r0, [r6, r0]
|
|
bl FUN_02009C0C
|
|
ldr r0, _0222E850 ; =0x00000CC4
|
|
ldr r0, [r6, r0]
|
|
bl FUN_02009E04
|
|
ldr r0, _0222E854 ; =0x00000CD4
|
|
ldr r0, [r6, r0]
|
|
bl FUN_02009E04
|
|
mov r7, #0xcb
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
lsl r7, r7, #4
|
|
_0222E824:
|
|
ldr r0, [r5, r7]
|
|
bl FUN_02008E2C
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _0222E824
|
|
ldr r0, _0222E858 ; =0x00000B84
|
|
ldr r0, [r6, r0]
|
|
bl FUN_0201FD58
|
|
ldr r0, _0222E858 ; =0x00000B84
|
|
mov r1, #0
|
|
str r1, [r6, r0]
|
|
bl FUN_02009FA0
|
|
bl FUN_0201D12C
|
|
bl FUN_0201E08C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222E850: .word 0x00000CC4
|
|
_0222E854: .word 0x00000CD4
|
|
_0222E858: .word 0x00000B84
|
|
thumb_func_end MOD80_0222E7F0
|
|
|
|
thumb_func_start MOD80_0222E85C
|
|
MOD80_0222E85C: ; 0x0222E85C
|
|
ldrh r1, [r0, #0x3a]
|
|
cmp r1, #0
|
|
beq _0222E866
|
|
sub r1, r1, #1
|
|
strh r1, [r0, #0x3a]
|
|
_0222E866:
|
|
bx lr
|
|
thumb_func_end MOD80_0222E85C
|
|
|
|
thumb_func_start MOD80_0222E868
|
|
MOD80_0222E868: ; 0x0222E868
|
|
ldr r1, _0222E878 ; =0x0000100A
|
|
mov r2, #1
|
|
strh r2, [r0, r1]
|
|
mov r2, #0
|
|
sub r1, r1, #2
|
|
strh r2, [r0, r1]
|
|
bx lr
|
|
nop
|
|
_0222E878: .word 0x0000100A
|
|
thumb_func_end MOD80_0222E868
|
|
|
|
thumb_func_start MOD80_0222E87C
|
|
MOD80_0222E87C: ; 0x0222E87C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0222E8B4 ; =0x0000100A
|
|
ldrh r1, [r4, r0]
|
|
cmp r1, #0
|
|
beq _0222E8B0
|
|
ldr r0, [r4]
|
|
sub r1, r1, #1
|
|
ldr r0, [r0, #0xc]
|
|
bl FUN_0206B4E4
|
|
ldr r1, _0222E8B8 ; =0x00001008
|
|
ldrh r2, [r4, r1]
|
|
add r0, r2, r0
|
|
strh r0, [r4, r1]
|
|
add r0, r1, #2
|
|
ldrh r0, [r4, r0]
|
|
add r2, r0, #1
|
|
add r0, r1, #2
|
|
strh r2, [r4, r0]
|
|
ldrh r0, [r4, r0]
|
|
cmp r0, #0x13
|
|
bne _0222E8B0
|
|
mov r2, #0
|
|
add r0, r1, #2
|
|
strh r2, [r4, r0]
|
|
_0222E8B0:
|
|
pop {r4, pc}
|
|
nop
|
|
_0222E8B4: .word 0x0000100A
|
|
_0222E8B8: .word 0x00001008
|
|
thumb_func_end MOD80_0222E87C
|
|
|
|
thumb_func_start MOD80_0222E8BC
|
|
MOD80_0222E8BC: ; 0x0222E8BC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0222E8D0 ; =0x00000E98
|
|
mov r1, #1
|
|
add r0, r4, r0
|
|
bl FUN_0200D858
|
|
ldr r1, _0222E8D4 ; =0x00000FD8
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0222E8D0: .word 0x00000E98
|
|
_0222E8D4: .word 0x00000FD8
|
|
thumb_func_end MOD80_0222E8BC
|
|
|
|
thumb_func_start MOD80_0222E8D8
|
|
MOD80_0222E8D8: ; 0x0222E8D8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0222E8F0 ; =0x00000FD8
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222E8EE
|
|
bl FUN_0200DBFC
|
|
ldr r0, _0222E8F0 ; =0x00000FD8
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
_0222E8EE:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0222E8F0: .word 0x00000FD8
|
|
thumb_func_end MOD80_0222E8D8
|
|
|
|
thumb_func_start MOD80_0222E8F4
|
|
MOD80_0222E8F4: ; 0x0222E8F4
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
bl MOD80_0222EDE0
|
|
ldr r0, [r4, #4]
|
|
bl MOD80_0222EA04
|
|
add r0, r4, #0
|
|
bl MOD80_0222EB6C
|
|
add r0, r4, #0
|
|
bl MOD80_0222EC98
|
|
add r0, r4, #0
|
|
bl MOD80_0222EC24
|
|
add r0, r4, #0
|
|
bl MOD80_02236D84
|
|
add r0, r4, #0
|
|
bl MOD80_0222F20C
|
|
ldr r1, _0222E9B0 ; =0x00000449
|
|
mov r0, #4
|
|
mov r2, #1
|
|
bl FUN_0200433C
|
|
ldrh r0, [r4, #0x34]
|
|
cmp r0, #0
|
|
bne _0222E968
|
|
add r0, r4, #0
|
|
bl MOD80_0222EB40
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r2, r1, #0
|
|
add r3, r0, #0
|
|
bl FUN_0200E1D0
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #1
|
|
strh r0, [r4, #0x34]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x1c]
|
|
bl FUN_020239CC
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl MOD80_02235900
|
|
b _0222E9A2
|
|
_0222E968:
|
|
ldr r0, _0222E9B4 ; =0x0000100C
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _0222E988
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r2, r1, #0
|
|
add r3, r0, #0
|
|
bl FUN_0200E1D0
|
|
b _0222E99E
|
|
_0222E988:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl FUN_0200E1D0
|
|
_0222E99E:
|
|
mov r0, #5
|
|
str r0, [r4, #0x2c]
|
|
_0222E9A2:
|
|
ldr r0, _0222E9B4 ; =0x0000100C
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
mov r0, #2
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_0222E9B0: .word 0x00000449
|
|
_0222E9B4: .word 0x0000100C
|
|
thumb_func_end MOD80_0222E8F4
|
|
|
|
thumb_func_start MOD80_0222E9B8
|
|
MOD80_0222E9B8: ; 0x0222E9B8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222E79C
|
|
bl FUN_02033EEC
|
|
ldr r1, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
lsl r2, r1, #2
|
|
ldr r1, _0222E9D4 ; =0x022379FC
|
|
ldr r1, [r1, r2]
|
|
blx r1
|
|
pop {r4, pc}
|
|
nop
|
|
_0222E9D4: .word 0x022379FC
|
|
thumb_func_end MOD80_0222E9B8
|
|
|
|
thumb_func_start MOD80_0222E9D8
|
|
MOD80_0222E9D8: ; 0x0222E9D8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl FUN_02033ED0
|
|
add r0, r4, #0
|
|
bl MOD80_0222EC88
|
|
add r0, r4, #0
|
|
bl MOD80_0222EE08
|
|
add r0, r4, #0
|
|
bl MOD80_0222ED9C
|
|
ldr r0, [r4, #4]
|
|
bl MOD80_0222EB14
|
|
add r0, r4, #0
|
|
bl MOD80_0222E7B0
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_0222E9D8
|
|
|
|
thumb_func_start MOD80_0222EA04
|
|
MOD80_0222EA04: ; 0x0222EA04
|
|
push {r4, r5, lr}
|
|
sub sp, #0x9c
|
|
ldr r5, _0222EAFC ; =0x02236EA4
|
|
add r3, sp, #0x8c
|
|
add r4, r0, #0
|
|
add r2, r3, #0
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
bl FUN_02016BBC
|
|
ldr r5, _0222EB00 ; =0x02236F04
|
|
add r3, sp, #0x70
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
add r3, r1, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_02018744
|
|
ldr r5, _0222EB04 ; =0x02236EE8
|
|
add r3, sp, #0x54
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
ldr r5, _0222EB08 ; =0x02236F20
|
|
add r3, sp, #0x38
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
ldr r5, _0222EB0C ; =0x02236F3C
|
|
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, #4
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_02018744
|
|
ldr r5, _0222EB10 ; =0x02236ECC
|
|
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]
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #0
|
|
mov r1, #0x20
|
|
add r2, r0, #0
|
|
mov r3, #0x3e
|
|
bl FUN_02017F18
|
|
mov r0, #4
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #0x3e
|
|
bl FUN_02017F18
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl FUN_0201E6E4
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl FUN_0201E74C
|
|
add sp, #0x9c
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_0222EAFC: .word 0x02236EA4
|
|
_0222EB00: .word 0x02236F04
|
|
_0222EB04: .word 0x02236EE8
|
|
_0222EB08: .word 0x02236F20
|
|
_0222EB0C: .word 0x02236F3C
|
|
_0222EB10: .word 0x02236ECC
|
|
thumb_func_end MOD80_0222EA04
|
|
|
|
thumb_func_start MOD80_0222EB14
|
|
MOD80_0222EB14: ; 0x0222EB14
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #5
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_020178A0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_0222EB14
|
|
|
|
thumb_func_start MOD80_0222EB40
|
|
MOD80_0222EB40: ; 0x0222EB40
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl FUN_0201E6E4
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl FUN_0201E6E4
|
|
mov r0, #4
|
|
mov r1, #0
|
|
bl FUN_0201E6E4
|
|
ldr r0, _0222EB68 ; =0x00000D5C
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020200A0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0222EB68: .word 0x00000D5C
|
|
thumb_func_end MOD80_0222EB40
|
|
|
|
thumb_func_start MOD80_0222EB6C
|
|
MOD80_0222EB6C: ; 0x0222EB6C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #4]
|
|
mov r0, #0x60
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x68
|
|
mov r1, #4
|
|
add r3, r2, #0
|
|
bl FUN_02006930
|
|
mov r1, #0x1a
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x3e
|
|
bl FUN_02002EEC
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #0x24]
|
|
bl FUN_02025084
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl FUN_0200CD68
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r2, #0x1f
|
|
mov r3, #0xb
|
|
bl FUN_0200CB00
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
mov r1, #0xe
|
|
add r2, r4, #0
|
|
bl FUN_0200687C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
mov r1, #0x1e
|
|
add r2, r4, #0
|
|
bl FUN_020068C8
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
mov r1, #0x1d
|
|
add r2, r4, #0
|
|
mov r3, #2
|
|
bl FUN_020068C8
|
|
add r0, r5, #0
|
|
bl MOD80_0222F338
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD80_0222EB6C
|
|
|
|
thumb_func_start MOD80_0222EC24
|
|
MOD80_0222EC24: ; 0x0222EC24
|
|
push {r4, lr}
|
|
sub sp, #0x30
|
|
mov r2, #0xcf
|
|
add r4, r0, #0
|
|
lsl r2, r2, #4
|
|
add r0, sp, #0
|
|
add r1, r4, #0
|
|
add r2, r4, r2
|
|
mov r3, #1
|
|
bl MOD80_0222E5E8
|
|
add r0, r4, #0
|
|
add r0, #0xb4
|
|
ldrh r0, [r0]
|
|
lsl r1, r0, #2
|
|
ldr r0, _0222EC7C ; =0x02236E98
|
|
ldrh r0, [r0, r1]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r0, #0xb4
|
|
ldrh r0, [r0]
|
|
lsl r1, r0, #2
|
|
ldr r0, _0222EC80 ; =0x02236E9A
|
|
ldrh r0, [r0, r1]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0
|
|
bl FUN_0201FE94
|
|
ldr r1, _0222EC84 ; =0x00000D5C
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
mov r1, #1
|
|
bl FUN_020200BC
|
|
ldr r0, _0222EC84 ; =0x00000D5C
|
|
mov r1, #1
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02020130
|
|
add sp, #0x30
|
|
pop {r4, pc}
|
|
nop
|
|
_0222EC7C: .word 0x02236E98
|
|
_0222EC80: .word 0x02236E9A
|
|
_0222EC84: .word 0x00000D5C
|
|
thumb_func_end MOD80_0222EC24
|
|
|
|
thumb_func_start MOD80_0222EC88
|
|
MOD80_0222EC88: ; 0x0222EC88
|
|
ldr r1, _0222EC90 ; =0x00000D5C
|
|
ldr r3, _0222EC94 ; =FUN_0201FFC8
|
|
ldr r0, [r0, r1]
|
|
bx r3
|
|
.align 2, 0
|
|
_0222EC90: .word 0x00000D5C
|
|
_0222EC94: .word FUN_0201FFC8
|
|
thumb_func_end MOD80_0222EC88
|
|
|
|
thumb_func_start MOD80_0222EC98
|
|
MOD80_0222EC98: ; 0x0222EC98
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
mov r3, #1
|
|
add r7, r0, #0
|
|
str r3, [sp]
|
|
mov r0, #0x1c
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x28
|
|
ldr r1, _0222ED88 ; =0x00000EB8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r7, #4]
|
|
add r1, r7, r1
|
|
mov r2, #0
|
|
bl FUN_02019064
|
|
ldr r0, _0222ED88 ; =0x00000EB8
|
|
mov r1, #0
|
|
add r0, r7, r0
|
|
bl FUN_02019620
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r3, #0
|
|
mov r2, #0xb5
|
|
ldr r0, _0222ED8C ; =0x000F0400
|
|
str r3, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, _0222ED88 ; =0x00000EB8
|
|
str r3, [sp, #0xc]
|
|
lsl r2, r2, #4
|
|
ldr r2, [r7, r2]
|
|
add r0, r7, r0
|
|
mov r1, #1
|
|
bl FUN_0201BDE0
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
ldr r0, _0222ED90 ; =0x00000ED8
|
|
mov r6, #0x61
|
|
mov r4, #6
|
|
add r5, r7, r0
|
|
_0222ECF2:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0xf
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
lsl r0, r6, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r7, #4]
|
|
add r1, r5, #0
|
|
mov r2, #1
|
|
mov r3, #9
|
|
bl FUN_02019064
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
ldr r0, [sp, #0x14]
|
|
add r6, #0x1e
|
|
add r0, r0, #1
|
|
add r4, r4, #5
|
|
add r5, #0x10
|
|
str r0, [sp, #0x14]
|
|
cmp r0, #3
|
|
blt _0222ECF2
|
|
mov r0, #0x15
|
|
str r0, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r3, #2
|
|
ldr r1, _0222ED94 ; =0x00000E98
|
|
str r3, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x60
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r7, #4]
|
|
add r1, r7, r1
|
|
mov r2, #0
|
|
bl FUN_02019064
|
|
ldr r0, _0222ED94 ; =0x00000E98
|
|
mov r1, #0xf
|
|
add r0, r7, r0
|
|
bl FUN_02019620
|
|
mov r0, #0x13
|
|
str r0, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x96
|
|
ldr r1, _0222ED98 ; =0x00000FB8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r7, #4]
|
|
add r1, r7, r1
|
|
mov r2, #0
|
|
mov r3, #2
|
|
bl FUN_02019064
|
|
ldr r0, _0222ED98 ; =0x00000FB8
|
|
mov r1, #0xf
|
|
add r0, r7, r0
|
|
bl FUN_02019620
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0222ED88: .word 0x00000EB8
|
|
_0222ED8C: .word 0x000F0400
|
|
_0222ED90: .word 0x00000ED8
|
|
_0222ED94: .word 0x00000E98
|
|
_0222ED98: .word 0x00000FB8
|
|
thumb_func_end MOD80_0222EC98
|
|
|
|
thumb_func_start MOD80_0222ED9C
|
|
MOD80_0222ED9C: ; 0x0222ED9C
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
ldr r0, _0222EDD0 ; =0x00000FB8
|
|
add r0, r6, r0
|
|
bl FUN_02019178
|
|
ldr r0, _0222EDD4 ; =0x00000E98
|
|
add r0, r6, r0
|
|
bl FUN_02019178
|
|
ldr r0, _0222EDD8 ; =0x00000ED8
|
|
mov r4, #0
|
|
add r5, r6, r0
|
|
_0222EDB6:
|
|
add r0, r5, #0
|
|
bl FUN_02019178
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #3
|
|
blt _0222EDB6
|
|
ldr r0, _0222EDDC ; =0x00000EB8
|
|
add r0, r6, r0
|
|
bl FUN_02019178
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0222EDD0: .word 0x00000FB8
|
|
_0222EDD4: .word 0x00000E98
|
|
_0222EDD8: .word 0x00000ED8
|
|
_0222EDDC: .word 0x00000EB8
|
|
thumb_func_end MOD80_0222ED9C
|
|
|
|
thumb_func_start MOD80_0222EDE0
|
|
MOD80_0222EDE0: ; 0x0222EDE0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xb4
|
|
mov r1, #0x3e
|
|
bl FUN_020219F4
|
|
ldr r1, _0222EE04 ; =0x00000B4C
|
|
str r0, [r4, r1]
|
|
sub r1, #0x18
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0x27
|
|
bl FUN_0200A914
|
|
mov r1, #0xb5
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
nop
|
|
_0222EE04: .word 0x00000B4C
|
|
thumb_func_end MOD80_0222EDE0
|
|
|
|
thumb_func_start MOD80_0222EE08
|
|
MOD80_0222EE08: ; 0x0222EE08
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0222EE20 ; =0x00000B4C
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
mov r0, #0xb5
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0222EE20: .word 0x00000B4C
|
|
thumb_func_end MOD80_0222EE08
|
|
|
|
thumb_func_start MOD80_0222EE24
|
|
MOD80_0222EE24: ; 0x0222EE24
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0222EE60 ; =0x00000FEC
|
|
ldrh r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222EE5A
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl FUN_0201E6E4
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl FUN_0201E6E4
|
|
mov r0, #4
|
|
mov r1, #0
|
|
bl FUN_0201E6E4
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
mov r2, #0xb
|
|
bl MOD80_0222E7A8
|
|
mov r0, #1
|
|
str r0, [r4, #0x1c]
|
|
mov r0, #9
|
|
str r0, [r4, #0x2c]
|
|
_0222EE5A:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_0222EE60: .word 0x00000FEC
|
|
thumb_func_end MOD80_0222EE24
|
|
|
|
thumb_func_start MOD80_0222EE64
|
|
MOD80_0222EE64: ; 0x0222EE64
|
|
push {r3, lr}
|
|
mov r1, #0xa
|
|
mov r2, #2
|
|
bl MOD80_0222E6DC
|
|
mov r0, #3
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_0222EE64
|
|
|
|
thumb_func_start MOD80_0222EE74
|
|
MOD80_0222EE74: ; 0x0222EE74
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl FUN_0200E1D0
|
|
mov r0, #3
|
|
str r0, [r4, #0x2c]
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD80_0222EE74
|
|
|
|
thumb_func_start MOD80_0222EE98
|
|
MOD80_0222EE98: ; 0x0222EE98
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl FUN_0200E308
|
|
cmp r0, #0
|
|
beq _0222EEA8
|
|
mov r0, #5
|
|
str r0, [r4, #0x2c]
|
|
_0222EEA8:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_0222EE98
|
|
|
|
thumb_func_start MOD80_0222EEAC
|
|
MOD80_0222EEAC: ; 0x0222EEAC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl FUN_0200E308
|
|
cmp r0, #0
|
|
beq _0222EEBC
|
|
mov r0, #5
|
|
str r0, [r4, #0x2c]
|
|
_0222EEBC:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_0222EEAC
|
|
|
|
thumb_func_start MOD80_0222EEC0
|
|
MOD80_0222EEC0: ; 0x0222EEC0
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r1, _0222EEF4 ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r1, #4
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl MOD80_0222F250
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
mov r2, #6
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _0222EEF8 ; =0x00000D5C
|
|
mov r1, #1
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020200BC
|
|
add r0, r4, #0
|
|
bl MOD80_0222E868
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_0222EEF4: .word 0x00000F0F
|
|
_0222EEF8: .word 0x00000D5C
|
|
thumb_func_end MOD80_0222EEC0
|
|
|
|
thumb_func_start MOD80_0222EEFC
|
|
MOD80_0222EEFC: ; 0x0222EEFC
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r1, _0222F084 ; =0x021C48B8
|
|
mov r2, #2
|
|
ldr r1, [r1, #0x48]
|
|
add r4, r0, #0
|
|
tst r2, r1
|
|
beq _0222EF36
|
|
bl MOD80_0222E7BC
|
|
add r2, r0, #0
|
|
ldr r0, _0222F088 ; =0x00000F0F
|
|
mov r1, #7
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl MOD80_0222F2A8
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
mov r2, #0xc
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _0222F08C ; =0x00000D5C
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020200BC
|
|
b _0222F07C
|
|
_0222EF36:
|
|
mov r2, #1
|
|
tst r2, r1
|
|
beq _0222F002
|
|
add r1, r4, #0
|
|
add r1, #0xb4
|
|
ldrh r1, [r1]
|
|
cmp r1, #0
|
|
beq _0222EF50
|
|
cmp r1, #1
|
|
beq _0222EFBE
|
|
cmp r1, #2
|
|
beq _0222EFD2
|
|
b _0222F07C
|
|
_0222EF50:
|
|
ldrh r1, [r4, #0x36]
|
|
cmp r1, #0
|
|
bne _0222EF6A
|
|
mov r1, #5
|
|
add r2, r1, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #9
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _0222F090 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _0222F07C
|
|
_0222EF6A:
|
|
ldrh r1, [r4, #0x3a]
|
|
cmp r1, #0
|
|
bne _0222EF8C
|
|
mov r1, #7
|
|
mov r2, #0xb
|
|
bl MOD80_0222E7A8
|
|
mov r0, #2
|
|
str r0, [r4, #0x1c]
|
|
mov r0, #9
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _0222F094 ; =0x00000708
|
|
strh r0, [r4, #0x3a]
|
|
ldr r0, _0222F090 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _0222F07C
|
|
_0222EF8C:
|
|
ldr r0, _0222F08C ; =0x00000D5C
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020200BC
|
|
ldr r0, _0222F088 ; =0x00000F0F
|
|
mov r1, #0x22
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl MOD80_0222F250
|
|
add r0, r4, #0
|
|
mov r1, #0xb
|
|
mov r2, #5
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _0222F098 ; =0x000005F3
|
|
bl FUN_020054C8
|
|
ldr r0, _0222F09C ; =0x00000FDC
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
b _0222F07C
|
|
_0222EFBE:
|
|
mov r1, #4
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #9
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _0222F090 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _0222F07C
|
|
_0222EFD2:
|
|
bl MOD80_0222E7BC
|
|
add r2, r0, #0
|
|
ldr r0, _0222F088 ; =0x00000F0F
|
|
mov r1, #7
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl MOD80_0222F2A8
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
mov r2, #0xc
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _0222F08C ; =0x00000D5C
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020200BC
|
|
ldr r0, _0222F090 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _0222F07C
|
|
_0222F002:
|
|
mov r0, #0x40
|
|
tst r0, r1
|
|
beq _0222F040
|
|
add r0, r4, #0
|
|
add r0, #0xb4
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
beq _0222F07C
|
|
add r0, r4, #0
|
|
add r0, #0xb4
|
|
ldrh r0, [r0]
|
|
sub r1, r0, #1
|
|
add r0, r4, #0
|
|
add r0, #0xb4
|
|
strh r1, [r0]
|
|
ldr r0, _0222F090 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
add r0, r4, #0
|
|
add r0, #0xb4
|
|
ldrh r0, [r0]
|
|
ldr r1, _0222F0A0 ; =0x02236E98
|
|
ldr r2, _0222F0A4 ; =0x02236E9A
|
|
lsl r3, r0, #2
|
|
ldr r0, _0222F08C ; =0x00000D5C
|
|
ldrh r1, [r1, r3]
|
|
ldrh r2, [r2, r3]
|
|
ldr r0, [r4, r0]
|
|
bl MOD80_0222E6E4
|
|
b _0222F07C
|
|
_0222F040:
|
|
mov r0, #0x80
|
|
tst r0, r1
|
|
beq _0222F07C
|
|
add r0, r4, #0
|
|
add r0, #0xb4
|
|
ldrh r0, [r0]
|
|
cmp r0, #2
|
|
bhs _0222F07C
|
|
add r0, r4, #0
|
|
add r0, #0xb4
|
|
ldrh r0, [r0]
|
|
add r1, r0, #1
|
|
add r0, r4, #0
|
|
add r0, #0xb4
|
|
strh r1, [r0]
|
|
ldr r0, _0222F090 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
add r0, r4, #0
|
|
add r0, #0xb4
|
|
ldrh r0, [r0]
|
|
ldr r1, _0222F0A0 ; =0x02236E98
|
|
ldr r2, _0222F0A4 ; =0x02236E9A
|
|
lsl r3, r0, #2
|
|
ldr r0, _0222F08C ; =0x00000D5C
|
|
ldrh r1, [r1, r3]
|
|
ldrh r2, [r2, r3]
|
|
ldr r0, [r4, r0]
|
|
bl MOD80_0222E6E4
|
|
_0222F07C:
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_0222F084: .word 0x021C48B8
|
|
_0222F088: .word 0x00000F0F
|
|
_0222F08C: .word 0x00000D5C
|
|
_0222F090: .word 0x000005DC
|
|
_0222F094: .word 0x00000708
|
|
_0222F098: .word 0x000005F3
|
|
_0222F09C: .word 0x00000FDC
|
|
_0222F0A0: .word 0x02236E98
|
|
_0222F0A4: .word 0x02236E9A
|
|
thumb_func_end MOD80_0222EEFC
|
|
|
|
thumb_func_start MOD80_0222F0A8
|
|
MOD80_0222F0A8: ; 0x0222F0A8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x1c]
|
|
bl FUN_020239CC
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl MOD80_02235A10
|
|
mov r0, #8
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _0222F0CC ; =0x00000FEC
|
|
mov r1, #0
|
|
strh r1, [r4, r0]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_0222F0CC: .word 0x00000FEC
|
|
thumb_func_end MOD80_0222F0A8
|
|
|
|
thumb_func_start MOD80_0222F0D0
|
|
MOD80_0222F0D0: ; 0x0222F0D0
|
|
ldr r1, _0222F0E0 ; =0x00000FEC
|
|
ldrh r1, [r0, r1]
|
|
cmp r1, #0
|
|
beq _0222F0DC
|
|
mov r1, #9
|
|
str r1, [r0, #0x2c]
|
|
_0222F0DC:
|
|
mov r0, #3
|
|
bx lr
|
|
.align 2, 0
|
|
_0222F0E0: .word 0x00000FEC
|
|
thumb_func_end MOD80_0222F0D0
|
|
|
|
thumb_func_start MOD80_0222F0E4
|
|
MOD80_0222F0E4: ; 0x0222F0E4
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x18]
|
|
cmp r0, #0
|
|
bne _0222F10A
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl FUN_0200E1D0
|
|
b _0222F122
|
|
_0222F10A:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl FUN_0200E1D0
|
|
_0222F122:
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #4
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD80_0222F0E4
|
|
|
|
thumb_func_start MOD80_0222F12C
|
|
MOD80_0222F12C: ; 0x0222F12C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #0xd
|
|
add r2, r1, #0
|
|
ldr r0, [r4, #4]
|
|
add r2, #0xf5
|
|
bl MOD80_0222E6A8
|
|
ldr r1, _0222F148 ; =0x00000FCC
|
|
str r0, [r4, r1]
|
|
mov r0, #0xd
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0222F148: .word 0x00000FCC
|
|
thumb_func_end MOD80_0222F12C
|
|
|
|
thumb_func_start MOD80_0222F14C
|
|
MOD80_0222F14C: ; 0x0222F14C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0222F1AC ; =0x00000FCC
|
|
mov r1, #0x3e
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020021AC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0222F1A8
|
|
sub r1, r1, #1
|
|
cmp r0, r1
|
|
ldr r0, _0222F1B0 ; =0x00000FB8
|
|
bne _0222F18A
|
|
add r0, r4, r0
|
|
mov r1, #1
|
|
bl FUN_0200D0E0
|
|
ldr r0, _0222F1B0 ; =0x00000FB8
|
|
add r0, r4, r0
|
|
bl FUN_02019570
|
|
ldr r0, _0222F1B4 ; =0x00000D5C
|
|
mov r1, #1
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020200BC
|
|
mov r0, #5
|
|
str r0, [r4, #0x2c]
|
|
b _0222F1A8
|
|
_0222F18A:
|
|
add r0, r4, r0
|
|
mov r1, #1
|
|
bl FUN_0200D0E0
|
|
ldr r0, _0222F1B0 ; =0x00000FB8
|
|
add r0, r4, r0
|
|
bl FUN_02019570
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #7
|
|
str r0, [r4, #0x2c]
|
|
_0222F1A8:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0222F1AC: .word 0x00000FCC
|
|
_0222F1B0: .word 0x00000FB8
|
|
_0222F1B4: .word 0x00000D5C
|
|
thumb_func_end MOD80_0222F14C
|
|
|
|
thumb_func_start MOD80_0222F1B8
|
|
MOD80_0222F1B8: ; 0x0222F1B8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _0222F1D2
|
|
ldr r0, [r4, #0x30]
|
|
str r0, [r4, #0x2c]
|
|
_0222F1D2:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_0222F1B8
|
|
|
|
thumb_func_start MOD80_0222F1D8
|
|
MOD80_0222F1D8: ; 0x0222F1D8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _0222F204
|
|
ldr r0, _0222F208 ; =0x00000FDC
|
|
ldr r1, [r4, r0]
|
|
add r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0x2d
|
|
ble _0222F204
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, #0x30]
|
|
str r0, [r4, #0x2c]
|
|
_0222F204:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0222F208: .word 0x00000FDC
|
|
thumb_func_end MOD80_0222F1D8
|
|
|
|
thumb_func_start MOD80_0222F20C
|
|
MOD80_0222F20C: ; 0x0222F20C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
ldrh r1, [r7, #0x36]
|
|
mov r0, #0xc
|
|
ldr r2, _0222F240 ; =0x02236EB4
|
|
mul r0, r1
|
|
add r4, r2, r0
|
|
ldr r0, _0222F244 ; =0x00000ED8
|
|
mov r6, #0
|
|
add r5, r7, r0
|
|
_0222F220:
|
|
ldr r1, _0222F248 ; =0x00000B34
|
|
ldr r2, [r4]
|
|
ldr r1, [r7, r1]
|
|
ldr r3, _0222F24C ; =0x00000F0F
|
|
add r0, r5, #0
|
|
bl MOD80_0222F300
|
|
add r0, r5, #0
|
|
bl FUN_020191D0
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
add r5, #0x10
|
|
cmp r6, #3
|
|
blt _0222F220
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0222F240: .word 0x02236EB4
|
|
_0222F244: .word 0x00000ED8
|
|
_0222F248: .word 0x00000B34
|
|
_0222F24C: .word 0x00000F0F
|
|
thumb_func_end MOD80_0222F20C
|
|
|
|
thumb_func_start MOD80_0222F250
|
|
MOD80_0222F250: ; 0x0222F250
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r2, #0
|
|
ldr r2, _0222F29C ; =0x00000B34
|
|
add r5, r0, #0
|
|
ldr r0, [r5, r2]
|
|
add r2, #0x18
|
|
ldr r2, [r5, r2]
|
|
bl FUN_0200A8E0
|
|
ldr r0, _0222F2A0 ; =0x00000E98
|
|
mov r1, #0xf
|
|
add r0, r5, r0
|
|
bl FUN_02019620
|
|
ldr r0, _0222F2A0 ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl FUN_0200D0BC
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r4, [sp, #4]
|
|
ldr r0, _0222F2A0 ; =0x00000E98
|
|
ldr r2, _0222F2A4 ; =0x00000B4C
|
|
str r3, [sp, #8]
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
bl FUN_0201BD84
|
|
mov r1, #0x2e
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0222F29C: .word 0x00000B34
|
|
_0222F2A0: .word 0x00000E98
|
|
_0222F2A4: .word 0x00000B4C
|
|
thumb_func_end MOD80_0222F250
|
|
|
|
thumb_func_start MOD80_0222F2A8
|
|
MOD80_0222F2A8: ; 0x0222F2A8
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r2, #0
|
|
ldr r2, _0222F2F4 ; =0x00000B34
|
|
add r5, r0, #0
|
|
ldr r0, [r5, r2]
|
|
add r2, #0x18
|
|
ldr r2, [r5, r2]
|
|
bl FUN_0200A8E0
|
|
ldr r0, _0222F2F8 ; =0x00000FB8
|
|
mov r1, #0xf
|
|
add r0, r5, r0
|
|
bl FUN_02019620
|
|
ldr r0, _0222F2F8 ; =0x00000FB8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl FUN_0200D0BC
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r4, [sp, #4]
|
|
ldr r0, _0222F2F8 ; =0x00000FB8
|
|
ldr r2, _0222F2FC ; =0x00000B4C
|
|
str r3, [sp, #8]
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
bl FUN_0201BD84
|
|
mov r1, #0x2e
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0222F2F4: .word 0x00000B34
|
|
_0222F2F8: .word 0x00000FB8
|
|
_0222F2FC: .word 0x00000B4C
|
|
thumb_func_end MOD80_0222F2A8
|
|
|
|
thumb_func_start MOD80_0222F300
|
|
MOD80_0222F300: ; 0x0222F300
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
add r4, r3, #0
|
|
add r1, r2, #0
|
|
bl FUN_0200A914
|
|
lsl r1, r4, #0x18
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl FUN_02019620
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r2, r6, #0
|
|
str r3, [sp, #8]
|
|
bl FUN_0201BD84
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end MOD80_0222F300
|
|
|
|
thumb_func_start MOD80_0222F338
|
|
MOD80_0222F338: ; 0x0222F338
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
ldr r4, [r0, #4]
|
|
mov r0, #2
|
|
lsl r0, r0, #8
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
mov r0, #0x68
|
|
mov r1, #5
|
|
mov r2, #4
|
|
mov r3, #0
|
|
bl FUN_02006930
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0x2a
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
mov r1, #0xf
|
|
add r2, r4, #0
|
|
mov r3, #5
|
|
bl FUN_0200687C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
mov r1, #0x1f
|
|
add r2, r4, #0
|
|
mov r3, #5
|
|
bl FUN_020068C8
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_0222F338
|
|
|
|
thumb_func_start MOD80_0222F394
|
|
MOD80_0222F394: ; 0x0222F394
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
bl MOD80_0222F7F0
|
|
ldr r0, [r4, #4]
|
|
bl MOD80_0222F494
|
|
add r0, r4, #0
|
|
bl MOD80_0222F5A8
|
|
add r0, r4, #0
|
|
bl MOD80_0222F6EC
|
|
add r0, r4, #0
|
|
bl MOD80_0222F690
|
|
add r0, r4, #0
|
|
add r0, #0xd4
|
|
bl FUN_020690E4
|
|
str r0, [sp]
|
|
mov r0, #7
|
|
lsl r0, r0, #6
|
|
ldr r2, _0222F448 ; =0x00000B34
|
|
add r0, r4, r0
|
|
str r0, [sp, #4]
|
|
add r1, r2, #4
|
|
ldr r0, [r4, r2]
|
|
sub r2, r2, #4
|
|
ldr r3, _0222F44C ; =0x00000F08
|
|
ldr r1, [r4, r1]
|
|
ldr r2, [r4, r2]
|
|
add r3, r4, r3
|
|
bl MOD80_0222FBC0
|
|
ldr r0, _0222F448 ; =0x00000B34
|
|
ldr r1, _0222F450 ; =0x00000F58
|
|
mov r2, #0x1e
|
|
lsl r2, r2, #4
|
|
ldr r0, [r4, r0]
|
|
add r1, r4, r1
|
|
add r2, r4, r2
|
|
bl MOD80_0222FD28
|
|
ldr r1, _0222F454 ; =0x000001C7
|
|
ldrsb r0, [r4, r1]
|
|
add r1, r1, #1
|
|
ldrsb r1, [r4, r1]
|
|
bl MOD80_02234668
|
|
mov r1, #0x71
|
|
lsl r1, r1, #2
|
|
ldrsh r2, [r4, r1]
|
|
ldr r3, _0222F458 ; =0x00000F78
|
|
add r1, r1, #2
|
|
str r2, [sp]
|
|
ldrsb r1, [r4, r1]
|
|
ldr r2, _0222F448 ; =0x00000B34
|
|
add r3, r4, r3
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r1, r2, #4
|
|
ldr r0, [r4, r2]
|
|
sub r2, r2, #4
|
|
ldr r1, [r4, r1]
|
|
ldr r2, [r4, r2]
|
|
bl MOD80_02234048
|
|
add r0, r4, #0
|
|
add r0, #0xd4
|
|
bl MOD80_0222FD88
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl FUN_0200E1D0
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #2
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_0222F448: .word 0x00000B34
|
|
_0222F44C: .word 0x00000F08
|
|
_0222F450: .word 0x00000F58
|
|
_0222F454: .word 0x000001C7
|
|
_0222F458: .word 0x00000F78
|
|
thumb_func_end MOD80_0222F394
|
|
|
|
thumb_func_start MOD80_0222F45C
|
|
MOD80_0222F45C: ; 0x0222F45C
|
|
push {r3, lr}
|
|
ldr r1, [r0, #0x2c]
|
|
lsl r2, r1, #2
|
|
ldr r1, _0222F46C ; =0x02237A40
|
|
ldr r1, [r1, r2]
|
|
blx r1
|
|
pop {r3, pc}
|
|
nop
|
|
_0222F46C: .word 0x02237A40
|
|
thumb_func_end MOD80_0222F45C
|
|
|
|
thumb_func_start MOD80_0222F470
|
|
MOD80_0222F470: ; 0x0222F470
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222F6DC
|
|
add r0, r4, #0
|
|
bl MOD80_0222F830
|
|
add r0, r4, #0
|
|
bl MOD80_0222F7B8
|
|
ldr r0, [r4, #4]
|
|
bl MOD80_0222F57C
|
|
add r0, r4, #0
|
|
bl MOD80_0222E7B0
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_0222F470
|
|
|
|
thumb_func_start MOD80_0222F494
|
|
MOD80_0222F494: ; 0x0222F494
|
|
push {r4, r5, lr}
|
|
sub sp, #0x8c
|
|
ldr r5, _0222F568 ; =0x02236FC8
|
|
add r4, r0, #0
|
|
ldmia r5!, {r0, r1}
|
|
add r3, sp, #0x70
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
add r3, r1, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_02018744
|
|
ldr r5, _0222F56C ; =0x02236FAC
|
|
add r3, sp, #0x54
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
ldr r5, _0222F570 ; =0x02236F90
|
|
add r3, sp, #0x38
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
ldr r5, _0222F574 ; =0x02236F74
|
|
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, #4
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_02018744
|
|
ldr r5, _0222F578 ; =0x02236F58
|
|
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, #5
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #0
|
|
mov r1, #0x20
|
|
add r2, r0, #0
|
|
mov r3, #0x3e
|
|
bl FUN_02017F18
|
|
mov r0, #4
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #0x3e
|
|
bl FUN_02017F18
|
|
add sp, #0x8c
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_0222F568: .word 0x02236FC8
|
|
_0222F56C: .word 0x02236FAC
|
|
_0222F570: .word 0x02236F90
|
|
_0222F574: .word 0x02236F74
|
|
_0222F578: .word 0x02236F58
|
|
thumb_func_end MOD80_0222F494
|
|
|
|
thumb_func_start MOD80_0222F57C
|
|
MOD80_0222F57C: ; 0x0222F57C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #5
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_020178A0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_0222F57C
|
|
|
|
thumb_func_start MOD80_0222F5A8
|
|
MOD80_0222F5A8: ; 0x0222F5A8
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #4]
|
|
mov r0, #0x60
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x68
|
|
mov r1, #7
|
|
add r3, r2, #0
|
|
bl FUN_02006930
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
mov r0, #0x68
|
|
mov r1, #5
|
|
mov r2, #4
|
|
mov r3, #0
|
|
bl FUN_02006930
|
|
mov r1, #0x1a
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x3e
|
|
bl FUN_02002EEC
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #0x24]
|
|
bl FUN_02025084
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl FUN_0200CD68
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r2, #0x1f
|
|
mov r3, #0xb
|
|
bl FUN_0200CB00
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0xa
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
mov r1, #0x11
|
|
add r2, r4, #0
|
|
bl FUN_0200687C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
mov r1, #0x19
|
|
add r2, r4, #0
|
|
bl FUN_020068C8
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0x2a
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
mov r1, #0xf
|
|
add r2, r4, #0
|
|
mov r3, #5
|
|
bl FUN_0200687C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
mov r1, #0x1f
|
|
add r2, r4, #0
|
|
mov r3, #5
|
|
bl FUN_020068C8
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_0222F5A8
|
|
|
|
thumb_func_start MOD80_0222F690
|
|
MOD80_0222F690: ; 0x0222F690
|
|
push {r4, lr}
|
|
sub sp, #0x30
|
|
mov r2, #0xcf
|
|
add r4, r0, #0
|
|
lsl r2, r2, #4
|
|
add r0, sp, #0
|
|
add r1, r4, #0
|
|
add r2, r4, r2
|
|
mov r3, #1
|
|
bl MOD80_0222E5E8
|
|
mov r0, #0x32
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #8]
|
|
mov r0, #0x3a
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0
|
|
bl FUN_0201FE94
|
|
ldr r1, _0222F6D8 ; =0x00000E6C
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
mov r1, #1
|
|
bl FUN_020200BC
|
|
ldr r0, _0222F6D8 ; =0x00000E6C
|
|
mov r1, #0x25
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02020130
|
|
bl FUN_02033E74
|
|
add sp, #0x30
|
|
pop {r4, pc}
|
|
nop
|
|
_0222F6D8: .word 0x00000E6C
|
|
thumb_func_end MOD80_0222F690
|
|
|
|
thumb_func_start MOD80_0222F6DC
|
|
MOD80_0222F6DC: ; 0x0222F6DC
|
|
ldr r1, _0222F6E4 ; =0x00000E6C
|
|
ldr r3, _0222F6E8 ; =FUN_0201FFC8
|
|
ldr r0, [r0, r1]
|
|
bx r3
|
|
.align 2, 0
|
|
_0222F6E4: .word 0x00000E6C
|
|
_0222F6E8: .word FUN_0201FFC8
|
|
thumb_func_end MOD80_0222F6DC
|
|
|
|
thumb_func_start MOD80_0222F6EC
|
|
MOD80_0222F6EC: ; 0x0222F6EC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x15
|
|
str r0, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r3, #2
|
|
str r3, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x28
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, _0222F7A8 ; =0x00000E98
|
|
ldr r1, [sp, #0x14]
|
|
ldr r0, [r0, #4]
|
|
add r1, r1, r2
|
|
mov r2, #0
|
|
bl FUN_02019064
|
|
ldr r1, _0222F7A8 ; =0x00000E98
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r0, r1
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
mov r0, #0xf
|
|
str r0, [sp]
|
|
mov r0, #0xa
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x5e
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, _0222F7AC ; =0x00000ED8
|
|
ldr r1, [sp, #0x14]
|
|
ldr r0, [r0, #4]
|
|
add r1, r1, r2
|
|
mov r2, #0
|
|
mov r3, #0x15
|
|
bl FUN_02019064
|
|
ldr r1, _0222F7B0 ; =0x00000F08
|
|
ldr r0, [sp, #0x14]
|
|
ldr r4, _0222F7B4 ; =0x02236FE4
|
|
mov r6, #0x86
|
|
mov r7, #0
|
|
add r5, r0, r1
|
|
_0222F754:
|
|
ldr r0, [r4, #4]
|
|
add r1, r5, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [r4, #8]
|
|
mov r2, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0xc]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
lsl r0, r6, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r3, [r4]
|
|
ldr r0, [r0, #4]
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl FUN_02019064
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
ldr r1, [r4, #8]
|
|
ldr r0, [r4, #0xc]
|
|
add r7, r7, #1
|
|
mul r0, r1
|
|
add r6, r6, r0
|
|
add r4, #0x10
|
|
add r5, #0x10
|
|
cmp r7, #0xa
|
|
blt _0222F754
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222F7A8: .word 0x00000E98
|
|
_0222F7AC: .word 0x00000ED8
|
|
_0222F7B0: .word 0x00000F08
|
|
_0222F7B4: .word 0x02236FE4
|
|
thumb_func_end MOD80_0222F6EC
|
|
|
|
thumb_func_start MOD80_0222F7B8
|
|
MOD80_0222F7B8: ; 0x0222F7B8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0222F7E4 ; =0x00000E98
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
ldr r0, _0222F7E8 ; =0x00000ED8
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
ldr r0, _0222F7EC ; =0x00000F08
|
|
mov r4, #0
|
|
add r5, r5, r0
|
|
_0222F7D2:
|
|
add r0, r5, #0
|
|
bl FUN_02019178
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #0xa
|
|
blt _0222F7D2
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0222F7E4: .word 0x00000E98
|
|
_0222F7E8: .word 0x00000ED8
|
|
_0222F7EC: .word 0x00000F08
|
|
thumb_func_end MOD80_0222F7B8
|
|
|
|
thumb_func_start MOD80_0222F7F0
|
|
MOD80_0222F7F0: ; 0x0222F7F0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0xb4
|
|
mov r1, #0x3e
|
|
bl FUN_020219F4
|
|
ldr r1, _0222F82C ; =0x00000B4C
|
|
str r0, [r5, r1]
|
|
sub r1, #0x18
|
|
ldr r0, [r5, r1]
|
|
mov r1, #0x27
|
|
bl FUN_0200A914
|
|
mov r1, #0xb5
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
mov r4, #0
|
|
mov r7, #0x14
|
|
add r6, r1, #4
|
|
_0222F816:
|
|
add r0, r7, #0
|
|
mov r1, #0x3e
|
|
bl FUN_020219F4
|
|
str r0, [r5, r6]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0xa
|
|
blt _0222F816
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222F82C: .word 0x00000B4C
|
|
thumb_func_end MOD80_0222F7F0
|
|
|
|
thumb_func_start MOD80_0222F830
|
|
MOD80_0222F830: ; 0x0222F830
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
ldr r6, _0222F85C ; =0x00000B54
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
_0222F83A:
|
|
ldr r0, [r5, r6]
|
|
bl FUN_02021A20
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0xa
|
|
blt _0222F83A
|
|
ldr r0, _0222F860 ; =0x00000B4C
|
|
ldr r0, [r7, r0]
|
|
bl FUN_02021A20
|
|
mov r0, #0xb5
|
|
lsl r0, r0, #4
|
|
ldr r0, [r7, r0]
|
|
bl FUN_02021A20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0222F85C: .word 0x00000B54
|
|
_0222F860: .word 0x00000B4C
|
|
thumb_func_end MOD80_0222F830
|
|
|
|
thumb_func_start MOD80_0222F864
|
|
MOD80_0222F864: ; 0x0222F864
|
|
mov r1, #1
|
|
str r1, [r0, #0x2c]
|
|
mov r0, #3
|
|
bx lr
|
|
thumb_func_end MOD80_0222F864
|
|
|
|
thumb_func_start MOD80_0222F86C
|
|
MOD80_0222F86C: ; 0x0222F86C
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
ldr r1, _0222F8C0 ; =0x021C48B8
|
|
mov r2, #1
|
|
ldr r3, [r1, #0x48]
|
|
add r4, r0, #0
|
|
add r1, r3, #0
|
|
tst r1, r2
|
|
beq _0222F8A2
|
|
ldr r1, _0222F8C4 ; =0x00000F0F
|
|
mov r3, #0
|
|
str r1, [sp]
|
|
add r1, r4, #0
|
|
add r1, #0xd4
|
|
str r1, [sp, #4]
|
|
mov r1, #5
|
|
bl MOD80_0222FB3C
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
mov r2, #7
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _0222F8C8 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _0222F8B8
|
|
_0222F8A2:
|
|
mov r1, #2
|
|
tst r3, r1
|
|
beq _0222F8B8
|
|
str r1, [r4, #0x2c]
|
|
add r1, r2, #0
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
ldr r0, _0222F8C8 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
_0222F8B8:
|
|
mov r0, #3
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
nop
|
|
_0222F8C0: .word 0x021C48B8
|
|
_0222F8C4: .word 0x00000F0F
|
|
_0222F8C8: .word 0x000005DC
|
|
thumb_func_end MOD80_0222F86C
|
|
|
|
thumb_func_start MOD80_0222F8CC
|
|
MOD80_0222F8CC: ; 0x0222F8CC
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
mov r0, #6
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl FUN_0200E1D0
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #4
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD80_0222F8CC
|
|
|
|
thumb_func_start MOD80_0222F8F4
|
|
MOD80_0222F8F4: ; 0x0222F8F4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
ldr r2, _0222F910 ; =0x0000014E
|
|
mov r1, #0xf
|
|
bl MOD80_0222E6A8
|
|
ldr r1, _0222F914 ; =0x00000FCC
|
|
str r0, [r4, r1]
|
|
mov r0, #6
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_0222F910: .word 0x0000014E
|
|
_0222F914: .word 0x00000FCC
|
|
thumb_func_end MOD80_0222F8F4
|
|
|
|
thumb_func_start MOD80_0222F918
|
|
MOD80_0222F918: ; 0x0222F918
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0222F960 ; =0x00000FCC
|
|
mov r1, #0x3e
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020021AC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0222F95C
|
|
sub r1, r1, #1
|
|
cmp r0, r1
|
|
bne _0222F942
|
|
ldr r0, _0222F964 ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
str r1, [r4, #0x2c]
|
|
bl FUN_0200D0E0
|
|
b _0222F956
|
|
_0222F942:
|
|
mov r0, #2
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _0222F968 ; =0x0000100C
|
|
mov r1, #1
|
|
str r1, [r4, r0]
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
mov r2, #8
|
|
bl MOD80_0222E7A8
|
|
_0222F956:
|
|
add r0, r4, #0
|
|
bl MOD80_0222FE18
|
|
_0222F95C:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0222F960: .word 0x00000FCC
|
|
_0222F964: .word 0x00000E98
|
|
_0222F968: .word 0x0000100C
|
|
thumb_func_end MOD80_0222F918
|
|
|
|
thumb_func_start MOD80_0222F96C
|
|
MOD80_0222F96C: ; 0x0222F96C
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
add r2, sp, #8
|
|
strb r0, [r2, #8]
|
|
mov r0, #1
|
|
strb r0, [r2, #9]
|
|
mov r0, #2
|
|
strb r0, [r2, #0xa]
|
|
ldrb r3, [r2, #0xb]
|
|
mov r1, #0xf
|
|
bic r3, r1
|
|
strb r3, [r2, #0xb]
|
|
ldrb r3, [r2, #0xb]
|
|
mov r1, #0x30
|
|
bic r3, r1
|
|
strb r3, [r2, #0xb]
|
|
ldrb r3, [r2, #0xb]
|
|
mov r1, #0xc0
|
|
bic r3, r1
|
|
mov r1, #0x3e
|
|
strb r3, [r2, #0xb]
|
|
bl FUN_02012838
|
|
ldr r1, _0222F9FC ; =0x00000FC8
|
|
mov r2, #0x36
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
ldr r1, _0222FA00 ; =0x00000B34
|
|
mov r3, #1
|
|
ldr r1, [r4, r1]
|
|
bl FUN_02012880
|
|
ldr r0, _0222F9FC ; =0x00000FC8
|
|
ldr r1, _0222FA00 ; =0x00000B34
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x37
|
|
mov r3, #2
|
|
bl FUN_02012880
|
|
ldr r0, _0222F9FC ; =0x00000FC8
|
|
mov r2, #0x1f
|
|
ldr r1, [r4, r0]
|
|
sub r0, #0xf0
|
|
str r1, [sp, #8]
|
|
add r0, r4, r0
|
|
mov r1, #0
|
|
mov r3, #0xb
|
|
str r0, [sp, #0xc]
|
|
bl FUN_0200CCA4
|
|
mov r0, #0x3e
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
add r0, sp, #8
|
|
mov r1, #9
|
|
add r3, r2, #0
|
|
bl FUN_02001C14
|
|
mov r1, #0xfd
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
mov r0, #8
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_0222F9FC: .word 0x00000FC8
|
|
_0222FA00: .word 0x00000B34
|
|
thumb_func_end MOD80_0222F96C
|
|
|
|
thumb_func_start MOD80_0222FA04
|
|
MOD80_0222FA04: ; 0x0222FA04
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02001C78
|
|
cmp r0, #1
|
|
beq _0222FA26
|
|
cmp r0, #2
|
|
beq _0222FAA4
|
|
mov r1, #1
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0222FAA4
|
|
b _0222FAD6
|
|
_0222FA26:
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_02001C5C
|
|
ldr r0, _0222FADC ; =0x00000FC8
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _0222FAE0 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200CCF8
|
|
add r4, r5, #0
|
|
add r4, #0xd4
|
|
add r0, r4, #0
|
|
bl MOD80_022331F8
|
|
cmp r0, #0
|
|
beq _0222FA80
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #8]
|
|
bl FUN_0206B9AC
|
|
cmp r0, #6
|
|
bne _0222FA80
|
|
ldr r0, _0222FAE4 ; =0x00000F0F
|
|
mov r1, #0x24
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
mov r3, #0
|
|
str r4, [sp, #4]
|
|
bl MOD80_0222FB3C
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
mov r2, #1
|
|
bl MOD80_0222E6DC
|
|
add sp, #8
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
_0222FA80:
|
|
ldr r0, _0222FAE4 ; =0x00000F0F
|
|
mov r1, #6
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
mov r3, #0
|
|
str r4, [sp, #4]
|
|
bl MOD80_0222FB3C
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
mov r2, #5
|
|
bl MOD80_0222E6DC
|
|
add r0, r5, #0
|
|
bl MOD80_0222FE18
|
|
b _0222FAD6
|
|
_0222FAA4:
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_02001C5C
|
|
ldr r0, _0222FADC ; =0x00000FC8
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _0222FAE0 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200CCF8
|
|
mov r0, #2
|
|
str r0, [r5, #0x2c]
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
add r0, r5, #0
|
|
bl MOD80_0222FE18
|
|
_0222FAD6:
|
|
mov r0, #3
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0222FADC: .word 0x00000FC8
|
|
_0222FAE0: .word 0x00000ED8
|
|
_0222FAE4: .word 0x00000F0F
|
|
thumb_func_end MOD80_0222FA04
|
|
|
|
thumb_func_start MOD80_0222FAE8
|
|
MOD80_0222FAE8: ; 0x0222FAE8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _0222FB02
|
|
ldr r0, [r4, #0x30]
|
|
str r0, [r4, #0x2c]
|
|
_0222FB02:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_0222FAE8
|
|
|
|
thumb_func_start MOD80_0222FB08
|
|
MOD80_0222FB08: ; 0x0222FB08
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _0222FB34
|
|
ldr r0, _0222FB38 ; =0x00000FDC
|
|
ldr r1, [r4, r0]
|
|
add r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0x2d
|
|
ble _0222FB34
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, #0x30]
|
|
str r0, [r4, #0x2c]
|
|
_0222FB34:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0222FB38: .word 0x00000FDC
|
|
thumb_func_end MOD80_0222FB08
|
|
|
|
thumb_func_start MOD80_0222FB3C
|
|
MOD80_0222FB3C: ; 0x0222FB3C
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [sp, #0x24]
|
|
add r6, r1, #0
|
|
add r4, r2, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
mov r0, #0xb3
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_0200AC60
|
|
ldr r0, _0222FBB4 ; =0x00000B34
|
|
add r1, r6, #0
|
|
ldr r0, [r5, r0]
|
|
bl FUN_0200A914
|
|
mov r1, #0xb3
|
|
add r6, r0, #0
|
|
lsl r1, r1, #4
|
|
ldr r0, [r5, r1]
|
|
add r1, #0x1c
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
bl FUN_0200B7B8
|
|
ldr r0, _0222FBB8 ; =0x00000E98
|
|
mov r1, #0xf
|
|
add r0, r5, r0
|
|
bl FUN_02019620
|
|
ldr r0, _0222FBB8 ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl FUN_0200D0BC
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r4, [sp, #4]
|
|
ldr r0, _0222FBB8 ; =0x00000E98
|
|
ldr r2, _0222FBBC ; =0x00000B4C
|
|
str r3, [sp, #8]
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
bl FUN_0201BD84
|
|
mov r1, #0x2e
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0222FBB4: .word 0x00000B34
|
|
_0222FBB8: .word 0x00000E98
|
|
_0222FBBC: .word 0x00000B4C
|
|
thumb_func_end MOD80_0222FB3C
|
|
|
|
thumb_func_start MOD80_0222FBC0
|
|
MOD80_0222FBC0: ; 0x0222FBC0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
add r5, r0, #0
|
|
str r1, [sp, #8]
|
|
mov r0, #0x16
|
|
mov r1, #0x3e
|
|
add r7, r2, #0
|
|
add r6, r3, #0
|
|
ldr r4, [sp, #0x4c]
|
|
bl FUN_020219F4
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #0x12
|
|
mov r1, #0x3e
|
|
bl FUN_020219F4
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x48]
|
|
ldr r2, [sp, #0x1c]
|
|
mov r1, #0x76
|
|
bl FUN_020672BC
|
|
mov r2, #0
|
|
ldrsh r0, [r4, r2]
|
|
mov r1, #6
|
|
str r0, [sp, #0x10]
|
|
mov r0, #2
|
|
ldrsb r0, [r4, r0]
|
|
str r0, [sp, #0x14]
|
|
mov r0, #3
|
|
ldrsb r4, [r4, r0]
|
|
ldr r0, [sp, #0x48]
|
|
bl FUN_020672BC
|
|
str r0, [sp, #0x30]
|
|
add r0, r5, #0
|
|
mov r1, #0x46
|
|
bl FUN_0200A914
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, _0222FD1C ; =0x022373C0
|
|
lsl r0, r0, #2
|
|
str r0, [sp, #0xc]
|
|
ldr r1, [sp, #0xc]
|
|
add r0, r5, #0
|
|
ldr r1, [r2, r1]
|
|
bl FUN_0200A914
|
|
str r0, [sp, #0x28]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
mov r1, #3
|
|
str r0, [sp, #4]
|
|
add r0, r7, #0
|
|
add r2, r4, #0
|
|
add r3, r1, #0
|
|
bl FUN_0200AD38
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
mov r2, #0x66
|
|
mov r3, #0x3e
|
|
bl FUN_0200A9C4
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [sp, #0x10]
|
|
bl FUN_0200A914
|
|
ldr r1, [sp, #0x30]
|
|
str r0, [sp, #0x2c]
|
|
lsl r1, r1, #0x10
|
|
ldr r0, [sp, #0x18]
|
|
lsr r1, r1, #0x10
|
|
mov r2, #0x3e
|
|
bl FUN_0206E768
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
add r7, r4, #0
|
|
_0222FC64:
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl FUN_02019620
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #5
|
|
blt _0222FC64
|
|
mov r2, #0
|
|
ldr r0, _0222FD20 ; =0x000F0200
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #0x1c]
|
|
add r0, r6, #0
|
|
add r3, r2, #0
|
|
bl MOD80_02236D50
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #3
|
|
beq _0222FCA2
|
|
mov r3, #0
|
|
ldr r1, _0222FD24 ; =0x02237A34
|
|
ldr r0, [sp, #0xc]
|
|
str r3, [sp]
|
|
ldr r0, [r1, r0]
|
|
ldr r1, [sp, #0x28]
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r2, #0x46
|
|
bl MOD80_02236D50
|
|
_0222FCA2:
|
|
mov r2, #0
|
|
ldr r0, _0222FD20 ; =0x000F0200
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
ldr r1, [sp, #0x2c]
|
|
add r0, #0x10
|
|
add r3, r2, #0
|
|
bl MOD80_02236D50
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
ldr r0, _0222FD20 ; =0x000F0200
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
ldr r1, [sp, #0x24]
|
|
add r0, #0x20
|
|
add r3, r2, #0
|
|
bl MOD80_02236D50
|
|
mov r2, #0
|
|
ldr r0, _0222FD20 ; =0x000F0200
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
ldr r1, [sp, #0x20]
|
|
add r0, #0x30
|
|
add r3, r2, #0
|
|
bl MOD80_02236D50
|
|
mov r2, #0
|
|
ldr r0, _0222FD20 ; =0x000F0200
|
|
str r2, [sp]
|
|
add r6, #0x40
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r6, #0
|
|
add r3, r2, #0
|
|
bl MOD80_02236D50
|
|
ldr r0, [sp, #0x20]
|
|
bl FUN_02021A20
|
|
ldr r0, [sp, #0x18]
|
|
bl FUN_02021A20
|
|
ldr r0, [sp, #0x24]
|
|
bl FUN_02021A20
|
|
ldr r0, [sp, #0x28]
|
|
bl FUN_02021A20
|
|
ldr r0, [sp, #0x1c]
|
|
bl FUN_02021A20
|
|
ldr r0, [sp, #0x2c]
|
|
bl FUN_02021A20
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0222FD1C: .word 0x022373C0
|
|
_0222FD20: .word 0x000F0200
|
|
_0222FD24: .word 0x02237A34
|
|
thumb_func_end MOD80_0222FBC0
|
|
|
|
thumb_func_start MOD80_0222FD28
|
|
MOD80_0222FD28: ; 0x0222FD28
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
mov r0, #0x10
|
|
mov r1, #0x3e
|
|
add r7, r2, #0
|
|
bl FUN_020219F4
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
mov r1, #0x30
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl FUN_02021E28
|
|
mov r2, #0
|
|
ldr r0, _0222FD84 ; =0x000F0200
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r3, r2, #0
|
|
bl MOD80_02236D50
|
|
mov r2, #0
|
|
ldr r0, _0222FD84 ; =0x000F0200
|
|
str r2, [sp]
|
|
add r5, #0x10
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r3, r2, #0
|
|
bl MOD80_02236D50
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0222FD84: .word 0x000F0200
|
|
thumb_func_end MOD80_0222FD28
|
|
|
|
thumb_func_start MOD80_0222FD88
|
|
MOD80_0222FD88: ; 0x0222FD88
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x30
|
|
mov r1, #0x32
|
|
add r5, r0, #0
|
|
mov r0, #0x3e
|
|
lsl r1, r1, #6
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
add r0, sp, #0x20
|
|
add r1, r5, #0
|
|
mov r2, #2
|
|
bl FUN_02068B68
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl FUN_020671BC
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r1, #0xa
|
|
str r1, [sp, #4]
|
|
str r1, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
str r6, [sp, #0x10]
|
|
str r3, [sp, #0x14]
|
|
mov r1, #2
|
|
str r1, [sp, #0x18]
|
|
str r0, [sp, #0x1c]
|
|
add r1, sp, #0x20
|
|
ldrh r0, [r1]
|
|
ldrh r1, [r1, #2]
|
|
mov r2, #0x3e
|
|
bl FUN_020124B4
|
|
mov r1, #0x32
|
|
add r0, r4, #0
|
|
lsl r1, r1, #6
|
|
bl DC_FlushRange
|
|
mov r1, #0x4a
|
|
mov r2, #0x32
|
|
add r0, r4, #0
|
|
lsl r1, r1, #8
|
|
lsl r2, r2, #6
|
|
bl GX_LoadOBJ
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
mov r3, #0x1a
|
|
str r0, [sp, #4]
|
|
add r1, sp, #0x20
|
|
ldrh r0, [r1]
|
|
ldrh r1, [r1, #4]
|
|
mov r2, #1
|
|
lsl r3, r3, #4
|
|
bl FUN_02006930
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
add sp, #0x30
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_0222FD88
|
|
|
|
thumb_func_start MOD80_0222FE18
|
|
MOD80_0222FE18: ; 0x0222FE18
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
ldr r1, _0222FE54 ; =0x000001C7
|
|
add r4, r0, #0
|
|
ldrsb r0, [r4, r1]
|
|
add r1, r1, #1
|
|
ldrsb r1, [r4, r1]
|
|
bl MOD80_02234668
|
|
mov r1, #0x71
|
|
lsl r1, r1, #2
|
|
ldrsh r2, [r4, r1]
|
|
add r1, r1, #2
|
|
ldr r3, _0222FE58 ; =0x00000F78
|
|
str r2, [sp]
|
|
ldrsb r1, [r4, r1]
|
|
ldr r2, _0222FE5C ; =0x00000B34
|
|
add r3, r4, r3
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r1, r2, #4
|
|
ldr r0, [r4, r2]
|
|
sub r2, r2, #4
|
|
ldr r1, [r4, r1]
|
|
ldr r2, [r4, r2]
|
|
bl MOD80_02234048
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_0222FE54: .word 0x000001C7
|
|
_0222FE58: .word 0x00000F78
|
|
_0222FE5C: .word 0x00000B34
|
|
thumb_func_end MOD80_0222FE18
|
|
|
|
thumb_func_start MOD80_0222FE60
|
|
MOD80_0222FE60: ; 0x0222FE60
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
bl MOD80_0223022C
|
|
ldr r0, [r4, #4]
|
|
bl MOD80_0222FF6C
|
|
add r0, r4, #0
|
|
bl MOD80_02230054
|
|
add r0, r4, #0
|
|
bl MOD80_02230128
|
|
add r0, r4, #0
|
|
bl MOD80_022300CC
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r1, [r0]
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
add r5, r1, #0
|
|
mul r5, r0
|
|
add r0, #0xd4
|
|
add r0, r4, r0
|
|
add r0, r0, r5
|
|
bl FUN_020690E4
|
|
str r0, [sp]
|
|
mov r0, #0xb9
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
ldr r2, _0222FF24 ; =0x00000B34
|
|
add r0, r0, r5
|
|
str r0, [sp, #4]
|
|
add r1, r2, #4
|
|
ldr r0, [r4, r2]
|
|
sub r2, r2, #4
|
|
ldr r3, _0222FF28 ; =0x00000F08
|
|
ldr r1, [r4, r1]
|
|
ldr r2, [r4, r2]
|
|
add r3, r4, r3
|
|
bl MOD80_0222FBC0
|
|
add r3, r4, #0
|
|
add r3, #0xc4
|
|
ldr r0, _0222FF24 ; =0x00000B34
|
|
mov r2, #0xc1
|
|
ldr r5, [r3]
|
|
mov r3, #0x49
|
|
ldr r1, _0222FF2C ; =0x00000F58
|
|
lsl r2, r2, #2
|
|
lsl r3, r3, #2
|
|
ldr r0, [r4, r0]
|
|
add r2, r4, r2
|
|
mul r3, r5
|
|
add r1, r4, r1
|
|
add r2, r2, r3
|
|
bl MOD80_0222FD28
|
|
add r0, r4, #0
|
|
mov r1, #0x7e
|
|
add r0, #0xc4
|
|
lsl r1, r1, #2
|
|
add r2, r4, r1
|
|
ldr r0, [r0]
|
|
sub r1, #0xd4
|
|
mul r1, r0
|
|
add r0, r2, r1
|
|
bl MOD80_0222FD88
|
|
ldr r0, _0222FF24 ; =0x00000B34
|
|
ldr r1, _0222FF30 ; =0x00000F78
|
|
ldr r0, [r4, r0]
|
|
add r1, r4, r1
|
|
bl MOD80_02230550
|
|
add r0, r4, #0
|
|
bl MOD80_0223043C
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl FUN_0200E1D0
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #2
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_0222FF24: .word 0x00000B34
|
|
_0222FF28: .word 0x00000F08
|
|
_0222FF2C: .word 0x00000F58
|
|
_0222FF30: .word 0x00000F78
|
|
thumb_func_end MOD80_0222FE60
|
|
|
|
thumb_func_start MOD80_0222FF34
|
|
MOD80_0222FF34: ; 0x0222FF34
|
|
push {r3, lr}
|
|
ldr r1, [r0, #0x2c]
|
|
lsl r2, r1, #2
|
|
ldr r1, _0222FF44 ; =0x02237A64
|
|
ldr r1, [r1, r2]
|
|
blx r1
|
|
pop {r3, pc}
|
|
nop
|
|
_0222FF44: .word 0x02237A64
|
|
thumb_func_end MOD80_0222FF34
|
|
|
|
thumb_func_start MOD80_0222FF48
|
|
MOD80_0222FF48: ; 0x0222FF48
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_02230118
|
|
add r0, r4, #0
|
|
bl MOD80_022302C4
|
|
add r0, r4, #0
|
|
bl MOD80_022301F4
|
|
ldr r0, [r4, #4]
|
|
bl MOD80_02230030
|
|
add r0, r4, #0
|
|
bl MOD80_0222E7B0
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_0222FF48
|
|
|
|
thumb_func_start MOD80_0222FF6C
|
|
MOD80_0222FF6C: ; 0x0222FF6C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x70
|
|
ldr r5, _02230020 ; =0x022370D8
|
|
add r4, r0, #0
|
|
ldmia r5!, {r0, r1}
|
|
add r3, sp, #0x54
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
add r3, r1, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_02018744
|
|
ldr r5, _02230024 ; =0x022370BC
|
|
add r3, sp, #0x38
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
ldr r5, _02230028 ; =0x022370A0
|
|
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, #4
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_02018744
|
|
ldr r5, _0223002C ; =0x02237084
|
|
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, #5
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #0
|
|
mov r1, #0x20
|
|
add r2, r0, #0
|
|
mov r3, #0x3e
|
|
bl FUN_02017F18
|
|
mov r0, #4
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #0x3e
|
|
bl FUN_02017F18
|
|
add sp, #0x70
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02230020: .word 0x022370D8
|
|
_02230024: .word 0x022370BC
|
|
_02230028: .word 0x022370A0
|
|
_0223002C: .word 0x02237084
|
|
thumb_func_end MOD80_0222FF6C
|
|
|
|
thumb_func_start MOD80_02230030
|
|
MOD80_02230030: ; 0x02230030
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #5
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_020178A0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02230030
|
|
|
|
thumb_func_start MOD80_02230054
|
|
MOD80_02230054: ; 0x02230054
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
mov r1, #0x1a
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x3e
|
|
ldr r4, [r5, #4]
|
|
bl FUN_02002EEC
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #0x24]
|
|
bl FUN_02025084
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl FUN_0200CD68
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r2, #0x1f
|
|
mov r3, #0xb
|
|
bl FUN_0200CB00
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0xa
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
mov r1, #0x11
|
|
add r2, r4, #0
|
|
bl FUN_0200687C
|
|
mov r0, #0x60
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x68
|
|
mov r1, #7
|
|
add r3, r2, #0
|
|
bl FUN_02006930
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD80_02230054
|
|
|
|
thumb_func_start MOD80_022300CC
|
|
MOD80_022300CC: ; 0x022300CC
|
|
push {r4, lr}
|
|
sub sp, #0x30
|
|
mov r2, #0xcf
|
|
add r4, r0, #0
|
|
lsl r2, r2, #4
|
|
add r0, sp, #0
|
|
add r1, r4, #0
|
|
add r2, r4, r2
|
|
mov r3, #1
|
|
bl MOD80_0222E5E8
|
|
mov r0, #0x32
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #8]
|
|
mov r0, #0x3a
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0
|
|
bl FUN_0201FE94
|
|
ldr r1, _02230114 ; =0x00000E6C
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
mov r1, #1
|
|
bl FUN_020200BC
|
|
ldr r0, _02230114 ; =0x00000E6C
|
|
mov r1, #0x25
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02020130
|
|
bl FUN_02033E74
|
|
add sp, #0x30
|
|
pop {r4, pc}
|
|
nop
|
|
_02230114: .word 0x00000E6C
|
|
thumb_func_end MOD80_022300CC
|
|
|
|
thumb_func_start MOD80_02230118
|
|
MOD80_02230118: ; 0x02230118
|
|
ldr r1, _02230120 ; =0x00000E6C
|
|
ldr r3, _02230124 ; =FUN_0201FFC8
|
|
ldr r0, [r0, r1]
|
|
bx r3
|
|
.align 2, 0
|
|
_02230120: .word 0x00000E6C
|
|
_02230124: .word FUN_0201FFC8
|
|
thumb_func_end MOD80_02230118
|
|
|
|
thumb_func_start MOD80_02230128
|
|
MOD80_02230128: ; 0x02230128
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x15
|
|
str r0, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r3, #2
|
|
str r3, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x28
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, _022301E4 ; =0x00000E98
|
|
ldr r1, [sp, #0x14]
|
|
ldr r0, [r0, #4]
|
|
add r1, r1, r2
|
|
mov r2, #0
|
|
bl FUN_02019064
|
|
ldr r1, _022301E4 ; =0x00000E98
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r0, r1
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
mov r0, #0xf
|
|
str r0, [sp]
|
|
mov r0, #0xa
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x5e
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, _022301E8 ; =0x00000ED8
|
|
ldr r1, [sp, #0x14]
|
|
ldr r0, [r0, #4]
|
|
add r1, r1, r2
|
|
mov r2, #0
|
|
mov r3, #0x15
|
|
bl FUN_02019064
|
|
ldr r1, _022301EC ; =0x00000F08
|
|
ldr r0, [sp, #0x14]
|
|
ldr r4, _022301F0 ; =0x022370F4
|
|
mov r6, #0x86
|
|
mov r7, #0
|
|
add r5, r0, r1
|
|
_02230190:
|
|
ldr r0, [r4, #4]
|
|
add r1, r5, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [r4, #8]
|
|
mov r2, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0xc]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
lsl r0, r6, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r3, [r4]
|
|
ldr r0, [r0, #4]
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl FUN_02019064
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
ldr r1, [r4, #8]
|
|
ldr r0, [r4, #0xc]
|
|
add r7, r7, #1
|
|
mul r0, r1
|
|
add r6, r6, r0
|
|
add r4, #0x10
|
|
add r5, #0x10
|
|
cmp r7, #0xa
|
|
blo _02230190
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_022301E4: .word 0x00000E98
|
|
_022301E8: .word 0x00000ED8
|
|
_022301EC: .word 0x00000F08
|
|
_022301F0: .word 0x022370F4
|
|
thumb_func_end MOD80_02230128
|
|
|
|
thumb_func_start MOD80_022301F4
|
|
MOD80_022301F4: ; 0x022301F4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _02230220 ; =0x00000E98
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02230224 ; =0x00000ED8
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02230228 ; =0x00000F08
|
|
mov r4, #0
|
|
add r5, r5, r0
|
|
_0223020E:
|
|
add r0, r5, #0
|
|
bl FUN_02019178
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #0xa
|
|
blo _0223020E
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02230220: .word 0x00000E98
|
|
_02230224: .word 0x00000ED8
|
|
_02230228: .word 0x00000F08
|
|
thumb_func_end MOD80_022301F4
|
|
|
|
thumb_func_start MOD80_0223022C
|
|
MOD80_0223022C: ; 0x0223022C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r1, #0x7e
|
|
add r0, #0xc4
|
|
lsl r1, r1, #2
|
|
add r2, r5, r1
|
|
ldr r0, [r0]
|
|
sub r1, #0xd4
|
|
mul r1, r0
|
|
add r4, r2, r1
|
|
mov r0, #0xb4
|
|
mov r1, #0x3e
|
|
bl FUN_020219F4
|
|
ldr r1, _022302B0 ; =0x00000B4C
|
|
str r0, [r5, r1]
|
|
sub r1, #0x1c
|
|
ldr r0, [r5, r1]
|
|
bl FUN_0200B84C
|
|
ldr r0, _022302B4 ; =0x0000011E
|
|
ldrb r2, [r4, r0]
|
|
cmp r2, #0
|
|
beq _02230268
|
|
mov r0, #0xb3
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #8
|
|
bl FUN_0200B4A0
|
|
_02230268:
|
|
ldr r2, _022302B8 ; =0x0000011F
|
|
ldrb r3, [r4, r2]
|
|
cmp r3, #0
|
|
beq _02230280
|
|
mov r0, #0xb3
|
|
sub r2, r2, #1
|
|
lsl r0, r0, #4
|
|
ldrb r2, [r4, r2]
|
|
ldr r0, [r5, r0]
|
|
mov r1, #9
|
|
bl FUN_0200B4D8
|
|
_02230280:
|
|
mov r1, #0xb3
|
|
lsl r1, r1, #4
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
mov r2, #0x4f
|
|
mov r3, #0x3e
|
|
bl FUN_0200A9C4
|
|
ldr r1, _022302BC ; =0x00000B54
|
|
mov r2, #0x50
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
sub r0, #0x24
|
|
sub r1, #0x20
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
mov r3, #0x3e
|
|
bl FUN_0200A9C4
|
|
ldr r1, _022302C0 ; =0x00000B58
|
|
str r0, [r5, r1]
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_022302B0: .word 0x00000B4C
|
|
_022302B4: .word 0x0000011E
|
|
_022302B8: .word 0x0000011F
|
|
_022302BC: .word 0x00000B54
|
|
_022302C0: .word 0x00000B58
|
|
thumb_func_end MOD80_0223022C
|
|
|
|
thumb_func_start MOD80_022302C4
|
|
MOD80_022302C4: ; 0x022302C4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _022302E4 ; =0x00000B54
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
ldr r0, _022302E8 ; =0x00000B58
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
ldr r0, _022302EC ; =0x00000B4C
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
pop {r4, pc}
|
|
nop
|
|
_022302E4: .word 0x00000B54
|
|
_022302E8: .word 0x00000B58
|
|
_022302EC: .word 0x00000B4C
|
|
thumb_func_end MOD80_022302C4
|
|
|
|
thumb_func_start MOD80_022302F0
|
|
MOD80_022302F0: ; 0x022302F0
|
|
mov r1, #1
|
|
str r1, [r0, #0x2c]
|
|
mov r0, #3
|
|
bx lr
|
|
thumb_func_end MOD80_022302F0
|
|
|
|
thumb_func_start MOD80_022302F8
|
|
MOD80_022302F8: ; 0x022302F8
|
|
push {r3, r4, r5, lr}
|
|
ldr r1, _02230388 ; =0x021C48B8
|
|
mov r2, #1
|
|
ldr r1, [r1, #0x48]
|
|
add r4, r0, #0
|
|
add r3, r1, #0
|
|
tst r3, r2
|
|
beq _02230326
|
|
ldr r1, _0223038C ; =0x00000F0F
|
|
mov r3, #0
|
|
str r1, [sp]
|
|
mov r1, #0x10
|
|
bl MOD80_022304F8
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
mov r2, #4
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _02230390 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _02230384
|
|
_02230326:
|
|
mov r3, #2
|
|
add r5, r1, #0
|
|
tst r5, r3
|
|
beq _02230340
|
|
mov r1, #4
|
|
mov r2, #0
|
|
str r3, [r4, #0x2c]
|
|
bl MOD80_0222E7A8
|
|
ldr r0, _02230390 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _02230384
|
|
_02230340:
|
|
mov r0, #0x10
|
|
tst r0, r1
|
|
beq _02230362
|
|
add r0, r4, #0
|
|
add r0, #0xb6
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
bne _02230384
|
|
add r0, r4, #0
|
|
add r0, #0xb6
|
|
strh r2, [r0]
|
|
mov r0, #6
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _02230390 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _02230384
|
|
_02230362:
|
|
mov r0, #0x20
|
|
tst r0, r1
|
|
beq _02230384
|
|
add r0, r4, #0
|
|
add r0, #0xb6
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
beq _02230384
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0xb6
|
|
strh r1, [r0]
|
|
mov r0, #6
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _02230390 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
_02230384:
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02230388: .word 0x021C48B8
|
|
_0223038C: .word 0x00000F0F
|
|
_02230390: .word 0x000005DC
|
|
thumb_func_end MOD80_022302F8
|
|
|
|
thumb_func_start MOD80_02230394
|
|
MOD80_02230394: ; 0x02230394
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
ldr r0, _022303D0 ; =0x00000B34
|
|
ldr r1, _022303D4 ; =0x00000F78
|
|
ldr r0, [r4, r0]
|
|
add r1, r4, r1
|
|
bl MOD80_02230550
|
|
add r0, r4, #0
|
|
bl MOD80_0223043C
|
|
mov r1, #0
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl FUN_0200E1D0
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #4
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_022303D0: .word 0x00000B34
|
|
_022303D4: .word 0x00000F78
|
|
thumb_func_end MOD80_02230394
|
|
|
|
thumb_func_start MOD80_022303D8
|
|
MOD80_022303D8: ; 0x022303D8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r2, #0x73
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0xf
|
|
lsl r2, r2, #2
|
|
bl MOD80_0222E6A8
|
|
ldr r1, _022303F4 ; =0x00000FCC
|
|
str r0, [r4, r1]
|
|
mov r0, #5
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_022303F4: .word 0x00000FCC
|
|
thumb_func_end MOD80_022303D8
|
|
|
|
thumb_func_start MOD80_022303F8
|
|
MOD80_022303F8: ; 0x022303F8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02230438 ; =0x00000FCC
|
|
mov r1, #0x3e
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020021AC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _02230432
|
|
sub r1, r1, #1
|
|
cmp r0, r1
|
|
bne _02230424
|
|
mov r0, #2
|
|
str r0, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
b _02230432
|
|
_02230424:
|
|
mov r0, #2
|
|
str r0, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
mov r2, #6
|
|
bl MOD80_0222E7A8
|
|
_02230432:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_02230438: .word 0x00000FCC
|
|
thumb_func_end MOD80_022303F8
|
|
|
|
thumb_func_start MOD80_0223043C
|
|
MOD80_0223043C: ; 0x0223043C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
add r0, #0xb6
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
bne _0223048C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4, #4]
|
|
mov r0, #0x68
|
|
mov r1, #0x1b
|
|
bl FUN_020068C8
|
|
ldr r2, _022304BC ; =0x00000B34
|
|
ldr r0, _022304C0 ; =0x00000F98
|
|
mov r3, #0xba
|
|
ldr r1, [r4, r2]
|
|
add r2, r2, #4
|
|
lsl r3, r3, #2
|
|
add r0, r4, r0
|
|
ldr r2, [r4, r2]
|
|
add r3, r4, r3
|
|
add r4, #0xc4
|
|
ldr r5, [r4]
|
|
mov r4, #0x49
|
|
lsl r4, r4, #2
|
|
mul r4, r5
|
|
add r3, r3, r4
|
|
bl MOD80_022305A8
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
_0223048C:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4, #4]
|
|
mov r0, #0x68
|
|
mov r1, #0x1c
|
|
bl FUN_020068C8
|
|
ldr r2, _022304C4 ; =0x00000B54
|
|
ldr r0, _022304C0 ; =0x00000F98
|
|
ldr r1, [r4, r2]
|
|
add r2, r2, #4
|
|
ldr r2, [r4, r2]
|
|
add r0, r4, r0
|
|
bl MOD80_02230614
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022304BC: .word 0x00000B34
|
|
_022304C0: .word 0x00000F98
|
|
_022304C4: .word 0x00000B54
|
|
thumb_func_end MOD80_0223043C
|
|
|
|
thumb_func_start MOD80_022304C8
|
|
MOD80_022304C8: ; 0x022304C8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0223043C
|
|
mov r0, #1
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_022304C8
|
|
|
|
thumb_func_start MOD80_022304D8
|
|
MOD80_022304D8: ; 0x022304D8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _022304F2
|
|
ldr r0, [r4, #0x30]
|
|
str r0, [r4, #0x2c]
|
|
_022304F2:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_022304D8
|
|
|
|
thumb_func_start MOD80_022304F8
|
|
MOD80_022304F8: ; 0x022304F8
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r2, #0
|
|
ldr r2, _02230544 ; =0x00000B34
|
|
add r5, r0, #0
|
|
ldr r0, [r5, r2]
|
|
add r2, #0x18
|
|
ldr r2, [r5, r2]
|
|
bl FUN_0200A8E0
|
|
ldr r0, _02230548 ; =0x00000E98
|
|
mov r1, #0xf
|
|
add r0, r5, r0
|
|
bl FUN_02019620
|
|
ldr r0, _02230548 ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl FUN_0200D0BC
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r4, [sp, #4]
|
|
ldr r0, _02230548 ; =0x00000E98
|
|
ldr r2, _0223054C ; =0x00000B4C
|
|
str r3, [sp, #8]
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
bl FUN_0201BD84
|
|
mov r1, #0x2e
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_02230544: .word 0x00000B34
|
|
_02230548: .word 0x00000E98
|
|
_0223054C: .word 0x00000B4C
|
|
thumb_func_end MOD80_022304F8
|
|
|
|
thumb_func_start MOD80_02230550
|
|
MOD80_02230550: ; 0x02230550
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
mov r1, #0x4a
|
|
bl FUN_0200A914
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
mov r1, #0x4e
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
mov r2, #0
|
|
ldr r0, _022305A4 ; =0x000F0200
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r3, #2
|
|
bl MOD80_02236D50
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, _022305A4 ; =0x000F0200
|
|
add r5, #0x10
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #0
|
|
mov r3, #2
|
|
bl MOD80_02236D50
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_022305A4: .word 0x000F0200
|
|
thumb_func_end MOD80_02230550
|
|
|
|
thumb_func_start MOD80_022305A8
|
|
MOD80_022305A8: ; 0x022305A8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r6, r1, #0
|
|
mov r1, #0
|
|
add r5, r0, #0
|
|
add r7, r2, #0
|
|
add r4, r3, #0
|
|
bl FUN_02019620
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
ldr r0, _02230610 ; =0x000F0200
|
|
mov r3, #0
|
|
str r0, [sp, #4]
|
|
ldrsh r2, [r4, r3]
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD80_02233EA4
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
mov r0, #0x46
|
|
str r0, [sp, #4]
|
|
ldr r0, _02230610 ; =0x000F0200
|
|
mov r2, #2
|
|
str r0, [sp, #8]
|
|
ldrsb r2, [r4, r2]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r3, #0
|
|
bl MOD80_02233EF4
|
|
mov r0, #3
|
|
mov r1, #4
|
|
ldrsb r0, [r4, r0]
|
|
ldrsb r1, [r4, r1]
|
|
bl MOD80_02234668
|
|
add r2, r0, #0
|
|
mov r0, #0x13
|
|
str r0, [sp]
|
|
ldr r0, _02230610 ; =0x000F0200
|
|
add r1, r6, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
mov r3, #0
|
|
bl MOD80_02233F5C
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02230610: .word 0x000F0200
|
|
thumb_func_end MOD80_022305A8
|
|
|
|
thumb_func_start MOD80_02230614
|
|
MOD80_02230614: ; 0x02230614
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
add r4, r2, #0
|
|
bl FUN_02019620
|
|
cmp r5, #0
|
|
beq _0223063A
|
|
mov r2, #0
|
|
ldr r0, _02230658 ; =0x000F0200
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #3
|
|
bl MOD80_02236D50
|
|
_0223063A:
|
|
cmp r4, #0
|
|
beq _02230652
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02230658 ; =0x000F0200
|
|
add r1, r4, #0
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r2, #8
|
|
mov r3, #0x13
|
|
bl MOD80_02236D50
|
|
_02230652:
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02230658: .word 0x000F0200
|
|
thumb_func_end MOD80_02230614
|
|
|
|
thumb_func_start MOD80_0223065C
|
|
MOD80_0223065C: ; 0x0223065C
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
bl MOD80_02230AC0
|
|
ldr r0, [r4, #4]
|
|
bl MOD80_02230760
|
|
add r0, r4, #0
|
|
bl MOD80_02230840
|
|
add r0, r4, #0
|
|
bl MOD80_02230944
|
|
add r0, r4, #0
|
|
bl MOD80_022308EC
|
|
ldr r1, _02230708 ; =0x00000B34
|
|
ldr r0, _0223070C ; =0x00000F08
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, r0
|
|
bl MOD80_022318D4
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02230710 ; =0x00010200
|
|
ldr r2, _02230714 ; =0x00000B38
|
|
str r0, [sp, #4]
|
|
ldr r1, [r4, r2]
|
|
sub r2, #0x16
|
|
ldr r0, _02230718 ; =0x00000F18
|
|
ldrsh r2, [r4, r2]
|
|
add r0, r4, r0
|
|
mov r3, #2
|
|
bl MOD80_02233EA4
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, _02230710 ; =0x00010200
|
|
ldr r2, _02230708 ; =0x00000B34
|
|
str r0, [sp, #8]
|
|
ldr r1, [r4, r2]
|
|
sub r2, #0x10
|
|
ldr r0, _0223071C ; =0x00000F38
|
|
ldrsb r2, [r4, r2]
|
|
add r0, r4, r0
|
|
mov r3, #1
|
|
bl MOD80_02233EF4
|
|
ldr r1, _02230720 ; =0x00000B25
|
|
ldrsb r0, [r4, r1]
|
|
add r1, r1, #1
|
|
ldrsb r1, [r4, r1]
|
|
bl MOD80_02234668
|
|
add r2, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02230710 ; =0x00010200
|
|
ldr r1, _02230708 ; =0x00000B34
|
|
str r0, [sp, #4]
|
|
ldr r0, _02230724 ; =0x00000F58
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, r0
|
|
mov r3, #2
|
|
bl MOD80_02233F9C
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl FUN_0200E1D0
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #2
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02230708: .word 0x00000B34
|
|
_0223070C: .word 0x00000F08
|
|
_02230710: .word 0x00010200
|
|
_02230714: .word 0x00000B38
|
|
_02230718: .word 0x00000F18
|
|
_0223071C: .word 0x00000F38
|
|
_02230720: .word 0x00000B25
|
|
_02230724: .word 0x00000F58
|
|
thumb_func_end MOD80_0223065C
|
|
|
|
thumb_func_start MOD80_02230728
|
|
MOD80_02230728: ; 0x02230728
|
|
push {r3, lr}
|
|
ldr r1, [r0, #0x2c]
|
|
lsl r2, r1, #2
|
|
ldr r1, _02230738 ; =0x02237A94
|
|
ldr r1, [r1, r2]
|
|
blx r1
|
|
pop {r3, pc}
|
|
nop
|
|
_02230738: .word 0x02237A94
|
|
thumb_func_end MOD80_02230728
|
|
|
|
thumb_func_start MOD80_0223073C
|
|
MOD80_0223073C: ; 0x0223073C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_02230934
|
|
add r0, r4, #0
|
|
bl MOD80_02230B2C
|
|
add r0, r4, #0
|
|
bl MOD80_02230A88
|
|
ldr r0, [r4, #4]
|
|
bl MOD80_02230814
|
|
add r0, r4, #0
|
|
bl MOD80_0222E7B0
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_0223073C
|
|
|
|
thumb_func_start MOD80_02230760
|
|
MOD80_02230760: ; 0x02230760
|
|
push {r4, r5, lr}
|
|
sub sp, #0x54
|
|
ldr r5, _02230808 ; =0x022371D0
|
|
add r4, r0, #0
|
|
ldmia r5!, {r0, r1}
|
|
add r3, sp, #0x38
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
add r3, r1, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_02018744
|
|
ldr r5, _0223080C ; =0x022371EC
|
|
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, #1
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_02018744
|
|
ldr r5, _02230810 ; =0x022371B4
|
|
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, #2
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FUN_02018744
|
|
mov r0, #2
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #0x3e
|
|
bl FUN_02017F18
|
|
mov r0, #0
|
|
mov r1, #0x20
|
|
add r2, r0, #0
|
|
mov r3, #0x3e
|
|
bl FUN_02017F18
|
|
mov r0, #4
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #0x3e
|
|
bl FUN_02017F18
|
|
add sp, #0x54
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_02230808: .word 0x022371D0
|
|
_0223080C: .word 0x022371EC
|
|
_02230810: .word 0x022371B4
|
|
thumb_func_end MOD80_02230760
|
|
|
|
thumb_func_start MOD80_02230814
|
|
MOD80_02230814: ; 0x02230814
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #5
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_020178A0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02230814
|
|
|
|
thumb_func_start MOD80_02230840
|
|
MOD80_02230840: ; 0x02230840
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #4]
|
|
mov r0, #0x60
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x68
|
|
mov r1, #3
|
|
add r3, r2, #0
|
|
bl FUN_02006930
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
mov r0, #0x68
|
|
mov r1, #5
|
|
mov r2, #4
|
|
mov r3, #0
|
|
bl FUN_02006930
|
|
mov r1, #0x1a
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x3e
|
|
bl FUN_02002EEC
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #0x24]
|
|
bl FUN_02025084
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl FUN_0200CD68
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r2, #0x1f
|
|
mov r3, #0xb
|
|
bl FUN_0200CB00
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0xa
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
mov r1, #0xd
|
|
add r2, r4, #0
|
|
bl FUN_0200687C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
mov r1, #0x1a
|
|
add r2, r4, #0
|
|
bl FUN_020068C8
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02230840
|
|
|
|
thumb_func_start MOD80_022308EC
|
|
MOD80_022308EC: ; 0x022308EC
|
|
push {r4, lr}
|
|
sub sp, #0x30
|
|
mov r2, #0xcf
|
|
add r4, r0, #0
|
|
lsl r2, r2, #4
|
|
add r0, sp, #0
|
|
add r1, r4, #0
|
|
add r2, r4, r2
|
|
mov r3, #1
|
|
bl MOD80_0222E5E8
|
|
mov r0, #1
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0
|
|
bl FUN_0201FE94
|
|
ldr r1, _02230930 ; =0x00000D5C
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
mov r1, #1
|
|
bl FUN_020200BC
|
|
ldr r0, _02230930 ; =0x00000D5C
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02020130
|
|
bl FUN_02033E74
|
|
add sp, #0x30
|
|
pop {r4, pc}
|
|
nop
|
|
_02230930: .word 0x00000D5C
|
|
thumb_func_end MOD80_022308EC
|
|
|
|
thumb_func_start MOD80_02230934
|
|
MOD80_02230934: ; 0x02230934
|
|
ldr r1, _0223093C ; =0x00000D5C
|
|
ldr r3, _02230940 ; =FUN_0201FFC8
|
|
ldr r0, [r0, r1]
|
|
bx r3
|
|
.align 2, 0
|
|
_0223093C: .word 0x00000D5C
|
|
_02230940: .word FUN_0201FFC8
|
|
thumb_func_end MOD80_02230934
|
|
|
|
thumb_func_start MOD80_02230944
|
|
MOD80_02230944: ; 0x02230944
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
mov r3, #1
|
|
str r0, [sp, #0x14]
|
|
str r3, [sp]
|
|
mov r0, #0x1c
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x28
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, _02230A6C ; =0x00000EB8
|
|
ldr r1, [sp, #0x14]
|
|
ldr r0, [r0, #4]
|
|
add r1, r1, r2
|
|
mov r2, #0
|
|
bl FUN_02019064
|
|
ldr r1, _02230A6C ; =0x00000EB8
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r0, r1
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
mov r2, #0
|
|
mov r3, #0xb5
|
|
ldr r0, _02230A70 ; =0x000F0D00
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, _02230A6C ; =0x00000EB8
|
|
ldr r0, [sp, #0x14]
|
|
lsl r3, r3, #4
|
|
add r0, r0, r1
|
|
ldr r1, [sp, #0x14]
|
|
ldr r1, [r1, r3]
|
|
mov r3, #1
|
|
bl MOD80_02236D1C
|
|
mov r0, #0x15
|
|
str r0, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r3, #2
|
|
str r3, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x60
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, _02230A74 ; =0x00000E98
|
|
ldr r1, [sp, #0x14]
|
|
ldr r0, [r0, #4]
|
|
add r1, r1, r2
|
|
mov r2, #0
|
|
bl FUN_02019064
|
|
ldr r1, _02230A74 ; =0x00000E98
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r0, r1
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
ldr r1, _02230A78 ; =0x00000F08
|
|
ldr r0, [sp, #0x14]
|
|
ldr r4, _02230A7C ; =0x0223719C
|
|
mov r7, #0
|
|
mov r6, #0x96
|
|
add r5, r0, r1
|
|
_022309D2:
|
|
ldrh r0, [r4, #2]
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0xb
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
lsl r0, r6, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldrh r3, [r4]
|
|
ldr r0, [sp, #0x14]
|
|
lsl r3, r3, #0x18
|
|
ldr r0, [r0, #4]
|
|
lsr r3, r3, #0x18
|
|
bl FUN_02019064
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r7, r7, #1
|
|
add r6, #0x16
|
|
add r4, r4, #4
|
|
add r5, #0x10
|
|
cmp r7, #6
|
|
blt _022309D2
|
|
ldr r1, _02230A78 ; =0x00000F08
|
|
ldr r0, [sp, #0x14]
|
|
ldr r6, _02230A80 ; =0x0000011A
|
|
add r0, r0, r1
|
|
ldr r4, _02230A84 ; =0x02237194
|
|
mov r5, #0
|
|
str r0, [sp, #0x18]
|
|
_02230A20:
|
|
add r0, r5, #6
|
|
lsl r7, r0, #4
|
|
ldrh r0, [r4, #2]
|
|
ldr r1, [sp, #0x18]
|
|
mov r2, #2
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
lsl r0, r6, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldrh r3, [r4]
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r1, r7
|
|
lsl r3, r3, #0x18
|
|
ldr r0, [r0, #4]
|
|
lsr r3, r3, #0x18
|
|
bl FUN_02019064
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #0
|
|
add r0, r0, r7
|
|
bl FUN_02019620
|
|
add r5, r5, #1
|
|
add r6, #0x10
|
|
add r4, r4, #4
|
|
cmp r5, #2
|
|
blt _02230A20
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02230A6C: .word 0x00000EB8
|
|
_02230A70: .word 0x000F0D00
|
|
_02230A74: .word 0x00000E98
|
|
_02230A78: .word 0x00000F08
|
|
_02230A7C: .word 0x0223719C
|
|
_02230A80: .word 0x0000011A
|
|
_02230A84: .word 0x02237194
|
|
thumb_func_end MOD80_02230944
|
|
|
|
thumb_func_start MOD80_02230A88
|
|
MOD80_02230A88: ; 0x02230A88
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _02230AB4 ; =0x00000E98
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02230AB8 ; =0x00000EB8
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02230ABC ; =0x00000F08
|
|
mov r4, #0
|
|
add r5, r5, r0
|
|
_02230AA2:
|
|
add r0, r5, #0
|
|
bl FUN_02019178
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #8
|
|
blt _02230AA2
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02230AB4: .word 0x00000E98
|
|
_02230AB8: .word 0x00000EB8
|
|
_02230ABC: .word 0x00000F08
|
|
thumb_func_end MOD80_02230A88
|
|
|
|
thumb_func_start MOD80_02230AC0
|
|
MOD80_02230AC0: ; 0x02230AC0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xb4
|
|
mov r1, #0x3e
|
|
bl FUN_020219F4
|
|
ldr r1, _02230B28 ; =0x00000B4C
|
|
str r0, [r4, r1]
|
|
sub r1, #0x18
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0x29
|
|
bl FUN_0200A914
|
|
mov r1, #0xb5
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
mov r0, #0x3e
|
|
mov r1, #0x30
|
|
bl AllocFromHeap
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
ldr r1, [r4, r1]
|
|
mov r0, #0
|
|
mov r2, #0x30
|
|
bl MIi_CpuClearFast
|
|
mov r2, #0xfe
|
|
lsl r2, r2, #4
|
|
ldr r2, [r4, r2]
|
|
mov r0, #0x3e
|
|
mov r1, #0
|
|
add r2, #0x1c
|
|
bl MOD80_02234204
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
str r0, [r1, #0x18]
|
|
mov r0, #0x3e
|
|
bl MOD80_02234228
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #4
|
|
ldr r2, [r4, r1]
|
|
add r1, #0x38
|
|
str r0, [r2, #0x14]
|
|
add r0, r4, r1
|
|
bl MOD80_022346D8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02230B28: .word 0x00000B4C
|
|
thumb_func_end MOD80_02230AC0
|
|
|
|
thumb_func_start MOD80_02230B2C
|
|
MOD80_02230B2C: ; 0x02230B2C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r0, [r0, #0x14]
|
|
bl FreeToHeap
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r0, [r0, #0x18]
|
|
bl FreeToHeap
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
ldr r0, _02230B68 ; =0x00000B4C
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
mov r0, #0xb5
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
pop {r4, pc}
|
|
nop
|
|
_02230B68: .word 0x00000B4C
|
|
thumb_func_end MOD80_02230B2C
|
|
|
|
thumb_func_start MOD80_02230B6C
|
|
MOD80_02230B6C: ; 0x02230B6C
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r1, _02230B90 ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r1, #8
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl MOD80_0223187C
|
|
add r0, r4, #0
|
|
mov r1, #0x14
|
|
mov r2, #1
|
|
bl MOD80_0222E6DC
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_02230B90: .word 0x00000F0F
|
|
thumb_func_end MOD80_02230B6C
|
|
|
|
thumb_func_start MOD80_02230B94
|
|
MOD80_02230B94: ; 0x02230B94
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_02231008
|
|
ldr r0, _02230CB4 ; =0x021C48B8
|
|
mov r2, #1
|
|
ldr r1, [r0, #0x48]
|
|
add r0, r1, #0
|
|
tst r0, r2
|
|
beq _02230C44
|
|
add r0, r4, #0
|
|
bl MOD80_02230FF0
|
|
cmp r0, #4
|
|
bhi _02230CAE
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02230BBE: ; jump table
|
|
.short _02230BC8 - _02230BBE - 2 ; case 0
|
|
.short _02230BD4 - _02230BBE - 2 ; case 1
|
|
.short _02230C10 - _02230BBE - 2 ; case 2
|
|
.short _02230C1C - _02230BBE - 2 ; case 3
|
|
.short _02230C22 - _02230BBE - 2 ; case 4
|
|
_02230BC8:
|
|
mov r0, #3
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _02230CB8 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _02230CAE
|
|
_02230BD4:
|
|
ldr r0, _02230CBC ; =0x00000B22
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _02230C04
|
|
mov r1, #0x12
|
|
bl FUN_02068678
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #4
|
|
ldr r2, [r4, r1]
|
|
str r0, [r2, #0x20]
|
|
ldr r1, [r4, r1]
|
|
ldr r0, _02230CBC ; =0x00000B22
|
|
ldr r1, [r1, #0x20]
|
|
add r0, r4, r0
|
|
bl MOD80_022338E0
|
|
cmp r0, #0
|
|
beq _02230C04
|
|
ldr r0, _02230CB8 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
_02230C04:
|
|
mov r0, #8
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _02230CB8 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _02230CAE
|
|
_02230C10:
|
|
mov r0, #0xb
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _02230CB8 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _02230CAE
|
|
_02230C1C:
|
|
mov r0, #0xe
|
|
str r0, [r4, #0x2c]
|
|
b _02230CAE
|
|
_02230C22:
|
|
ldr r0, _02230CC0 ; =0x00000F0F
|
|
mov r1, #0xf
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl MOD80_0223187C
|
|
add r0, r4, #0
|
|
mov r1, #0x14
|
|
mov r2, #0x16
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _02230CB8 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _02230CAE
|
|
_02230C44:
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _02230C6A
|
|
ldr r0, _02230CC0 ; =0x00000F0F
|
|
mov r1, #0xf
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl MOD80_0223187C
|
|
add r0, r4, #0
|
|
mov r1, #0x14
|
|
mov r2, #0x16
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _02230CB8 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _02230CAE
|
|
_02230C6A:
|
|
add r0, r4, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
bl MOD80_02235B70
|
|
add r5, r0, #0
|
|
ldr r0, _02230CC4 ; =0x00000FEE
|
|
ldrh r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _02230CAE
|
|
cmp r5, #0
|
|
blt _02230CAE
|
|
add r0, r5, #1
|
|
lsl r0, r0, #2
|
|
add r1, r4, r0
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #4
|
|
ldr r0, [r1, r0]
|
|
lsl r1, r5, #2
|
|
add r1, #0x10
|
|
bl FUN_02020130
|
|
mov r0, #2
|
|
str r0, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
add r4, #0xc4
|
|
ldr r0, _02230CB8 ; =0x000005DC
|
|
str r5, [r4]
|
|
bl FUN_020054C8
|
|
_02230CAE:
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02230CB4: .word 0x021C48B8
|
|
_02230CB8: .word 0x000005DC
|
|
_02230CBC: .word 0x00000B22
|
|
_02230CC0: .word 0x00000F0F
|
|
_02230CC4: .word 0x00000FEE
|
|
thumb_func_end MOD80_02230B94
|
|
|
|
thumb_func_start MOD80_02230CC8
|
|
MOD80_02230CC8: ; 0x02230CC8
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r1, _02230D54 ; =0x00000B22
|
|
add r4, r0, #0
|
|
ldrsh r2, [r4, r1]
|
|
cmp r2, #0
|
|
bne _02230CF6
|
|
ldr r1, _02230D58 ; =0x00000F0F
|
|
mov r2, #1
|
|
str r1, [sp]
|
|
mov r1, #0xc
|
|
mov r3, #0
|
|
bl MOD80_0223187C
|
|
add r0, r4, #0
|
|
mov r1, #0x14
|
|
mov r2, #1
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _02230D5C ; =0x000005F3
|
|
bl FUN_020054C8
|
|
b _02230D4C
|
|
_02230CF6:
|
|
add r0, r4, r1
|
|
add r1, r1, #6
|
|
add r1, r4, r1
|
|
bl MOD80_022319C0
|
|
cmp r0, #0
|
|
beq _02230D26
|
|
ldr r0, _02230D58 ; =0x00000F0F
|
|
mov r1, #0x21
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl MOD80_0223187C
|
|
add r0, r4, #0
|
|
mov r1, #0x14
|
|
mov r2, #1
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _02230D5C ; =0x000005F3
|
|
bl FUN_020054C8
|
|
b _02230D4C
|
|
_02230D26:
|
|
ldr r0, _02230D60 ; =0x000005FF
|
|
bl FUN_020054C8
|
|
ldr r0, _02230D58 ; =0x00000F0F
|
|
mov r1, #0xd
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl MOD80_0223187C
|
|
add r0, r4, #0
|
|
mov r1, #0x14
|
|
mov r2, #0xf
|
|
bl MOD80_0222E6DC
|
|
add r0, r4, #0
|
|
bl MOD80_02235C40
|
|
_02230D4C:
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02230D54: .word 0x00000B22
|
|
_02230D58: .word 0x00000F0F
|
|
_02230D5C: .word 0x000005F3
|
|
_02230D60: .word 0x000005FF
|
|
thumb_func_end MOD80_02230CC8
|
|
|
|
thumb_func_start MOD80_02230D64
|
|
MOD80_02230D64: ; 0x02230D64
|
|
push {r3, r4, lr}
|
|
sub sp, #0x2c
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl FUN_0202AC08
|
|
lsr r1, r0, #0x18
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x1c]
|
|
lsr r1, r0, #0x10
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x20]
|
|
lsr r1, r0, #8
|
|
lsl r1, r1, #0x18
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r1, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
add r0, sp, #0xc
|
|
add r1, sp, #0
|
|
bl MOD04_021DE1F8
|
|
add r0, sp, #0xc
|
|
bl RTC_ConvertDateToDay
|
|
add r4, r0, #0
|
|
add r0, sp, #0x1c
|
|
bl RTC_ConvertDateToDay
|
|
sub r0, r4, r0
|
|
bmi _02230DB2
|
|
cmp r0, #3
|
|
bge _02230DB2
|
|
add sp, #0x2c
|
|
mov r0, #1
|
|
pop {r3, r4, pc}
|
|
_02230DB2:
|
|
mov r0, #0
|
|
add sp, #0x2c
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD80_02230D64
|
|
|
|
thumb_func_start MOD80_02230DB8
|
|
MOD80_02230DB8: ; 0x02230DB8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldrh r0, [r5, #0x36]
|
|
mov r4, #3
|
|
cmp r0, #0
|
|
beq _02230DC6
|
|
add r4, r4, #2
|
|
_02230DC6:
|
|
add r0, r5, #0
|
|
bl MOD80_02230D64
|
|
cmp r0, #0
|
|
beq _02230DD2
|
|
add r4, r4, #2
|
|
_02230DD2:
|
|
ldr r0, _02230E0C ; =0x00000B22
|
|
mov r2, #0x7e
|
|
lsl r2, r2, #2
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
add r2, r5, r2
|
|
bl MOD80_0222DD90
|
|
ldr r1, _02230E0C ; =0x00000B22
|
|
ldrh r2, [r5, r1]
|
|
add r0, r1, #6
|
|
strh r2, [r5, r0]
|
|
add r0, r1, #2
|
|
ldrh r2, [r5, r0]
|
|
add r0, r1, #0
|
|
add r0, #8
|
|
strh r2, [r5, r0]
|
|
add r0, r1, #4
|
|
ldrh r0, [r5, r0]
|
|
add r1, #0xa
|
|
strh r0, [r5, r1]
|
|
mov r0, #0x10
|
|
str r0, [r5, #0x2c]
|
|
ldr r0, _02230E10 ; =0x00000FEE
|
|
mov r1, #0
|
|
strh r1, [r5, r0]
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02230E0C: .word 0x00000B22
|
|
_02230E10: .word 0x00000FEE
|
|
thumb_func_end MOD80_02230DB8
|
|
|
|
thumb_func_start MOD80_02230E14
|
|
MOD80_02230E14: ; 0x02230E14
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DB98
|
|
cmp r0, #0
|
|
beq _02230E94
|
|
bl MOD80_0222DBB8
|
|
add r5, r0, #0
|
|
add r0, #0xf
|
|
cmp r0, #0x16
|
|
bhi _02230E94
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02230E38: ; jump table
|
|
.short _02230E90 - _02230E38 - 2 ; case 0
|
|
.short _02230E84 - _02230E38 - 2 ; case 1
|
|
.short _02230E8A - _02230E38 - 2 ; case 2
|
|
.short _02230E90 - _02230E38 - 2 ; case 3
|
|
.short _02230E94 - _02230E38 - 2 ; case 4
|
|
.short _02230E94 - _02230E38 - 2 ; case 5
|
|
.short _02230E94 - _02230E38 - 2 ; case 6
|
|
.short _02230E94 - _02230E38 - 2 ; case 7
|
|
.short _02230E94 - _02230E38 - 2 ; case 8
|
|
.short _02230E94 - _02230E38 - 2 ; case 9
|
|
.short _02230E94 - _02230E38 - 2 ; case 10
|
|
.short _02230E94 - _02230E38 - 2 ; case 11
|
|
.short _02230E94 - _02230E38 - 2 ; case 12
|
|
.short _02230E84 - _02230E38 - 2 ; case 13
|
|
.short _02230E94 - _02230E38 - 2 ; case 14
|
|
.short _02230E66 - _02230E38 - 2 ; case 15
|
|
.short _02230E66 - _02230E38 - 2 ; case 16
|
|
.short _02230E66 - _02230E38 - 2 ; case 17
|
|
.short _02230E66 - _02230E38 - 2 ; case 18
|
|
.short _02230E66 - _02230E38 - 2 ; case 19
|
|
.short _02230E66 - _02230E38 - 2 ; case 20
|
|
.short _02230E66 - _02230E38 - 2 ; case 21
|
|
.short _02230E66 - _02230E38 - 2 ; case 22
|
|
_02230E66:
|
|
add r0, r4, #0
|
|
add r0, #0xc0
|
|
str r5, [r0]
|
|
ldr r0, _02230E98 ; =0x000005FF
|
|
mov r1, #0
|
|
bl FUN_020054F0
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #1
|
|
bl MOD80_02235B90
|
|
mov r0, #0x11
|
|
str r0, [r4, #0x2c]
|
|
b _02230E94
|
|
_02230E84:
|
|
mov r0, #0x1a
|
|
str r0, [r4, #0x2c]
|
|
b _02230E94
|
|
_02230E8A:
|
|
bl FUN_020335E0
|
|
b _02230E94
|
|
_02230E90:
|
|
mov r0, #0x13
|
|
str r0, [r4, #0x2c]
|
|
_02230E94:
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02230E98: .word 0x000005FF
|
|
thumb_func_end MOD80_02230E14
|
|
|
|
thumb_func_start MOD80_02230E9C
|
|
MOD80_02230E9C: ; 0x02230E9C
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
add r1, r4, #0
|
|
add r1, #0xc0
|
|
ldr r1, [r1]
|
|
cmp r1, #0
|
|
ldr r1, _02230EF0 ; =0x00000F0F
|
|
bne _02230ECC
|
|
str r1, [sp]
|
|
mov r1, #0xe
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl MOD80_0223187C
|
|
add r0, r4, #0
|
|
mov r1, #0x14
|
|
mov r2, #1
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _02230EF4 ; =0x000005F3
|
|
bl FUN_020054C8
|
|
b _02230EE8
|
|
_02230ECC:
|
|
str r1, [sp]
|
|
mov r1, #0x1e
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl MOD80_0223187C
|
|
add r0, r4, #0
|
|
mov r1, #0x14
|
|
mov r2, #0x12
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _02230EF8 ; =0x00000FDC
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
_02230EE8:
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02230EF0: .word 0x00000F0F
|
|
_02230EF4: .word 0x000005F3
|
|
_02230EF8: .word 0x00000FDC
|
|
thumb_func_end MOD80_02230E9C
|
|
|
|
thumb_func_start MOD80_02230EFC
|
|
MOD80_02230EFC: ; 0x02230EFC
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r1, _02230F34 ; =0x00000FDC
|
|
add r4, r0, #0
|
|
ldr r2, [r4, r1]
|
|
add r2, r2, #1
|
|
str r2, [r4, r1]
|
|
ldr r2, [r4, r1]
|
|
cmp r2, #0x2d
|
|
ble _02230F2E
|
|
sub r1, #0xcd
|
|
str r1, [sp]
|
|
mov r1, #0x20
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl MOD80_0223187C
|
|
add r0, r4, #0
|
|
mov r1, #0x14
|
|
mov r2, #1
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _02230F38 ; =0x00000FEE
|
|
mov r1, #1
|
|
strh r1, [r4, r0]
|
|
_02230F2E:
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_02230F34: .word 0x00000FDC
|
|
_02230F38: .word 0x00000FEE
|
|
thumb_func_end MOD80_02230EFC
|
|
|
|
thumb_func_start MOD80_02230F3C
|
|
MOD80_02230F3C: ; 0x02230F3C
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r1, _02230F6C ; =0x00000B28
|
|
add r4, r0, #0
|
|
mov r3, #0
|
|
strh r3, [r4, r1]
|
|
ldr r1, _02230F70 ; =0x00000F0F
|
|
mov r2, #1
|
|
str r1, [sp]
|
|
mov r1, #0x26
|
|
bl MOD80_0223187C
|
|
add r0, r4, #0
|
|
mov r1, #0x14
|
|
mov r2, #1
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _02230F74 ; =0x000005F3
|
|
bl FUN_020054C8
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02230F6C: .word 0x00000B28
|
|
_02230F70: .word 0x00000F0F
|
|
_02230F74: .word 0x000005F3
|
|
thumb_func_end MOD80_02230F3C
|
|
|
|
thumb_func_start MOD80_02230F78
|
|
MOD80_02230F78: ; 0x02230F78
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r1, _02230FA8 ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r1, #0x8f
|
|
mov r2, #4
|
|
mov r3, #0
|
|
bl MOD80_0223187C
|
|
add r0, r4, #0
|
|
mov r1, #0x15
|
|
mov r2, #0x1b
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _02230FAC ; =0x00000FDC
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
ldr r0, _02230FB0 ; =0x000005F3
|
|
bl FUN_020054C8
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_02230FA8: .word 0x00000F0F
|
|
_02230FAC: .word 0x00000FDC
|
|
_02230FB0: .word 0x000005F3
|
|
thumb_func_end MOD80_02230F78
|
|
|
|
thumb_func_start MOD80_02230FB4
|
|
MOD80_02230FB4: ; 0x02230FB4
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r1, _02230FE8 ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r1, #0x94
|
|
mov r2, #4
|
|
mov r3, #0
|
|
bl MOD80_0223187C
|
|
add r0, r4, #0
|
|
mov r1, #0x15
|
|
mov r2, #2
|
|
bl MOD80_0222E6DC
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl MOD80_0222E7A8
|
|
ldr r0, _02230FEC ; =0x000005F3
|
|
bl FUN_020054C8
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_02230FE8: .word 0x00000F0F
|
|
_02230FEC: .word 0x000005F3
|
|
thumb_func_end MOD80_02230FB4
|
|
|
|
thumb_func_start MOD80_02230FF0
|
|
MOD80_02230FF0: ; 0x02230FF0
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #4
|
|
ldr r1, [r0, r1]
|
|
ldr r0, [r1, #0x24]
|
|
cmp r0, #0
|
|
bne _02231000
|
|
ldr r0, [r1, #0x28]
|
|
bx lr
|
|
_02231000:
|
|
ldr r0, [r1, #0x2c]
|
|
add r0, r0, #3
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02230FF0
|
|
|
|
thumb_func_start MOD80_02231008
|
|
MOD80_02231008: ; 0x02231008
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
ldr r0, _02231100 ; =0x021C48B8
|
|
mov r1, #0x40
|
|
ldr r0, [r0, #0x48]
|
|
tst r1, r0
|
|
beq _0223104E
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r1, [r4, r0]
|
|
ldr r0, [r1, #0x24]
|
|
cmp r0, #0
|
|
bne _02231036
|
|
ldr r0, [r1, #0x28]
|
|
cmp r0, #0
|
|
ble _022310D0
|
|
sub r0, r0, #1
|
|
str r0, [r1, #0x28]
|
|
ldr r0, _02231104 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _022310D0
|
|
_02231036:
|
|
ldr r0, [r1, #0x2c]
|
|
cmp r0, #0
|
|
beq _02231042
|
|
ldr r0, _02231104 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
_02231042:
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
str r1, [r0, #0x2c]
|
|
b _022310D0
|
|
_0223104E:
|
|
mov r1, #0x80
|
|
tst r1, r0
|
|
beq _0223108A
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r1, [r4, r0]
|
|
ldr r0, [r1, #0x24]
|
|
cmp r0, #0
|
|
bne _02231072
|
|
ldr r0, [r1, #0x28]
|
|
cmp r0, #2
|
|
bge _022310D0
|
|
add r0, r0, #1
|
|
str r0, [r1, #0x28]
|
|
ldr r0, _02231104 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _022310D0
|
|
_02231072:
|
|
ldr r0, [r1, #0x2c]
|
|
cmp r0, #1
|
|
beq _0223107E
|
|
ldr r0, _02231104 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
_0223107E:
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
str r1, [r0, #0x2c]
|
|
b _022310D0
|
|
_0223108A:
|
|
mov r1, #0x10
|
|
tst r1, r0
|
|
beq _022310AE
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r0, [r0, #0x24]
|
|
cmp r0, #1
|
|
beq _022310A2
|
|
ldr r0, _02231104 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
_022310A2:
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
str r1, [r0, #0x24]
|
|
b _022310D0
|
|
_022310AE:
|
|
mov r1, #0x20
|
|
tst r0, r1
|
|
beq _022310D0
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r0, [r0, #0x24]
|
|
cmp r0, #0
|
|
beq _022310C6
|
|
ldr r0, _02231104 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
_022310C6:
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
str r1, [r0, #0x24]
|
|
_022310D0:
|
|
add r0, r4, #0
|
|
bl MOD80_02230FF0
|
|
lsl r1, r0, #2
|
|
ldr r0, _02231108 ; =0x02237A80
|
|
ldrh r0, [r0, r1]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
bl MOD80_02230FF0
|
|
lsl r1, r0, #2
|
|
ldr r0, _0223110C ; =0x02237A82
|
|
ldrh r0, [r0, r1]
|
|
add r1, sp, #0
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #4]
|
|
ldr r0, _02231110 ; =0x00000D5C
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02020044
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02231100: .word 0x021C48B8
|
|
_02231104: .word 0x000005DC
|
|
_02231108: .word 0x02237A80
|
|
_0223110C: .word 0x02237A82
|
|
_02231110: .word 0x00000D5C
|
|
thumb_func_end MOD80_02231008
|
|
|
|
thumb_func_start MOD80_02231114
|
|
MOD80_02231114: ; 0x02231114
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
mov r0, #6
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl FUN_0200E1D0
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #4
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD80_02231114
|
|
|
|
thumb_func_start MOD80_0223113C
|
|
MOD80_0223113C: ; 0x0223113C
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
ldr r1, _022311B4 ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r1, #9
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl MOD80_0223187C
|
|
add r0, r4, #0
|
|
mov r1, #0x14
|
|
mov r2, #4
|
|
bl MOD80_0222E6DC
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
mov r0, #0xd
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _022311B8 ; =0x0000013A
|
|
ldr r1, _022311BC ; =0x00000ED8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
mov r3, #0xf
|
|
bl FUN_02019064
|
|
ldr r0, _022311BC ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
mov r0, #0xa
|
|
str r0, [sp, #4]
|
|
mov r0, #0xd
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _022311C0 ; =0x0000016E
|
|
ldr r1, _022311C4 ; =0x00000EE8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
mov r3, #0x15
|
|
bl FUN_02019064
|
|
ldr r0, _022311C4 ; =0x00000EE8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
mov r0, #3
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_022311B4: .word 0x00000F0F
|
|
_022311B8: .word 0x0000013A
|
|
_022311BC: .word 0x00000ED8
|
|
_022311C0: .word 0x0000016E
|
|
_022311C4: .word 0x00000EE8
|
|
thumb_func_end MOD80_0223113C
|
|
|
|
thumb_func_start MOD80_022311C8
|
|
MOD80_022311C8: ; 0x022311C8
|
|
push {r4, lr}
|
|
ldr r2, _022311F0 ; =0x00000FC8
|
|
add r4, r0, #0
|
|
ldr r3, _022311F4 ; =0x00000B34
|
|
add r1, r4, r2
|
|
sub r2, #0xf0
|
|
ldr r3, [r4, r3]
|
|
add r2, r4, r2
|
|
bl MOD80_02234370
|
|
ldr r1, _022311F8 ; =0x00000FD4
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
ldr r1, _022311FC ; =0x0000FFFF
|
|
add r0, #0xb0
|
|
strh r1, [r0]
|
|
mov r0, #5
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_022311F0: .word 0x00000FC8
|
|
_022311F4: .word 0x00000B34
|
|
_022311F8: .word 0x00000FD4
|
|
_022311FC: .word 0x0000FFFF
|
|
thumb_func_end MOD80_022311C8
|
|
|
|
thumb_func_start MOD80_02231200
|
|
MOD80_02231200: ; 0x02231200
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _022312B4 ; =0x00000FD4
|
|
add r1, r4, #0
|
|
ldr r0, [r4, r0]
|
|
add r1, #0xb0
|
|
bl MOD80_02234698
|
|
cmp r0, #0xa
|
|
bhi _02231236
|
|
add r1, r0, r0
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02231220: ; jump table
|
|
.short _022312AE - _02231220 - 2 ; case 0
|
|
.short _02231240 - _02231220 - 2 ; case 1
|
|
.short _02231240 - _02231220 - 2 ; case 2
|
|
.short _02231240 - _02231220 - 2 ; case 3
|
|
.short _02231240 - _02231220 - 2 ; case 4
|
|
.short _02231240 - _02231220 - 2 ; case 5
|
|
.short _02231240 - _02231220 - 2 ; case 6
|
|
.short _02231240 - _02231220 - 2 ; case 7
|
|
.short _02231240 - _02231220 - 2 ; case 8
|
|
.short _02231240 - _02231220 - 2 ; case 9
|
|
.short _02231240 - _02231220 - 2 ; case 10
|
|
_02231236:
|
|
mov r1, #1
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _02231266
|
|
b _022312AE
|
|
_02231240:
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r2, [r4, r0]
|
|
sub r0, #0xc
|
|
add r1, r2, #6
|
|
ldr r0, [r4, r0]
|
|
add r2, r2, #4
|
|
bl FUN_02001300
|
|
ldr r0, _022312B8 ; =0x00000FC8
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _022312BC ; =0x000005DC
|
|
bl FUN_020054C8
|
|
mov r0, #6
|
|
str r0, [r4, #0x2c]
|
|
b _022312AE
|
|
_02231266:
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r2, [r4, r0]
|
|
sub r0, #0xc
|
|
add r1, r2, #6
|
|
ldr r0, [r4, r0]
|
|
add r2, r2, #4
|
|
bl FUN_02001300
|
|
ldr r0, _022312B8 ; =0x00000FC8
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _022312C0 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _022312C4 ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_0200D0E0
|
|
ldr r0, _022312C0 ; =0x00000ED8
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
ldr r0, _022312C8 ; =0x00000EE8
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
ldr r0, _022312BC ; =0x000005DC
|
|
bl FUN_020054C8
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
_022312AE:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_022312B4: .word 0x00000FD4
|
|
_022312B8: .word 0x00000FC8
|
|
_022312BC: .word 0x000005DC
|
|
_022312C0: .word 0x00000ED8
|
|
_022312C4: .word 0x00000E98
|
|
_022312C8: .word 0x00000EE8
|
|
thumb_func_end MOD80_02231200
|
|
|
|
thumb_func_start MOD80_022312CC
|
|
MOD80_022312CC: ; 0x022312CC
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
ldr r3, _02231310 ; =0x00000B38
|
|
add r4, r0, #0
|
|
ldr r1, [r4, r3]
|
|
mov r2, #0xfe
|
|
lsl r2, r2, #4
|
|
str r1, [sp]
|
|
ldr r1, [r4, r2]
|
|
sub r3, r3, #4
|
|
str r1, [sp, #4]
|
|
ldr r1, [r4]
|
|
ldr r1, [r1, #0x10]
|
|
str r1, [sp, #8]
|
|
add r1, r2, #0
|
|
sub r1, #0x18
|
|
sub r2, #0xf8
|
|
ldr r3, [r4, r3]
|
|
add r1, r4, r1
|
|
add r2, r4, r2
|
|
bl MOD80_022344DC
|
|
ldr r1, _02231314 ; =0x00000FD4
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
ldr r1, _02231318 ; =0x0000FFFF
|
|
add r0, #0xb0
|
|
strh r1, [r0]
|
|
mov r0, #7
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02231310: .word 0x00000B38
|
|
_02231314: .word 0x00000FD4
|
|
_02231318: .word 0x0000FFFF
|
|
thumb_func_end MOD80_022312CC
|
|
|
|
thumb_func_start MOD80_0223131C
|
|
MOD80_0223131C: ; 0x0223131C
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
ldr r0, _02231464 ; =0x00000FD4
|
|
add r1, r4, #0
|
|
ldr r0, [r4, r0]
|
|
add r1, #0xb0
|
|
bl MOD80_02234698
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
beq _02231342
|
|
add r0, r0, #1
|
|
cmp r5, r0
|
|
bne _02231340
|
|
b _0223145C
|
|
_02231340:
|
|
b _0223138C
|
|
_02231342:
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r2, [r4, r0]
|
|
sub r0, #0xc
|
|
add r1, r2, #0
|
|
ldr r0, [r4, r0]
|
|
add r1, #0xa
|
|
add r2, #8
|
|
bl FUN_02001300
|
|
ldr r0, _02231468 ; =0x00000FC8
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _0223146C ; =0x00000EE8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _02231470 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
mov r0, #4
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r3, [r4, r0]
|
|
add r0, #0x38
|
|
ldrh r2, [r3, #6]
|
|
ldrh r1, [r3, #4]
|
|
add r0, r4, r0
|
|
add r1, r2, r1
|
|
ldrh r2, [r3, #0xa]
|
|
ldrh r3, [r3, #8]
|
|
bl MOD80_022346F0
|
|
b _0223145C
|
|
_0223138C:
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r2, [r4, r0]
|
|
sub r0, #0xc
|
|
add r1, r2, #0
|
|
ldr r0, [r4, r0]
|
|
add r1, #0xa
|
|
add r2, #8
|
|
bl FUN_02001300
|
|
ldr r0, _02231468 ; =0x00000FC8
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _02231474 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _0223146C ; =0x00000EE8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _02231474 ; =0x00000ED8
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
ldr r0, _0223146C ; =0x00000EE8
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02231478 ; =0x00000B22
|
|
strh r5, [r4, r0]
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _02231470 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
ldr r0, _0223147C ; =0x00000F18
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02231480 ; =0x00010200
|
|
ldr r1, _02231484 ; =0x00000B38
|
|
str r0, [sp, #4]
|
|
ldr r0, _0223147C ; =0x00000F18
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, r0
|
|
add r2, r5, #0
|
|
mov r3, #2
|
|
bl MOD80_02233EA4
|
|
add r0, r5, #0
|
|
mov r1, #0x12
|
|
bl FUN_02068678
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #4
|
|
ldr r2, [r4, r1]
|
|
str r0, [r2, #0x20]
|
|
ldr r3, [r4, r1]
|
|
add r1, #0x38
|
|
add r0, r4, r1
|
|
ldrh r2, [r3, #6]
|
|
ldrh r1, [r3, #4]
|
|
add r1, r2, r1
|
|
ldrh r2, [r3, #0xa]
|
|
ldrh r3, [r3, #8]
|
|
bl MOD80_022346F0
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
ldr r0, _02231478 ; =0x00000B22
|
|
ldr r1, [r1, #0x20]
|
|
add r0, r4, r0
|
|
bl MOD80_022338E0
|
|
cmp r0, #0
|
|
beq _0223145C
|
|
ldr r0, _02231488 ; =0x00000F38
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, _02231480 ; =0x00010200
|
|
ldr r2, _0223148C ; =0x00000B34
|
|
str r0, [sp, #8]
|
|
ldr r1, [r4, r2]
|
|
sub r2, #0x10
|
|
ldr r0, _02231488 ; =0x00000F38
|
|
ldrsb r2, [r4, r2]
|
|
add r0, r4, r0
|
|
mov r3, #1
|
|
bl MOD80_02233EF4
|
|
_0223145C:
|
|
mov r0, #3
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_02231464: .word 0x00000FD4
|
|
_02231468: .word 0x00000FC8
|
|
_0223146C: .word 0x00000EE8
|
|
_02231470: .word 0x000005DC
|
|
_02231474: .word 0x00000ED8
|
|
_02231478: .word 0x00000B22
|
|
_0223147C: .word 0x00000F18
|
|
_02231480: .word 0x00010200
|
|
_02231484: .word 0x00000B38
|
|
_02231488: .word 0x00000F38
|
|
_0223148C: .word 0x00000B34
|
|
thumb_func_end MOD80_0223131C
|
|
|
|
thumb_func_start MOD80_02231490
|
|
MOD80_02231490: ; 0x02231490
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
ldr r1, _022314E0 ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r1, #0xa
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl MOD80_0223187C
|
|
add r0, r4, #0
|
|
mov r1, #0x14
|
|
mov r2, #9
|
|
bl MOD80_0222E6DC
|
|
mov r0, #0xa
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _022314E4 ; =0x0000013A
|
|
ldr r1, _022314E8 ; =0x00000ED8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
mov r3, #0x15
|
|
bl FUN_02019064
|
|
ldr r0, _022314E8 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
mov r0, #3
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_022314E0: .word 0x00000F0F
|
|
_022314E4: .word 0x0000013A
|
|
_022314E8: .word 0x00000ED8
|
|
thumb_func_end MOD80_02231490
|
|
|
|
thumb_func_start MOD80_022314EC
|
|
MOD80_022314EC: ; 0x022314EC
|
|
push {r4, lr}
|
|
ldr r1, _02231514 ; =0x00000FC8
|
|
add r4, r0, #0
|
|
ldr r2, _02231518 ; =0x00000B34
|
|
add r0, r4, r1
|
|
sub r1, #0xf0
|
|
ldr r2, [r4, r2]
|
|
add r1, r4, r1
|
|
bl MOD80_02234560
|
|
ldr r1, _0223151C ; =0x00000FD4
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
ldr r1, _02231520 ; =0x0000FFFF
|
|
add r0, #0xb0
|
|
strh r1, [r0]
|
|
mov r0, #0xa
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02231514: .word 0x00000FC8
|
|
_02231518: .word 0x00000B34
|
|
_0223151C: .word 0x00000FD4
|
|
_02231520: .word 0x0000FFFF
|
|
thumb_func_end MOD80_022314EC
|
|
|
|
thumb_func_start MOD80_02231524
|
|
MOD80_02231524: ; 0x02231524
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, _022315F0 ; =0x00000FD4
|
|
add r1, r5, #0
|
|
ldr r0, [r5, r0]
|
|
add r1, #0xb0
|
|
bl MOD80_02234698
|
|
add r4, r0, #0
|
|
cmp r4, #2
|
|
bhi _0223154A
|
|
cmp r4, #0
|
|
beq _0223158E
|
|
cmp r4, #1
|
|
beq _0223158E
|
|
cmp r4, #2
|
|
beq _0223158E
|
|
b _022315EA
|
|
_0223154A:
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _022315EA
|
|
ldr r0, _022315F0 ; =0x00000FD4
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r2, r1, #0
|
|
bl FUN_02001300
|
|
ldr r0, _022315F4 ; =0x00000FC8
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _022315F8 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _022315FC ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200D0E0
|
|
ldr r0, _022315F8 ; =0x00000ED8
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02231600 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
mov r0, #0
|
|
str r0, [r5, #0x2c]
|
|
b _022315EA
|
|
_0223158E:
|
|
ldr r0, _022315F0 ; =0x00000FD4
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r2, r1, #0
|
|
bl FUN_02001300
|
|
ldr r0, _022315F4 ; =0x00000FC8
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _022315F8 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _022315F8 ; =0x00000ED8
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02231600 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
ldr r0, _02231604 ; =0x00000B24
|
|
add r1, r4, #1
|
|
strb r1, [r5, r0]
|
|
ldr r0, _02231608 ; =0x00000F38
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
str r1, [r5, #0x2c]
|
|
bl FUN_02019620
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, _0223160C ; =0x00010200
|
|
ldr r2, _02231610 ; =0x00000B34
|
|
str r0, [sp, #8]
|
|
ldr r1, [r5, r2]
|
|
sub r2, #0x10
|
|
ldr r0, _02231608 ; =0x00000F38
|
|
ldrsb r2, [r5, r2]
|
|
add r0, r5, r0
|
|
mov r3, #1
|
|
bl MOD80_02233EF4
|
|
_022315EA:
|
|
mov r0, #3
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_022315F0: .word 0x00000FD4
|
|
_022315F4: .word 0x00000FC8
|
|
_022315F8: .word 0x00000ED8
|
|
_022315FC: .word 0x00000E98
|
|
_02231600: .word 0x000005DC
|
|
_02231604: .word 0x00000B24
|
|
_02231608: .word 0x00000F38
|
|
_0223160C: .word 0x00010200
|
|
_02231610: .word 0x00000B34
|
|
thumb_func_end MOD80_02231524
|
|
|
|
thumb_func_start MOD80_02231614
|
|
MOD80_02231614: ; 0x02231614
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
ldr r1, _02231664 ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r1, #0xb
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl MOD80_0223187C
|
|
add r0, r4, #0
|
|
mov r1, #0x14
|
|
mov r2, #0xc
|
|
bl MOD80_0222E6DC
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0xd
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _02231668 ; =0x0000013A
|
|
ldr r1, _0223166C ; =0x00000ED8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
mov r3, #0xf
|
|
bl FUN_02019064
|
|
ldr r0, _0223166C ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
mov r0, #3
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02231664: .word 0x00000F0F
|
|
_02231668: .word 0x0000013A
|
|
_0223166C: .word 0x00000ED8
|
|
thumb_func_end MOD80_02231614
|
|
|
|
thumb_func_start MOD80_02231670
|
|
MOD80_02231670: ; 0x02231670
|
|
push {r4, lr}
|
|
ldr r1, _02231698 ; =0x00000FC8
|
|
add r4, r0, #0
|
|
ldr r2, _0223169C ; =0x00000B34
|
|
add r0, r4, r1
|
|
sub r1, #0xf0
|
|
ldr r2, [r4, r2]
|
|
add r1, r4, r1
|
|
bl MOD80_022345D0
|
|
ldr r1, _022316A0 ; =0x00000FD4
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
ldr r1, _022316A4 ; =0x0000FFFF
|
|
add r0, #0xb0
|
|
strh r1, [r0]
|
|
mov r0, #0xd
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02231698: .word 0x00000FC8
|
|
_0223169C: .word 0x00000B34
|
|
_022316A0: .word 0x00000FD4
|
|
_022316A4: .word 0x0000FFFF
|
|
thumb_func_end MOD80_02231670
|
|
|
|
thumb_func_start MOD80_022316A8
|
|
MOD80_022316A8: ; 0x022316A8
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, _0223176C ; =0x00000FD4
|
|
add r1, r5, #0
|
|
ldr r0, [r5, r0]
|
|
add r1, #0xb0
|
|
bl MOD80_02234698
|
|
add r4, r0, #0
|
|
cmp r4, #0xc
|
|
beq _022316D0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _022316D0
|
|
add r0, r0, #1
|
|
cmp r4, r0
|
|
beq _02231766
|
|
b _0223170C
|
|
_022316D0:
|
|
ldr r0, _0223176C ; =0x00000FD4
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r2, r1, #0
|
|
bl FUN_02001300
|
|
ldr r0, _02231770 ; =0x00000FC8
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _02231774 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _02231778 ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200D0E0
|
|
ldr r0, _02231774 ; =0x00000ED8
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
ldr r0, _0223177C ; =0x000005DC
|
|
bl FUN_020054C8
|
|
mov r0, #0
|
|
str r0, [r5, #0x2c]
|
|
b _02231766
|
|
_0223170C:
|
|
ldr r0, _0223176C ; =0x00000FD4
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r2, r1, #0
|
|
bl FUN_02001300
|
|
ldr r0, _02231770 ; =0x00000FC8
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _02231774 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _02231774 ; =0x00000ED8
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
ldr r0, _0223177C ; =0x000005DC
|
|
bl FUN_020054C8
|
|
ldr r0, _02231780 ; =0x00000B22
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
bl MOD80_02234640
|
|
ldr r0, _02231784 ; =0x00000F58
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
str r1, [r5, #0x2c]
|
|
bl FUN_02019620
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02231788 ; =0x00010200
|
|
ldr r1, _0223178C ; =0x00000B34
|
|
str r0, [sp, #4]
|
|
ldr r0, _02231784 ; =0x00000F58
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, r0
|
|
add r2, r4, #0
|
|
mov r3, #2
|
|
bl MOD80_02233F9C
|
|
_02231766:
|
|
mov r0, #3
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0223176C: .word 0x00000FD4
|
|
_02231770: .word 0x00000FC8
|
|
_02231774: .word 0x00000ED8
|
|
_02231778: .word 0x00000E98
|
|
_0223177C: .word 0x000005DC
|
|
_02231780: .word 0x00000B22
|
|
_02231784: .word 0x00000F58
|
|
_02231788: .word 0x00010200
|
|
_0223178C: .word 0x00000B34
|
|
thumb_func_end MOD80_022316A8
|
|
|
|
thumb_func_start MOD80_02231790
|
|
MOD80_02231790: ; 0x02231790
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
ldr r2, _022317AC ; =0x0000020A
|
|
mov r1, #0xf
|
|
bl MOD80_0222E6A8
|
|
ldr r1, _022317B0 ; =0x00000FCC
|
|
str r0, [r4, r1]
|
|
mov r0, #0x17
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_022317AC: .word 0x0000020A
|
|
_022317B0: .word 0x00000FCC
|
|
thumb_func_end MOD80_02231790
|
|
|
|
thumb_func_start MOD80_022317B4
|
|
MOD80_022317B4: ; 0x022317B4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _022317F4 ; =0x00000FCC
|
|
mov r1, #0x3e
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020021AC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _022317F0
|
|
sub r1, r1, #1
|
|
cmp r0, r1
|
|
bne _022317D6
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
b _022317F0
|
|
_022317D6:
|
|
mov r0, #2
|
|
str r0, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
add r0, r4, #0
|
|
bl MOD80_02235C40
|
|
mov r0, #0
|
|
add r4, #0xc0
|
|
str r0, [r4]
|
|
_022317F0:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_022317F4: .word 0x00000FCC
|
|
thumb_func_end MOD80_022317B4
|
|
|
|
thumb_func_start MOD80_022317F8
|
|
MOD80_022317F8: ; 0x022317F8
|
|
mov r1, #1
|
|
str r1, [r0, #0x2c]
|
|
mov r0, #3
|
|
bx lr
|
|
thumb_func_end MOD80_022317F8
|
|
|
|
thumb_func_start MOD80_02231800
|
|
MOD80_02231800: ; 0x02231800
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r1, _02231824 ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r1, #0x8e
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl MOD80_0223187C
|
|
add r0, r4, #0
|
|
mov r1, #0x14
|
|
mov r2, #1
|
|
bl MOD80_0222E6DC
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_02231824: .word 0x00000F0F
|
|
thumb_func_end MOD80_02231800
|
|
|
|
thumb_func_start MOD80_02231828
|
|
MOD80_02231828: ; 0x02231828
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02231842
|
|
ldr r0, [r4, #0x30]
|
|
str r0, [r4, #0x2c]
|
|
_02231842:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02231828
|
|
|
|
thumb_func_start MOD80_02231848
|
|
MOD80_02231848: ; 0x02231848
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02231874
|
|
ldr r0, _02231878 ; =0x00000FDC
|
|
ldr r1, [r4, r0]
|
|
add r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0x2d
|
|
ble _02231874
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, #0x30]
|
|
str r0, [r4, #0x2c]
|
|
_02231874:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02231878: .word 0x00000FDC
|
|
thumb_func_end MOD80_02231848
|
|
|
|
thumb_func_start MOD80_0223187C
|
|
MOD80_0223187C: ; 0x0223187C
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r2, #0
|
|
ldr r2, _022318C8 ; =0x00000B34
|
|
add r5, r0, #0
|
|
ldr r0, [r5, r2]
|
|
add r2, #0x18
|
|
ldr r2, [r5, r2]
|
|
bl FUN_0200A8E0
|
|
ldr r0, _022318CC ; =0x00000E98
|
|
mov r1, #0xf
|
|
add r0, r5, r0
|
|
bl FUN_02019620
|
|
ldr r0, _022318CC ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl FUN_0200D0BC
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r4, [sp, #4]
|
|
ldr r0, _022318CC ; =0x00000E98
|
|
ldr r2, _022318D0 ; =0x00000B4C
|
|
str r3, [sp, #8]
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
bl FUN_0201BD84
|
|
mov r1, #0x2e
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_022318C8: .word 0x00000B34
|
|
_022318CC: .word 0x00000E98
|
|
_022318D0: .word 0x00000B4C
|
|
thumb_func_end MOD80_0223187C
|
|
|
|
thumb_func_start MOD80_022318D4
|
|
MOD80_022318D4: ; 0x022318D4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #0x3b
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
mov r2, #0
|
|
ldr r0, _022319B8 ; =0x000F0200
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r3, r2, #0
|
|
bl MOD80_02236D50
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add r0, r4, #0
|
|
mov r1, #0x3d
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
mov r2, #0
|
|
ldr r0, _022319B8 ; =0x000F0200
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0x20
|
|
add r1, r6, #0
|
|
add r3, r2, #0
|
|
bl MOD80_02236D50
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add r0, r4, #0
|
|
mov r1, #0x3f
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
mov r2, #0
|
|
ldr r0, _022319B8 ; =0x000F0200
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0x40
|
|
add r1, r6, #0
|
|
add r3, r2, #0
|
|
bl MOD80_02236D50
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add r0, r4, #0
|
|
mov r1, #0x41
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
add r3, r5, #0
|
|
add r3, #0x67
|
|
ldrb r3, [r3]
|
|
mov r0, #0
|
|
add r1, r6, #0
|
|
add r2, r0, #0
|
|
lsl r3, r3, #3
|
|
bl FUN_02002F40
|
|
add r2, r0, #0
|
|
mov r3, #0
|
|
ldr r0, _022319BC ; =0x00010200
|
|
str r3, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0x60
|
|
add r1, r6, #0
|
|
bl MOD80_02236D50
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add r0, r4, #0
|
|
mov r1, #0x42
|
|
bl FUN_0200A914
|
|
add r4, r0, #0
|
|
add r3, r5, #0
|
|
add r3, #0x77
|
|
ldrb r3, [r3]
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
lsl r3, r3, #3
|
|
bl FUN_02002F40
|
|
add r2, r0, #0
|
|
mov r3, #0
|
|
ldr r0, _022319BC ; =0x00010200
|
|
str r3, [sp]
|
|
add r5, #0x70
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD80_02236D50
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_022319B8: .word 0x000F0200
|
|
_022319BC: .word 0x00010200
|
|
thumb_func_end MOD80_022318D4
|
|
|
|
thumb_func_start MOD80_022319C0
|
|
MOD80_022319C0: ; 0x022319C0
|
|
mov r2, #0
|
|
ldrsh r3, [r0, r2]
|
|
ldrsh r2, [r1, r2]
|
|
cmp r3, r2
|
|
bne _022319EC
|
|
mov r2, #2
|
|
ldrsb r3, [r0, r2]
|
|
ldrsb r2, [r1, r2]
|
|
cmp r3, r2
|
|
bne _022319EC
|
|
mov r2, #3
|
|
ldrsb r3, [r0, r2]
|
|
ldrsb r2, [r1, r2]
|
|
cmp r3, r2
|
|
bne _022319EC
|
|
mov r2, #4
|
|
ldrsb r3, [r0, r2]
|
|
ldrsb r0, [r1, r2]
|
|
cmp r3, r0
|
|
bne _022319EC
|
|
mov r0, #1
|
|
bx lr
|
|
_022319EC:
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD80_022319C0
|
|
|
|
thumb_func_start MOD80_022319F0
|
|
MOD80_022319F0: ; 0x022319F0
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
bl MOD80_0223205C
|
|
ldr r0, [r4, #4]
|
|
bl MOD80_02231AB0
|
|
add r0, r4, #0
|
|
bl MOD80_02231BF4
|
|
add r0, r4, #0
|
|
bl MOD80_02231EA8
|
|
add r0, r4, #0
|
|
bl MOD80_02231CBC
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #8
|
|
bne _02231A30
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r2, r1, #0
|
|
add r3, r0, #0
|
|
bl FUN_0200E1D0
|
|
b _02231A46
|
|
_02231A30:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl FUN_0200E1D0
|
|
_02231A46:
|
|
add r1, r4, #0
|
|
add r1, #0xb8
|
|
ldrh r1, [r1]
|
|
add r0, r4, #0
|
|
bl MOD80_02232D7C
|
|
add r0, r4, #0
|
|
bl MOD80_02236D84
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #2
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_022319F0
|
|
|
|
thumb_func_start MOD80_02231A64
|
|
MOD80_02231A64: ; 0x02231A64
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222E79C
|
|
bl FUN_02033EEC
|
|
ldr r1, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
lsl r2, r1, #2
|
|
ldr r1, _02231A80 ; =0x02237B04
|
|
ldr r1, [r1, r2]
|
|
blx r1
|
|
pop {r4, pc}
|
|
nop
|
|
_02231A80: .word 0x02237B04
|
|
thumb_func_end MOD80_02231A64
|
|
|
|
thumb_func_start MOD80_02231A84
|
|
MOD80_02231A84: ; 0x02231A84
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl FUN_02033ED0
|
|
add r0, r4, #0
|
|
bl MOD80_02231E44
|
|
add r0, r4, #0
|
|
bl MOD80_022320E8
|
|
add r0, r4, #0
|
|
bl MOD80_0223200C
|
|
ldr r0, [r4, #4]
|
|
bl MOD80_02231BC8
|
|
add r0, r4, #0
|
|
bl MOD80_0222E7B0
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02231A84
|
|
|
|
thumb_func_start MOD80_02231AB0
|
|
MOD80_02231AB0: ; 0x02231AB0
|
|
push {r4, r5, lr}
|
|
sub sp, #0x9c
|
|
ldr r5, _02231BB0 ; =0x02237210
|
|
add r3, sp, #0x8c
|
|
add r4, r0, #0
|
|
add r2, r3, #0
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
bl FUN_02016BBC
|
|
ldr r5, _02231BB4 ; =0x02237288
|
|
add r3, sp, #0x70
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
add r3, r1, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_02018744
|
|
ldr r5, _02231BB8 ; =0x022372A4
|
|
add r3, sp, #0x54
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
ldr r5, _02231BBC ; =0x0223726C
|
|
add r3, sp, #0x38
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FUN_02018744
|
|
ldr r5, _02231BC0 ; =0x02237234
|
|
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, #4
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_02018744
|
|
ldr r5, _02231BC4 ; =0x02237250
|
|
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]
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #0
|
|
mov r1, #0x20
|
|
add r2, r0, #0
|
|
mov r3, #0x3e
|
|
bl FUN_02017F18
|
|
mov r0, #4
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #0x3e
|
|
bl FUN_02017F18
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl FUN_0201E6E4
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl FUN_0201E74C
|
|
add sp, #0x9c
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_02231BB0: .word 0x02237210
|
|
_02231BB4: .word 0x02237288
|
|
_02231BB8: .word 0x022372A4
|
|
_02231BBC: .word 0x0223726C
|
|
_02231BC0: .word 0x02237234
|
|
_02231BC4: .word 0x02237250
|
|
thumb_func_end MOD80_02231AB0
|
|
|
|
thumb_func_start MOD80_02231BC8
|
|
MOD80_02231BC8: ; 0x02231BC8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #5
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_020178A0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02231BC8
|
|
|
|
thumb_func_start MOD80_02231BF4
|
|
MOD80_02231BF4: ; 0x02231BF4
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #4]
|
|
mov r0, #0x60
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x68
|
|
mov r1, #2
|
|
add r3, r2, #0
|
|
bl FUN_02006930
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
mov r0, #0x68
|
|
mov r1, #5
|
|
mov r2, #4
|
|
mov r3, #0
|
|
bl FUN_02006930
|
|
mov r1, #0x1a
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x3e
|
|
bl FUN_02002EEC
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #0x24]
|
|
bl FUN_02025084
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl FUN_0200CD68
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r2, #0x1f
|
|
mov r3, #0xb
|
|
bl FUN_0200CB00
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0xa
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
mov r1, #0xc
|
|
add r2, r4, #0
|
|
bl FUN_0200687C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
mov r1, #0x18
|
|
add r2, r4, #0
|
|
bl FUN_020068C8
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
mov r1, #0x1d
|
|
add r2, r4, #0
|
|
mov r3, #2
|
|
bl FUN_020068C8
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD80_02231BF4
|
|
|
|
thumb_func_start MOD80_02231CBC
|
|
MOD80_02231CBC: ; 0x02231CBC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
mov r2, #0xcf
|
|
add r5, r0, #0
|
|
lsl r2, r2, #4
|
|
add r0, sp, #0
|
|
add r1, r5, #0
|
|
add r2, r5, r2
|
|
mov r3, #1
|
|
bl MOD80_0222E5E8
|
|
add r0, r5, #0
|
|
add r0, #0xba
|
|
ldrh r0, [r0]
|
|
lsl r1, r0, #2
|
|
ldr r0, _02231E28 ; =0x022372C0
|
|
ldrh r0, [r0, r1]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r0, #0xba
|
|
ldrh r0, [r0]
|
|
lsl r1, r0, #2
|
|
ldr r0, _02231E2C ; =0x022372C2
|
|
ldrh r0, [r0, r1]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0
|
|
bl FUN_0201FE94
|
|
ldr r1, _02231E30 ; =0x00000D5C
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #1
|
|
bl FUN_020200BC
|
|
ldr r0, _02231E30 ; =0x00000D5C
|
|
mov r1, #4
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02020130
|
|
ldr r0, _02231E30 ; =0x00000D5C
|
|
mov r1, #1
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02020238
|
|
ldr r6, _02231E28 ; =0x022372C0
|
|
mov r7, #0
|
|
add r4, r5, #0
|
|
_02231D1E:
|
|
ldrh r0, [r6]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #8]
|
|
ldrh r0, [r6, #2]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x14
|
|
str r0, [sp, #0x24]
|
|
add r0, sp, #0
|
|
bl FUN_0201FE94
|
|
ldr r1, _02231E34 ; =0x00000D64
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0
|
|
ldr r0, [r4, r0]
|
|
add r1, r7, #6
|
|
bl FUN_02020130
|
|
ldr r0, _02231E34 ; =0x00000D64
|
|
mov r1, #1
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02020238
|
|
add r7, r7, #1
|
|
add r6, r6, #4
|
|
add r4, r4, #4
|
|
cmp r7, #0x1e
|
|
blt _02231D1E
|
|
ldr r6, _02231E28 ; =0x022372C0
|
|
mov r7, #0
|
|
add r4, r5, #0
|
|
_02231D5C:
|
|
ldrh r0, [r6]
|
|
add r0, r0, #4
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #8]
|
|
ldrh r0, [r6, #2]
|
|
add r0, r0, #6
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xa
|
|
str r0, [sp, #0x24]
|
|
add r0, sp, #0
|
|
bl FUN_0201FE94
|
|
ldr r1, _02231E38 ; =0x00000DDC
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x28
|
|
bl FUN_02020130
|
|
ldr r0, _02231E38 ; =0x00000DDC
|
|
mov r1, #1
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02020238
|
|
add r7, r7, #1
|
|
add r6, r6, #4
|
|
add r4, r4, #4
|
|
cmp r7, #0x1e
|
|
blt _02231D5C
|
|
ldr r6, _02231E28 ; =0x022372C0
|
|
mov r7, #0
|
|
add r4, r5, #0
|
|
_02231D9E:
|
|
ldrh r0, [r6]
|
|
add r0, #0xc
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #8]
|
|
ldrh r0, [r6, #2]
|
|
add r0, r0, #6
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xa
|
|
str r0, [sp, #0x24]
|
|
add r0, sp, #0
|
|
bl FUN_0201FE94
|
|
ldr r1, _02231E3C ; =0x00000E54
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x2a
|
|
bl FUN_02020130
|
|
ldr r0, _02231E3C ; =0x00000E54
|
|
mov r1, #1
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02020238
|
|
add r7, r7, #1
|
|
add r6, r6, #4
|
|
add r4, r4, #4
|
|
cmp r7, #6
|
|
blt _02231D9E
|
|
mov r7, #0xe9
|
|
ldr r4, _02231E40 ; =0x02237208
|
|
mov r6, #0
|
|
lsl r7, r7, #4
|
|
_02231DE2:
|
|
ldrh r0, [r4]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #8]
|
|
ldrh r0, [r4, #2]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0
|
|
bl FUN_0201FE94
|
|
mov r1, #0xe9
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl FUN_020200BC
|
|
mov r0, #0xe9
|
|
lsl r0, r0, #4
|
|
add r1, r6, #0
|
|
ldr r0, [r5, r0]
|
|
add r1, #0x26
|
|
bl FUN_02020130
|
|
ldr r0, [r5, r7]
|
|
mov r1, #1
|
|
bl FUN_02020238
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
add r5, r5, #4
|
|
cmp r6, #2
|
|
blt _02231DE2
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02231E28: .word 0x022372C0
|
|
_02231E2C: .word 0x022372C2
|
|
_02231E30: .word 0x00000D5C
|
|
_02231E34: .word 0x00000D64
|
|
_02231E38: .word 0x00000DDC
|
|
_02231E3C: .word 0x00000E54
|
|
_02231E40: .word 0x02237208
|
|
thumb_func_end MOD80_02231CBC
|
|
|
|
thumb_func_start MOD80_02231E44
|
|
MOD80_02231E44: ; 0x02231E44
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
mov r7, #0xe9
|
|
mov r6, #0
|
|
add r4, r5, #0
|
|
lsl r7, r7, #4
|
|
_02231E50:
|
|
ldr r0, [r4, r7]
|
|
bl FUN_0201FFC8
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, #2
|
|
blt _02231E50
|
|
ldr r0, _02231E98 ; =0x00000D5C
|
|
ldr r0, [r5, r0]
|
|
bl FUN_0201FFC8
|
|
ldr r7, _02231E9C ; =0x00000DDC
|
|
mov r6, #0
|
|
add r4, r5, #0
|
|
_02231E6C:
|
|
ldr r0, _02231EA0 ; =0x00000D64
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0201FFC8
|
|
ldr r0, [r4, r7]
|
|
bl FUN_0201FFC8
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, #0x1e
|
|
blt _02231E6C
|
|
ldr r6, _02231EA4 ; =0x00000E54
|
|
mov r4, #0
|
|
_02231E86:
|
|
ldr r0, [r5, r6]
|
|
bl FUN_0201FFC8
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #6
|
|
blt _02231E86
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02231E98: .word 0x00000D5C
|
|
_02231E9C: .word 0x00000DDC
|
|
_02231EA0: .word 0x00000D64
|
|
_02231EA4: .word 0x00000E54
|
|
thumb_func_end MOD80_02231E44
|
|
|
|
thumb_func_start MOD80_02231EA8
|
|
MOD80_02231EA8: ; 0x02231EA8
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
mov r3, #1
|
|
add r4, r0, #0
|
|
str r3, [sp]
|
|
mov r0, #0x1c
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x28
|
|
ldr r1, _02231FDC ; =0x00000EB8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
bl FUN_02019064
|
|
ldr r0, _02231FDC ; =0x00000EB8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
mov r2, #0
|
|
mov r1, #0xb5
|
|
ldr r0, _02231FE0 ; =0x000F0E00
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02231FDC ; =0x00000EB8
|
|
lsl r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, r0
|
|
mov r3, #1
|
|
bl MOD80_02236D50
|
|
mov r1, #3
|
|
str r1, [sp]
|
|
mov r0, #0xd
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x60
|
|
ldr r1, _02231FE4 ; =0x00000EC8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
mov r3, #5
|
|
bl FUN_02019064
|
|
ldr r0, _02231FE4 ; =0x00000EC8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
ldr r0, _02231FE4 ; =0x00000EC8
|
|
add r0, r4, r0
|
|
bl FUN_020191D0
|
|
mov r0, #0x15
|
|
str r0, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r3, #2
|
|
ldr r1, _02231FE8 ; =0x00000E98
|
|
str r3, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
add r0, #0xfc
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
bl FUN_02019064
|
|
ldr r0, _02231FE8 ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
mov r0, #0x13
|
|
str r0, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _02231FEC ; =0x0000013F
|
|
ldr r1, _02231FF0 ; =0x00000FB8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
mov r3, #2
|
|
bl FUN_02019064
|
|
ldr r0, _02231FF0 ; =0x00000FB8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
mov r0, #0x15
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _02231FF4 ; =0x00000165
|
|
ldr r1, _02231FF8 ; =0x00000EE8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #1
|
|
mov r3, #0x19
|
|
bl FUN_02019064
|
|
ldr r0, _02231FF8 ; =0x00000EE8
|
|
mov r1, #6
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
mov r3, #1
|
|
ldr r0, _02231FFC ; =0x00010306
|
|
str r3, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, _02232000 ; =0x00000B48
|
|
ldr r0, _02231FF8 ; =0x00000EE8
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, r0
|
|
mov r2, #0
|
|
bl MOD80_02236D50
|
|
mov r1, #0xd
|
|
str r1, [sp]
|
|
mov r0, #0xa
|
|
str r0, [sp, #4]
|
|
mov r0, #6
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, _02232004 ; =0x00000171
|
|
ldr r1, _02232008 ; =0x00000ED8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
mov r3, #0x15
|
|
bl FUN_02019064
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_02231FDC: .word 0x00000EB8
|
|
_02231FE0: .word 0x000F0E00
|
|
_02231FE4: .word 0x00000EC8
|
|
_02231FE8: .word 0x00000E98
|
|
_02231FEC: .word 0x0000013F
|
|
_02231FF0: .word 0x00000FB8
|
|
_02231FF4: .word 0x00000165
|
|
_02231FF8: .word 0x00000EE8
|
|
_02231FFC: .word 0x00010306
|
|
_02232000: .word 0x00000B48
|
|
_02232004: .word 0x00000171
|
|
_02232008: .word 0x00000ED8
|
|
thumb_func_end MOD80_02231EA8
|
|
|
|
thumb_func_start MOD80_0223200C
|
|
MOD80_0223200C: ; 0x0223200C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02232044 ; =0x00000FB8
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02232048 ; =0x00000EE8
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
ldr r0, _0223204C ; =0x00000ED8
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02232050 ; =0x00000E98
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02232054 ; =0x00000EC8
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02232058 ; =0x00000EB8
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
pop {r4, pc}
|
|
nop
|
|
_02232044: .word 0x00000FB8
|
|
_02232048: .word 0x00000EE8
|
|
_0223204C: .word 0x00000ED8
|
|
_02232050: .word 0x00000E98
|
|
_02232054: .word 0x00000EC8
|
|
_02232058: .word 0x00000EB8
|
|
thumb_func_end MOD80_0223200C
|
|
|
|
thumb_func_start MOD80_0223205C
|
|
MOD80_0223205C: ; 0x0223205C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x12
|
|
mov r1, #0x3e
|
|
bl FUN_020219F4
|
|
ldr r1, _022320D4 ; =0x00000B44
|
|
str r0, [r4, r1]
|
|
mov r0, #0xb4
|
|
mov r1, #0x3e
|
|
bl FUN_020219F4
|
|
ldr r1, _022320D8 ; =0x00000B4C
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, #0x24]
|
|
cmp r0, #5
|
|
bne _02232090
|
|
sub r1, #0x18
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0x15
|
|
bl FUN_0200A914
|
|
mov r1, #0xb5
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
b _022320A4
|
|
_02232090:
|
|
cmp r0, #6
|
|
bne _022320A4
|
|
sub r1, #0x18
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0x11
|
|
bl FUN_0200A914
|
|
mov r1, #0xb5
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
_022320A4:
|
|
ldr r0, _022320DC ; =0x00000B34
|
|
mov r1, #0x67
|
|
ldr r0, [r4, r0]
|
|
bl FUN_0200A914
|
|
ldr r1, _022320E0 ; =0x00000B48
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
add r0, #0xba
|
|
ldrh r0, [r0]
|
|
cmp r0, #0x1e
|
|
bne _022320C4
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0xba
|
|
strh r1, [r0]
|
|
_022320C4:
|
|
mov r0, #0x3e
|
|
mov r1, #0x78
|
|
bl AllocFromHeap
|
|
ldr r1, _022320E4 ; =0x00001004
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
nop
|
|
_022320D4: .word 0x00000B44
|
|
_022320D8: .word 0x00000B4C
|
|
_022320DC: .word 0x00000B34
|
|
_022320E0: .word 0x00000B48
|
|
_022320E4: .word 0x00001004
|
|
thumb_func_end MOD80_0223205C
|
|
|
|
thumb_func_start MOD80_022320E8
|
|
MOD80_022320E8: ; 0x022320E8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02232118 ; =0x00001004
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
ldr r0, _0223211C ; =0x00000B44
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
ldr r0, _02232120 ; =0x00000B4C
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
ldr r0, _02232124 ; =0x00000B48
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
mov r0, #0xb5
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02232118: .word 0x00001004
|
|
_0223211C: .word 0x00000B44
|
|
_02232120: .word 0x00000B4C
|
|
_02232124: .word 0x00000B48
|
|
thumb_func_end MOD80_022320E8
|
|
|
|
thumb_func_start MOD80_02232128
|
|
MOD80_02232128: ; 0x02232128
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl FUN_0200E308
|
|
cmp r0, #0
|
|
beq _02232138
|
|
mov r0, #1
|
|
str r0, [r4, #0x2c]
|
|
_02232138:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02232128
|
|
|
|
thumb_func_start MOD80_0223213C
|
|
MOD80_0223213C: ; 0x0223213C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
bl MOD80_0223237C
|
|
ldr r0, [r5, #0x24]
|
|
cmp r0, #5
|
|
beq _0223214E
|
|
b _02232250
|
|
_0223214E:
|
|
ldr r0, _02232370 ; =0x021C48B8
|
|
ldr r2, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r2
|
|
beq _02232168
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #2
|
|
str r0, [r5, #0x2c]
|
|
b _02232368
|
|
_02232168:
|
|
mov r1, #1
|
|
add r0, r2, #0
|
|
tst r0, r1
|
|
beq _022321B6
|
|
add r0, r5, #0
|
|
add r0, #0xba
|
|
ldrh r0, [r0]
|
|
cmp r0, #0x1e
|
|
bne _0223218E
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #2
|
|
str r0, [r5, #0x2c]
|
|
ldr r0, _02232374 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _02232368
|
|
_0223218E:
|
|
cmp r0, #0x1f
|
|
beq _022321B6
|
|
ldr r0, _02232374 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
add r2, r5, #0
|
|
add r3, r5, #0
|
|
ldr r1, [r5]
|
|
add r2, #0xb8
|
|
add r3, #0xba
|
|
ldr r0, [r1, #8]
|
|
ldrh r2, [r2]
|
|
ldrh r3, [r3]
|
|
ldr r1, [r1, #0xc]
|
|
bl MOD80_02233054
|
|
cmp r0, #1
|
|
beq _022321B8
|
|
cmp r0, #2
|
|
beq _02232232
|
|
_022321B6:
|
|
b _02232368
|
|
_022321B8:
|
|
add r2, r5, #0
|
|
add r3, r5, #0
|
|
ldr r1, [r5]
|
|
add r2, #0xb8
|
|
add r3, #0xba
|
|
ldr r0, [r1, #8]
|
|
ldrh r2, [r2]
|
|
ldrh r3, [r3]
|
|
ldr r1, [r1, #0xc]
|
|
bl MOD80_02232FF8
|
|
cmp r0, #0
|
|
beq _02232214
|
|
add r2, r5, #0
|
|
add r3, r5, #0
|
|
ldr r1, [r5]
|
|
add r2, #0xb8
|
|
add r3, #0xba
|
|
ldr r0, [r1, #8]
|
|
ldrh r2, [r2]
|
|
ldrh r3, [r3]
|
|
ldr r1, [r1, #0xc]
|
|
bl MOD80_02232FB8
|
|
add r2, r0, #0
|
|
mov r0, #0xb3
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_0200ACF8
|
|
ldr r0, _02232378 ; =0x00000F0F
|
|
mov r3, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #0x16
|
|
mov r2, #1
|
|
str r3, [sp, #4]
|
|
bl MOD80_02232B34
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
mov r2, #7
|
|
bl MOD80_0222E6DC
|
|
b _02232368
|
|
_02232214:
|
|
ldr r0, _02232378 ; =0x00000F0F
|
|
mov r2, #1
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #0x1a
|
|
mov r3, #0
|
|
str r2, [sp, #4]
|
|
bl MOD80_02232B34
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
mov r2, #1
|
|
bl MOD80_0222E6DC
|
|
b _02232368
|
|
_02232232:
|
|
ldr r0, _02232378 ; =0x00000F0F
|
|
mov r2, #1
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #0x1b
|
|
mov r3, #0
|
|
str r2, [sp, #4]
|
|
bl MOD80_02232B34
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
mov r2, #1
|
|
bl MOD80_0222E6DC
|
|
b _02232368
|
|
_02232250:
|
|
cmp r0, #6
|
|
bne _022322BA
|
|
ldr r0, _02232370 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _02232274
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #2
|
|
str r0, [r5, #0x2c]
|
|
ldr r0, _02232374 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _02232368
|
|
_02232274:
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _02232368
|
|
add r0, r5, #0
|
|
add r0, #0xba
|
|
ldrh r3, [r0]
|
|
cmp r3, #0x1e
|
|
bne _0223229A
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #2
|
|
str r0, [r5, #0x2c]
|
|
ldr r0, _02232374 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _02232368
|
|
_0223229A:
|
|
cmp r3, #0x1f
|
|
beq _02232368
|
|
add r2, r5, #0
|
|
ldr r1, [r5]
|
|
add r2, #0xb8
|
|
ldr r0, [r1, #8]
|
|
ldrh r2, [r2]
|
|
ldr r1, [r1, #0xc]
|
|
bl MOD80_02233054
|
|
cmp r0, #0
|
|
beq _02232362
|
|
cmp r0, #1
|
|
beq _022322BC
|
|
cmp r0, #2
|
|
beq _02232362
|
|
_022322BA:
|
|
b _02232368
|
|
_022322BC:
|
|
add r2, r5, #0
|
|
add r3, r5, #0
|
|
ldr r1, [r5]
|
|
add r2, #0xb8
|
|
add r3, #0xba
|
|
ldr r0, [r1, #8]
|
|
ldrh r2, [r2]
|
|
ldrh r3, [r3]
|
|
ldr r1, [r1, #0xc]
|
|
bl MOD80_02232FB8
|
|
add r2, r5, #0
|
|
add r2, #0xc4
|
|
mov r1, #0xba
|
|
ldr r3, [r2]
|
|
mov r2, #0x49
|
|
lsl r1, r1, #2
|
|
lsl r2, r2, #2
|
|
add r1, r5, r1
|
|
mul r2, r3
|
|
add r1, r1, r2
|
|
add r4, r0, #0
|
|
bl MOD80_022330E4
|
|
cmp r0, #0
|
|
beq _0223235A
|
|
add r2, r5, #0
|
|
add r3, r5, #0
|
|
ldr r1, [r5]
|
|
add r2, #0xb8
|
|
add r3, #0xba
|
|
ldr r0, [r1, #8]
|
|
ldrh r2, [r2]
|
|
ldrh r3, [r3]
|
|
ldr r1, [r1, #0xc]
|
|
bl MOD80_02232FF8
|
|
cmp r0, #0
|
|
beq _0223233C
|
|
mov r0, #0xb3
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
bl FUN_0200ACF8
|
|
ldr r0, _02232378 ; =0x00000F0F
|
|
mov r3, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #0x12
|
|
mov r2, #1
|
|
str r3, [sp, #4]
|
|
bl MOD80_02232B34
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
mov r2, #9
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _02232374 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _02232368
|
|
_0223233C:
|
|
ldr r0, _02232378 ; =0x00000F0F
|
|
mov r2, #1
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #0x1a
|
|
mov r3, #0
|
|
str r2, [sp, #4]
|
|
bl MOD80_02232B34
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
mov r2, #1
|
|
bl MOD80_0222E6DC
|
|
b _02232368
|
|
_0223235A:
|
|
ldr r0, _02232374 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _02232368
|
|
_02232362:
|
|
ldr r0, _02232374 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
_02232368:
|
|
mov r0, #3
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02232370: .word 0x021C48B8
|
|
_02232374: .word 0x000005DC
|
|
_02232378: .word 0x00000F0F
|
|
thumb_func_end MOD80_0223213C
|
|
|
|
thumb_func_start MOD80_0223237C
|
|
MOD80_0223237C: ; 0x0223237C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _02232448 ; =0x021C48B8
|
|
mov r4, #0
|
|
ldr r0, [r0, #0x48]
|
|
mov r2, #0x40
|
|
add r1, r4, #0
|
|
tst r2, r0
|
|
beq _02232392
|
|
mov r1, #1
|
|
b _022323AE
|
|
_02232392:
|
|
mov r2, #0x80
|
|
tst r2, r0
|
|
beq _0223239C
|
|
mov r1, #2
|
|
b _022323AE
|
|
_0223239C:
|
|
mov r2, #0x20
|
|
tst r2, r0
|
|
beq _022323A6
|
|
mov r1, #3
|
|
b _022323AE
|
|
_022323A6:
|
|
mov r2, #0x10
|
|
tst r0, r2
|
|
beq _022323AE
|
|
mov r1, #4
|
|
_022323AE:
|
|
cmp r1, #0
|
|
beq _022323FE
|
|
add r0, r5, #0
|
|
add r0, #0xba
|
|
ldrh r0, [r0]
|
|
ldr r3, _0223244C ; =0x02237340
|
|
sub r2, r1, #1
|
|
lsl r6, r0, #2
|
|
add r1, r3, r6
|
|
ldrb r2, [r2, r1]
|
|
cmp r2, r0
|
|
beq _022323FE
|
|
cmp r2, #0x63
|
|
beq _022323CE
|
|
cmp r2, #0x65
|
|
bne _022323F6
|
|
_022323CE:
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
ldrh r0, [r0]
|
|
mov r1, #0x13
|
|
sub r2, #0x64
|
|
bl MOD80_02232460
|
|
add r1, r5, #0
|
|
add r1, #0xb8
|
|
strh r0, [r1]
|
|
add r1, r5, #0
|
|
add r1, #0xb8
|
|
ldrh r1, [r1]
|
|
add r0, r5, #0
|
|
bl MOD80_02232D7C
|
|
ldr r0, _02232450 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _022323FE
|
|
_022323F6:
|
|
add r0, r5, #0
|
|
add r0, #0xba
|
|
mov r4, #1
|
|
strh r2, [r0]
|
|
_022323FE:
|
|
cmp r4, #0
|
|
beq _02232420
|
|
ldr r0, _02232450 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
add r0, r5, #0
|
|
add r0, #0xba
|
|
ldrh r0, [r0]
|
|
ldr r1, _02232454 ; =0x022372C0
|
|
ldr r2, _02232458 ; =0x022372C2
|
|
lsl r3, r0, #2
|
|
ldr r0, _0223245C ; =0x00000D5C
|
|
ldrh r1, [r1, r3]
|
|
ldrh r2, [r2, r3]
|
|
ldr r0, [r5, r0]
|
|
bl MOD80_0222E6E4
|
|
_02232420:
|
|
add r0, r5, #0
|
|
add r0, #0xba
|
|
ldrh r0, [r0]
|
|
cmp r0, #0x1f
|
|
beq _0223242E
|
|
cmp r0, #5
|
|
bhi _0223243A
|
|
_0223242E:
|
|
ldr r0, _0223245C ; =0x00000D5C
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02020238
|
|
pop {r4, r5, r6, pc}
|
|
_0223243A:
|
|
ldr r0, _0223245C ; =0x00000D5C
|
|
mov r1, #1
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02020238
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02232448: .word 0x021C48B8
|
|
_0223244C: .word 0x02237340
|
|
_02232450: .word 0x000005DC
|
|
_02232454: .word 0x022372C0
|
|
_02232458: .word 0x022372C2
|
|
_0223245C: .word 0x00000D5C
|
|
thumb_func_end MOD80_0223237C
|
|
|
|
thumb_func_start MOD80_02232460
|
|
MOD80_02232460: ; 0x02232460
|
|
add r0, r0, r2
|
|
bpl _02232468
|
|
sub r0, r1, #1
|
|
bx lr
|
|
_02232468:
|
|
cmp r0, r1
|
|
bne _0223246E
|
|
mov r0, #0
|
|
_0223246E:
|
|
bx lr
|
|
thumb_func_end MOD80_02232460
|
|
|
|
thumb_func_start MOD80_02232470
|
|
MOD80_02232470: ; 0x02232470
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
add r2, sp, #8
|
|
strb r0, [r2, #8]
|
|
mov r0, #1
|
|
strb r0, [r2, #9]
|
|
mov r0, #3
|
|
strb r0, [r2, #0xa]
|
|
ldrb r3, [r2, #0xb]
|
|
mov r1, #0xf
|
|
bic r3, r1
|
|
strb r3, [r2, #0xb]
|
|
ldrb r3, [r2, #0xb]
|
|
mov r1, #0x30
|
|
bic r3, r1
|
|
strb r3, [r2, #0xb]
|
|
ldrb r3, [r2, #0xb]
|
|
mov r1, #0xc0
|
|
bic r3, r1
|
|
mov r1, #0x3e
|
|
strb r3, [r2, #0xb]
|
|
bl FUN_02012838
|
|
ldr r1, _02232510 ; =0x00000FC8
|
|
mov r2, #0x5e
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
ldr r1, _02232514 ; =0x00000B34
|
|
mov r3, #1
|
|
ldr r1, [r4, r1]
|
|
bl FUN_02012880
|
|
ldr r0, _02232510 ; =0x00000FC8
|
|
ldr r1, _02232514 ; =0x00000B34
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x5f
|
|
mov r3, #2
|
|
bl FUN_02012880
|
|
ldr r0, _02232510 ; =0x00000FC8
|
|
ldr r1, _02232514 ; =0x00000B34
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x60
|
|
mov r3, #3
|
|
bl FUN_02012880
|
|
ldr r0, _02232510 ; =0x00000FC8
|
|
mov r2, #0x1f
|
|
ldr r1, [r4, r0]
|
|
sub r0, #0xf0
|
|
str r1, [sp, #8]
|
|
add r0, r4, r0
|
|
mov r1, #1
|
|
mov r3, #0xb
|
|
str r0, [sp, #0xc]
|
|
bl FUN_0200CCA4
|
|
mov r0, #0x3e
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
add r0, sp, #8
|
|
mov r1, #9
|
|
add r3, r2, #0
|
|
bl FUN_02001C14
|
|
mov r1, #0xfd
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
mov r0, #8
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02232510: .word 0x00000FC8
|
|
_02232514: .word 0x00000B34
|
|
thumb_func_end MOD80_02232470
|
|
|
|
thumb_func_start MOD80_02232518
|
|
MOD80_02232518: ; 0x02232518
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02001C78
|
|
cmp r0, #3
|
|
bhi _0223253C
|
|
cmp r0, #1
|
|
blo _0223253A
|
|
beq _02232546
|
|
cmp r0, #2
|
|
beq _02232574
|
|
cmp r0, #3
|
|
beq _0223262E
|
|
_0223253A:
|
|
b _0223265A
|
|
_0223253C:
|
|
mov r1, #1
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0223262E
|
|
b _0223265A
|
|
_02232546:
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_02001C5C
|
|
ldr r0, _02232660 ; =0x00000FC8
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _02232664 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200CCF8
|
|
mov r0, #2
|
|
str r0, [r5, #0x2c]
|
|
add r0, r5, #0
|
|
mov r1, #8
|
|
mov r2, #5
|
|
bl MOD80_0222E7A8
|
|
b _0223265A
|
|
_02232574:
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_02001C5C
|
|
ldr r0, _02232660 ; =0x00000FC8
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _02232664 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200CCF8
|
|
add r2, r5, #0
|
|
add r3, r5, #0
|
|
ldr r1, [r5]
|
|
add r2, #0xb8
|
|
add r3, #0xba
|
|
ldr r0, [r1, #8]
|
|
ldrh r2, [r2]
|
|
ldrh r3, [r3]
|
|
ldr r1, [r1, #0xc]
|
|
bl MOD80_02232FB8
|
|
bl MOD80_02233018
|
|
cmp r0, #0
|
|
beq _022325CE
|
|
ldr r0, _02232668 ; =0x00000F0F
|
|
mov r2, #1
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #0x25
|
|
mov r3, #0
|
|
str r2, [sp, #4]
|
|
bl MOD80_02232B34
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
mov r2, #1
|
|
bl MOD80_0222E6DC
|
|
b _0223265A
|
|
_022325CE:
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
ldrh r0, [r0]
|
|
mov r4, #0
|
|
bl MOD80_02232FAC
|
|
cmp r0, #0
|
|
beq _022325FE
|
|
add r1, r5, #0
|
|
ldr r0, [r5]
|
|
add r1, #0xba
|
|
ldrh r1, [r1]
|
|
ldr r0, [r0, #8]
|
|
bl FUN_0206B9B0
|
|
mov r1, #0xa1
|
|
add r2, r4, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _022325FE
|
|
mov r0, #0xe
|
|
mov r4, #1
|
|
str r0, [r5, #0x2c]
|
|
_022325FE:
|
|
cmp r4, #0
|
|
bne _0223265A
|
|
add r2, r5, #0
|
|
add r3, r5, #0
|
|
ldr r1, [r5]
|
|
add r2, #0xb8
|
|
add r3, #0xba
|
|
ldr r0, [r1, #8]
|
|
ldrh r2, [r2]
|
|
ldrh r3, [r3]
|
|
ldr r1, [r1, #0xc]
|
|
bl MOD80_02232FB8
|
|
add r1, r5, #0
|
|
add r1, #0xbc
|
|
str r0, [r1]
|
|
mov r0, #2
|
|
str r0, [r5, #0x2c]
|
|
add r0, r5, #0
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
b _0223265A
|
|
_0223262E:
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_02001C5C
|
|
ldr r0, _02232660 ; =0x00000FC8
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _02232664 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _0223266C ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200D0E0
|
|
mov r0, #1
|
|
str r0, [r5, #0x2c]
|
|
_0223265A:
|
|
mov r0, #3
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02232660: .word 0x00000FC8
|
|
_02232664: .word 0x00000ED8
|
|
_02232668: .word 0x00000F0F
|
|
_0223266C: .word 0x00000E98
|
|
thumb_func_end MOD80_02232518
|
|
|
|
thumb_func_start MOD80_02232670
|
|
MOD80_02232670: ; 0x02232670
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
add r2, sp, #8
|
|
strb r0, [r2, #8]
|
|
mov r0, #1
|
|
strb r0, [r2, #9]
|
|
mov r0, #3
|
|
strb r0, [r2, #0xa]
|
|
ldrb r3, [r2, #0xb]
|
|
mov r1, #0xf
|
|
bic r3, r1
|
|
strb r3, [r2, #0xb]
|
|
ldrb r3, [r2, #0xb]
|
|
mov r1, #0x30
|
|
bic r3, r1
|
|
strb r3, [r2, #0xb]
|
|
ldrb r3, [r2, #0xb]
|
|
mov r1, #0xc0
|
|
bic r3, r1
|
|
mov r1, #0x3e
|
|
strb r3, [r2, #0xb]
|
|
bl FUN_02012838
|
|
ldr r1, _02232710 ; =0x00000FC8
|
|
mov r2, #0x54
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
ldr r1, _02232714 ; =0x00000B34
|
|
mov r3, #1
|
|
ldr r1, [r4, r1]
|
|
bl FUN_02012880
|
|
ldr r0, _02232710 ; =0x00000FC8
|
|
ldr r1, _02232714 ; =0x00000B34
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x55
|
|
mov r3, #2
|
|
bl FUN_02012880
|
|
ldr r0, _02232710 ; =0x00000FC8
|
|
ldr r1, _02232714 ; =0x00000B34
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x56
|
|
mov r3, #3
|
|
bl FUN_02012880
|
|
ldr r0, _02232710 ; =0x00000FC8
|
|
mov r2, #0x1f
|
|
ldr r1, [r4, r0]
|
|
sub r0, #0xf0
|
|
str r1, [sp, #8]
|
|
add r0, r4, r0
|
|
mov r1, #0
|
|
mov r3, #0xb
|
|
str r0, [sp, #0xc]
|
|
bl FUN_0200CCA4
|
|
mov r0, #0x3e
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
add r0, sp, #8
|
|
mov r1, #9
|
|
add r3, r2, #0
|
|
bl FUN_02001C14
|
|
mov r1, #0xfd
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
mov r0, #0xa
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02232710: .word 0x00000FC8
|
|
_02232714: .word 0x00000B34
|
|
thumb_func_end MOD80_02232670
|
|
|
|
thumb_func_start MOD80_02232718
|
|
MOD80_02232718: ; 0x02232718
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02001C78
|
|
cmp r0, #3
|
|
bhi _0223273C
|
|
cmp r0, #1
|
|
blo _0223273A
|
|
beq _02232746
|
|
cmp r0, #2
|
|
beq _02232774
|
|
cmp r0, #3
|
|
beq _0223280A
|
|
_0223273A:
|
|
b _02232836
|
|
_0223273C:
|
|
mov r1, #1
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0223280A
|
|
b _02232836
|
|
_02232746:
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_02001C5C
|
|
ldr r0, _0223283C ; =0x00000FC8
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _02232840 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200CCF8
|
|
mov r0, #2
|
|
str r0, [r5, #0x2c]
|
|
add r0, r5, #0
|
|
mov r1, #8
|
|
mov r2, #6
|
|
bl MOD80_0222E7A8
|
|
b _02232836
|
|
_02232774:
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_02001C5C
|
|
ldr r0, _0223283C ; =0x00000FC8
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _02232840 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200CCF8
|
|
add r2, r5, #0
|
|
add r3, r5, #0
|
|
ldr r1, [r5]
|
|
add r2, #0xb8
|
|
add r3, #0xba
|
|
ldr r0, [r1, #8]
|
|
ldrh r2, [r2]
|
|
ldrh r3, [r3]
|
|
ldr r1, [r1, #0xc]
|
|
bl MOD80_02232FB8
|
|
bl MOD80_02233018
|
|
cmp r0, #0
|
|
beq _022327CE
|
|
ldr r0, _02232844 ; =0x00000F0F
|
|
mov r2, #1
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #0x25
|
|
mov r3, #0
|
|
str r2, [sp, #4]
|
|
bl MOD80_02232B34
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
mov r2, #1
|
|
bl MOD80_0222E6DC
|
|
b _02232836
|
|
_022327CE:
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
ldrh r0, [r0]
|
|
mov r4, #0
|
|
bl MOD80_02232FAC
|
|
cmp r0, #0
|
|
beq _022327FE
|
|
add r1, r5, #0
|
|
ldr r0, [r5]
|
|
add r1, #0xba
|
|
ldrh r1, [r1]
|
|
ldr r0, [r0, #8]
|
|
bl FUN_0206B9B0
|
|
mov r1, #0xa1
|
|
add r2, r4, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
beq _022327FE
|
|
mov r0, #0xb
|
|
mov r4, #1
|
|
str r0, [r5, #0x2c]
|
|
_022327FE:
|
|
cmp r4, #0
|
|
bne _02232836
|
|
add r0, r5, #0
|
|
bl MOD80_02232990
|
|
b _02232836
|
|
_0223280A:
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl FUN_02001C5C
|
|
ldr r0, _0223283C ; =0x00000FC8
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _02232840 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _02232848 ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200D0E0
|
|
mov r0, #1
|
|
str r0, [r5, #0x2c]
|
|
_02232836:
|
|
mov r0, #3
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0223283C: .word 0x00000FC8
|
|
_02232840: .word 0x00000ED8
|
|
_02232844: .word 0x00000F0F
|
|
_02232848: .word 0x00000E98
|
|
thumb_func_end MOD80_02232718
|
|
|
|
thumb_func_start MOD80_0223284C
|
|
MOD80_0223284C: ; 0x0223284C
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x18]
|
|
cmp r0, #0
|
|
beq _0223285C
|
|
cmp r0, #8
|
|
bne _0223287C
|
|
_0223285C:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl FUN_0200E1D0
|
|
ldr r0, _022328A0 ; =0x0000100C
|
|
mov r1, #1
|
|
str r1, [r4, r0]
|
|
b _02232894
|
|
_0223287C:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl FUN_0200E1D0
|
|
_02232894:
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #4
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_022328A0: .word 0x0000100C
|
|
thumb_func_end MOD80_0223284C
|
|
|
|
thumb_func_start MOD80_022328A4
|
|
MOD80_022328A4: ; 0x022328A4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
ldr r2, _022328C0 ; =0x000001AD
|
|
mov r1, #0xf
|
|
bl MOD80_0222E6A8
|
|
ldr r1, _022328C4 ; =0x00000FCC
|
|
str r0, [r4, r1]
|
|
mov r0, #6
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_022328C0: .word 0x000001AD
|
|
_022328C4: .word 0x00000FCC
|
|
thumb_func_end MOD80_022328A4
|
|
|
|
thumb_func_start MOD80_022328C8
|
|
MOD80_022328C8: ; 0x022328C8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _022328FC ; =0x00000FCC
|
|
mov r1, #0x3e
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020021AC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _022328F8
|
|
sub r1, r1, #1
|
|
cmp r0, r1
|
|
bne _022328EA
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
b _022328F8
|
|
_022328EA:
|
|
mov r0, #2
|
|
mov r1, #0
|
|
str r0, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl MOD80_0222E7A8
|
|
_022328F8:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_022328FC: .word 0x00000FCC
|
|
thumb_func_end MOD80_022328C8
|
|
|
|
thumb_func_start MOD80_02232900
|
|
MOD80_02232900: ; 0x02232900
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
ldr r1, _02232928 ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r2, #1
|
|
mov r1, #0x19
|
|
mov r3, #0
|
|
str r2, [sp, #4]
|
|
bl MOD80_02232B34
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
mov r2, #0xc
|
|
bl MOD80_0222E6DC
|
|
mov r0, #3
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
nop
|
|
_02232928: .word 0x00000F0F
|
|
thumb_func_end MOD80_02232900
|
|
|
|
thumb_func_start MOD80_0223292C
|
|
MOD80_0223292C: ; 0x0223292C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
ldr r2, _02232948 ; =0x000001AD
|
|
mov r1, #0xd
|
|
bl MOD80_0222E6A8
|
|
ldr r1, _0223294C ; =0x00000FCC
|
|
str r0, [r4, r1]
|
|
mov r0, #0xd
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_02232948: .word 0x000001AD
|
|
_0223294C: .word 0x00000FCC
|
|
thumb_func_end MOD80_0223292C
|
|
|
|
thumb_func_start MOD80_02232950
|
|
MOD80_02232950: ; 0x02232950
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02232988 ; =0x00000FCC
|
|
mov r1, #0x3e
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020021AC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _02232982
|
|
sub r1, r1, #1
|
|
cmp r0, r1
|
|
bne _0223297C
|
|
ldr r0, _0223298C ; =0x00000FB8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_0200D0E0
|
|
mov r0, #1
|
|
str r0, [r4, #0x2c]
|
|
b _02232982
|
|
_0223297C:
|
|
add r0, r4, #0
|
|
bl MOD80_02232990
|
|
_02232982:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_02232988: .word 0x00000FCC
|
|
_0223298C: .word 0x00000FB8
|
|
thumb_func_end MOD80_02232950
|
|
|
|
thumb_func_start MOD80_02232990
|
|
MOD80_02232990: ; 0x02232990
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
mov r1, #0x7e
|
|
add r0, #0xc4
|
|
lsl r1, r1, #2
|
|
add r2, r4, r1
|
|
ldr r0, [r0]
|
|
sub r1, #0xd4
|
|
mul r1, r0
|
|
add r0, r2, r1
|
|
bl MOD80_022331F8
|
|
cmp r0, #0
|
|
beq _022329E6
|
|
add r0, r4, #0
|
|
add r0, #0xb8
|
|
ldrh r0, [r0]
|
|
cmp r0, #0x12
|
|
beq _022329E6
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #8]
|
|
bl FUN_0206B9AC
|
|
cmp r0, #6
|
|
bne _022329E6
|
|
ldr r0, _02232A2C ; =0x00000F0F
|
|
mov r2, #1
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x1c
|
|
mov r3, #0
|
|
str r2, [sp, #4]
|
|
bl MOD80_02232B34
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
mov r2, #1
|
|
bl MOD80_0222E6DC
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_022329E6:
|
|
add r2, r4, #0
|
|
add r3, r4, #0
|
|
ldr r1, [r4]
|
|
add r2, #0xb8
|
|
add r3, #0xba
|
|
ldr r0, [r1, #8]
|
|
ldrh r2, [r2]
|
|
ldrh r3, [r3]
|
|
ldr r1, [r1, #0xc]
|
|
bl MOD80_02232FB8
|
|
add r1, r4, #0
|
|
add r1, #0xbc
|
|
str r0, [r1]
|
|
mov r0, #2
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _02232A30 ; =0x0000100C
|
|
mov r1, #1
|
|
str r1, [r4, r0]
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
mov r2, #9
|
|
bl MOD80_0222E7A8
|
|
add r0, r4, #0
|
|
add r0, #0xd4
|
|
add r1, r4, #0
|
|
bl MOD80_0223311C
|
|
mov r0, #0
|
|
add r4, #0xc0
|
|
str r0, [r4]
|
|
mov r0, #1
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02232A2C: .word 0x00000F0F
|
|
_02232A30: .word 0x0000100C
|
|
thumb_func_end MOD80_02232990
|
|
|
|
thumb_func_start MOD80_02232A34
|
|
MOD80_02232A34: ; 0x02232A34
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
ldr r1, _02232A5C ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r2, #1
|
|
mov r1, #0x19
|
|
mov r3, #0
|
|
str r2, [sp, #4]
|
|
bl MOD80_02232B34
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
mov r2, #0xf
|
|
bl MOD80_0222E6DC
|
|
mov r0, #3
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
nop
|
|
_02232A5C: .word 0x00000F0F
|
|
thumb_func_end MOD80_02232A34
|
|
|
|
thumb_func_start MOD80_02232A60
|
|
MOD80_02232A60: ; 0x02232A60
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
ldr r2, _02232A7C ; =0x000001AD
|
|
mov r1, #0xd
|
|
bl MOD80_0222E6A8
|
|
ldr r1, _02232A80 ; =0x00000FCC
|
|
str r0, [r4, r1]
|
|
mov r0, #0x10
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_02232A7C: .word 0x000001AD
|
|
_02232A80: .word 0x00000FCC
|
|
thumb_func_end MOD80_02232A60
|
|
|
|
thumb_func_start MOD80_02232A84
|
|
MOD80_02232A84: ; 0x02232A84
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02232AE0 ; =0x00000FCC
|
|
mov r1, #0x3e
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020021AC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _02232ADA
|
|
sub r1, r1, #1
|
|
cmp r0, r1
|
|
bne _02232AB0
|
|
ldr r0, _02232AE4 ; =0x00000FB8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_0200D0E0
|
|
mov r0, #1
|
|
str r0, [r4, #0x2c]
|
|
b _02232ADA
|
|
_02232AB0:
|
|
add r2, r4, #0
|
|
add r3, r4, #0
|
|
ldr r1, [r4]
|
|
add r2, #0xb8
|
|
add r3, #0xba
|
|
ldr r0, [r1, #8]
|
|
ldrh r2, [r2]
|
|
ldrh r3, [r3]
|
|
ldr r1, [r1, #0xc]
|
|
bl MOD80_02232FB8
|
|
add r1, r4, #0
|
|
add r1, #0xbc
|
|
str r0, [r1]
|
|
mov r0, #2
|
|
str r0, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
_02232ADA:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_02232AE0: .word 0x00000FCC
|
|
_02232AE4: .word 0x00000FB8
|
|
thumb_func_end MOD80_02232A84
|
|
|
|
thumb_func_start MOD80_02232AE8
|
|
MOD80_02232AE8: ; 0x02232AE8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02232B02
|
|
ldr r0, [r4, #0x30]
|
|
str r0, [r4, #0x2c]
|
|
_02232B02:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02232AE8
|
|
|
|
thumb_func_start MOD80_02232B08
|
|
MOD80_02232B08: ; 0x02232B08
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02232B2C
|
|
ldr r0, _02232B30 ; =0x00000FB8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_0200D0E0
|
|
ldr r0, [r4, #0x30]
|
|
str r0, [r4, #0x2c]
|
|
_02232B2C:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02232B30: .word 0x00000FB8
|
|
thumb_func_end MOD80_02232B08
|
|
|
|
thumb_func_start MOD80_02232B34
|
|
MOD80_02232B34: ; 0x02232B34
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, _02232B9C ; =0x00000B34
|
|
add r6, r2, #0
|
|
ldr r0, [r5, r0]
|
|
bl FUN_0200A914
|
|
mov r1, #0xb3
|
|
add r7, r0, #0
|
|
lsl r1, r1, #4
|
|
ldr r0, [r5, r1]
|
|
add r1, #0x1c
|
|
ldr r1, [r5, r1]
|
|
add r2, r7, #0
|
|
bl FUN_0200B7B8
|
|
ldr r0, [sp, #0x24]
|
|
cmp r0, #0
|
|
bne _02232B60
|
|
ldr r0, _02232BA0 ; =0x00000E98
|
|
b _02232B62
|
|
_02232B60:
|
|
ldr r0, _02232BA4 ; =0x00000FB8
|
|
_02232B62:
|
|
add r4, r5, r0
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl FUN_0200D0BC
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r6, [sp, #4]
|
|
ldr r2, _02232BA8 ; =0x00000B4C
|
|
str r3, [sp, #8]
|
|
ldr r2, [r5, r2]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_0201BD84
|
|
mov r1, #0x2e
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
add r0, r7, #0
|
|
bl FUN_02021A20
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02232B9C: .word 0x00000B34
|
|
_02232BA0: .word 0x00000E98
|
|
_02232BA4: .word 0x00000FB8
|
|
_02232BA8: .word 0x00000B4C
|
|
thumb_func_end MOD80_02232B34
|
|
|
|
thumb_func_start MOD80_02232BAC
|
|
MOD80_02232BAC: ; 0x02232BAC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r2, #0
|
|
add r2, r3, #0
|
|
bl NARC_AllocAndReadWholeMember
|
|
add r4, r0, #0
|
|
beq _02232BCE
|
|
add r1, r5, #0
|
|
bl FUN_020B0030
|
|
cmp r0, #0
|
|
bne _02232BCE
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02232BCE:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02232BAC
|
|
|
|
thumb_func_start MOD80_02232BD4
|
|
MOD80_02232BD4: ; 0x02232BD4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r1, #0
|
|
add r6, r2, #0
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
str r0, [sp]
|
|
add r7, r3, #0
|
|
ldr r4, [sp, #0x28]
|
|
bl FUN_0206B6D4
|
|
add r1, r0, #0
|
|
ldr r0, [sp, #0x24]
|
|
add r2, sp, #8
|
|
mov r3, #0x3e
|
|
bl MOD80_02232BAC
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #8]
|
|
add r1, r4, #0
|
|
mov r2, #2
|
|
ldr r0, [r0, #0x14]
|
|
add r1, #0xc
|
|
lsl r2, r2, #8
|
|
bl MIi_CpuCopyFast
|
|
lsl r0, r7, #4
|
|
add r0, #0xc
|
|
lsl r0, r0, #5
|
|
str r0, [r4]
|
|
ldr r0, [sp, #0x20]
|
|
add r1, r5, #0
|
|
str r0, [r4, #8]
|
|
ldr r0, [sp]
|
|
add r2, r6, #0
|
|
bl FUN_0206B7BC
|
|
add r0, r0, #3
|
|
str r0, [r4, #4]
|
|
ldr r0, [sp, #4]
|
|
bl FreeToHeap
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD80_02232BD4
|
|
|
|
thumb_func_start MOD80_02232C2C
|
|
MOD80_02232C2C: ; 0x02232C2C
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl FUN_020687C8
|
|
strb r0, [r4, #3]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02232C2C
|
|
|
|
thumb_func_start MOD80_02232C38
|
|
MOD80_02232C38: ; 0x02232C38
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r1, _02232C84 ; =0x00001010
|
|
mov r6, #2
|
|
lsl r6, r6, #8
|
|
add r7, r6, #0
|
|
ldr r5, [r0, r1]
|
|
str r0, [sp]
|
|
mov r4, #0
|
|
add r7, #0xc
|
|
_02232C4A:
|
|
ldr r0, [r5, #8]
|
|
cmp r0, #0
|
|
beq _02232C6E
|
|
add r0, r5, #0
|
|
add r0, #0xc
|
|
add r1, r6, #0
|
|
bl DC_FlushRange
|
|
add r0, r5, #0
|
|
ldr r1, [r5]
|
|
add r0, #0xc
|
|
add r2, r6, #0
|
|
bl GX_LoadOBJ
|
|
ldr r0, [r5, #8]
|
|
ldr r1, [r5, #4]
|
|
bl FUN_02020248
|
|
_02232C6E:
|
|
add r4, r4, #1
|
|
add r5, r5, r7
|
|
cmp r4, #0x1e
|
|
blt _02232C4A
|
|
ldr r1, _02232C84 ; =0x00001010
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, r1]
|
|
bl FreeToHeap
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02232C84: .word 0x00001010
|
|
thumb_func_end MOD80_02232C38
|
|
|
|
thumb_func_start MOD80_02232C88
|
|
MOD80_02232C88: ; 0x02232C88
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
add r5, r0, #0
|
|
str r1, [sp, #0xc]
|
|
add r7, r2, #0
|
|
add r6, r3, #0
|
|
ldr r4, [sp, #0x40]
|
|
bl FUN_02066A6C
|
|
add r0, r5, #0
|
|
mov r1, #0xab
|
|
mov r2, #0
|
|
bl FUN_020672BC
|
|
str r0, [sp, #0x1c]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl FUN_020672BC
|
|
strh r0, [r6]
|
|
add r0, r5, #0
|
|
mov r1, #0x70
|
|
mov r2, #0
|
|
bl FUN_020672BC
|
|
str r0, [sp, #0x10]
|
|
add r0, r5, #0
|
|
mov r1, #0x4c
|
|
mov r2, #0
|
|
bl FUN_020672BC
|
|
str r0, [sp, #0x14]
|
|
add r0, r5, #0
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl FUN_020672BC
|
|
str r0, [sp, #0x18]
|
|
ldrh r0, [r6]
|
|
mov r1, #0x6f
|
|
mov r2, #0
|
|
strh r0, [r4]
|
|
add r0, r5, #0
|
|
bl FUN_020672BC
|
|
add r0, r0, #1
|
|
strb r0, [r4, #2]
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
beq _02232CF2
|
|
mov r0, #0
|
|
strb r0, [r4, #3]
|
|
_02232CF2:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl FUN_02066A94
|
|
ldr r0, [sp, #0x1c]
|
|
cmp r0, #0
|
|
beq _02232D60
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, [sp, #0x10]
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x3c]
|
|
ldr r2, [sp, #0x14]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x44]
|
|
ldr r3, [sp, #0x38]
|
|
str r0, [sp, #8]
|
|
ldrh r0, [r6]
|
|
bl MOD80_02232BD4
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
ldr r0, [sp, #0x18]
|
|
cmp r0, #0
|
|
beq _02232D54
|
|
add r0, r7, #0
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
ldr r0, [sp, #0x18]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl FUN_0206EA98
|
|
cmp r0, #0
|
|
beq _02232D48
|
|
add r0, r7, #0
|
|
mov r1, #0x29
|
|
bl FUN_02020130
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02232D48:
|
|
add r0, r7, #0
|
|
mov r1, #0x28
|
|
bl FUN_02020130
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02232D54:
|
|
add r0, r7, #0
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02232D60:
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
add r0, r7, #0
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
ldr r0, [sp, #0x44]
|
|
mov r1, #0
|
|
str r1, [r0, #8]
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02232C88
|
|
|
|
thumb_func_start MOD80_02232D7C
|
|
MOD80_02232D7C: ; 0x02232D7C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x68
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
str r1, [sp, #0x10]
|
|
ldr r0, [r0, #0xc]
|
|
ldr r1, _02232F7C ; =0x00003D68
|
|
str r0, [sp, #0x20]
|
|
mov r0, #3
|
|
bl AllocFromHeapAtEnd
|
|
ldr r1, _02232F80 ; =0x00001010
|
|
str r0, [sp, #0x18]
|
|
str r0, [r5, r1]
|
|
mov r0, #0x13
|
|
mov r1, #0x3e
|
|
bl NARC_ctor
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
blt _02232E3A
|
|
cmp r0, #0x12
|
|
bge _02232E3A
|
|
ldr r6, _02232F84 ; =0x00001004
|
|
mov r4, #0
|
|
_02232DB0:
|
|
ldr r0, [sp, #0x20]
|
|
ldr r1, [sp, #0x10]
|
|
add r2, r4, #0
|
|
bl FUN_0206B5E4
|
|
ldr r2, [r5, r6]
|
|
lsl r1, r4, #2
|
|
add r1, r2, r1
|
|
bl MOD80_02232C2C
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #0x1e
|
|
blo _02232DB0
|
|
mov r4, #0
|
|
_02232DD0:
|
|
ldr r0, _02232F84 ; =0x00001004
|
|
lsl r6, r4, #2
|
|
ldr r1, [r5, r0]
|
|
mov r0, #0
|
|
strh r0, [r1, r6]
|
|
ldr r0, [sp, #0x20]
|
|
ldr r1, [sp, #0x10]
|
|
add r2, r4, #0
|
|
add r7, r5, r6
|
|
bl FUN_0206B5E4
|
|
ldr r1, [sp, #0x1c]
|
|
str r4, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r1, _02232F84 ; =0x00001004
|
|
add r2, r4, #0
|
|
ldr r1, [r5, r1]
|
|
add r3, sp, #0x2c
|
|
add r1, r1, r6
|
|
str r1, [sp, #8]
|
|
mov r1, #0x83
|
|
lsl r1, r1, #2
|
|
mul r2, r1
|
|
ldr r1, [sp, #0x18]
|
|
lsl r6, r4, #1
|
|
add r1, r1, r2
|
|
str r1, [sp, #0xc]
|
|
ldr r1, _02232F88 ; =0x00000D64
|
|
ldr r2, _02232F8C ; =0x00000DDC
|
|
ldr r1, [r7, r1]
|
|
ldr r2, [r7, r2]
|
|
add r3, r3, r6
|
|
bl MOD80_02232C88
|
|
cmp r4, #6
|
|
bhs _02232E22
|
|
ldr r0, _02232F90 ; =0x00000E54
|
|
mov r1, #0
|
|
ldr r0, [r7, r0]
|
|
bl FUN_020200A0
|
|
_02232E22:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #0x1e
|
|
blo _02232DD0
|
|
ldr r2, _02232F94 ; =0x00000B44
|
|
ldr r0, [sp, #0x20]
|
|
ldr r1, [sp, #0x10]
|
|
ldr r2, [r5, r2]
|
|
bl FUN_0206B484
|
|
b _02232F22
|
|
_02232E3A:
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #8]
|
|
bl FUN_0206B9AC
|
|
mov r4, #0
|
|
str r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
ble _02232EC8
|
|
_02232E4A:
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
ldr r0, [r0, #8]
|
|
bl FUN_0206B9B0
|
|
str r0, [sp, #0x24]
|
|
bl FUN_020690E4
|
|
ldr r1, _02232F84 ; =0x00001004
|
|
lsl r6, r4, #2
|
|
ldr r1, [r5, r1]
|
|
str r0, [sp, #0x28]
|
|
add r1, r1, r6
|
|
bl MOD80_02232C2C
|
|
ldr r0, [sp, #0x1c]
|
|
str r4, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02232F84 ; =0x00001004
|
|
add r1, r4, #0
|
|
ldr r0, [r5, r0]
|
|
ldr r2, _02232F8C ; =0x00000DDC
|
|
add r0, r0, r6
|
|
str r0, [sp, #8]
|
|
mov r0, #0x83
|
|
lsl r0, r0, #2
|
|
mul r1, r0
|
|
ldr r0, [sp, #0x18]
|
|
add r7, r5, r6
|
|
add r0, r0, r1
|
|
str r0, [sp, #0xc]
|
|
ldr r1, _02232F88 ; =0x00000D64
|
|
ldr r0, [sp, #0x28]
|
|
ldr r1, [r7, r1]
|
|
ldr r2, [r7, r2]
|
|
lsl r6, r4, #1
|
|
add r3, sp, #0x2c
|
|
add r3, r3, r6
|
|
bl MOD80_02232C88
|
|
ldr r0, [sp, #0x24]
|
|
mov r1, #0xa1
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r0, #0
|
|
ldr r0, _02232F90 ; =0x00000E54
|
|
beq _02232EB4
|
|
ldr r0, [r7, r0]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
b _02232EBC
|
|
_02232EB4:
|
|
ldr r0, [r7, r0]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
_02232EBC:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
ldr r0, [sp, #0x14]
|
|
cmp r4, r0
|
|
blt _02232E4A
|
|
_02232EC8:
|
|
cmp r4, #0x1e
|
|
bhs _02232F14
|
|
mov r7, #0
|
|
_02232ECE:
|
|
ldr r0, _02232F84 ; =0x00001004
|
|
lsl r1, r4, #2
|
|
ldr r0, [r5, r0]
|
|
add r6, r5, r1
|
|
strh r7, [r0, r1]
|
|
ldr r0, _02232F88 ; =0x00000D64
|
|
add r1, r7, #0
|
|
ldr r0, [r6, r0]
|
|
bl FUN_020200A0
|
|
ldr r0, _02232F8C ; =0x00000DDC
|
|
mov r1, #0
|
|
ldr r0, [r6, r0]
|
|
bl FUN_020200A0
|
|
mov r0, #0x83
|
|
lsl r0, r0, #2
|
|
add r1, r4, #0
|
|
mul r1, r0
|
|
ldr r0, [sp, #0x18]
|
|
add r1, r0, r1
|
|
mov r0, #0
|
|
str r0, [r1, #8]
|
|
cmp r4, #6
|
|
bhs _02232F0A
|
|
ldr r0, _02232F90 ; =0x00000E54
|
|
mov r1, #0
|
|
ldr r0, [r6, r0]
|
|
bl FUN_020200A0
|
|
_02232F0A:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #0x1e
|
|
blo _02232ECE
|
|
_02232F14:
|
|
ldr r2, _02232F98 ; =0x00000B34
|
|
mov r1, #0x59
|
|
ldr r0, [r5, r2]
|
|
add r2, #0x10
|
|
ldr r2, [r5, r2]
|
|
bl FUN_0200A8E0
|
|
_02232F22:
|
|
ldr r0, [sp, #0x1c]
|
|
bl NARC_dtor
|
|
ldr r0, _02232F9C ; =0x00000EC8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_02019620
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, _02232FA0 ; =0x00010200
|
|
ldr r1, _02232F94 ; =0x00000B44
|
|
str r0, [sp, #4]
|
|
ldr r0, _02232F9C ; =0x00000EC8
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, r0
|
|
mov r2, #0
|
|
mov r3, #5
|
|
bl MOD80_02236D50
|
|
ldr r0, [r5, #0x24]
|
|
cmp r0, #6
|
|
bne _02232F72
|
|
add r3, r5, #0
|
|
add r3, #0xc4
|
|
mov r2, #0xba
|
|
ldr r4, [r3]
|
|
mov r3, #0x49
|
|
ldr r0, _02232F84 ; =0x00001004
|
|
lsl r2, r2, #2
|
|
lsl r3, r3, #2
|
|
ldr r1, _02232F88 ; =0x00000D64
|
|
add r2, r5, r2
|
|
mul r3, r4
|
|
add r2, r2, r3
|
|
ldr r0, [r5, r0]
|
|
ldr r3, [sp, #0x18]
|
|
add r1, r5, r1
|
|
bl MOD80_022331C4
|
|
_02232F72:
|
|
ldr r1, _02232FA4 ; =MOD80_02232C38
|
|
ldr r0, _02232FA8 ; =0x00001014
|
|
str r1, [r5, r0]
|
|
add sp, #0x68
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02232F7C: .word 0x00003D68
|
|
_02232F80: .word 0x00001010
|
|
_02232F84: .word 0x00001004
|
|
_02232F88: .word 0x00000D64
|
|
_02232F8C: .word 0x00000DDC
|
|
_02232F90: .word 0x00000E54
|
|
_02232F94: .word 0x00000B44
|
|
_02232F98: .word 0x00000B34
|
|
_02232F9C: .word 0x00000EC8
|
|
_02232FA0: .word 0x00010200
|
|
_02232FA4: .word MOD80_02232C38
|
|
_02232FA8: .word 0x00001014
|
|
thumb_func_end MOD80_02232D7C
|
|
|
|
thumb_func_start MOD80_02232FAC
|
|
MOD80_02232FAC: ; 0x02232FAC
|
|
cmp r0, #0x12
|
|
bne _02232FB4
|
|
mov r0, #1
|
|
bx lr
|
|
_02232FB4:
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end MOD80_02232FAC
|
|
|
|
thumb_func_start MOD80_02232FB8
|
|
MOD80_02232FB8: ; 0x02232FB8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r7, r1, #0
|
|
add r4, r3, #0
|
|
bl MOD80_02232FAC
|
|
cmp r0, #0
|
|
beq _02232FEA
|
|
add r0, r5, #0
|
|
bl FUN_0206B9AC
|
|
sub r0, r0, #1
|
|
cmp r4, r0
|
|
ble _02232FDC
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02232FDC:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl FUN_0206B9B0
|
|
bl FUN_020690E4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02232FEA:
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl FUN_0206B5E4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02232FB8
|
|
|
|
thumb_func_start MOD80_02232FF8
|
|
MOD80_02232FF8: ; 0x02232FF8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, r2, #0
|
|
bl MOD80_02232FAC
|
|
cmp r0, #0
|
|
beq _02233014
|
|
add r0, r4, #0
|
|
bl FUN_0206B9AC
|
|
cmp r0, #2
|
|
bge _02233014
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_02233014:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02232FF8
|
|
|
|
thumb_func_start MOD80_02233018
|
|
MOD80_02233018: ; 0x02233018
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
mov r4, #0
|
|
bl FUN_02066A6C
|
|
ldr r5, _02233050 ; =0x02237220
|
|
str r0, [sp]
|
|
add r6, r4, #0
|
|
_02233028:
|
|
ldrh r1, [r5]
|
|
add r0, r7, #0
|
|
mov r2, #0
|
|
bl FUN_020672BC
|
|
add r6, r6, #1
|
|
add r4, r4, r0
|
|
add r5, r5, #2
|
|
cmp r6, #0xa
|
|
blt _02233028
|
|
ldr r1, [sp]
|
|
add r0, r7, #0
|
|
bl FUN_02066A94
|
|
cmp r4, #0
|
|
beq _0223304C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0223304C:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02233050: .word 0x02237220
|
|
thumb_func_end MOD80_02233018
|
|
|
|
thumb_func_start MOD80_02233054
|
|
MOD80_02233054: ; 0x02233054
|
|
push {r4, lr}
|
|
bl MOD80_02232FB8
|
|
add r4, r0, #0
|
|
bne _02233062
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_02233062:
|
|
mov r1, #0xab
|
|
mov r2, #0
|
|
bl FUN_020672BC
|
|
cmp r0, #0
|
|
bne _02233072
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_02233072:
|
|
add r0, r4, #0
|
|
mov r1, #0xac
|
|
mov r2, #0
|
|
bl FUN_020672BC
|
|
cmp r0, #0
|
|
beq _02233084
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
_02233084:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02233054
|
|
|
|
thumb_func_start MOD80_02233088
|
|
MOD80_02233088: ; 0x02233088
|
|
push {r3, r4}
|
|
mov r4, #0
|
|
ldrsh r3, [r0, r4]
|
|
ldrsh r2, [r1, r4]
|
|
cmp r3, r2
|
|
beq _0223309A
|
|
add r0, r4, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
_0223309A:
|
|
mov r2, #2
|
|
ldrsb r3, [r1, r2]
|
|
cmp r3, #3
|
|
beq _022330AE
|
|
ldrsb r2, [r0, r2]
|
|
cmp r3, r2
|
|
beq _022330AE
|
|
add r0, r4, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
_022330AE:
|
|
mov r2, #3
|
|
ldrsb r3, [r0, r2]
|
|
cmp r3, #0
|
|
bne _022330BC
|
|
mov r0, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
_022330BC:
|
|
ldrsb r0, [r1, r2]
|
|
cmp r0, #0
|
|
beq _022330CC
|
|
cmp r0, r3
|
|
ble _022330CC
|
|
mov r0, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
_022330CC:
|
|
mov r0, #4
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _022330DE
|
|
cmp r0, r3
|
|
bge _022330DE
|
|
mov r0, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
_022330DE:
|
|
mov r0, #1
|
|
pop {r3, r4}
|
|
bx lr
|
|
thumb_func_end MOD80_02233088
|
|
|
|
thumb_func_start MOD80_022330E4
|
|
MOD80_022330E4: ; 0x022330E4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
add r5, r0, #0
|
|
bl FUN_020672BC
|
|
add r1, sp, #0
|
|
strh r0, [r1]
|
|
add r0, r5, #0
|
|
mov r1, #0x6f
|
|
mov r2, #0
|
|
bl FUN_020672BC
|
|
add r1, r0, #1
|
|
add r0, sp, #0
|
|
strb r1, [r0, #2]
|
|
add r0, r5, #0
|
|
bl FUN_020687C8
|
|
add r1, sp, #0
|
|
strb r0, [r1, #3]
|
|
add r0, sp, #0
|
|
add r1, r4, #0
|
|
bl MOD80_02233088
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_022330E4
|
|
|
|
thumb_func_start MOD80_0223311C
|
|
MOD80_0223311C: ; 0x0223311C
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl FUN_020672BC
|
|
add r1, sp, #0
|
|
strh r0, [r1, #6]
|
|
add r0, r5, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
mov r1, #0x6f
|
|
mov r2, #0
|
|
bl FUN_020672BC
|
|
add r1, r0, #1
|
|
add r0, sp, #0
|
|
strb r1, [r0, #8]
|
|
add r0, r5, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
bl FUN_020687C8
|
|
add r1, sp, #0
|
|
strb r0, [r1, #9]
|
|
add r0, r4, #0
|
|
ldrh r2, [r1, #6]
|
|
add r0, #0xec
|
|
strh r2, [r0]
|
|
add r0, r4, #0
|
|
ldrh r1, [r1, #8]
|
|
add r0, #0xee
|
|
strh r1, [r0]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl MOD80_02234288
|
|
mov r0, #0x7e
|
|
lsl r0, r0, #2
|
|
add r2, r5, r0
|
|
add r5, #0xc4
|
|
ldr r1, [r5]
|
|
sub r0, #0xd4
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
bl FUN_020690E4
|
|
mov r1, #5
|
|
mov r2, #0
|
|
add r5, r0, #0
|
|
bl FUN_020672BC
|
|
add r1, sp, #0
|
|
strh r0, [r1]
|
|
add r0, r5, #0
|
|
mov r1, #0x6f
|
|
mov r2, #0
|
|
bl FUN_020672BC
|
|
add r0, r0, #1
|
|
add r1, sp, #0
|
|
strb r0, [r1, #2]
|
|
mov r0, #0
|
|
strb r0, [r1, #3]
|
|
strb r0, [r1, #4]
|
|
add r0, r4, #0
|
|
ldrh r2, [r1]
|
|
add r0, #0xf0
|
|
strh r2, [r0]
|
|
add r0, r4, #0
|
|
ldrh r2, [r1, #2]
|
|
add r0, #0xf2
|
|
add r4, #0xf4
|
|
strh r2, [r0]
|
|
ldrh r0, [r1, #4]
|
|
strh r0, [r4]
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_0223311C
|
|
|
|
thumb_func_start MOD80_022331C4
|
|
MOD80_022331C4: ; 0x022331C4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r7, r2, #0
|
|
add r4, r3, #0
|
|
mov r6, #0
|
|
_022331CE:
|
|
mov r0, #0
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _022331E8
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD80_02233088
|
|
cmp r0, #0
|
|
bne _022331E8
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #3
|
|
str r0, [r4, #4]
|
|
_022331E8:
|
|
mov r0, #0x83
|
|
lsl r0, r0, #2
|
|
add r6, r6, #1
|
|
add r5, r5, #4
|
|
add r4, r4, r0
|
|
cmp r6, #0x1e
|
|
blt _022331CE
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD80_022331C4
|
|
|
|
thumb_func_start MOD80_022331F8
|
|
MOD80_022331F8: ; 0x022331F8
|
|
push {r3, lr}
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl FUN_0206EA98
|
|
cmp r0, #0
|
|
beq _02233212
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02233212:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_022331F8
|
|
|
|
thumb_func_start MOD80_02233218
|
|
MOD80_02233218: ; 0x02233218
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
bl MOD80_02233618
|
|
ldr r0, [r4, #4]
|
|
bl MOD80_02233358
|
|
add r0, r4, #0
|
|
bl MOD80_0223346C
|
|
add r0, r4, #0
|
|
bl MOD80_02233500
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl FUN_0200E1D0
|
|
add r0, r4, #0
|
|
bl MOD80_02236D84
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
ldr r2, _02233298 ; =0x00000B34
|
|
str r0, [sp, #4]
|
|
sub r0, r0, #4
|
|
str r0, [sp, #8]
|
|
add r1, r2, #4
|
|
ldr r0, [r4, r2]
|
|
sub r2, r2, #4
|
|
ldr r3, _0223329C ; =0x00000F08
|
|
ldr r1, [r4, r1]
|
|
ldr r2, [r4, r2]
|
|
add r3, r4, r3
|
|
bl MOD80_02233FB4
|
|
ldr r1, _022332A0 ; =0x00000B18
|
|
add r3, r4, #0
|
|
add r0, r4, r1
|
|
str r0, [sp]
|
|
add r0, r1, #0
|
|
add r0, #0x1c
|
|
add r1, #0x18
|
|
ldr r2, _022332A4 ; =0x00000F38
|
|
add r3, #0xbc
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
ldr r3, [r3]
|
|
add r2, r4, r2
|
|
bl MOD80_022340DC
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #2
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_02233298: .word 0x00000B34
|
|
_0223329C: .word 0x00000F08
|
|
_022332A0: .word 0x00000B18
|
|
_022332A4: .word 0x00000F38
|
|
thumb_func_end MOD80_02233218
|
|
|
|
thumb_func_start MOD80_022332A8
|
|
MOD80_022332A8: ; 0x022332A8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222E79C
|
|
bl FUN_02033EEC
|
|
ldr r1, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
lsl r2, r1, #2
|
|
ldr r1, _022332C4 ; =0x02237B84
|
|
ldr r1, [r1, r2]
|
|
blx r1
|
|
pop {r4, pc}
|
|
nop
|
|
_022332C4: .word 0x02237B84
|
|
thumb_func_end MOD80_022332A8
|
|
|
|
thumb_func_start MOD80_022332C8
|
|
MOD80_022332C8: ; 0x022332C8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl FUN_02033ED0
|
|
add r0, r4, #0
|
|
bl MOD80_02233684
|
|
add r0, r4, #0
|
|
bl MOD80_022335E0
|
|
ldr r0, [r4, #4]
|
|
bl MOD80_02233440
|
|
add r0, r4, #0
|
|
bl MOD80_0222E7B0
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_022332C8
|
|
|
|
thumb_func_start MOD80_022332EC
|
|
MOD80_022332EC: ; 0x022332EC
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, _0223334C ; =0x00000B34
|
|
add r4, r2, #0
|
|
ldr r0, [r5, r0]
|
|
bl FUN_0200A914
|
|
mov r1, #0xb3
|
|
add r6, r0, #0
|
|
lsl r1, r1, #4
|
|
ldr r0, [r5, r1]
|
|
add r1, #0x1c
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
bl FUN_0200B7B8
|
|
ldr r0, _02233350 ; =0x00000E98
|
|
mov r1, #0xf
|
|
add r0, r5, r0
|
|
bl FUN_02019620
|
|
ldr r0, _02233350 ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl FUN_0200D0BC
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r4, [sp, #4]
|
|
ldr r0, _02233350 ; =0x00000E98
|
|
ldr r2, _02233354 ; =0x00000B4C
|
|
str r3, [sp, #8]
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
bl FUN_0201BD84
|
|
mov r1, #0x2e
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0223334C: .word 0x00000B34
|
|
_02233350: .word 0x00000E98
|
|
_02233354: .word 0x00000B4C
|
|
thumb_func_end MOD80_022332EC
|
|
|
|
thumb_func_start MOD80_02233358
|
|
MOD80_02233358: ; 0x02233358
|
|
push {r4, r5, lr}
|
|
sub sp, #0x8c
|
|
ldr r5, _0223342C ; =0x02237420
|
|
add r4, r0, #0
|
|
ldmia r5!, {r0, r1}
|
|
add r3, sp, #0x70
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
add r3, r1, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_02018744
|
|
ldr r5, _02233430 ; =0x0223743C
|
|
add r3, sp, #0x54
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
ldr r5, _02233434 ; =0x02237458
|
|
add r3, sp, #0x38
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
ldr r5, _02233438 ; =0x02237404
|
|
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, #4
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_02018744
|
|
ldr r5, _0223343C ; =0x022373E8
|
|
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, #5
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #0
|
|
mov r1, #0x20
|
|
add r2, r0, #0
|
|
mov r3, #0x3e
|
|
bl FUN_02017F18
|
|
mov r0, #4
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #0x3e
|
|
bl FUN_02017F18
|
|
add sp, #0x8c
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_0223342C: .word 0x02237420
|
|
_02233430: .word 0x0223743C
|
|
_02233434: .word 0x02237458
|
|
_02233438: .word 0x02237404
|
|
_0223343C: .word 0x022373E8
|
|
thumb_func_end MOD80_02233358
|
|
|
|
thumb_func_start MOD80_02233440
|
|
MOD80_02233440: ; 0x02233440
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #5
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_020178A0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02233440
|
|
|
|
thumb_func_start MOD80_0223346C
|
|
MOD80_0223346C: ; 0x0223346C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #4]
|
|
mov r0, #0x60
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x68
|
|
mov r1, #1
|
|
add r3, r2, #0
|
|
bl FUN_02006930
|
|
mov r1, #0x1a
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x3e
|
|
bl FUN_02002EEC
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #0x24]
|
|
bl FUN_02025084
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl FUN_0200CD68
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r2, #0x1f
|
|
mov r3, #0xb
|
|
bl FUN_0200CB00
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0xa
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
mov r1, #0xb
|
|
add r2, r4, #0
|
|
bl FUN_0200687C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
mov r1, #0x17
|
|
add r2, r4, #0
|
|
bl FUN_020068C8
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD80_0223346C
|
|
|
|
thumb_func_start MOD80_02233500
|
|
MOD80_02233500: ; 0x02233500
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
mov r3, #1
|
|
add r7, r0, #0
|
|
str r3, [sp]
|
|
mov r0, #0x1c
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x28
|
|
ldr r1, _022335CC ; =0x00000EB8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r7, #4]
|
|
add r1, r7, r1
|
|
mov r2, #0
|
|
bl FUN_02019064
|
|
ldr r0, _022335CC ; =0x00000EB8
|
|
mov r1, #0
|
|
add r0, r7, r0
|
|
bl FUN_02019620
|
|
mov r2, #0
|
|
mov r1, #0xb5
|
|
ldr r0, _022335D0 ; =0x000F0E00
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _022335CC ; =0x00000EB8
|
|
lsl r1, r1, #4
|
|
ldr r1, [r7, r1]
|
|
add r0, r7, r0
|
|
mov r3, #1
|
|
bl MOD80_02236D1C
|
|
mov r0, #0x15
|
|
str r0, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r3, #2
|
|
ldr r1, _022335D4 ; =0x00000E98
|
|
str r3, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x60
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r7, #4]
|
|
add r1, r7, r1
|
|
mov r2, #0
|
|
bl FUN_02019064
|
|
ldr r0, _022335D4 ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r7, r0
|
|
bl FUN_02019620
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
ldr r0, _022335D8 ; =0x00000F08
|
|
ldr r4, _022335DC ; =0x022373D0
|
|
mov r6, #0x96
|
|
add r5, r7, r0
|
|
_0223357E:
|
|
ldrh r0, [r4, #2]
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0xb
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
lsl r0, r6, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldrh r3, [r4]
|
|
ldr r0, [r7, #4]
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl FUN_02019064
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r5, #0
|
|
bl FUN_020191D0
|
|
ldr r0, [sp, #0x14]
|
|
add r6, #0x16
|
|
add r0, r0, #1
|
|
add r4, r4, #4
|
|
add r5, #0x10
|
|
str r0, [sp, #0x14]
|
|
cmp r0, #6
|
|
blt _0223357E
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_022335CC: .word 0x00000EB8
|
|
_022335D0: .word 0x000F0E00
|
|
_022335D4: .word 0x00000E98
|
|
_022335D8: .word 0x00000F08
|
|
_022335DC: .word 0x022373D0
|
|
thumb_func_end MOD80_02233500
|
|
|
|
thumb_func_start MOD80_022335E0
|
|
MOD80_022335E0: ; 0x022335E0
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
ldr r0, _0223360C ; =0x00000F08
|
|
mov r4, #0
|
|
add r5, r6, r0
|
|
_022335EA:
|
|
add r0, r5, #0
|
|
bl FUN_02019178
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #6
|
|
blt _022335EA
|
|
ldr r0, _02233610 ; =0x00000E98
|
|
add r0, r6, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02233614 ; =0x00000EB8
|
|
add r0, r6, r0
|
|
bl FUN_02019178
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0223360C: .word 0x00000F08
|
|
_02233610: .word 0x00000E98
|
|
_02233614: .word 0x00000EB8
|
|
thumb_func_end MOD80_022335E0
|
|
|
|
thumb_func_start MOD80_02233618
|
|
MOD80_02233618: ; 0x02233618
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xb4
|
|
mov r1, #0x3e
|
|
bl FUN_020219F4
|
|
ldr r1, _02233680 ; =0x00000B4C
|
|
str r0, [r4, r1]
|
|
sub r1, #0x18
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0x5a
|
|
bl FUN_0200A914
|
|
mov r1, #0xb5
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
mov r0, #0x3e
|
|
mov r1, #0x30
|
|
bl AllocFromHeap
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
ldr r1, [r4, r1]
|
|
mov r0, #0
|
|
mov r2, #0x30
|
|
bl MIi_CpuClearFast
|
|
mov r2, #0xfe
|
|
lsl r2, r2, #4
|
|
ldr r2, [r4, r2]
|
|
mov r0, #0x3e
|
|
mov r1, #0
|
|
add r2, #0x1c
|
|
bl MOD80_02234204
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
str r0, [r1, #0x18]
|
|
mov r0, #0x3e
|
|
bl MOD80_02234228
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #4
|
|
ldr r2, [r4, r1]
|
|
add r1, #0x38
|
|
str r0, [r2, #0x14]
|
|
add r0, r4, r1
|
|
bl MOD80_022346D8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02233680: .word 0x00000B4C
|
|
thumb_func_end MOD80_02233618
|
|
|
|
thumb_func_start MOD80_02233684
|
|
MOD80_02233684: ; 0x02233684
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r0, [r0, #0x14]
|
|
bl FreeToHeap
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r0, [r0, #0x18]
|
|
bl FreeToHeap
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
ldr r0, _022336C0 ; =0x00000B4C
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
mov r0, #0xb5
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
pop {r4, pc}
|
|
nop
|
|
_022336C0: .word 0x00000B4C
|
|
thumb_func_end MOD80_02233684
|
|
|
|
thumb_func_start MOD80_022336C4
|
|
MOD80_022336C4: ; 0x022336C4
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
bl FUN_0200E308
|
|
cmp r0, #0
|
|
beq _022336EC
|
|
ldr r0, _022336F4 ; =0x00000F0F
|
|
mov r1, #9
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl MOD80_022332EC
|
|
add r0, r4, #0
|
|
mov r1, #0x10
|
|
mov r2, #1
|
|
bl MOD80_0222E6DC
|
|
_022336EC:
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_022336F4: .word 0x00000F0F
|
|
thumb_func_end MOD80_022336C4
|
|
|
|
thumb_func_start MOD80_022336F8
|
|
MOD80_022336F8: ; 0x022336F8
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
ldr r1, _02233770 ; =0x021C48B8
|
|
add r4, r0, #0
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #2
|
|
tst r1, r2
|
|
beq _02233714
|
|
mov r1, #5
|
|
add r2, r1, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #2
|
|
str r0, [r4, #0x2c]
|
|
_02233714:
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
mov r0, #0xd
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _02233774 ; =0x0000011A
|
|
ldr r1, _02233778 ; =0x00000ED8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
mov r3, #0xf
|
|
bl FUN_02019064
|
|
ldr r0, _02233778 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
mov r0, #0xa
|
|
str r0, [sp, #4]
|
|
mov r0, #0xd
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _0223377C ; =0x0000014E
|
|
ldr r1, _02233780 ; =0x00000EE8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
mov r3, #0x15
|
|
bl FUN_02019064
|
|
ldr r0, _02233780 ; =0x00000EE8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
mov r0, #3
|
|
str r0, [r4, #0x2c]
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_02233770: .word 0x021C48B8
|
|
_02233774: .word 0x0000011A
|
|
_02233778: .word 0x00000ED8
|
|
_0223377C: .word 0x0000014E
|
|
_02233780: .word 0x00000EE8
|
|
thumb_func_end MOD80_022336F8
|
|
|
|
thumb_func_start MOD80_02233784
|
|
MOD80_02233784: ; 0x02233784
|
|
push {r4, lr}
|
|
ldr r2, _022337AC ; =0x00000FC8
|
|
add r4, r0, #0
|
|
ldr r3, _022337B0 ; =0x00000B34
|
|
add r1, r4, r2
|
|
sub r2, #0xf0
|
|
ldr r3, [r4, r3]
|
|
add r2, r4, r2
|
|
bl MOD80_02234370
|
|
ldr r1, _022337B4 ; =0x00000FD4
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
ldr r1, _022337B8 ; =0x0000FFFF
|
|
add r0, #0xb0
|
|
strh r1, [r0]
|
|
mov r0, #4
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_022337AC: .word 0x00000FC8
|
|
_022337B0: .word 0x00000B34
|
|
_022337B4: .word 0x00000FD4
|
|
_022337B8: .word 0x0000FFFF
|
|
thumb_func_end MOD80_02233784
|
|
|
|
thumb_func_start MOD80_022337BC
|
|
MOD80_022337BC: ; 0x022337BC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02233878 ; =0x00000FD4
|
|
add r1, r4, #0
|
|
ldr r0, [r4, r0]
|
|
add r1, #0xb0
|
|
bl MOD80_02234698
|
|
cmp r0, #9
|
|
bhi _022337F0
|
|
add r1, r0, r0
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_022337DC: ; jump table
|
|
.short _02233872 - _022337DC - 2 ; case 0
|
|
.short _022337FA - _022337DC - 2 ; case 1
|
|
.short _022337FA - _022337DC - 2 ; case 2
|
|
.short _022337FA - _022337DC - 2 ; case 3
|
|
.short _022337FA - _022337DC - 2 ; case 4
|
|
.short _022337FA - _022337DC - 2 ; case 5
|
|
.short _022337FA - _022337DC - 2 ; case 6
|
|
.short _022337FA - _022337DC - 2 ; case 7
|
|
.short _022337FA - _022337DC - 2 ; case 8
|
|
.short _022337FA - _022337DC - 2 ; case 9
|
|
_022337F0:
|
|
mov r1, #1
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _02233820
|
|
b _02233872
|
|
_022337FA:
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r2, [r4, r0]
|
|
sub r0, #0xc
|
|
add r1, r2, #6
|
|
ldr r0, [r4, r0]
|
|
add r2, r2, #4
|
|
bl FUN_02001300
|
|
ldr r0, _0223387C ; =0x00000FC8
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02012870
|
|
mov r0, #5
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _02233880 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
b _02233872
|
|
_02233820:
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r2, [r4, r0]
|
|
sub r0, #0xc
|
|
add r1, r2, #6
|
|
ldr r0, [r4, r0]
|
|
add r2, r2, #4
|
|
bl FUN_02001300
|
|
ldr r0, _0223387C ; =0x00000FC8
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _02233884 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _02233888 ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_0200D0E0
|
|
ldr r0, _02233884 ; =0x00000ED8
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
ldr r0, _0223388C ; =0x00000EE8
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
mov r1, #5
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #2
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _02233880 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
_02233872:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_02233878: .word 0x00000FD4
|
|
_0223387C: .word 0x00000FC8
|
|
_02233880: .word 0x000005DC
|
|
_02233884: .word 0x00000ED8
|
|
_02233888: .word 0x00000E98
|
|
_0223388C: .word 0x00000EE8
|
|
thumb_func_end MOD80_022337BC
|
|
|
|
thumb_func_start MOD80_02233890
|
|
MOD80_02233890: ; 0x02233890
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
ldr r3, _022338D4 ; =0x00000B38
|
|
add r4, r0, #0
|
|
ldr r1, [r4, r3]
|
|
mov r2, #0xfe
|
|
lsl r2, r2, #4
|
|
str r1, [sp]
|
|
ldr r1, [r4, r2]
|
|
sub r3, r3, #4
|
|
str r1, [sp, #4]
|
|
ldr r1, [r4]
|
|
ldr r1, [r1, #0x10]
|
|
str r1, [sp, #8]
|
|
add r1, r2, #0
|
|
sub r1, #0x18
|
|
sub r2, #0xf8
|
|
ldr r3, [r4, r3]
|
|
add r1, r4, r1
|
|
add r2, r4, r2
|
|
bl MOD80_022344DC
|
|
ldr r1, _022338D8 ; =0x00000FD4
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
ldr r1, _022338DC ; =0x0000FFFF
|
|
add r0, #0xb0
|
|
strh r1, [r0]
|
|
mov r0, #6
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_022338D4: .word 0x00000B38
|
|
_022338D8: .word 0x00000FD4
|
|
_022338DC: .word 0x0000FFFF
|
|
thumb_func_end MOD80_02233890
|
|
|
|
thumb_func_start MOD80_022338E0
|
|
MOD80_022338E0: ; 0x022338E0
|
|
cmp r1, #0
|
|
beq _022338EE
|
|
cmp r1, #0xfe
|
|
beq _022338F6
|
|
cmp r1, #0xff
|
|
beq _022338FE
|
|
b _02233906
|
|
_022338EE:
|
|
mov r1, #1
|
|
strb r1, [r0, #2]
|
|
add r0, r1, #0
|
|
bx lr
|
|
_022338F6:
|
|
mov r1, #2
|
|
strb r1, [r0, #2]
|
|
mov r0, #1
|
|
bx lr
|
|
_022338FE:
|
|
mov r1, #3
|
|
strb r1, [r0, #2]
|
|
mov r0, #1
|
|
bx lr
|
|
_02233906:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD80_022338E0
|
|
|
|
thumb_func_start MOD80_0223390C
|
|
MOD80_0223390C: ; 0x0223390C
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
ldr r0, _02233A4C ; =0x00000FD4
|
|
add r1, r4, #0
|
|
ldr r0, [r4, r0]
|
|
add r1, #0xb0
|
|
bl MOD80_02234698
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
beq _02233932
|
|
add r0, r0, #1
|
|
cmp r5, r0
|
|
bne _02233930
|
|
b _02233A44
|
|
_02233930:
|
|
b _0223398C
|
|
_02233932:
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r2, [r4, r0]
|
|
sub r0, #0xc
|
|
add r1, r2, #0
|
|
ldr r0, [r4, r0]
|
|
add r1, #0xa
|
|
add r2, #8
|
|
bl FUN_02001300
|
|
ldr r0, _02233A50 ; =0x00000FC8
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _02233A54 ; =0x00000EE8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _02233A58 ; =0x00000ED8
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02233A54 ; =0x00000EE8
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _02233A5C ; =0x000005DC
|
|
bl FUN_020054C8
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r3, [r4, r0]
|
|
add r0, #0x38
|
|
ldrh r2, [r3, #6]
|
|
ldrh r1, [r3, #4]
|
|
add r0, r4, r0
|
|
add r1, r2, r1
|
|
ldrh r2, [r3, #0xa]
|
|
ldrh r3, [r3, #8]
|
|
bl MOD80_022346F0
|
|
b _02233A44
|
|
_0223398C:
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r2, [r4, r0]
|
|
sub r0, #0xc
|
|
add r1, r2, #0
|
|
ldr r0, [r4, r0]
|
|
add r1, #0xa
|
|
add r2, #8
|
|
bl FUN_02001300
|
|
ldr r0, _02233A50 ; =0x00000FC8
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _02233A58 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _02233A54 ; =0x00000EE8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _02233A58 ; =0x00000ED8
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02233A54 ; =0x00000EE8
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02233A60 ; =0x00000B1C
|
|
strh r5, [r4, r0]
|
|
ldr r0, _02233A5C ; =0x000005DC
|
|
bl FUN_020054C8
|
|
add r0, r5, #0
|
|
mov r1, #0x12
|
|
bl FUN_02068678
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #4
|
|
ldr r2, [r4, r1]
|
|
str r0, [r2, #0x20]
|
|
ldr r1, [r4, r1]
|
|
ldr r0, _02233A60 ; =0x00000B1C
|
|
ldr r1, [r1, #0x20]
|
|
add r0, r4, r0
|
|
bl MOD80_022338E0
|
|
cmp r0, #0
|
|
beq _02233A00
|
|
mov r0, #0xa
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _02233A64 ; =0x00000B1E
|
|
ldrsb r1, [r4, r0]
|
|
b _02233A06
|
|
_02233A00:
|
|
mov r0, #7
|
|
str r0, [r4, #0x2c]
|
|
mov r1, #3
|
|
_02233A06:
|
|
ldr r2, _02233A60 ; =0x00000B1C
|
|
ldr r3, _02233A68 ; =0x00000F08
|
|
ldrsh r0, [r4, r2]
|
|
add r3, r4, r3
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r1, [sp, #4]
|
|
mvn r0, r0
|
|
str r0, [sp, #8]
|
|
add r0, r2, #0
|
|
add r1, r2, #0
|
|
add r0, #0x18
|
|
add r1, #0x1c
|
|
add r2, #0x14
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
ldr r2, [r4, r2]
|
|
bl MOD80_02233FB4
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r3, [r4, r0]
|
|
add r0, #0x38
|
|
ldrh r2, [r3, #6]
|
|
ldrh r1, [r3, #4]
|
|
add r0, r4, r0
|
|
add r1, r2, r1
|
|
ldrh r2, [r3, #0xa]
|
|
ldrh r3, [r3, #8]
|
|
bl MOD80_022346F0
|
|
_02233A44:
|
|
mov r0, #3
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_02233A4C: .word 0x00000FD4
|
|
_02233A50: .word 0x00000FC8
|
|
_02233A54: .word 0x00000EE8
|
|
_02233A58: .word 0x00000ED8
|
|
_02233A5C: .word 0x000005DC
|
|
_02233A60: .word 0x00000B1C
|
|
_02233A64: .word 0x00000B1E
|
|
_02233A68: .word 0x00000F08
|
|
thumb_func_end MOD80_0223390C
|
|
|
|
thumb_func_start MOD80_02233A6C
|
|
MOD80_02233A6C: ; 0x02233A6C
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
ldr r1, _02233ABC ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r1, #0xa
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl MOD80_022332EC
|
|
add r0, r4, #0
|
|
mov r1, #0x10
|
|
mov r2, #8
|
|
bl MOD80_0222E6DC
|
|
mov r0, #0xa
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _02233AC0 ; =0x0000011A
|
|
ldr r1, _02233AC4 ; =0x00000ED8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
mov r3, #0x15
|
|
bl FUN_02019064
|
|
ldr r0, _02233AC4 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
mov r0, #3
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02233ABC: .word 0x00000F0F
|
|
_02233AC0: .word 0x0000011A
|
|
_02233AC4: .word 0x00000ED8
|
|
thumb_func_end MOD80_02233A6C
|
|
|
|
thumb_func_start MOD80_02233AC8
|
|
MOD80_02233AC8: ; 0x02233AC8
|
|
push {r4, lr}
|
|
ldr r1, _02233AF0 ; =0x00000FC8
|
|
add r4, r0, #0
|
|
ldr r2, _02233AF4 ; =0x00000B34
|
|
add r0, r4, r1
|
|
sub r1, #0xf0
|
|
ldr r2, [r4, r2]
|
|
add r1, r4, r1
|
|
bl MOD80_02234560
|
|
ldr r1, _02233AF8 ; =0x00000FD4
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
ldr r1, _02233AFC ; =0x0000FFFF
|
|
add r0, #0xb0
|
|
strh r1, [r0]
|
|
mov r0, #9
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02233AF0: .word 0x00000FC8
|
|
_02233AF4: .word 0x00000B34
|
|
_02233AF8: .word 0x00000FD4
|
|
_02233AFC: .word 0x0000FFFF
|
|
thumb_func_end MOD80_02233AC8
|
|
|
|
thumb_func_start MOD80_02233B00
|
|
MOD80_02233B00: ; 0x02233B00
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, _02233BCC ; =0x00000FD4
|
|
add r1, r5, #0
|
|
ldr r0, [r5, r0]
|
|
add r1, #0xb0
|
|
bl MOD80_02234698
|
|
add r4, r0, #0
|
|
cmp r4, #2
|
|
bhi _02233B26
|
|
cmp r4, #0
|
|
beq _02233B6A
|
|
cmp r4, #1
|
|
beq _02233B6A
|
|
cmp r4, #2
|
|
beq _02233B6A
|
|
b _02233BC6
|
|
_02233B26:
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _02233BC6
|
|
ldr r0, _02233BCC ; =0x00000FD4
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r2, r1, #0
|
|
bl FUN_02001300
|
|
ldr r0, _02233BD0 ; =0x00000FC8
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _02233BD4 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _02233BD8 ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200D0E0
|
|
ldr r0, _02233BD4 ; =0x00000ED8
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02233BDC ; =0x000005DC
|
|
bl FUN_020054C8
|
|
mov r0, #0
|
|
str r0, [r5, #0x2c]
|
|
b _02233BC6
|
|
_02233B6A:
|
|
ldr r0, _02233BCC ; =0x00000FD4
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r2, r1, #0
|
|
bl FUN_02001300
|
|
ldr r0, _02233BD0 ; =0x00000FC8
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _02233BD4 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _02233BD4 ; =0x00000ED8
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02233BDC ; =0x000005DC
|
|
bl FUN_020054C8
|
|
ldr r3, _02233BE0 ; =0x00000F08
|
|
ldr r2, _02233BE4 ; =0x00000B1E
|
|
add r0, r4, #1
|
|
strb r0, [r5, r2]
|
|
mov r1, #0xa
|
|
str r1, [r5, #0x2c]
|
|
sub r0, r2, #2
|
|
ldrsh r0, [r5, r0]
|
|
sub r1, #0xb
|
|
add r3, r5, r3
|
|
str r0, [sp]
|
|
ldrsb r0, [r5, r2]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
add r0, r2, #0
|
|
add r1, r2, #0
|
|
add r0, #0x16
|
|
add r1, #0x1a
|
|
add r2, #0x12
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r5, r2]
|
|
bl MOD80_02233FB4
|
|
_02233BC6:
|
|
mov r0, #3
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_02233BCC: .word 0x00000FD4
|
|
_02233BD0: .word 0x00000FC8
|
|
_02233BD4: .word 0x00000ED8
|
|
_02233BD8: .word 0x00000E98
|
|
_02233BDC: .word 0x000005DC
|
|
_02233BE0: .word 0x00000F08
|
|
_02233BE4: .word 0x00000B1E
|
|
thumb_func_end MOD80_02233B00
|
|
|
|
thumb_func_start MOD80_02233BE8
|
|
MOD80_02233BE8: ; 0x02233BE8
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
ldr r1, _02233C38 ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r1, #0xb
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl MOD80_022332EC
|
|
add r0, r4, #0
|
|
mov r1, #0x10
|
|
mov r2, #0xb
|
|
bl MOD80_0222E6DC
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #0xd
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _02233C3C ; =0x0000011A
|
|
ldr r1, _02233C40 ; =0x00000ED8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
mov r3, #0xf
|
|
bl FUN_02019064
|
|
ldr r0, _02233C40 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
mov r0, #3
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02233C38: .word 0x00000F0F
|
|
_02233C3C: .word 0x0000011A
|
|
_02233C40: .word 0x00000ED8
|
|
thumb_func_end MOD80_02233BE8
|
|
|
|
thumb_func_start MOD80_02233C44
|
|
MOD80_02233C44: ; 0x02233C44
|
|
push {r4, lr}
|
|
ldr r1, _02233C6C ; =0x00000FC8
|
|
add r4, r0, #0
|
|
ldr r2, _02233C70 ; =0x00000B34
|
|
add r0, r4, r1
|
|
sub r1, #0xf0
|
|
ldr r2, [r4, r2]
|
|
add r1, r4, r1
|
|
bl MOD80_022345D0
|
|
ldr r1, _02233C74 ; =0x00000FD4
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
ldr r1, _02233C78 ; =0x0000FFFF
|
|
add r0, #0xb0
|
|
strh r1, [r0]
|
|
mov r0, #0xc
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02233C6C: .word 0x00000FC8
|
|
_02233C70: .word 0x00000B34
|
|
_02233C74: .word 0x00000FD4
|
|
_02233C78: .word 0x0000FFFF
|
|
thumb_func_end MOD80_02233C44
|
|
|
|
thumb_func_start MOD80_02233C7C
|
|
MOD80_02233C7C: ; 0x02233C7C
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, _02233D6C ; =0x00000FD4
|
|
add r1, r5, #0
|
|
ldr r0, [r5, r0]
|
|
add r1, #0xb0
|
|
bl MOD80_02234698
|
|
add r4, r0, #0
|
|
cmp r4, #0xc
|
|
beq _02233CA4
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _02233CA4
|
|
add r0, r0, #1
|
|
cmp r4, r0
|
|
beq _02233D66
|
|
b _02233CFA
|
|
_02233CA4:
|
|
ldr r0, _02233D6C ; =0x00000FD4
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r2, r1, #0
|
|
bl FUN_02001300
|
|
ldr r0, _02233D70 ; =0x00000FC8
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _02233D74 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _02233D78 ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200D0E0
|
|
ldr r0, _02233D74 ; =0x00000ED8
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02233D7C ; =0x000005DC
|
|
bl FUN_020054C8
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
ldr r0, _02233D80 ; =0x00000B1C
|
|
ldr r1, [r1, #0x20]
|
|
add r0, r5, r0
|
|
bl MOD80_022338E0
|
|
cmp r0, #0
|
|
beq _02233CF4
|
|
mov r0, #0
|
|
str r0, [r5, #0x2c]
|
|
b _02233D66
|
|
_02233CF4:
|
|
mov r0, #7
|
|
str r0, [r5, #0x2c]
|
|
b _02233D66
|
|
_02233CFA:
|
|
ldr r0, _02233D7C ; =0x000005DC
|
|
bl FUN_020054C8
|
|
ldr r0, _02233D6C ; =0x00000FD4
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r2, r1, #0
|
|
bl FUN_02001300
|
|
ldr r0, _02233D70 ; =0x00000FC8
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02012870
|
|
ldr r0, _02233D74 ; =0x00000ED8
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
bl FUN_0200CCF8
|
|
ldr r0, _02233D74 ; =0x00000ED8
|
|
add r0, r5, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02233D80 ; =0x00000B1C
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
bl MOD80_02234640
|
|
mov r0, #0xd
|
|
ldr r1, _02233D84 ; =0x00000B1F
|
|
str r0, [r5, #0x2c]
|
|
ldrsb r0, [r5, r1]
|
|
add r1, r1, #1
|
|
ldrsb r1, [r5, r1]
|
|
bl MOD80_02234668
|
|
ldr r2, _02233D80 ; =0x00000B1C
|
|
ldr r3, _02233D88 ; =0x00000F08
|
|
ldrsh r1, [r5, r2]
|
|
add r3, r5, r3
|
|
str r1, [sp]
|
|
add r1, r2, #2
|
|
ldrsb r1, [r5, r1]
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r2, #0
|
|
add r1, r2, #0
|
|
add r0, #0x18
|
|
add r1, #0x1c
|
|
add r2, #0x14
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r5, r2]
|
|
bl MOD80_02233FB4
|
|
_02233D66:
|
|
mov r0, #3
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_02233D6C: .word 0x00000FD4
|
|
_02233D70: .word 0x00000FC8
|
|
_02233D74: .word 0x00000ED8
|
|
_02233D78: .word 0x00000E98
|
|
_02233D7C: .word 0x000005DC
|
|
_02233D80: .word 0x00000B1C
|
|
_02233D84: .word 0x00000B1F
|
|
_02233D88: .word 0x00000F08
|
|
thumb_func_end MOD80_02233C7C
|
|
|
|
thumb_func_start MOD80_02233D8C
|
|
MOD80_02233D8C: ; 0x02233D8C
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r1, _02233DB0 ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r1, #0x17
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl MOD80_022332EC
|
|
add r0, r4, #0
|
|
mov r1, #0x10
|
|
mov r2, #0xe
|
|
bl MOD80_0222E6DC
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_02233DB0: .word 0x00000F0F
|
|
thumb_func_end MOD80_02233D8C
|
|
|
|
thumb_func_start MOD80_02233DB4
|
|
MOD80_02233DB4: ; 0x02233DB4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
ldr r2, _02233DD0 ; =0x000001EA
|
|
mov r1, #0xf
|
|
bl MOD80_0222E6A8
|
|
ldr r1, _02233DD4 ; =0x00000FCC
|
|
str r0, [r4, r1]
|
|
mov r0, #0xf
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_02233DD0: .word 0x000001EA
|
|
_02233DD4: .word 0x00000FCC
|
|
thumb_func_end MOD80_02233DB4
|
|
|
|
thumb_func_start MOD80_02233DD8
|
|
MOD80_02233DD8: ; 0x02233DD8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02233E28 ; =0x00000FCC
|
|
mov r1, #0x3e
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020021AC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _02233E22
|
|
sub r1, r1, #1
|
|
cmp r0, r1
|
|
bne _02233E04
|
|
mov r1, #5
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #2
|
|
str r0, [r4, #0x2c]
|
|
b _02233E22
|
|
_02233E04:
|
|
mov r1, #7
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #2
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _02233E2C ; =0x0000100C
|
|
mov r1, #1
|
|
str r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0xd4
|
|
add r1, r4, #0
|
|
bl MOD80_02234330
|
|
_02233E22:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_02233E28: .word 0x00000FCC
|
|
_02233E2C: .word 0x0000100C
|
|
thumb_func_end MOD80_02233DD8
|
|
|
|
thumb_func_start MOD80_02233E30
|
|
MOD80_02233E30: ; 0x02233E30
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x18]
|
|
cmp r0, #0
|
|
bne _02233E5C
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl FUN_0200E1D0
|
|
ldr r0, _02233E80 ; =0x0000100C
|
|
mov r1, #1
|
|
str r1, [r4, r0]
|
|
b _02233E74
|
|
_02233E5C:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl FUN_0200E1D0
|
|
_02233E74:
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #4
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02233E80: .word 0x0000100C
|
|
thumb_func_end MOD80_02233E30
|
|
|
|
thumb_func_start MOD80_02233E84
|
|
MOD80_02233E84: ; 0x02233E84
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02233E9E
|
|
ldr r0, [r4, #0x30]
|
|
str r0, [r4, #0x2c]
|
|
_02233E9E:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02233E84
|
|
|
|
thumb_func_start MOD80_02233EA4
|
|
MOD80_02233EA4: ; 0x02233EA4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r6, r0, #0
|
|
add r5, r3, #0
|
|
cmp r2, #0
|
|
beq _02233ED2
|
|
add r0, r1, #0
|
|
add r1, r2, #0
|
|
bl FUN_0200A914
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x1c]
|
|
str r5, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r3, [sp, #0x18]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl MOD80_02236D50
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
_02233ED2:
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02233EA4
|
|
|
|
thumb_func_start MOD80_02233ED8
|
|
MOD80_02233ED8: ; 0x02233ED8
|
|
cmp r0, #1
|
|
bne _02233EE2
|
|
ldr r0, _02233EF0 ; =0x02237B48
|
|
ldr r0, [r0]
|
|
bx lr
|
|
_02233EE2:
|
|
cmp r0, #2
|
|
bne _02233EEA
|
|
ldr r0, _02233EF0 ; =0x02237B48
|
|
ldr r1, [r0, #4]
|
|
_02233EEA:
|
|
add r0, r1, #0
|
|
bx lr
|
|
nop
|
|
_02233EF0: .word 0x02237B48
|
|
thumb_func_end MOD80_02233ED8
|
|
|
|
thumb_func_start MOD80_02233EF4
|
|
MOD80_02233EF4: ; 0x02233EF4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r6, r0, #0
|
|
add r5, r2, #0
|
|
cmp r3, #0
|
|
bne _02233F04
|
|
cmp r5, #3
|
|
beq _02233F54
|
|
_02233F04:
|
|
add r0, r1, #0
|
|
ldr r1, _02233F58 ; =0x022373C0
|
|
lsl r2, r5, #2
|
|
ldr r1, [r1, r2]
|
|
bl FUN_0200A914
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x1c]
|
|
cmp r0, #3
|
|
ble _02233F34
|
|
ldr r1, [sp, #0x20]
|
|
add r0, r5, #0
|
|
bl MOD80_02233ED8
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r2, [sp, #0x1c]
|
|
ldr r3, [sp, #0x18]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD80_02236D50
|
|
b _02233F4E
|
|
_02233F34:
|
|
ldr r1, [sp, #0x20]
|
|
add r0, r5, #0
|
|
bl MOD80_02233ED8
|
|
ldr r1, [sp, #0x1c]
|
|
ldr r3, [sp, #0x18]
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl MOD80_02236D50
|
|
_02233F4E:
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
_02233F54:
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02233F58: .word 0x022373C0
|
|
thumb_func_end MOD80_02233EF4
|
|
|
|
thumb_func_start MOD80_02233F5C
|
|
MOD80_02233F5C: ; 0x02233F5C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
add r5, r3, #0
|
|
cmp r2, r0
|
|
beq _02233F92
|
|
add r0, r1, #0
|
|
ldr r1, _02233F98 ; =0x02237494
|
|
lsl r2, r2, #3
|
|
ldr r1, [r1, r2]
|
|
bl FUN_0200A914
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x1c]
|
|
str r5, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r2, [sp, #0x20]
|
|
ldr r3, [sp, #0x18]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl MOD80_02236D50
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
_02233F92:
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02233F98: .word 0x02237494
|
|
thumb_func_end MOD80_02233F5C
|
|
|
|
thumb_func_start MOD80_02233F9C
|
|
MOD80_02233F9C: ; 0x02233F9C
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
ldr r4, [sp, #0x18]
|
|
str r4, [sp]
|
|
ldr r4, [sp, #0x1c]
|
|
str r4, [sp, #4]
|
|
mov r4, #0
|
|
str r4, [sp, #8]
|
|
bl MOD80_02233F5C
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD80_02233F9C
|
|
|
|
thumb_func_start MOD80_02233FB4
|
|
MOD80_02233FB4: ; 0x02233FB4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
str r1, [sp, #0x10]
|
|
mov r1, #0x61
|
|
str r0, [sp, #0xc]
|
|
add r6, r3, #0
|
|
bl FUN_0200A914
|
|
str r0, [sp, #0x14]
|
|
mov r2, #0
|
|
ldr r0, _02234044 ; =0x000F0200
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #0x14]
|
|
add r0, r6, #0
|
|
add r3, r2, #0
|
|
bl MOD80_02236D50
|
|
add r5, r6, #0
|
|
mov r4, #1
|
|
add r5, #0x10
|
|
mov r7, #0
|
|
_02233FE0:
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl FUN_02019620
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #3
|
|
blt _02233FE0
|
|
mov r3, #0
|
|
ldr r0, _02234044 ; =0x000F0200
|
|
str r3, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
ldr r1, [sp, #0x10]
|
|
ldr r2, [sp, #0x30]
|
|
add r0, #0x10
|
|
bl MOD80_02233EA4
|
|
ldr r2, [sp, #0x34]
|
|
sub r0, r2, #1
|
|
cmp r0, #1
|
|
bhi _02234022
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x46
|
|
str r0, [sp, #4]
|
|
ldr r0, _02234044 ; =0x000F0200
|
|
ldr r1, [sp, #0xc]
|
|
str r0, [sp, #8]
|
|
add r0, r6, #0
|
|
add r0, #0x10
|
|
bl MOD80_02233EF4
|
|
_02234022:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02234044 ; =0x000F0200
|
|
add r6, #0x20
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x38]
|
|
add r0, r6, #0
|
|
mov r3, #2
|
|
bl MOD80_02233F9C
|
|
ldr r0, [sp, #0x14]
|
|
bl FUN_02021A20
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02234044: .word 0x000F0200
|
|
thumb_func_end MOD80_02233FB4
|
|
|
|
thumb_func_start MOD80_02234048
|
|
MOD80_02234048: ; 0x02234048
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
str r1, [sp, #0x10]
|
|
mov r1, #0x61
|
|
str r0, [sp, #0xc]
|
|
add r6, r3, #0
|
|
bl FUN_0200A914
|
|
str r0, [sp, #0x14]
|
|
mov r2, #0
|
|
ldr r0, _022340D8 ; =0x000F0200
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #0x14]
|
|
add r0, r6, #0
|
|
add r3, r2, #0
|
|
bl MOD80_02236D50
|
|
add r5, r6, #0
|
|
mov r4, #1
|
|
add r5, #0x10
|
|
mov r7, #0
|
|
_02234074:
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl FUN_02019620
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #3
|
|
blt _02234074
|
|
mov r3, #0
|
|
ldr r0, _022340D8 ; =0x000F0200
|
|
str r3, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
ldr r1, [sp, #0x10]
|
|
ldr r2, [sp, #0x30]
|
|
add r0, #0x10
|
|
bl MOD80_02233EA4
|
|
ldr r2, [sp, #0x34]
|
|
sub r0, r2, #1
|
|
cmp r0, #1
|
|
bhi _022340B6
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x46
|
|
str r0, [sp, #4]
|
|
ldr r0, _022340D8 ; =0x000F0200
|
|
ldr r1, [sp, #0xc]
|
|
str r0, [sp, #8]
|
|
add r0, r6, #0
|
|
add r0, #0x10
|
|
bl MOD80_02233EF4
|
|
_022340B6:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _022340D8 ; =0x000F0200
|
|
add r6, #0x20
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x38]
|
|
add r0, r6, #0
|
|
mov r3, #2
|
|
bl MOD80_02233F9C
|
|
ldr r0, [sp, #0x14]
|
|
bl FUN_02021A20
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_022340D8: .word 0x000F0200
|
|
thumb_func_end MOD80_02234048
|
|
|
|
thumb_func_start MOD80_022340DC
|
|
MOD80_022340DC: ; 0x022340DC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
mov r0, #0xb
|
|
mov r1, #0x3e
|
|
str r2, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
ldr r7, [sp, #0x38]
|
|
bl FUN_020219F4
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0xb
|
|
mov r1, #0x3e
|
|
bl FUN_020219F4
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0xc]
|
|
ldr r2, [sp, #0x18]
|
|
mov r1, #0x76
|
|
bl FUN_020672BC
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #0x6f
|
|
mov r2, #0
|
|
bl FUN_020672BC
|
|
add r6, r0, #1
|
|
ldr r0, [sp, #0xc]
|
|
bl FUN_020687C8
|
|
str r0, [sp, #0x10]
|
|
add r0, r4, #0
|
|
mov r1, #0x64
|
|
bl FUN_0200A914
|
|
str r0, [sp, #0x20]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
mov r1, #3
|
|
str r0, [sp, #4]
|
|
ldr r2, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r3, r1, #0
|
|
bl FUN_0200AD38
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0x66
|
|
mov r3, #0x3e
|
|
bl FUN_0200A9C4
|
|
str r0, [sp, #0x1c]
|
|
cmp r6, #3
|
|
beq _0223415A
|
|
ldr r1, _022341F8 ; =0x022373C0
|
|
lsl r2, r6, #2
|
|
ldr r1, [r1, r2]
|
|
ldr r2, [sp, #0x14]
|
|
add r0, r4, #0
|
|
bl FUN_0200A8E0
|
|
_0223415A:
|
|
ldr r5, [sp, #8]
|
|
mov r4, #0
|
|
_0223415E:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #3
|
|
blt _0223415E
|
|
mov r2, #0
|
|
ldr r0, _022341FC ; =0x000F0200
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [sp, #0x20]
|
|
add r3, r2, #0
|
|
bl MOD80_02236D50
|
|
mov r2, #0
|
|
ldr r0, _022341FC ; =0x000F0200
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [sp, #0x18]
|
|
add r0, #0x10
|
|
add r3, r2, #0
|
|
bl MOD80_02236D50
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
ldr r0, _022341FC ; =0x000F0200
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [sp, #0x1c]
|
|
add r0, #0x20
|
|
add r3, r2, #0
|
|
bl MOD80_02236D50
|
|
cmp r6, #3
|
|
beq _022341CA
|
|
sub r0, r6, #1
|
|
mov r3, #0
|
|
lsl r1, r0, #2
|
|
ldr r0, _02234200 ; =0x02237B48
|
|
str r3, [sp]
|
|
ldr r0, [r0, r1]
|
|
ldr r1, [sp, #0x14]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #8]
|
|
mov r2, #0x46
|
|
add r0, #0x10
|
|
str r0, [sp, #8]
|
|
bl MOD80_02236D50
|
|
_022341CA:
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl FUN_020672BC
|
|
strh r0, [r7]
|
|
ldr r0, [sp, #0x10]
|
|
strb r6, [r7, #2]
|
|
strb r0, [r7, #3]
|
|
ldr r0, [sp, #0x1c]
|
|
bl FUN_02021A20
|
|
ldr r0, [sp, #0x14]
|
|
bl FUN_02021A20
|
|
ldr r0, [sp, #0x18]
|
|
bl FUN_02021A20
|
|
ldr r0, [sp, #0x20]
|
|
bl FUN_02021A20
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022341F8: .word 0x022373C0
|
|
_022341FC: .word 0x000F0200
|
|
_02234200: .word 0x02237B48
|
|
thumb_func_end MOD80_022340DC
|
|
|
|
thumb_func_start MOD80_02234204
|
|
MOD80_02234204: ; 0x02234204
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r2, #0
|
|
mov r2, #0
|
|
add r3, r0, #0
|
|
str r2, [sp]
|
|
add r0, sp, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #0x4b
|
|
mov r1, #0xd
|
|
bl FUN_02006D18
|
|
ldr r1, [sp, #8]
|
|
lsr r1, r1, #1
|
|
str r1, [r4]
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02234204
|
|
|
|
thumb_func_start MOD80_02234228
|
|
MOD80_02234228: ; 0x02234228
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
ldr r1, _02234280 ; =0x000001EE
|
|
add r5, r0, #0
|
|
mov r0, #0x3e
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
ldr r2, _02234280 ; =0x000001EE
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
bl MIi_CpuClearFast
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
add r0, sp, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #0x4b
|
|
mov r1, #0xc
|
|
add r3, r5, #0
|
|
bl FUN_02006D18
|
|
add r7, r0, #0
|
|
ldr r0, [sp, #8]
|
|
ldr r5, _02234284 ; =0x00000000
|
|
lsr r3, r0, #1
|
|
beq _02234274
|
|
ldr r0, _02234280 ; =0x000001EE
|
|
add r6, r7, #0
|
|
mov r1, #1
|
|
_02234264:
|
|
ldrh r2, [r6]
|
|
cmp r2, r0
|
|
bhs _0223426C
|
|
strb r1, [r4, r2]
|
|
_0223426C:
|
|
add r5, r5, #1
|
|
add r6, r6, #2
|
|
cmp r5, r3
|
|
blo _02234264
|
|
_02234274:
|
|
add r0, r7, #0
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02234280: .word 0x000001EE
|
|
_02234284: .word 0x00000000
|
|
thumb_func_end MOD80_02234228
|
|
|
|
thumb_func_start MOD80_02234288
|
|
MOD80_02234288: ; 0x02234288
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xb8
|
|
ldrh r0, [r0]
|
|
bl MOD80_02232FAC
|
|
cmp r0, #0
|
|
beq _022342B0
|
|
bl FUN_020669BC
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
add r1, r5, #0
|
|
bl MIi_CpuCopyFast
|
|
b _022342BC
|
|
_022342B0:
|
|
add r0, r4, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
add r1, r5, #0
|
|
bl FUN_02069A64
|
|
_022342BC:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x1c]
|
|
bl FUN_0202398C
|
|
add r1, r0, #0
|
|
mov r0, #0x43
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r2, #8
|
|
bl StringCopyN
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x1c]
|
|
bl FUN_020239C0
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
strh r0, [r5, r1]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x18]
|
|
bl FUN_02029B38
|
|
ldr r1, _02234324 ; =0x0000011E
|
|
strb r0, [r5, r1]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x18]
|
|
bl FUN_02029B3C
|
|
ldr r1, _02234328 ; =0x0000011F
|
|
strb r0, [r5, r1]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x1c]
|
|
bl FUN_02023A28
|
|
mov r1, #0x12
|
|
lsl r1, r1, #4
|
|
strb r0, [r5, r1]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x1c]
|
|
bl FUN_020239CC
|
|
add r1, r5, #0
|
|
add r1, #0xf6
|
|
strb r0, [r1]
|
|
ldr r0, _0223432C ; =0x00000122
|
|
mov r1, #0xa
|
|
strb r1, [r5, r0]
|
|
mov r1, #2
|
|
add r0, r0, #1
|
|
strb r1, [r5, r0]
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02234324: .word 0x0000011E
|
|
_02234328: .word 0x0000011F
|
|
_0223432C: .word 0x00000122
|
|
thumb_func_end MOD80_02234288
|
|
|
|
thumb_func_start MOD80_02234330
|
|
MOD80_02234330: ; 0x02234330
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD80_02234288
|
|
ldr r0, _0223436C ; =0x00000B18
|
|
add r1, r5, #0
|
|
ldrh r2, [r4, r0]
|
|
add r1, #0xec
|
|
strh r2, [r1]
|
|
add r1, r0, #2
|
|
ldrh r2, [r4, r1]
|
|
add r1, r5, #0
|
|
add r1, #0xee
|
|
strh r2, [r1]
|
|
add r1, r0, #4
|
|
ldrh r2, [r4, r1]
|
|
add r1, r5, #0
|
|
add r1, #0xf0
|
|
strh r2, [r1]
|
|
add r1, r0, #6
|
|
ldrh r2, [r4, r1]
|
|
add r1, r5, #0
|
|
add r1, #0xf2
|
|
strh r2, [r1]
|
|
add r0, #8
|
|
ldrh r0, [r4, r0]
|
|
add r5, #0xf4
|
|
strh r0, [r5]
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_0223436C: .word 0x00000B18
|
|
thumb_func_end MOD80_02234330
|
|
|
|
thumb_func_start MOD80_02234370
|
|
MOD80_02234370: ; 0x02234370
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
add r7, r0, #0
|
|
add r5, r1, #0
|
|
mov r0, #9
|
|
mov r1, #0x3e
|
|
str r2, [sp]
|
|
add r6, r3, #0
|
|
bl FUN_02012838
|
|
str r0, [r5]
|
|
mov r4, #0
|
|
_02234388:
|
|
add r2, r4, #0
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
add r2, #0x68
|
|
add r3, r4, #1
|
|
bl FUN_02012880
|
|
add r4, r4, #1
|
|
cmp r4, #9
|
|
blt _02234388
|
|
ldr r3, _022343D8 ; =0x02237474
|
|
add r2, sp, #4
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp]
|
|
mov r2, #0x1f
|
|
mov r3, #0xb
|
|
str r0, [sp, #0x10]
|
|
bl FUN_0200CCA4
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #4
|
|
ldr r2, [r7, r0]
|
|
add r0, sp, #4
|
|
ldrh r1, [r2, #6]
|
|
ldrh r2, [r2, #4]
|
|
mov r3, #0x3e
|
|
bl FUN_020010A8
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022343D8: .word 0x02237474
|
|
thumb_func_end MOD80_02234370
|
|
|
|
thumb_func_start MOD80_022343DC
|
|
MOD80_022343DC: ; 0x022343DC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x38]
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #0x38]
|
|
ldr r0, [sp, #0x40]
|
|
ldr r4, [sp, #0x44]
|
|
lsl r5, r0, #1
|
|
add r0, r0, #1
|
|
lsl r1, r0, #1
|
|
ldr r0, _022344D8 ; =0x02237B50
|
|
str r2, [sp, #8]
|
|
ldrh r1, [r0, r1]
|
|
ldrh r0, [r0, r5]
|
|
str r3, [sp, #0xc]
|
|
mov r6, #0
|
|
sub r7, r1, r0
|
|
add r0, r4, #0
|
|
bl FUN_02024CA4
|
|
str r0, [sp, #0x14]
|
|
ldr r0, _022344D8 ; =0x02237B50
|
|
ldrh r0, [r0, r5]
|
|
str r0, [sp, #0x18]
|
|
add r0, r6, #0
|
|
str r0, [sp, #0x1c]
|
|
cmp r7, #0
|
|
ble _02234456
|
|
ldr r0, [sp, #0x18]
|
|
lsl r1, r0, #1
|
|
ldr r0, [sp, #0xc]
|
|
add r5, r0, r1
|
|
_0223441E:
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
beq _02234434
|
|
ldrh r1, [r5]
|
|
add r0, r4, #0
|
|
bl FUN_020245F0
|
|
cmp r0, #0
|
|
beq _0223444A
|
|
add r6, r6, #1
|
|
b _0223444A
|
|
_02234434:
|
|
ldrh r1, [r5]
|
|
ldr r0, [sp, #0x38]
|
|
ldrb r0, [r0, r1]
|
|
cmp r0, #0
|
|
beq _0223444A
|
|
add r0, r4, #0
|
|
bl FUN_020245F0
|
|
cmp r0, #0
|
|
beq _0223444A
|
|
add r6, r6, #1
|
|
_0223444A:
|
|
ldr r0, [sp, #0x1c]
|
|
add r5, r5, #2
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x1c]
|
|
cmp r0, r7
|
|
blt _0223441E
|
|
_02234456:
|
|
add r0, r6, #1
|
|
mov r1, #0x3e
|
|
bl FUN_02012838
|
|
ldr r1, [sp]
|
|
str r0, [r1]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
cmp r7, #0
|
|
ble _022344C2
|
|
ldr r0, [sp, #0x18]
|
|
lsl r1, r0, #1
|
|
ldr r0, [sp, #0xc]
|
|
add r5, r0, r1
|
|
_02234472:
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
beq _02234494
|
|
ldrh r1, [r5]
|
|
add r0, r4, #0
|
|
bl FUN_020245F0
|
|
cmp r0, #0
|
|
beq _022344B6
|
|
ldrh r2, [r5]
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [r0]
|
|
add r3, r2, #0
|
|
bl FUN_02012880
|
|
b _022344B6
|
|
_02234494:
|
|
ldrh r1, [r5]
|
|
ldr r0, [sp, #0x38]
|
|
ldrb r0, [r0, r1]
|
|
cmp r0, #0
|
|
beq _022344B6
|
|
add r0, r4, #0
|
|
bl FUN_020245F0
|
|
cmp r0, #0
|
|
beq _022344B6
|
|
ldrh r2, [r5]
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [r0]
|
|
add r3, r2, #0
|
|
bl FUN_02012880
|
|
_022344B6:
|
|
ldr r0, [sp, #0x10]
|
|
add r5, r5, #2
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x10]
|
|
cmp r0, r7
|
|
blt _02234472
|
|
_022344C2:
|
|
ldr r0, [sp]
|
|
mov r2, #0x75
|
|
add r3, r2, #0
|
|
ldr r0, [r0]
|
|
ldr r1, [sp, #8]
|
|
sub r3, #0x77
|
|
bl FUN_02012880
|
|
add r0, r6, #1
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022344D8: .word 0x02237B50
|
|
thumb_func_end MOD80_022343DC
|
|
|
|
thumb_func_start MOD80_022344DC
|
|
MOD80_022344DC: ; 0x022344DC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x38
|
|
ldr r5, [sp, #0x54]
|
|
add r7, r0, #0
|
|
add r6, r1, #0
|
|
add r0, r2, #0
|
|
mov r1, #0xf
|
|
str r2, [sp, #0x10]
|
|
str r3, [sp, #0x14]
|
|
bl FUN_02019620
|
|
ldrh r1, [r5, #6]
|
|
ldrh r0, [r5, #4]
|
|
ldr r2, [sp, #0x14]
|
|
add r4, r1, r0
|
|
ldr r0, [r5, #0x14]
|
|
ldr r1, [sp, #0x50]
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x1c]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x58]
|
|
str r4, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r3, [r5, #0x18]
|
|
add r0, r6, #0
|
|
bl MOD80_022343DC
|
|
ldr r3, _02234558 ; =0x02237474
|
|
add r5, r0, #0
|
|
add r2, sp, #0x18
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
add r0, sp, #0x18
|
|
strh r5, [r0, #0x10]
|
|
ldr r0, [r6]
|
|
mov r1, #0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x10]
|
|
mov r2, #0x1f
|
|
mov r3, #0xb
|
|
str r0, [sp, #0x24]
|
|
bl FUN_0200CCA4
|
|
lsl r1, r4, #1
|
|
ldr r2, _0223455C ; =0x0000101C
|
|
add r3, r7, r1
|
|
ldrh r1, [r3, r2]
|
|
add r2, #0x14
|
|
ldrh r2, [r3, r2]
|
|
add r0, sp, #0x18
|
|
mov r3, #0x3e
|
|
bl FUN_020010A8
|
|
add sp, #0x38
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02234558: .word 0x02237474
|
|
_0223455C: .word 0x0000101C
|
|
thumb_func_end MOD80_022344DC
|
|
|
|
thumb_func_start MOD80_02234560
|
|
MOD80_02234560: ; 0x02234560
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #4
|
|
mov r1, #0x3e
|
|
add r7, r2, #0
|
|
bl FUN_02012838
|
|
ldr r5, _022345C8 ; =0x02237B64
|
|
str r0, [r6]
|
|
mov r4, #0
|
|
_02234578:
|
|
ldr r0, [r6]
|
|
ldr r2, [r5]
|
|
ldr r3, [r5, #4]
|
|
add r1, r7, #0
|
|
bl FUN_02012880
|
|
add r4, r4, #1
|
|
add r5, #8
|
|
cmp r4, #4
|
|
blt _02234578
|
|
ldr r3, _022345CC ; =0x02237474
|
|
add r2, sp, #4
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
mov r1, #4
|
|
add r0, sp, #4
|
|
strh r1, [r0, #0x10]
|
|
ldr r0, [r6]
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp]
|
|
mov r2, #0x1f
|
|
mov r3, #0xb
|
|
str r0, [sp, #0x10]
|
|
bl FUN_0200CCA4
|
|
mov r1, #0
|
|
add r0, sp, #4
|
|
add r2, r1, #0
|
|
mov r3, #0x3e
|
|
bl FUN_020010A8
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022345C8: .word 0x02237B64
|
|
_022345CC: .word 0x02237474
|
|
thumb_func_end MOD80_02234560
|
|
|
|
thumb_func_start MOD80_022345D0
|
|
MOD80_022345D0: ; 0x022345D0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #0xd
|
|
mov r1, #0x3e
|
|
add r7, r2, #0
|
|
bl FUN_02012838
|
|
ldr r5, _02234638 ; =0x02237494
|
|
str r0, [r6]
|
|
mov r4, #0
|
|
_022345E8:
|
|
ldr r0, [r6]
|
|
ldr r2, [r5]
|
|
add r1, r7, #0
|
|
add r3, r4, #0
|
|
bl FUN_02012880
|
|
add r4, r4, #1
|
|
add r5, #8
|
|
cmp r4, #0xd
|
|
blt _022345E8
|
|
ldr r3, _0223463C ; =0x02237474
|
|
add r2, sp, #4
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
mov r1, #0xd
|
|
add r0, sp, #4
|
|
strh r1, [r0, #0x10]
|
|
ldr r0, [r6]
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp]
|
|
mov r2, #0x1f
|
|
mov r3, #0xb
|
|
str r0, [sp, #0x10]
|
|
bl FUN_0200CCA4
|
|
mov r1, #0
|
|
add r0, sp, #4
|
|
add r2, r1, #0
|
|
mov r3, #0x3e
|
|
bl FUN_020010A8
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02234638: .word 0x02237494
|
|
_0223463C: .word 0x02237474
|
|
thumb_func_end MOD80_022345D0
|
|
|
|
thumb_func_start MOD80_02234640
|
|
MOD80_02234640: ; 0x02234640
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
cmp r5, #0xc
|
|
blt _0223464E
|
|
bl ErrorHandling
|
|
_0223464E:
|
|
ldr r0, _02234660 ; =0x02237498
|
|
lsl r1, r5, #3
|
|
ldrsh r0, [r0, r1]
|
|
strb r0, [r4, #3]
|
|
ldr r0, _02234664 ; =0x0223749A
|
|
ldrsh r0, [r0, r1]
|
|
strb r0, [r4, #4]
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02234660: .word 0x02237498
|
|
_02234664: .word 0x0223749A
|
|
thumb_func_end MOD80_02234640
|
|
|
|
thumb_func_start MOD80_02234668
|
|
MOD80_02234668: ; 0x02234668
|
|
push {r3, r4, r5, r6}
|
|
ldr r6, _02234694 ; =0x02237494
|
|
mov r5, #0
|
|
mov r2, #6
|
|
mov r3, #4
|
|
_02234672:
|
|
ldrsh r4, [r6, r3]
|
|
cmp r0, r4
|
|
bne _02234684
|
|
ldrsh r4, [r6, r2]
|
|
cmp r1, r4
|
|
bne _02234684
|
|
add r0, r5, #0
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
_02234684:
|
|
add r5, r5, #1
|
|
add r6, #8
|
|
cmp r5, #0xd
|
|
blt _02234672
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
nop
|
|
_02234694: .word 0x02237494
|
|
thumb_func_end MOD80_02234668
|
|
|
|
thumb_func_start MOD80_02234698
|
|
MOD80_02234698: ; 0x02234698
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl FUN_02001204
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
add r1, sp, #0
|
|
bl FUN_0200143C
|
|
add r0, sp, #0
|
|
ldrh r1, [r4]
|
|
ldrh r0, [r0]
|
|
cmp r1, r0
|
|
beq _022346CA
|
|
ldr r0, _022346D0 ; =0x0000FFFF
|
|
cmp r1, r0
|
|
beq _022346C4
|
|
ldr r0, _022346D4 ; =0x000005DC
|
|
bl FUN_020054C8
|
|
_022346C4:
|
|
add r0, sp, #0
|
|
ldrh r0, [r0]
|
|
strh r0, [r4]
|
|
_022346CA:
|
|
add r0, r6, #0
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_022346D0: .word 0x0000FFFF
|
|
_022346D4: .word 0x000005DC
|
|
thumb_func_end MOD80_02234698
|
|
|
|
thumb_func_start MOD80_022346D8
|
|
MOD80_022346D8: ; 0x022346D8
|
|
mov r2, #0
|
|
add r3, r0, #0
|
|
add r1, r2, #0
|
|
_022346DE:
|
|
strh r1, [r3, #4]
|
|
strh r1, [r3, #0x18]
|
|
add r2, r2, #1
|
|
add r3, r3, #2
|
|
cmp r2, #0xa
|
|
blt _022346DE
|
|
strh r1, [r0]
|
|
strh r1, [r0, #2]
|
|
bx lr
|
|
thumb_func_end MOD80_022346D8
|
|
|
|
thumb_func_start MOD80_022346F0
|
|
MOD80_022346F0: ; 0x022346F0
|
|
lsl r1, r1, #1
|
|
add r0, r0, r1
|
|
strh r2, [r0, #4]
|
|
strh r3, [r0, #0x18]
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD80_022346F0
|
|
|
|
thumb_func_start MOD80_022346FC
|
|
MOD80_022346FC: ; 0x022346FC
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
bl MOD80_022349A4
|
|
ldr r0, [r4, #4]
|
|
bl MOD80_02234780
|
|
add r0, r4, #0
|
|
bl MOD80_022348CC
|
|
add r0, r4, #0
|
|
bl MOD80_02234958
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl FUN_0200E1D0
|
|
add r0, r4, #0
|
|
bl MOD80_02236D84
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #2
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_022346FC
|
|
|
|
thumb_func_start MOD80_02234740
|
|
MOD80_02234740: ; 0x02234740
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222E79C
|
|
bl FUN_02033EEC
|
|
ldr r1, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
lsl r2, r1, #2
|
|
ldr r1, _0223475C ; =0x02237BC8
|
|
ldr r1, [r1, r2]
|
|
blx r1
|
|
pop {r4, pc}
|
|
nop
|
|
_0223475C: .word 0x02237BC8
|
|
thumb_func_end MOD80_02234740
|
|
|
|
thumb_func_start MOD80_02234760
|
|
MOD80_02234760: ; 0x02234760
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_022349BC
|
|
add r0, r4, #0
|
|
bl MOD80_02234994
|
|
ldr r0, [r4, #4]
|
|
bl MOD80_022348A0
|
|
add r0, r4, #0
|
|
bl MOD80_0222E7B0
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02234760
|
|
|
|
thumb_func_start MOD80_02234780
|
|
MOD80_02234780: ; 0x02234780
|
|
push {r4, r5, lr}
|
|
sub sp, #0x9c
|
|
ldr r5, _02234888 ; =0x022374FC
|
|
add r3, sp, #0x8c
|
|
add r4, r0, #0
|
|
add r2, r3, #0
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
bl FUN_02016BBC
|
|
ldr r5, _0223488C ; =0x02237544
|
|
add r3, sp, #0x70
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
add r3, r1, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_02018744
|
|
ldr r5, _02234890 ; =0x02237528
|
|
add r3, sp, #0x54
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_02018744
|
|
ldr r5, _02234894 ; =0x0223757C
|
|
add r3, sp, #0x38
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FUN_02018744
|
|
ldr r5, _02234898 ; =0x02237560
|
|
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, #4
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_02018744
|
|
ldr r5, _0223489C ; =0x0223750C
|
|
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, #5
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #0
|
|
mov r1, #0x20
|
|
add r2, r0, #0
|
|
mov r3, #0x3e
|
|
bl FUN_02017F18
|
|
mov r0, #4
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #0x3e
|
|
bl FUN_02017F18
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl FUN_0201E6E4
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl FUN_0201E74C
|
|
add sp, #0x9c
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_02234888: .word 0x022374FC
|
|
_0223488C: .word 0x02237544
|
|
_02234890: .word 0x02237528
|
|
_02234894: .word 0x0223757C
|
|
_02234898: .word 0x02237560
|
|
_0223489C: .word 0x0223750C
|
|
thumb_func_end MOD80_02234780
|
|
|
|
thumb_func_start MOD80_022348A0
|
|
MOD80_022348A0: ; 0x022348A0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #5
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_020178A0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_022348A0
|
|
|
|
thumb_func_start MOD80_022348CC
|
|
MOD80_022348CC: ; 0x022348CC
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #4]
|
|
mov r0, #0x60
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
mov r0, #0x68
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl FUN_02006930
|
|
mov r1, #0x1a
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x3e
|
|
bl FUN_02002EEC
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #0x24]
|
|
bl FUN_02025084
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl FUN_0200CD68
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r2, #0x1f
|
|
mov r3, #0xb
|
|
bl FUN_0200CB00
|
|
ldr r0, _02234954 ; =0x00000FEC
|
|
ldrh r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _02234944
|
|
mov r0, #4
|
|
mov r1, #0
|
|
bl FUN_0201797C
|
|
mov r0, #5
|
|
mov r1, #0
|
|
bl FUN_0201797C
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
bl FUN_0201E74C
|
|
_02234944:
|
|
ldr r0, [r5, #0x20]
|
|
cmp r0, #9
|
|
bne _02234950
|
|
add r0, r5, #0
|
|
bl MOD80_0222F338
|
|
_02234950:
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_02234954: .word 0x00000FEC
|
|
thumb_func_end MOD80_022348CC
|
|
|
|
thumb_func_start MOD80_02234958
|
|
MOD80_02234958: ; 0x02234958
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
mov r0, #0x13
|
|
str r0, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x28
|
|
ldr r1, _02234990 ; =0x00000E98
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
mov r3, #2
|
|
bl FUN_02019064
|
|
ldr r0, _02234990 ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02234990: .word 0x00000E98
|
|
thumb_func_end MOD80_02234958
|
|
|
|
thumb_func_start MOD80_02234994
|
|
MOD80_02234994: ; 0x02234994
|
|
ldr r1, _0223499C ; =0x00000E98
|
|
ldr r3, _022349A0 ; =FUN_02019178
|
|
add r0, r0, r1
|
|
bx r3
|
|
.align 2, 0
|
|
_0223499C: .word 0x00000E98
|
|
_022349A0: .word FUN_02019178
|
|
thumb_func_end MOD80_02234994
|
|
|
|
thumb_func_start MOD80_022349A4
|
|
MOD80_022349A4: ; 0x022349A4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xb4
|
|
mov r1, #0x3e
|
|
bl FUN_020219F4
|
|
ldr r1, _022349B8 ; =0x00000B4C
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
nop
|
|
_022349B8: .word 0x00000B4C
|
|
thumb_func_end MOD80_022349A4
|
|
|
|
thumb_func_start MOD80_022349BC
|
|
MOD80_022349BC: ; 0x022349BC
|
|
ldr r1, _022349C4 ; =0x00000B4C
|
|
ldr r3, _022349C8 ; =FUN_02021A20
|
|
ldr r0, [r0, r1]
|
|
bx r3
|
|
.align 2, 0
|
|
_022349C4: .word 0x00000B4C
|
|
_022349C8: .word FUN_02021A20
|
|
thumb_func_end MOD80_022349BC
|
|
|
|
thumb_func_start MOD80_022349CC
|
|
MOD80_022349CC: ; 0x022349CC
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #0x24]
|
|
cmp r1, #0xc
|
|
bhi _02234AA4
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_022349E4: ; jump table
|
|
.short _02234AA4 - _022349E4 - 2 ; case 0
|
|
.short _02234AA4 - _022349E4 - 2 ; case 1
|
|
.short _02234AA4 - _022349E4 - 2 ; case 2
|
|
.short _02234AA4 - _022349E4 - 2 ; case 3
|
|
.short _02234AA4 - _022349E4 - 2 ; case 4
|
|
.short _02234AA4 - _022349E4 - 2 ; case 5
|
|
.short _02234AA4 - _022349E4 - 2 ; case 6
|
|
.short _022349FE - _022349E4 - 2 ; case 7
|
|
.short _02234A1A - _022349E4 - 2 ; case 8
|
|
.short _02234A36 - _022349E4 - 2 ; case 9
|
|
.short _02234A52 - _022349E4 - 2 ; case 10
|
|
.short _02234A74 - _022349E4 - 2 ; case 11
|
|
.short _02234A8A - _022349E4 - 2 ; case 12
|
|
_022349FE:
|
|
ldr r1, _02234AB4 ; =0x00000F0F
|
|
mov r2, #0x18
|
|
str r1, [sp]
|
|
ldr r1, _02234AB8 ; =0x00000B34
|
|
mov r3, #1
|
|
ldr r1, [r4, r1]
|
|
bl MOD80_02236C70
|
|
add r0, r4, #0
|
|
mov r1, #0x25
|
|
mov r2, #2
|
|
bl MOD80_0222E6DC
|
|
b _02234AA8
|
|
_02234A1A:
|
|
ldr r1, _02234AB4 ; =0x00000F0F
|
|
mov r2, #0x18
|
|
str r1, [sp]
|
|
ldr r1, _02234AB8 ; =0x00000B34
|
|
mov r3, #1
|
|
ldr r1, [r4, r1]
|
|
bl MOD80_02236C70
|
|
add r0, r4, #0
|
|
mov r1, #0x25
|
|
mov r2, #7
|
|
bl MOD80_0222E6DC
|
|
b _02234AA8
|
|
_02234A36:
|
|
ldr r1, _02234AB4 ; =0x00000F0F
|
|
mov r2, #0x18
|
|
str r1, [sp]
|
|
ldr r1, _02234AB8 ; =0x00000B34
|
|
mov r3, #1
|
|
ldr r1, [r4, r1]
|
|
bl MOD80_02236C70
|
|
add r0, r4, #0
|
|
mov r1, #0x25
|
|
mov r2, #0xc
|
|
bl MOD80_0222E6DC
|
|
b _02234AA8
|
|
_02234A52:
|
|
ldr r1, _02234AB4 ; =0x00000F0F
|
|
mov r2, #0x18
|
|
str r1, [sp]
|
|
ldr r1, _02234AB8 ; =0x00000B34
|
|
mov r3, #1
|
|
ldr r1, [r4, r1]
|
|
bl MOD80_02236C70
|
|
add r0, r4, #0
|
|
mov r1, #0x25
|
|
mov r2, #0x12
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _02234ABC ; =0x0000100C
|
|
mov r1, #1
|
|
str r1, [r4, r0]
|
|
b _02234AA8
|
|
_02234A74:
|
|
ldr r1, _02234AB4 ; =0x00000F0F
|
|
mov r2, #0x18
|
|
str r1, [sp]
|
|
ldr r1, _02234AB8 ; =0x00000B34
|
|
mov r3, #0
|
|
ldr r1, [r4, r1]
|
|
bl MOD80_02236C70
|
|
mov r0, #0x18
|
|
str r0, [r4, #0x2c]
|
|
b _02234AA8
|
|
_02234A8A:
|
|
ldr r1, _02234AB4 ; =0x00000F0F
|
|
mov r2, #0x8a
|
|
str r1, [sp]
|
|
ldr r1, _02234AB8 ; =0x00000B34
|
|
mov r3, #1
|
|
ldr r1, [r4, r1]
|
|
bl MOD80_02236C70
|
|
mov r0, #1
|
|
str r0, [r4, #0x18]
|
|
mov r0, #0x1d
|
|
str r0, [r4, #0x2c]
|
|
b _02234AA8
|
|
_02234AA4:
|
|
bl ErrorHandling
|
|
_02234AA8:
|
|
add r0, r4, #0
|
|
bl MOD80_0222E8BC
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_02234AB4: .word 0x00000F0F
|
|
_02234AB8: .word 0x00000B34
|
|
_02234ABC: .word 0x0000100C
|
|
thumb_func_end MOD80_022349CC
|
|
|
|
thumb_func_start MOD80_02234AC0
|
|
MOD80_02234AC0: ; 0x02234AC0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xd4
|
|
bl FUN_0206AA84
|
|
add r0, r4, #0
|
|
add r0, #0xd4
|
|
bl MOD80_0222DBC4
|
|
mov r0, #3
|
|
str r0, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
mov r2, #6
|
|
bl MOD80_02235820
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02234AC0
|
|
|
|
thumb_func_start MOD80_02234AE4
|
|
MOD80_02234AE4: ; 0x02234AE4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DB98
|
|
cmp r0, #0
|
|
beq _02234B5A
|
|
bl MOD80_0222DBB8
|
|
add r1, r0, #0
|
|
add r1, #0xf
|
|
cmp r1, #0xf
|
|
bhi _02234B5A
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02234B08: ; jump table
|
|
.short _02234B4E - _02234B08 - 2 ; case 0
|
|
.short _02234B4E - _02234B08 - 2 ; case 1
|
|
.short _02234B56 - _02234B08 - 2 ; case 2
|
|
.short _02234B46 - _02234B08 - 2 ; case 3
|
|
.short _02234B3E - _02234B08 - 2 ; case 4
|
|
.short _02234B3E - _02234B08 - 2 ; case 5
|
|
.short _02234B3E - _02234B08 - 2 ; case 6
|
|
.short _02234B3E - _02234B08 - 2 ; case 7
|
|
.short _02234B3E - _02234B08 - 2 ; case 8
|
|
.short _02234B3E - _02234B08 - 2 ; case 9
|
|
.short _02234B3E - _02234B08 - 2 ; case 10
|
|
.short _02234B46 - _02234B08 - 2 ; case 11
|
|
.short _02234B5A - _02234B08 - 2 ; case 12
|
|
.short _02234B4E - _02234B08 - 2 ; case 13
|
|
.short _02234B36 - _02234B08 - 2 ; case 14
|
|
.short _02234B28 - _02234B08 - 2 ; case 15
|
|
_02234B28:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD80_02235534
|
|
mov r0, #0x1e
|
|
str r0, [r4, #0x2c]
|
|
b _02234B5A
|
|
_02234B36:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x26
|
|
str r0, [r4, #0x2c]
|
|
b _02234B5A
|
|
_02234B3E:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x27
|
|
str r0, [r4, #0x2c]
|
|
b _02234B5A
|
|
_02234B46:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x27
|
|
str r0, [r4, #0x2c]
|
|
b _02234B5A
|
|
_02234B4E:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x26
|
|
str r0, [r4, #0x2c]
|
|
b _02234B5A
|
|
_02234B56:
|
|
bl FUN_020335E0
|
|
_02234B5A:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02234AE4
|
|
|
|
thumb_func_start MOD80_02234B60
|
|
MOD80_02234B60: ; 0x02234B60
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DC14
|
|
mov r0, #5
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #1
|
|
strh r0, [r4, #0x36]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02234B60
|
|
|
|
thumb_func_start MOD80_02234B74
|
|
MOD80_02234B74: ; 0x02234B74
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DB98
|
|
cmp r0, #0
|
|
beq _02234BD2
|
|
bl MOD80_0222DBB8
|
|
add r1, r0, #0
|
|
add r1, #0xf
|
|
cmp r1, #0xf
|
|
bhi _02234BD2
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02234B98: ; jump table
|
|
.short _02234BC6 - _02234B98 - 2 ; case 0
|
|
.short _02234BC6 - _02234B98 - 2 ; case 1
|
|
.short _02234BCE - _02234B98 - 2 ; case 2
|
|
.short _02234BBE - _02234B98 - 2 ; case 3
|
|
.short _02234BD2 - _02234B98 - 2 ; case 4
|
|
.short _02234BD2 - _02234B98 - 2 ; case 5
|
|
.short _02234BD2 - _02234B98 - 2 ; case 6
|
|
.short _02234BD2 - _02234B98 - 2 ; case 7
|
|
.short _02234BD2 - _02234B98 - 2 ; case 8
|
|
.short _02234BD2 - _02234B98 - 2 ; case 9
|
|
.short _02234BC6 - _02234B98 - 2 ; case 10
|
|
.short _02234BBE - _02234B98 - 2 ; case 11
|
|
.short _02234BC6 - _02234B98 - 2 ; case 12
|
|
.short _02234BC6 - _02234B98 - 2 ; case 13
|
|
.short _02234BC6 - _02234B98 - 2 ; case 14
|
|
.short _02234BB8 - _02234B98 - 2 ; case 15
|
|
_02234BB8:
|
|
mov r0, #0x21
|
|
str r0, [r4, #0x2c]
|
|
b _02234BD2
|
|
_02234BBE:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x27
|
|
str r0, [r4, #0x2c]
|
|
b _02234BD2
|
|
_02234BC6:
|
|
mov r0, #4
|
|
bl FUN_020336A0
|
|
b _02234BD2
|
|
_02234BCE:
|
|
bl FUN_020335E0
|
|
_02234BD2:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02234B74
|
|
|
|
thumb_func_start MOD80_02234BD8
|
|
MOD80_02234BD8: ; 0x02234BD8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xd4
|
|
bl MOD80_0222DC68
|
|
mov r0, #8
|
|
str r0, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
mov r1, #9
|
|
mov r2, #0xb
|
|
bl MOD80_02235820
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02234BD8
|
|
|
|
thumb_func_start MOD80_02234BF4
|
|
MOD80_02234BF4: ; 0x02234BF4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DB98
|
|
cmp r0, #0
|
|
beq _02234C82
|
|
bl MOD80_0222DBB8
|
|
add r1, r0, #0
|
|
add r1, #0xf
|
|
cmp r1, #0xf
|
|
bhi _02234C82
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02234C18: ; jump table
|
|
.short _02234C76 - _02234C18 - 2 ; case 0
|
|
.short _02234C76 - _02234C18 - 2 ; case 1
|
|
.short _02234C7E - _02234C18 - 2 ; case 2
|
|
.short _02234C6E - _02234C18 - 2 ; case 3
|
|
.short _02234C82 - _02234C18 - 2 ; case 4
|
|
.short _02234C82 - _02234C18 - 2 ; case 5
|
|
.short _02234C82 - _02234C18 - 2 ; case 6
|
|
.short _02234C82 - _02234C18 - 2 ; case 7
|
|
.short _02234C82 - _02234C18 - 2 ; case 8
|
|
.short _02234C82 - _02234C18 - 2 ; case 9
|
|
.short _02234C82 - _02234C18 - 2 ; case 10
|
|
.short _02234C68 - _02234C18 - 2 ; case 11
|
|
.short _02234C62 - _02234C18 - 2 ; case 12
|
|
.short _02234C76 - _02234C18 - 2 ; case 13
|
|
.short _02234C82 - _02234C18 - 2 ; case 14
|
|
.short _02234C38 - _02234C18 - 2 ; case 15
|
|
_02234C38:
|
|
ldr r0, _02234C88 ; =0x000001F5
|
|
ldrsb r5, [r4, r0]
|
|
cmp r5, #0
|
|
beq _02234C46
|
|
mov r0, #0x18
|
|
str r0, [r4, #0x2c]
|
|
b _02234C82
|
|
_02234C46:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl FUN_0202AC18
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r1, #0xd4
|
|
add r3, r5, #0
|
|
bl MOD80_022355F0
|
|
mov r0, #0x1e
|
|
str r0, [r4, #0x2c]
|
|
b _02234C82
|
|
_02234C62:
|
|
mov r0, #0x26
|
|
str r0, [r4, #0x2c]
|
|
b _02234C82
|
|
_02234C68:
|
|
mov r0, #0x26
|
|
str r0, [r4, #0x2c]
|
|
b _02234C82
|
|
_02234C6E:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x27
|
|
str r0, [r4, #0x2c]
|
|
b _02234C82
|
|
_02234C76:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x26
|
|
str r0, [r4, #0x2c]
|
|
b _02234C82
|
|
_02234C7E:
|
|
bl FUN_020335E0
|
|
_02234C82:
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02234C88: .word 0x000001F5
|
|
thumb_func_end MOD80_02234BF4
|
|
|
|
thumb_func_start MOD80_02234C8C
|
|
MOD80_02234C8C: ; 0x02234C8C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DD4C
|
|
mov r0, #0xa
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02234C8C
|
|
|
|
thumb_func_start MOD80_02234C9C
|
|
MOD80_02234C9C: ; 0x02234C9C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DB98
|
|
cmp r0, #0
|
|
beq _02234CF8
|
|
bl MOD80_0222DBB8
|
|
add r0, #0xf
|
|
cmp r0, #0xf
|
|
bhi _02234CF8
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234CBE: ; jump table
|
|
.short _02234CEC - _02234CBE - 2 ; case 0
|
|
.short _02234CEC - _02234CBE - 2 ; case 1
|
|
.short _02234CF4 - _02234CBE - 2 ; case 2
|
|
.short _02234CEC - _02234CBE - 2 ; case 3
|
|
.short _02234CF8 - _02234CBE - 2 ; case 4
|
|
.short _02234CF8 - _02234CBE - 2 ; case 5
|
|
.short _02234CF8 - _02234CBE - 2 ; case 6
|
|
.short _02234CF8 - _02234CBE - 2 ; case 7
|
|
.short _02234CF8 - _02234CBE - 2 ; case 8
|
|
.short _02234CF8 - _02234CBE - 2 ; case 9
|
|
.short _02234CE4 - _02234CBE - 2 ; case 10
|
|
.short _02234CE4 - _02234CBE - 2 ; case 11
|
|
.short _02234CE4 - _02234CBE - 2 ; case 12
|
|
.short _02234CEC - _02234CBE - 2 ; case 13
|
|
.short _02234CF8 - _02234CBE - 2 ; case 14
|
|
.short _02234CDE - _02234CBE - 2 ; case 15
|
|
_02234CDE:
|
|
mov r0, #0x21
|
|
str r0, [r4, #0x2c]
|
|
b _02234CF8
|
|
_02234CE4:
|
|
mov r0, #3
|
|
bl FUN_020336A0
|
|
b _02234CF8
|
|
_02234CEC:
|
|
mov r0, #4
|
|
bl FUN_020336A0
|
|
b _02234CF8
|
|
_02234CF4:
|
|
bl FUN_020335E0
|
|
_02234CF8:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02234C9C
|
|
|
|
thumb_func_start MOD80_02234CFC
|
|
MOD80_02234CFC: ; 0x02234CFC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xd4
|
|
bl FUN_0206AA84
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
ldr r1, [r0]
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
mul r0, r1
|
|
add r1, r4, r0
|
|
mov r0, #3
|
|
lsl r0, r0, #8
|
|
ldr r2, _02234D38 ; =0x000009F4
|
|
ldr r0, [r1, r0]
|
|
add r1, r4, #0
|
|
add r1, #0xd4
|
|
add r2, r4, r2
|
|
bl MOD80_0222DE04
|
|
add r0, r4, #0
|
|
mov r1, #0xe
|
|
mov r2, #0x10
|
|
bl MOD80_02235820
|
|
mov r0, #0xd
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02234D38: .word 0x000009F4
|
|
thumb_func_end MOD80_02234CFC
|
|
|
|
thumb_func_start MOD80_02234D3C
|
|
MOD80_02234D3C: ; 0x02234D3C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DB98
|
|
cmp r0, #0
|
|
beq _02234DEE
|
|
bl MOD80_0222DBB8
|
|
add r1, r0, #0
|
|
add r1, #0xf
|
|
cmp r1, #0xf
|
|
bhi _02234DEE
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02234D60: ; jump table
|
|
.short _02234DE2 - _02234D60 - 2 ; case 0
|
|
.short _02234DE2 - _02234D60 - 2 ; case 1
|
|
.short _02234DEA - _02234D60 - 2 ; case 2
|
|
.short _02234DDA - _02234D60 - 2 ; case 3
|
|
.short _02234DD2 - _02234D60 - 2 ; case 4
|
|
.short _02234DD2 - _02234D60 - 2 ; case 5
|
|
.short _02234DD2 - _02234D60 - 2 ; case 6
|
|
.short _02234DD2 - _02234D60 - 2 ; case 7
|
|
.short _02234DD2 - _02234D60 - 2 ; case 8
|
|
.short _02234DD2 - _02234D60 - 2 ; case 9
|
|
.short _02234DCA - _02234D60 - 2 ; case 10
|
|
.short _02234DEE - _02234D60 - 2 ; case 11
|
|
.short _02234DEE - _02234D60 - 2 ; case 12
|
|
.short _02234DE2 - _02234D60 - 2 ; case 13
|
|
.short _02234DEE - _02234D60 - 2 ; case 14
|
|
.short _02234D80 - _02234D60 - 2 ; case 15
|
|
_02234D80:
|
|
mov r0, #0x1e
|
|
str r0, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD80_02235534
|
|
add r2, r4, #0
|
|
add r2, #0xb8
|
|
ldr r1, _02234DF4 ; =0x000009F4
|
|
ldrh r2, [r2]
|
|
add r0, r4, #0
|
|
add r1, r4, r1
|
|
bl MOD80_022356AC
|
|
ldr r0, [r4]
|
|
ldr r1, _02234DF4 ; =0x000009F4
|
|
ldr r0, [r0, #0x18]
|
|
add r1, r4, r1
|
|
bl MOD80_02235784
|
|
ldr r0, [r4]
|
|
mov r1, #0x19
|
|
ldr r0, [r0, #0x28]
|
|
bl FUN_0202A170
|
|
ldr r0, [r4]
|
|
ldr r1, _02234DF4 ; =0x000009F4
|
|
ldr r0, [r0, #0x2c]
|
|
add r1, r4, r1
|
|
bl MOD80_022357A0
|
|
ldr r0, [r4]
|
|
mov r1, #0x18
|
|
ldr r0, [r0, #0x28]
|
|
bl FUN_0202A0E8
|
|
b _02234DEE
|
|
_02234DCA:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x11
|
|
str r0, [r4, #0x2c]
|
|
b _02234DEE
|
|
_02234DD2:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x27
|
|
str r0, [r4, #0x2c]
|
|
b _02234DEE
|
|
_02234DDA:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x27
|
|
str r0, [r4, #0x2c]
|
|
b _02234DEE
|
|
_02234DE2:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x26
|
|
str r0, [r4, #0x2c]
|
|
b _02234DEE
|
|
_02234DEA:
|
|
bl FUN_020335E0
|
|
_02234DEE:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_02234DF4: .word 0x000009F4
|
|
thumb_func_end MOD80_02234D3C
|
|
|
|
thumb_func_start MOD80_02234DF8
|
|
MOD80_02234DF8: ; 0x02234DF8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DE68
|
|
mov r0, #0xf
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02234DF8
|
|
|
|
thumb_func_start MOD80_02234E08
|
|
MOD80_02234E08: ; 0x02234E08
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DB98
|
|
cmp r0, #0
|
|
beq _02234E64
|
|
bl MOD80_0222DBB8
|
|
add r0, #0xf
|
|
cmp r0, #0xf
|
|
bhi _02234E64
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234E2A: ; jump table
|
|
.short _02234E58 - _02234E2A - 2 ; case 0
|
|
.short _02234E58 - _02234E2A - 2 ; case 1
|
|
.short _02234E60 - _02234E2A - 2 ; case 2
|
|
.short _02234E58 - _02234E2A - 2 ; case 3
|
|
.short _02234E64 - _02234E2A - 2 ; case 4
|
|
.short _02234E64 - _02234E2A - 2 ; case 5
|
|
.short _02234E64 - _02234E2A - 2 ; case 6
|
|
.short _02234E64 - _02234E2A - 2 ; case 7
|
|
.short _02234E64 - _02234E2A - 2 ; case 8
|
|
.short _02234E64 - _02234E2A - 2 ; case 9
|
|
.short _02234E50 - _02234E2A - 2 ; case 10
|
|
.short _02234E64 - _02234E2A - 2 ; case 11
|
|
.short _02234E64 - _02234E2A - 2 ; case 12
|
|
.short _02234E58 - _02234E2A - 2 ; case 13
|
|
.short _02234E64 - _02234E2A - 2 ; case 14
|
|
.short _02234E4A - _02234E2A - 2 ; case 15
|
|
_02234E4A:
|
|
mov r0, #0x21
|
|
str r0, [r4, #0x2c]
|
|
b _02234E64
|
|
_02234E50:
|
|
mov r0, #3
|
|
bl FUN_020336A0
|
|
b _02234E64
|
|
_02234E58:
|
|
mov r0, #4
|
|
bl FUN_020336A0
|
|
b _02234E64
|
|
_02234E60:
|
|
bl FUN_020335E0
|
|
_02234E64:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02234E08
|
|
|
|
thumb_func_start MOD80_02234E68
|
|
MOD80_02234E68: ; 0x02234E68
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xd4
|
|
bl MOD80_0222DCB8
|
|
mov r0, #0x19
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02234E68
|
|
|
|
thumb_func_start MOD80_02234E7C
|
|
MOD80_02234E7C: ; 0x02234E7C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DB98
|
|
cmp r0, #0
|
|
beq _02234EE2
|
|
bl MOD80_0222DBB8
|
|
add r1, r0, #0
|
|
add r1, #0xf
|
|
cmp r1, #0x10
|
|
bhi _02234EE2
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02234EA0: ; jump table
|
|
.short _02234FF4 - _02234EA0 - 2 ; case 0
|
|
.short _02234FF4 - _02234EA0 - 2 ; case 1
|
|
.short _02234FFC - _02234EA0 - 2 ; case 2
|
|
.short _02234FF4 - _02234EA0 - 2 ; case 3
|
|
.short _02235006 - _02234EA0 - 2 ; case 4
|
|
.short _02235006 - _02234EA0 - 2 ; case 5
|
|
.short _02235006 - _02234EA0 - 2 ; case 6
|
|
.short _02235006 - _02234EA0 - 2 ; case 7
|
|
.short _02235006 - _02234EA0 - 2 ; case 8
|
|
.short _02235006 - _02234EA0 - 2 ; case 9
|
|
.short _02235006 - _02234EA0 - 2 ; case 10
|
|
.short _02234FA4 - _02234EA0 - 2 ; case 11
|
|
.short _02234F38 - _02234EA0 - 2 ; case 12
|
|
.short _02234FF4 - _02234EA0 - 2 ; case 13
|
|
.short _02235006 - _02234EA0 - 2 ; case 14
|
|
.short _02234EC2 - _02234EA0 - 2 ; case 15
|
|
.short _02234EC8 - _02234EA0 - 2 ; case 16
|
|
_02234EC2:
|
|
mov r0, #0x1a
|
|
str r0, [r4, #0x2c]
|
|
b _02235006
|
|
_02234EC8:
|
|
mov r0, #1
|
|
add r1, r4, #0
|
|
strh r0, [r4, #0x36]
|
|
add r0, r4, #0
|
|
add r1, #0xd4
|
|
bl MOD80_022357DC
|
|
cmp r0, #0
|
|
beq _02234F2C
|
|
cmp r0, #1
|
|
beq _02234EE4
|
|
cmp r0, #2
|
|
beq _02234F08
|
|
_02234EE2:
|
|
b _02235006
|
|
_02234EE4:
|
|
add r0, r4, #0
|
|
bl MOD80_0222E8D8
|
|
ldr r0, _0223500C ; =0x00000F0F
|
|
ldr r1, _02235010 ; =0x00000B34
|
|
str r0, [sp]
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
mov r2, #0x1d
|
|
mov r3, #1
|
|
bl MOD80_02236C70
|
|
add r0, r4, #0
|
|
mov r1, #0x25
|
|
mov r2, #0x1c
|
|
bl MOD80_0222E6DC
|
|
b _02235006
|
|
_02234F08:
|
|
add r0, r4, #0
|
|
bl MOD80_0222E8D8
|
|
ldr r0, _0223500C ; =0x00000F0F
|
|
ldr r1, _02235010 ; =0x00000B34
|
|
str r0, [sp]
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
mov r2, #0x23
|
|
mov r3, #1
|
|
bl MOD80_02236C70
|
|
add r0, r4, #0
|
|
mov r1, #0x25
|
|
mov r2, #0x1c
|
|
bl MOD80_0222E6DC
|
|
b _02235006
|
|
_02234F2C:
|
|
mov r0, #0x12
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _02235014 ; =0x0000100C
|
|
mov r1, #1
|
|
str r1, [r4, r0]
|
|
b _02235006
|
|
_02234F38:
|
|
mov r0, #0
|
|
strh r0, [r4, #0x36]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl FUN_0202ABDC
|
|
cmp r0, #0
|
|
beq _02234F9C
|
|
mov r0, #0x3e
|
|
bl FUN_020669C0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
add r1, r5, #0
|
|
ldr r0, [r0]
|
|
bl FUN_0202ABEC
|
|
add r0, r5, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
mov r0, #0xb3
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl FUN_0200ACF8
|
|
mov r0, #2
|
|
str r0, [r4, #0x28]
|
|
mov r0, #0x22
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl FUN_0202AC18
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r3, #0
|
|
bl MOD80_022355F0
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_0202ABE4
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
b _02235006
|
|
_02234F9C:
|
|
add r0, r4, #0
|
|
bl MOD80_022350C4
|
|
b _02235006
|
|
_02234FA4:
|
|
mov r0, #0
|
|
strh r0, [r4, #0x36]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl FUN_0202ABDC
|
|
cmp r0, #0
|
|
beq _02235006
|
|
mov r0, #0x3e
|
|
bl FUN_020669C0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
add r1, r5, #0
|
|
ldr r0, [r0]
|
|
bl FUN_0202ABEC
|
|
add r0, r5, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
mov r0, #0xb3
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl FUN_0200ACF8
|
|
mov r0, #3
|
|
str r0, [r4, #0x28]
|
|
mov r0, #0x22
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_0202ABE4
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
b _02235006
|
|
_02234FF4:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x26
|
|
str r0, [r4, #0x2c]
|
|
b _02235006
|
|
_02234FFC:
|
|
mov r0, #3
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl FUN_02033F70
|
|
_02235006:
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0223500C: .word 0x00000F0F
|
|
_02235010: .word 0x00000B34
|
|
_02235014: .word 0x0000100C
|
|
thumb_func_end MOD80_02234E7C
|
|
|
|
thumb_func_start MOD80_02235018
|
|
MOD80_02235018: ; 0x02235018
|
|
push {r4, lr}
|
|
mov r1, #1
|
|
mov r2, #0
|
|
add r4, r0, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #0x24
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02235018
|
|
|
|
thumb_func_start MOD80_0223502C
|
|
MOD80_0223502C: ; 0x0223502C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xd4
|
|
bl MOD80_0222DC68
|
|
mov r0, #0x1b
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_0223502C
|
|
|
|
thumb_func_start MOD80_02235040
|
|
MOD80_02235040: ; 0x02235040
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DB98
|
|
cmp r0, #0
|
|
beq _022350BE
|
|
bl MOD80_0222DBB8
|
|
add r1, r0, #0
|
|
add r1, #0xf
|
|
cmp r1, #0xf
|
|
bhi _022350B8
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02235064: ; jump table
|
|
.short _022350AC - _02235064 - 2 ; case 0
|
|
.short _022350AC - _02235064 - 2 ; case 1
|
|
.short _022350B4 - _02235064 - 2 ; case 2
|
|
.short _022350A4 - _02235064 - 2 ; case 3
|
|
.short _022350B8 - _02235064 - 2 ; case 4
|
|
.short _022350B8 - _02235064 - 2 ; case 5
|
|
.short _022350B8 - _02235064 - 2 ; case 6
|
|
.short _022350B8 - _02235064 - 2 ; case 7
|
|
.short _022350B8 - _02235064 - 2 ; case 8
|
|
.short _022350B8 - _02235064 - 2 ; case 9
|
|
.short _022350B8 - _02235064 - 2 ; case 10
|
|
.short _022350B8 - _02235064 - 2 ; case 11
|
|
.short _0223509E - _02235064 - 2 ; case 12
|
|
.short _022350AC - _02235064 - 2 ; case 13
|
|
.short _022350B8 - _02235064 - 2 ; case 14
|
|
.short _02235084 - _02235064 - 2 ; case 15
|
|
_02235084:
|
|
add r0, r4, #0
|
|
bl MOD80_02235830
|
|
cmp r0, #0
|
|
beq _02235098
|
|
mov r0, #0x16
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #0
|
|
strh r0, [r4, #0x36]
|
|
b _022350B8
|
|
_02235098:
|
|
mov r0, #1
|
|
strh r0, [r4, #0x36]
|
|
b _022350B8
|
|
_0223509E:
|
|
mov r0, #0
|
|
strh r0, [r4, #0x36]
|
|
b _022350B8
|
|
_022350A4:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x27
|
|
str r0, [r4, #0x2c]
|
|
b _022350B8
|
|
_022350AC:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x26
|
|
str r0, [r4, #0x2c]
|
|
b _022350B8
|
|
_022350B4:
|
|
bl FUN_020335E0
|
|
_022350B8:
|
|
add r0, r4, #0
|
|
bl MOD80_022350C4
|
|
_022350BE:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02235040
|
|
|
|
thumb_func_start MOD80_022350C4
|
|
MOD80_022350C4: ; 0x022350C4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #0x1c]
|
|
cmp r1, #1
|
|
beq _022350D4
|
|
cmp r1, #2
|
|
beq _022350E2
|
|
pop {r4, pc}
|
|
_022350D4:
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #0x24
|
|
str r0, [r4, #0x2c]
|
|
pop {r4, pc}
|
|
_022350E2:
|
|
mov r1, #2
|
|
mov r2, #3
|
|
bl MOD80_0222E7A8
|
|
mov r0, #0x24
|
|
str r0, [r4, #0x2c]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_022350C4
|
|
|
|
thumb_func_start MOD80_022350F0
|
|
MOD80_022350F0: ; 0x022350F0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl FUN_0202AC18
|
|
ldr r3, _02235154 ; =0x000001F5
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
ldrsb r3, [r4, r3]
|
|
add r0, r4, #0
|
|
add r1, #0xd4
|
|
bl MOD80_022355F0
|
|
ldr r0, [r4]
|
|
add r1, r4, #0
|
|
ldr r0, [r0, #0x18]
|
|
add r1, #0xd4
|
|
bl MOD80_02235784
|
|
ldr r0, [r4]
|
|
mov r1, #0x19
|
|
ldr r0, [r0, #0x28]
|
|
bl FUN_0202A170
|
|
ldr r0, [r4]
|
|
add r1, r4, #0
|
|
ldr r0, [r0, #0x2c]
|
|
add r1, #0xd4
|
|
bl MOD80_022357A0
|
|
ldr r0, [r4]
|
|
mov r1, #0x18
|
|
ldr r0, [r0, #0x28]
|
|
bl FUN_0202A0E8
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_0202ABE4
|
|
mov r0, #0x1e
|
|
str r0, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
mov r1, #0x13
|
|
mov r2, #0xb
|
|
bl MOD80_02235820
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02235154: .word 0x000001F5
|
|
thumb_func_end MOD80_022350F0
|
|
|
|
thumb_func_start MOD80_02235158
|
|
MOD80_02235158: ; 0x02235158
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DD08
|
|
mov r0, #0x14
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02235158
|
|
|
|
thumb_func_start MOD80_02235168
|
|
MOD80_02235168: ; 0x02235168
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DB98
|
|
cmp r0, #0
|
|
beq _022351C8
|
|
bl MOD80_0222DBB8
|
|
add r1, r0, #0
|
|
add r1, #0xf
|
|
cmp r1, #0xf
|
|
bhi _022351C8
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_0223518C: ; jump table
|
|
.short _022351BC - _0223518C - 2 ; case 0
|
|
.short _022351BC - _0223518C - 2 ; case 1
|
|
.short _022351C4 - _0223518C - 2 ; case 2
|
|
.short _022351BA - _0223518C - 2 ; case 3
|
|
.short _022351C8 - _0223518C - 2 ; case 4
|
|
.short _022351C8 - _0223518C - 2 ; case 5
|
|
.short _022351C8 - _0223518C - 2 ; case 6
|
|
.short _022351C8 - _0223518C - 2 ; case 7
|
|
.short _022351C8 - _0223518C - 2 ; case 8
|
|
.short _022351C8 - _0223518C - 2 ; case 9
|
|
.short _022351C8 - _0223518C - 2 ; case 10
|
|
.short _022351BA - _0223518C - 2 ; case 11
|
|
.short _022351B2 - _0223518C - 2 ; case 12
|
|
.short _022351BC - _0223518C - 2 ; case 13
|
|
.short _022351C8 - _0223518C - 2 ; case 14
|
|
.short _022351AC - _0223518C - 2 ; case 15
|
|
_022351AC:
|
|
mov r0, #0x21
|
|
str r0, [r4, #0x2c]
|
|
b _022351C8
|
|
_022351B2:
|
|
mov r0, #3
|
|
bl FUN_020336A0
|
|
b _022351C8
|
|
_022351BA:
|
|
str r0, [r4, #0x3c]
|
|
_022351BC:
|
|
mov r0, #4
|
|
bl FUN_020336A0
|
|
b _022351C8
|
|
_022351C4:
|
|
bl FUN_020335E0
|
|
_022351C8:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02235168
|
|
|
|
thumb_func_start MOD80_022351CC
|
|
MOD80_022351CC: ; 0x022351CC
|
|
mov r0, #3
|
|
bx lr
|
|
thumb_func_end MOD80_022351CC
|
|
|
|
thumb_func_start MOD80_022351D0
|
|
MOD80_022351D0: ; 0x022351D0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #1
|
|
strh r1, [r4, #0x36]
|
|
mov r1, #9
|
|
mov r2, #7
|
|
bl MOD80_0222E7A8
|
|
mov r0, #0x24
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_022351D0
|
|
|
|
thumb_func_start MOD80_022351E8
|
|
MOD80_022351E8: ; 0x022351E8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
strh r1, [r4, #0x36]
|
|
mov r1, #9
|
|
mov r2, #8
|
|
bl MOD80_0222E7A8
|
|
mov r0, #0x24
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_022351E8
|
|
|
|
thumb_func_start MOD80_02235200
|
|
MOD80_02235200: ; 0x02235200
|
|
push {r4, lr}
|
|
mov r1, #9
|
|
add r2, r1, #0
|
|
add r4, r0, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #0x24
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02235200
|
|
|
|
thumb_func_start MOD80_02235214
|
|
MOD80_02235214: ; 0x02235214
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
strh r1, [r4, #0x36]
|
|
mov r1, #9
|
|
mov r2, #0xa
|
|
bl MOD80_0222E7A8
|
|
mov r0, #0x1e
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02235214
|
|
|
|
thumb_func_start MOD80_0223522C
|
|
MOD80_0223522C: ; 0x0223522C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DD4C
|
|
mov r0, #0x17
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_0223522C
|
|
|
|
thumb_func_start MOD80_0223523C
|
|
MOD80_0223523C: ; 0x0223523C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DB98
|
|
cmp r0, #0
|
|
beq _022352A6
|
|
bl MOD80_0222DBB8
|
|
add r0, #0xf
|
|
cmp r0, #0xf
|
|
bhi _022352A6
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0223525E: ; jump table
|
|
.short _0223529A - _0223525E - 2 ; case 0
|
|
.short _0223529A - _0223525E - 2 ; case 1
|
|
.short _022352A2 - _0223525E - 2 ; case 2
|
|
.short _0223529A - _0223525E - 2 ; case 3
|
|
.short _022352A6 - _0223525E - 2 ; case 4
|
|
.short _022352A6 - _0223525E - 2 ; case 5
|
|
.short _022352A6 - _0223525E - 2 ; case 6
|
|
.short _022352A6 - _0223525E - 2 ; case 7
|
|
.short _022352A6 - _0223525E - 2 ; case 8
|
|
.short _022352A6 - _0223525E - 2 ; case 9
|
|
.short _02235292 - _0223525E - 2 ; case 10
|
|
.short _0223528C - _0223525E - 2 ; case 11
|
|
.short _02235286 - _0223525E - 2 ; case 12
|
|
.short _0223529A - _0223525E - 2 ; case 13
|
|
.short _022352A6 - _0223525E - 2 ; case 14
|
|
.short _0223527E - _0223525E - 2 ; case 15
|
|
_0223527E:
|
|
add r0, r4, #0
|
|
bl MOD80_022350C4
|
|
b _022352A6
|
|
_02235286:
|
|
add r0, r4, #0
|
|
bl MOD80_022350C4
|
|
_0223528C:
|
|
add r0, r4, #0
|
|
bl MOD80_022350C4
|
|
_02235292:
|
|
mov r0, #3
|
|
bl FUN_020336A0
|
|
b _022352A6
|
|
_0223529A:
|
|
mov r0, #4
|
|
bl FUN_020336A0
|
|
b _022352A6
|
|
_022352A2:
|
|
bl FUN_020335E0
|
|
_022352A6:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_0223523C
|
|
|
|
thumb_func_start MOD80_022352AC
|
|
MOD80_022352AC: ; 0x022352AC
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r1, _022352E8 ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
ldr r1, _022352EC ; =0x00000B34
|
|
mov r2, #0x89
|
|
ldr r1, [r4, r1]
|
|
mov r3, #1
|
|
bl MOD80_02236C70
|
|
add r0, r4, #0
|
|
mov r1, #0x25
|
|
mov r2, #0x24
|
|
bl MOD80_0222E6DC
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
add r0, r4, #0
|
|
bl MOD80_0222E8D8
|
|
add r0, r4, #0
|
|
bl MOD80_02235C40
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_022352E8: .word 0x00000F0F
|
|
_022352EC: .word 0x00000B34
|
|
thumb_func_end MOD80_022352AC
|
|
|
|
thumb_func_start MOD80_022352F0
|
|
MOD80_022352F0: ; 0x022352F0
|
|
push {r3, lr}
|
|
ldr r1, [r0, #0x3c]
|
|
mov r2, #0x90
|
|
add r1, #0xf
|
|
cmp r1, #0xe
|
|
bhi _02235330
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02235308: ; jump table
|
|
.short _02235330 - _02235308 - 2 ; case 0
|
|
.short _0223532E - _02235308 - 2 ; case 1
|
|
.short _02235330 - _02235308 - 2 ; case 2
|
|
.short _02235330 - _02235308 - 2 ; case 3
|
|
.short _02235326 - _02235308 - 2 ; case 4
|
|
.short _02235326 - _02235308 - 2 ; case 5
|
|
.short _02235326 - _02235308 - 2 ; case 6
|
|
.short _02235326 - _02235308 - 2 ; case 7
|
|
.short _02235326 - _02235308 - 2 ; case 8
|
|
.short _02235326 - _02235308 - 2 ; case 9
|
|
.short _02235330 - _02235308 - 2 ; case 10
|
|
.short _02235330 - _02235308 - 2 ; case 11
|
|
.short _02235330 - _02235308 - 2 ; case 12
|
|
.short _0223532E - _02235308 - 2 ; case 13
|
|
.short _0223532A - _02235308 - 2 ; case 14
|
|
_02235326:
|
|
mov r2, #0x1a
|
|
b _02235330
|
|
_0223532A:
|
|
mov r2, #0x8d
|
|
b _02235330
|
|
_0223532E:
|
|
mov r2, #0x92
|
|
_02235330:
|
|
ldr r1, _02235340 ; =0x00000F0F
|
|
mov r3, #1
|
|
str r1, [sp]
|
|
ldr r1, _02235344 ; =0x00000B34
|
|
ldr r1, [r0, r1]
|
|
bl MOD80_02236C70
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_02235340: .word 0x00000F0F
|
|
_02235344: .word 0x00000B34
|
|
thumb_func_end MOD80_022352F0
|
|
|
|
thumb_func_start MOD80_02235348
|
|
MOD80_02235348: ; 0x02235348
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_022352F0
|
|
add r0, r4, #0
|
|
mov r1, #0x25
|
|
mov r2, #0x24
|
|
bl MOD80_0222E6DC
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl MOD80_0222E7A8
|
|
add r0, r4, #0
|
|
bl MOD80_0222E8D8
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02235348
|
|
|
|
thumb_func_start MOD80_02235370
|
|
MOD80_02235370: ; 0x02235370
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_022352F0
|
|
add r0, r4, #0
|
|
mov r1, #0x25
|
|
mov r2, #0x24
|
|
bl MOD80_0222E6DC
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
add r0, r4, #0
|
|
bl MOD80_0222E8D8
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02235370
|
|
|
|
thumb_func_start MOD80_02235398
|
|
MOD80_02235398: ; 0x02235398
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #0x25
|
|
mov r2, #0x1e
|
|
bl MOD80_0222E6DC
|
|
add r0, r4, #0
|
|
mov r1, #0x21
|
|
mov r2, #0x24
|
|
bl MOD80_02235820
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02235398
|
|
|
|
thumb_func_start MOD80_022353B4
|
|
MOD80_022353B4: ; 0x022353B4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl FUN_02022830
|
|
ldr r0, [r4]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x20]
|
|
bl FUN_02022840
|
|
mov r0, #0x1f
|
|
str r0, [r4, #0x2c]
|
|
bl rand_LC
|
|
ldr r1, _022353EC ; =0x00000445
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
cmp r5, #0x3c
|
|
blo _022353E0
|
|
bl ErrorHandling
|
|
_022353E0:
|
|
ldr r0, _022353F0 ; =0x00000FDC
|
|
add r1, r5, #2
|
|
str r1, [r4, r0]
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_022353EC: .word 0x00000445
|
|
_022353F0: .word 0x00000FDC
|
|
thumb_func_end MOD80_022353B4
|
|
|
|
thumb_func_start MOD80_022353F4
|
|
MOD80_022353F4: ; 0x022353F4
|
|
ldr r1, _0223540C ; =0x00000FDC
|
|
ldr r2, [r0, r1]
|
|
sub r2, r2, #1
|
|
str r2, [r0, r1]
|
|
ldr r1, [r0, r1]
|
|
cmp r1, #0
|
|
bne _02235406
|
|
mov r1, #0x20
|
|
str r1, [r0, #0x2c]
|
|
_02235406:
|
|
mov r0, #3
|
|
bx lr
|
|
nop
|
|
_0223540C: .word 0x00000FDC
|
|
thumb_func_end MOD80_022353F4
|
|
|
|
thumb_func_start MOD80_02235410
|
|
MOD80_02235410: ; 0x02235410
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x20]
|
|
bl FUN_02022854
|
|
cmp r0, #1
|
|
bne _02235426
|
|
ldr r0, _0223542C ; =0x00000FE4
|
|
ldrh r0, [r4, r0]
|
|
str r0, [r4, #0x2c]
|
|
_02235426:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_0223542C: .word 0x00000FE4
|
|
thumb_func_end MOD80_02235410
|
|
|
|
thumb_func_start MOD80_02235430
|
|
MOD80_02235430: ; 0x02235430
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x20]
|
|
bl FUN_02022854
|
|
cmp r0, #2
|
|
bne _0223544C
|
|
ldr r0, _02235450 ; =0x00000FE6
|
|
ldrh r0, [r4, r0]
|
|
str r0, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
bl MOD80_0222E8D8
|
|
_0223544C:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02235450: .word 0x00000FE6
|
|
thumb_func_end MOD80_02235430
|
|
|
|
thumb_func_start MOD80_02235454
|
|
MOD80_02235454: ; 0x02235454
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl FUN_02022830
|
|
ldr r0, [r4]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x20]
|
|
bl FUN_02022840
|
|
mov r0, #0x23
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02235454
|
|
|
|
thumb_func_start MOD80_02235470
|
|
MOD80_02235470: ; 0x02235470
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x20]
|
|
bl FUN_02022854
|
|
cmp r0, #2
|
|
bne _022354AE
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
add r0, r4, #0
|
|
bl MOD80_0222E8D8
|
|
ldr r0, _022354B4 ; =0x00000F0F
|
|
ldr r1, _022354B8 ; =0x00000B34
|
|
str r0, [sp]
|
|
ldr r1, [r4, r1]
|
|
ldr r2, [r4, #0x28]
|
|
add r0, r4, #0
|
|
mov r3, #1
|
|
bl MOD80_02236C70
|
|
add r0, r4, #0
|
|
mov r1, #0x25
|
|
mov r2, #0x1c
|
|
bl MOD80_0222E6DC
|
|
_022354AE:
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_022354B4: .word 0x00000F0F
|
|
_022354B8: .word 0x00000B34
|
|
thumb_func_end MOD80_02235470
|
|
|
|
thumb_func_start MOD80_022354BC
|
|
MOD80_022354BC: ; 0x022354BC
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
bl MOD80_0222E8D8
|
|
bl FUN_02033ED0
|
|
ldr r0, _02235510 ; =0x0000100C
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _022354EC
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl FUN_0200E1D0
|
|
b _02235504
|
|
_022354EC:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl FUN_0200E1D0
|
|
_02235504:
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #4
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02235510: .word 0x0000100C
|
|
thumb_func_end MOD80_022354BC
|
|
|
|
thumb_func_start MOD80_02235514
|
|
MOD80_02235514: ; 0x02235514
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _0223552E
|
|
ldr r0, [r4, #0x30]
|
|
str r0, [r4, #0x2c]
|
|
_0223552E:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02235514
|
|
|
|
thumb_func_start MOD80_02235534
|
|
MOD80_02235534: ; 0x02235534
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r0, #0xb8
|
|
ldrh r0, [r0]
|
|
add r6, r1, #0
|
|
cmp r0, #0x12
|
|
beq _02235590
|
|
mov r0, #0x3e
|
|
bl FUN_020669C0
|
|
add r1, r5, #0
|
|
add r2, r5, #0
|
|
add r4, r0, #0
|
|
ldr r0, [r5]
|
|
add r1, #0xb8
|
|
add r2, #0xba
|
|
ldrh r1, [r1]
|
|
ldrh r2, [r2]
|
|
ldr r0, [r0, #0xc]
|
|
bl FUN_0206B5E4
|
|
add r1, r4, #0
|
|
bl FUN_02069A64
|
|
add r2, r5, #0
|
|
ldr r0, [r5]
|
|
add r2, #0xb8
|
|
ldrh r2, [r2]
|
|
ldr r0, [r0]
|
|
add r1, r4, #0
|
|
bl FUN_0202ABF8
|
|
add r1, r5, #0
|
|
add r2, r5, #0
|
|
ldr r0, [r5]
|
|
add r1, #0xb8
|
|
add r2, #0xba
|
|
ldrh r1, [r1]
|
|
ldrh r2, [r2]
|
|
ldr r0, [r0, #0xc]
|
|
bl FUN_0206B2FC
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
b _022355DC
|
|
_02235590:
|
|
add r1, r5, #0
|
|
ldr r0, [r5]
|
|
add r1, #0xba
|
|
ldrh r1, [r1]
|
|
ldr r0, [r0, #8]
|
|
bl FUN_0206B9B0
|
|
add r4, r0, #0
|
|
bl FUN_0206AA84
|
|
add r2, r5, #0
|
|
ldr r0, [r5]
|
|
add r2, #0xb8
|
|
ldrh r2, [r2]
|
|
ldr r0, [r0]
|
|
add r1, r4, #0
|
|
bl FUN_0202ABF8
|
|
add r1, r5, #0
|
|
ldr r0, [r5]
|
|
add r1, #0xba
|
|
ldrh r1, [r1]
|
|
ldr r0, [r0, #8]
|
|
bl FUN_0206B938
|
|
ldr r0, [r5]
|
|
ldr r1, _022355EC ; =0x000001B9
|
|
ldr r0, [r0, #8]
|
|
bl FUN_0206BAE4
|
|
cmp r0, #0
|
|
bne _022355DC
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #0x20]
|
|
bl FUN_02029EF8
|
|
bl FUN_02029F08
|
|
_022355DC:
|
|
cmp r6, #0
|
|
beq _022355EA
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
bl FUN_0202ABE4
|
|
_022355EA:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_022355EC: .word 0x000001B9
|
|
thumb_func_end MOD80_02235534
|
|
|
|
thumb_func_start MOD80_022355F0
|
|
MOD80_022355F0: ; 0x022355F0
|
|
push {r0, r1, r2, r3}
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
mov r2, #0
|
|
add r6, r3, #0
|
|
bl FUN_020671BC
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
ldr r0, [r0, #0x20]
|
|
bl FUN_0202C144
|
|
mov r0, #0x12
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #8]
|
|
bl FUN_0206B9AC
|
|
cmp r0, #6
|
|
bne _02235624
|
|
mov r0, #0
|
|
str r0, [sp, #0x20]
|
|
_02235624:
|
|
cmp r6, #0
|
|
beq _02235640
|
|
mov r1, #0x46
|
|
add r0, sp, #0
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #9
|
|
add r2, sp, #0
|
|
bl FUN_02067830
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl MOD80_02235754
|
|
_02235640:
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #0x12
|
|
bne _02235664
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
ldr r0, [r0, #8]
|
|
bl FUN_0206B900
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #8]
|
|
bl FUN_0206B9AC
|
|
add r1, r5, #0
|
|
mov r2, #0x12
|
|
add r1, #0xcc
|
|
str r2, [r1]
|
|
sub r1, r0, #1
|
|
b _02235690
|
|
_02235664:
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
add r1, sp, #0x20
|
|
ldr r0, [r0, #0xc]
|
|
add r2, sp, #4
|
|
bl FUN_0206B384
|
|
add r0, r4, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r1, [sp, #0x20]
|
|
ldr r0, [r0, #0xc]
|
|
bl FUN_0206B244
|
|
add r0, r5, #0
|
|
ldr r1, [sp, #0x20]
|
|
add r0, #0xcc
|
|
str r1, [r0]
|
|
ldr r1, [sp, #4]
|
|
_02235690:
|
|
add r0, r5, #0
|
|
add r0, #0xd0
|
|
str r1, [r0]
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_0202ABE4
|
|
add sp, #8
|
|
pop {r4, r5, r6}
|
|
pop {r3}
|
|
add sp, #0x10
|
|
bx r3
|
|
.align 2, 0
|
|
thumb_func_end MOD80_022355F0
|
|
|
|
thumb_func_start MOD80_022356AC
|
|
MOD80_022356AC: ; 0x022356AC
|
|
push {r0, r1, r2, r3}
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
ldr r0, [r0, #0x20]
|
|
bl FUN_0202C144
|
|
mov r0, #0x12
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #8]
|
|
bl FUN_0206B9AC
|
|
cmp r0, #6
|
|
bne _022356D2
|
|
mov r0, #0
|
|
str r0, [sp, #0x20]
|
|
_022356D2:
|
|
mov r1, #0x46
|
|
add r0, sp, #0
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #9
|
|
add r2, sp, #0
|
|
bl FUN_02067830
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #0x12
|
|
bne _02235706
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
ldr r0, [r0, #8]
|
|
bl FUN_0206B900
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #8]
|
|
bl FUN_0206B9AC
|
|
add r1, r5, #0
|
|
mov r2, #0x12
|
|
add r1, #0xcc
|
|
str r2, [r1]
|
|
sub r1, r0, #1
|
|
b _02235732
|
|
_02235706:
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
add r1, sp, #0x20
|
|
ldr r0, [r0, #0xc]
|
|
add r2, sp, #4
|
|
bl FUN_0206B384
|
|
add r0, r4, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r1, [sp, #0x20]
|
|
ldr r0, [r0, #0xc]
|
|
bl FUN_0206B244
|
|
add r0, r5, #0
|
|
ldr r1, [sp, #0x20]
|
|
add r0, #0xcc
|
|
str r1, [r0]
|
|
ldr r1, [sp, #4]
|
|
_02235732:
|
|
add r0, r5, #0
|
|
add r0, #0xd0
|
|
str r1, [r0]
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl FUN_0202ABE4
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl MOD80_02235754
|
|
add sp, #8
|
|
pop {r3, r4, r5}
|
|
pop {r3}
|
|
add sp, #0x10
|
|
bx r3
|
|
thumb_func_end MOD80_022356AC
|
|
|
|
thumb_func_start MOD80_02235754
|
|
MOD80_02235754: ; 0x02235754
|
|
push {r3, r4, lr}
|
|
sub sp, #0x1c
|
|
add r4, r0, #0
|
|
add r0, sp, #0xc
|
|
add r1, sp, #0
|
|
bl MOD04_021DE1F8
|
|
ldr r1, [sp, #0x14]
|
|
ldr r3, [sp, #0xc]
|
|
add r0, r4, #0
|
|
lsl r4, r3, #0x18
|
|
ldr r3, [sp, #0x10]
|
|
lsl r1, r1, #0x18
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #8
|
|
ldr r2, [sp, #0x18]
|
|
lsr r1, r1, #0x10
|
|
orr r3, r4
|
|
orr r1, r3
|
|
orr r1, r2
|
|
bl FUN_0202AC10
|
|
add sp, #0x1c
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD80_02235754
|
|
|
|
thumb_func_start MOD80_02235784
|
|
MOD80_02235784: ; 0x02235784
|
|
push {r4, lr}
|
|
ldr r3, _0223579C ; =0x0000011E
|
|
add r4, r1, #0
|
|
add r2, r3, #1
|
|
ldrb r1, [r4, r3]
|
|
add r3, r3, #5
|
|
ldrb r2, [r4, r2]
|
|
ldrb r3, [r4, r3]
|
|
bl FUN_020337C8
|
|
pop {r4, pc}
|
|
nop
|
|
_0223579C: .word 0x0000011E
|
|
thumb_func_end MOD80_02235784
|
|
|
|
thumb_func_start MOD80_022357A0
|
|
MOD80_022357A0: ; 0x022357A0
|
|
push {r4, r5, lr}
|
|
sub sp, #0x1c
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #0x74
|
|
add r2, sp, #4
|
|
bl FUN_020671BC
|
|
add r0, r4, #0
|
|
bl FUN_020689E0
|
|
add r3, r0, #0
|
|
mov r0, #0x3e
|
|
str r0, [sp]
|
|
add r0, #0xce
|
|
add r0, r4, r0
|
|
add r4, #0xf6
|
|
ldrb r1, [r4]
|
|
add r2, sp, #4
|
|
bl FUN_0202952C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
mov r2, #4
|
|
bl FUN_02028AD4
|
|
add sp, #0x1c
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_022357A0
|
|
|
|
thumb_func_start MOD80_022357DC
|
|
MOD80_022357DC: ; 0x022357DC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, r1, #0
|
|
bl MOD80_022331F8
|
|
cmp r0, #0
|
|
beq _022357FA
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #8]
|
|
bl FUN_0206B9AC
|
|
cmp r0, #6
|
|
bne _022357FA
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
_022357FA:
|
|
ldr r0, _0223581C ; =0x00001008
|
|
ldrh r1, [r4, r0]
|
|
mov r0, #0x87
|
|
lsl r0, r0, #2
|
|
cmp r1, r0
|
|
bne _02235816
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #8]
|
|
bl FUN_0206B9AC
|
|
cmp r0, #6
|
|
bne _02235816
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02235816:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_0223581C: .word 0x00001008
|
|
thumb_func_end MOD80_022357DC
|
|
|
|
thumb_func_start MOD80_02235820
|
|
MOD80_02235820: ; 0x02235820
|
|
ldr r3, _0223582C ; =0x00000FE4
|
|
strh r1, [r0, r3]
|
|
add r1, r3, #2
|
|
strh r2, [r0, r1]
|
|
bx lr
|
|
nop
|
|
_0223582C: .word 0x00000FE4
|
|
thumb_func_end MOD80_02235820
|
|
|
|
thumb_func_start MOD80_02235830
|
|
MOD80_02235830: ; 0x02235830
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl FUN_0202ABDC
|
|
cmp r0, #0
|
|
bne _0223584A
|
|
ldrh r0, [r4, #0x36]
|
|
cmp r0, #0
|
|
beq _0223584A
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_0223584A:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02235830
|
|
|
|
thumb_func_start MOD80_02235850
|
|
MOD80_02235850: ; 0x02235850
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD80_02235C88
|
|
ldr r2, _022358F0 ; =0x00000D14
|
|
add r0, sp, #0
|
|
add r1, r5, #0
|
|
add r2, r5, r2
|
|
mov r3, #2
|
|
bl MOD80_0222E5E8
|
|
mov r0, #2
|
|
str r0, [sp, #0x28]
|
|
lsl r0, r0, #0x12
|
|
str r0, [sp, #8]
|
|
ldr r0, _022358F4 ; =0x00182000
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0
|
|
bl FUN_0201FE94
|
|
mov r1, #0xe7
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, r1]
|
|
mov r1, #1
|
|
bl FUN_020200BC
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #4
|
|
mov r1, #7
|
|
mul r1, r4
|
|
ldr r0, [r5, r0]
|
|
add r1, r1, #3
|
|
bl FUN_02020130
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
ldr r4, _022358F8 ; =0x022375A6
|
|
mov r7, #0
|
|
mov r6, #0xe
|
|
_022358AC:
|
|
add r0, sp, #0
|
|
bl FUN_0201FE94
|
|
ldr r1, _022358FC ; =0x00000E74
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl FUN_020200BC
|
|
ldr r0, _022358FC ; =0x00000E74
|
|
add r1, r6, #0
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02020130
|
|
ldr r0, _022358FC ; =0x00000E74
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl FUN_020200A0
|
|
ldr r0, _022358FC ; =0x00000E74
|
|
ldrh r1, [r4]
|
|
ldrh r2, [r4, #2]
|
|
ldr r0, [r5, r0]
|
|
bl MOD80_02235AFC
|
|
add r7, r7, #1
|
|
add r5, r5, #4
|
|
add r6, r6, #4
|
|
add r4, r4, #4
|
|
cmp r7, #7
|
|
blt _022358AC
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_022358F0: .word 0x00000D14
|
|
_022358F4: .word 0x00182000
|
|
_022358F8: .word 0x022375A6
|
|
_022358FC: .word 0x00000E74
|
|
thumb_func_end MOD80_02235850
|
|
|
|
thumb_func_start MOD80_02235900
|
|
MOD80_02235900: ; 0x02235900
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MOD80_02235850
|
|
ldr r0, _0223593C ; =MOD80_02235964
|
|
mov r1, #0x10
|
|
mov r2, #5
|
|
mov r3, #0x3e
|
|
bl FUN_020061E8
|
|
ldr r1, _02235940 ; =0x00000FE8
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, r1]
|
|
bl FUN_0201B6C8
|
|
mov r1, #0
|
|
add r2, r1, #0
|
|
str r1, [r0]
|
|
sub r2, #0x28
|
|
str r2, [r0, #4]
|
|
str r4, [r0, #8]
|
|
str r5, [r0, #0xc]
|
|
bl MOD80_02235948
|
|
ldr r0, _02235944 ; =0x0000062F
|
|
bl FUN_020054C8
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0223593C: .word MOD80_02235964
|
|
_02235940: .word 0x00000FE8
|
|
_02235944: .word 0x0000062F
|
|
thumb_func_end MOD80_02235900
|
|
|
|
thumb_func_start MOD80_02235948
|
|
MOD80_02235948: ; 0x02235948
|
|
add r3, r0, #0
|
|
ldr r2, [r3, #0xc]
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #4
|
|
ldr r0, [r2, r0]
|
|
ldr r3, [r3, #8]
|
|
mov r2, #7
|
|
mul r2, r3
|
|
ldr r3, _02235960 ; =FUN_02020130
|
|
add r1, r1, r2
|
|
bx r3
|
|
nop
|
|
_02235960: .word FUN_02020130
|
|
thumb_func_end MOD80_02235948
|
|
|
|
thumb_func_start MOD80_02235964
|
|
MOD80_02235964: ; 0x02235964
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r5, [r4, #0xc]
|
|
cmp r0, #3
|
|
bhi _02235A06
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0223597E: ; jump table
|
|
.short _02235986 - _0223597E - 2 ; case 0
|
|
.short _022359AE - _0223597E - 2 ; case 1
|
|
.short _022359CA - _0223597E - 2 ; case 2
|
|
.short _022359F2 - _0223597E - 2 ; case 3
|
|
_02235986:
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #0xa0
|
|
ble _0223599A
|
|
mov r0, #0xa0
|
|
str r0, [r4, #4]
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
str r1, [r4]
|
|
bl MOD80_02235948
|
|
_0223599A:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x80
|
|
add r2, r0, #5
|
|
mov r0, #0xe7
|
|
str r2, [r4, #4]
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl MOD80_02235AFC
|
|
pop {r4, r5, r6, pc}
|
|
_022359AE:
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02020388
|
|
cmp r0, #0
|
|
bne _02235A06
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl MOD80_02235948
|
|
mov r0, #2
|
|
str r0, [r4]
|
|
pop {r4, r5, r6, pc}
|
|
_022359CA:
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #0x82
|
|
bge _022359DE
|
|
mov r0, #0x82
|
|
str r0, [r4, #4]
|
|
mov r1, #3
|
|
add r0, r4, #0
|
|
str r1, [r4]
|
|
bl MOD80_02235948
|
|
_022359DE:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x80
|
|
sub r2, r0, #2
|
|
mov r0, #0xe7
|
|
str r2, [r4, #4]
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl MOD80_02235AFC
|
|
pop {r4, r5, r6, pc}
|
|
_022359F2:
|
|
ldr r0, _02235A08 ; =0x0000060D
|
|
bl FUN_020054C8
|
|
ldr r1, [r4, #0xc]
|
|
ldr r0, _02235A0C ; =0x00000FEC
|
|
mov r2, #1
|
|
strh r2, [r1, r0]
|
|
add r0, r6, #0
|
|
bl FUN_0200621C
|
|
_02235A06:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02235A08: .word 0x0000060D
|
|
_02235A0C: .word 0x00000FEC
|
|
thumb_func_end MOD80_02235964
|
|
|
|
thumb_func_start MOD80_02235A10
|
|
MOD80_02235A10: ; 0x02235A10
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldr r0, _02235A48 ; =MOD80_02235A54
|
|
mov r1, #0x10
|
|
mov r2, #5
|
|
mov r3, #0x3e
|
|
bl FUN_020061E8
|
|
ldr r1, _02235A4C ; =0x00000FE8
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, r1]
|
|
bl FUN_0201B6C8
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
mov r1, #0x82
|
|
str r1, [r0, #4]
|
|
str r4, [r0, #8]
|
|
mov r1, #5
|
|
str r5, [r0, #0xc]
|
|
bl MOD80_02235948
|
|
ldr r0, _02235A50 ; =0x0000060E
|
|
bl FUN_020054C8
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02235A48: .word MOD80_02235A54
|
|
_02235A4C: .word 0x00000FE8
|
|
_02235A50: .word 0x0000060E
|
|
thumb_func_end MOD80_02235A10
|
|
|
|
thumb_func_start MOD80_02235A54
|
|
MOD80_02235A54: ; 0x02235A54
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
ldr r5, [r4, #0xc]
|
|
cmp r1, #3
|
|
bhi _02235AF4
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02235A6C: ; jump table
|
|
.short _02235A74 - _02235A6C - 2 ; case 0
|
|
.short _02235A9E - _02235A6C - 2 ; case 1
|
|
.short _02235AC2 - _02235A6C - 2 ; case 2
|
|
.short _02235AEA - _02235A6C - 2 ; case 3
|
|
_02235A74:
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #0xa0
|
|
ble _02235A8A
|
|
mov r0, #0xa0
|
|
str r0, [r4, #4]
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl MOD80_02235948
|
|
_02235A8A:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x80
|
|
add r2, r0, #2
|
|
mov r0, #0xe7
|
|
str r2, [r4, #4]
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl MOD80_02235AFC
|
|
pop {r3, r4, r5, pc}
|
|
_02235A9E:
|
|
mov r0, #0xe7
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02020388
|
|
cmp r0, #0
|
|
bne _02235AF4
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD80_02235948
|
|
mov r0, #2
|
|
str r0, [r4]
|
|
mov r0, #0x63
|
|
lsl r0, r0, #4
|
|
bl FUN_020054C8
|
|
pop {r3, r4, r5, pc}
|
|
_02235AC2:
|
|
mov r0, #0x13
|
|
ldr r1, [r4, #4]
|
|
mvn r0, r0
|
|
cmp r1, r0
|
|
bge _02235AD6
|
|
mov r1, #3
|
|
add r0, r4, #0
|
|
str r1, [r4]
|
|
bl MOD80_02235948
|
|
_02235AD6:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x80
|
|
sub r2, r0, #5
|
|
mov r0, #0xe7
|
|
str r2, [r4, #4]
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl MOD80_02235AFC
|
|
pop {r3, r4, r5, pc}
|
|
_02235AEA:
|
|
ldr r1, _02235AF8 ; =0x00000FEC
|
|
mov r2, #1
|
|
strh r2, [r5, r1]
|
|
bl FUN_0200621C
|
|
_02235AF4:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02235AF8: .word 0x00000FEC
|
|
thumb_func_end MOD80_02235A54
|
|
|
|
thumb_func_start MOD80_02235AFC
|
|
MOD80_02235AFC: ; 0x02235AFC
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
add r5, r2, #0
|
|
cmp r1, #0
|
|
ble _02235B1A
|
|
lsl r0, r1, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _02235B28
|
|
_02235B1A:
|
|
lsl r0, r1, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_02235B28:
|
|
bl _ffix
|
|
sub r5, #8
|
|
str r0, [sp]
|
|
cmp r5, #0
|
|
ble _02235B46
|
|
lsl r0, r5, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _02235B54
|
|
_02235B46:
|
|
lsl r0, r5, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_02235B54:
|
|
bl _ffix
|
|
mov r1, #1
|
|
lsl r1, r1, #0x14
|
|
add r0, r0, r1
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r1, sp, #0
|
|
bl FUN_02020044
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
thumb_func_end MOD80_02235AFC
|
|
|
|
thumb_func_start MOD80_02235B70
|
|
MOD80_02235B70: ; 0x02235B70
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02235B8C ; =0x022375C2
|
|
bl FUN_02020988
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _02235B86
|
|
cmp r0, r4
|
|
blt _02235B8A
|
|
_02235B86:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
_02235B8A:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02235B8C: .word 0x022375C2
|
|
thumb_func_end MOD80_02235B70
|
|
|
|
thumb_func_start MOD80_02235B90
|
|
MOD80_02235B90: ; 0x02235B90
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
add r0, r1, #0
|
|
beq _02235BAA
|
|
add r0, r2, #0
|
|
cmp r0, #1
|
|
bne _02235BAA
|
|
ldr r0, _02235C24 ; =0x0000064F
|
|
bl FUN_020054C8
|
|
_02235BAA:
|
|
ldr r4, [sp, #4]
|
|
mov r0, #0xe
|
|
mov r6, #0
|
|
str r0, [sp, #0x10]
|
|
add r5, r4, #0
|
|
mov r7, #0x11
|
|
_02235BB6:
|
|
ldr r0, [sp, #8]
|
|
cmp r6, r0
|
|
bge _02235C00
|
|
ldr r0, _02235C28 ; =0x000002EE
|
|
ldr r1, [sp, #4]
|
|
ldrb r0, [r4, r0]
|
|
mov r3, #0xc6
|
|
add r2, r1, #0
|
|
str r0, [sp]
|
|
ldr r0, _02235C2C ; =0x00000FF4
|
|
lsl r3, r3, #2
|
|
ldr r0, [r1, r0]
|
|
ldr r1, _02235C30 ; =0x00000FFC
|
|
ldrb r3, [r4, r3]
|
|
ldr r1, [r2, r1]
|
|
add r2, r6, #0
|
|
bl MOD80_02235CD0
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
ldr r0, _02235C34 ; =0x00000E74
|
|
beq _02235BEC
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [sp, #0x10]
|
|
bl FUN_02020130
|
|
b _02235BF4
|
|
_02235BEC:
|
|
ldr r0, [r5, r0]
|
|
add r1, r7, #0
|
|
bl FUN_02020130
|
|
_02235BF4:
|
|
ldr r0, _02235C34 ; =0x00000E74
|
|
mov r1, #1
|
|
ldr r0, [r5, r0]
|
|
bl FUN_020200A0
|
|
b _02235C0A
|
|
_02235C00:
|
|
ldr r0, _02235C34 ; =0x00000E74
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl FUN_020200A0
|
|
_02235C0A:
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
add r4, r4, r0
|
|
ldr r0, [sp, #0x10]
|
|
add r6, r6, #1
|
|
add r0, r0, #4
|
|
str r0, [sp, #0x10]
|
|
add r5, r5, #4
|
|
add r7, r7, #4
|
|
cmp r6, #7
|
|
blt _02235BB6
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02235C24: .word 0x0000064F
|
|
_02235C28: .word 0x000002EE
|
|
_02235C2C: .word 0x00000FF4
|
|
_02235C30: .word 0x00000FFC
|
|
_02235C34: .word 0x00000E74
|
|
thumb_func_end MOD80_02235B90
|
|
|
|
thumb_func_start MOD80_02235C38
|
|
MOD80_02235C38: ; 0x02235C38
|
|
lsl r0, r0, #2
|
|
add r0, #0xe
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02235C38
|
|
|
|
thumb_func_start MOD80_02235C40
|
|
MOD80_02235C40: ; 0x02235C40
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r7, _02235C84 ; =0x00000E74
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_02235C48:
|
|
ldr r0, [r5, r7]
|
|
bl FUN_02020128
|
|
cmp r0, #0
|
|
beq _02235C7A
|
|
ldr r0, _02235C84 ; =0x00000E74
|
|
ldr r0, [r5, r0]
|
|
bl FUN_020201DC
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl MOD80_02235C38
|
|
add r0, r0, #1
|
|
cmp r6, r0
|
|
beq _02235C7A
|
|
add r0, r4, #0
|
|
bl MOD80_02235C38
|
|
add r1, r0, #0
|
|
ldr r0, _02235C84 ; =0x00000E74
|
|
add r1, r1, #1
|
|
ldr r0, [r5, r0]
|
|
bl FUN_02020130
|
|
_02235C7A:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #7
|
|
blt _02235C48
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02235C84: .word 0x00000E74
|
|
thumb_func_end MOD80_02235C40
|
|
|
|
thumb_func_start MOD80_02235C88
|
|
MOD80_02235C88: ; 0x02235C88
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r2, _02235CC8 ; =0x00000FFC
|
|
add r4, r0, #0
|
|
mov r0, #0x56
|
|
mov r1, #7
|
|
add r2, r4, r2
|
|
mov r3, #0x3e
|
|
bl FUN_02006C08
|
|
ldr r3, _02235CCC ; =0x00000FF8
|
|
mov r1, #9
|
|
str r0, [r4, r3]
|
|
mov r0, #0x3e
|
|
sub r3, r3, #4
|
|
str r0, [sp]
|
|
mov r0, #0x56
|
|
mov r2, #1
|
|
add r3, r4, r3
|
|
bl FUN_02006BB0
|
|
mov r1, #0xff
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
add r0, r1, #4
|
|
mov r1, #2
|
|
ldr r0, [r4, r0]
|
|
lsl r1, r1, #0xe
|
|
bl DC_FlushRange
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_02235CC8: .word 0x00000FFC
|
|
_02235CCC: .word 0x00000FF8
|
|
thumb_func_end MOD80_02235C88
|
|
|
|
thumb_func_start MOD80_02235CD0
|
|
MOD80_02235CD0: ; 0x02235CD0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
add r6, r1, #0
|
|
ldr r0, [sp, #0x18]
|
|
add r1, r3, #0
|
|
add r5, r2, #0
|
|
bl FUN_020536C8
|
|
add r4, r0, #0
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
ldr r1, [r7, #0x14]
|
|
mul r0, r4
|
|
add r0, r1, r0
|
|
ldr r1, _02235D0C ; =0x02237598
|
|
lsl r2, r5, #1
|
|
ldrh r1, [r1, r2]
|
|
mov r2, #2
|
|
ldr r6, [r6, #0xc]
|
|
lsl r2, r2, #8
|
|
bl GXS_LoadOBJ
|
|
lsl r0, r4, #5
|
|
add r1, r5, #2
|
|
add r0, r6, r0
|
|
lsl r1, r1, #5
|
|
mov r2, #0x20
|
|
bl GXS_LoadOBJPltt
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02235D0C: .word 0x02237598
|
|
thumb_func_end MOD80_02235CD0
|
|
|
|
thumb_func_start MOD80_02235D10
|
|
MOD80_02235D10: ; 0x02235D10
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02235D30 ; =0x00000FEC
|
|
ldrh r1, [r4, r0]
|
|
cmp r1, #0
|
|
beq _02235D2E
|
|
add r0, #0xc
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
mov r0, #0xff
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
_02235D2E:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02235D30: .word 0x00000FEC
|
|
thumb_func_end MOD80_02235D10
|
|
|
|
thumb_func_start MOD80_02235D34
|
|
MOD80_02235D34: ; 0x02235D34
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r2, r4, #0
|
|
add r3, r4, #0
|
|
ldr r1, [r4]
|
|
add r2, #0xb8
|
|
add r3, #0xba
|
|
ldr r0, [r1, #8]
|
|
ldrh r2, [r2]
|
|
ldrh r3, [r3]
|
|
ldr r1, [r1, #0xc]
|
|
bl MOD80_02232FB8
|
|
str r0, [r4, #0x60]
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
add r0, #0x71
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
add r0, #0x73
|
|
strb r2, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x74
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x72
|
|
strb r2, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x78
|
|
strh r1, [r0]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x20]
|
|
bl FUN_02079C70
|
|
add r1, r4, #0
|
|
add r1, #0x8c
|
|
str r0, [r1]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x34]
|
|
str r0, [r4, #0x7c]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x24]
|
|
str r0, [r4, #0x64]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x20]
|
|
bl FUN_0202A918
|
|
add r1, r4, #0
|
|
add r1, #0x80
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
ldr r1, _02235DCC ; =0x022375E4
|
|
add r0, #0x60
|
|
bl FUN_0207B000
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
ldr r1, [r1, #0x1c]
|
|
add r0, #0x60
|
|
bl FUN_0207C2A4
|
|
add r1, r4, #0
|
|
ldr r0, _02235DD0 ; =0x020FA6E8
|
|
add r1, #0x60
|
|
mov r2, #0x3e
|
|
bl FUN_02006234
|
|
str r0, [r4, #0x5c]
|
|
mov r0, #1
|
|
add r4, #0xac
|
|
str r0, [r4]
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
nop
|
|
_02235DCC: .word 0x022375E4
|
|
_02235DD0: .word 0x020FA6E8
|
|
thumb_func_end MOD80_02235D34
|
|
|
|
thumb_func_start MOD80_02235DD4
|
|
MOD80_02235DD4: ; 0x02235DD4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x5c]
|
|
mov r4, #3
|
|
bl FUN_02006290
|
|
cmp r0, #0
|
|
beq _02235DF6
|
|
ldr r0, [r5, #0x5c]
|
|
bl FUN_02006260
|
|
ldr r2, [r5, #0x24]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl MOD80_0222E7A8
|
|
mov r4, #4
|
|
_02235DF6:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02235DD4
|
|
|
|
thumb_func_start MOD80_02235DFC
|
|
MOD80_02235DFC: ; 0x02235DFC
|
|
push {r3, lr}
|
|
bl MOD80_0222E7B0
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02235DFC
|
|
|
|
thumb_func_start MOD80_02235E08
|
|
MOD80_02235E08: ; 0x02235E08
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x3e
|
|
bl FUN_020669C0
|
|
mov r1, #1
|
|
lsl r1, r1, #0xc
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, #0x24]
|
|
cmp r0, #0xa
|
|
bls _02235E20
|
|
b _02235F94
|
|
_02235E20:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02235E2C: ; jump table
|
|
.short _02235F94 - _02235E2C - 2 ; case 0
|
|
.short _02235F94 - _02235E2C - 2 ; case 1
|
|
.short _02235F94 - _02235E2C - 2 ; case 2
|
|
.short _02235F94 - _02235E2C - 2 ; case 3
|
|
.short _02235F94 - _02235E2C - 2 ; case 4
|
|
.short _02235F94 - _02235E2C - 2 ; case 5
|
|
.short _02235F94 - _02235E2C - 2 ; case 6
|
|
.short _02235E42 - _02235E2C - 2 ; case 7
|
|
.short _02235E88 - _02235E2C - 2 ; case 8
|
|
.short _02235F26 - _02235E2C - 2 ; case 9
|
|
.short _02235ECE - _02235E2C - 2 ; case 10
|
|
_02235E42:
|
|
add r0, r4, #0
|
|
add r0, #0xd4
|
|
bl FUN_020690E4
|
|
add r1, r4, #0
|
|
add r1, #0x90
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x90
|
|
ldr r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x94
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xd4
|
|
bl MOD80_022361AC
|
|
add r1, r4, #0
|
|
add r1, #0xc8
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
ldr r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x98
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
add r0, #0x9c
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
add r0, #0xa0
|
|
str r1, [r0]
|
|
b _02235F94
|
|
_02235E88:
|
|
add r0, r4, #0
|
|
add r0, #0xd4
|
|
bl FUN_020690E4
|
|
add r1, r4, #0
|
|
add r1, #0x94
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x94
|
|
ldr r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x90
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xd4
|
|
bl MOD80_022361AC
|
|
add r1, r4, #0
|
|
add r1, #0xc8
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
ldr r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x98
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
add r0, #0x9c
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
add r0, #0xa0
|
|
str r1, [r0]
|
|
b _02235F94
|
|
_02235ECE:
|
|
add r0, r4, #0
|
|
add r0, #0xd4
|
|
bl FUN_020690E4
|
|
add r1, r4, #0
|
|
add r1, #0x94
|
|
str r0, [r1]
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
lsl r1, r1, #0xc
|
|
ldr r0, [r0]
|
|
ldr r1, [r4, r1]
|
|
bl FUN_0202ABEC
|
|
mov r0, #1
|
|
lsl r0, r0, #0xc
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020690E4
|
|
add r1, r4, #0
|
|
add r1, #0x90
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0xd4
|
|
bl MOD80_022361AC
|
|
add r1, r4, #0
|
|
add r1, #0xc8
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
ldr r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x98
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
add r0, #0x9c
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0xa0
|
|
str r1, [r0]
|
|
b _02235F94
|
|
_02235F26:
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, r1]
|
|
ldr r0, [r0]
|
|
bl FUN_0202ABEC
|
|
mov r0, #1
|
|
lsl r0, r0, #0xc
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020690E4
|
|
add r1, r4, #0
|
|
add r1, #0x90
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
mov r1, #0x7e
|
|
add r0, #0xc4
|
|
lsl r1, r1, #2
|
|
add r2, r4, r1
|
|
ldr r0, [r0]
|
|
sub r1, #0xd4
|
|
mul r1, r0
|
|
add r0, r2, r1
|
|
bl FUN_020690E4
|
|
add r1, r4, #0
|
|
add r1, #0x94
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
mov r1, #0x7e
|
|
add r0, #0xc4
|
|
lsl r1, r1, #2
|
|
add r2, r4, r1
|
|
ldr r0, [r0]
|
|
sub r1, #0xd4
|
|
mul r1, r0
|
|
add r0, r2, r1
|
|
bl MOD80_022361AC
|
|
add r1, r4, #0
|
|
add r1, #0xc8
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
ldr r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x98
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
add r0, #0x9c
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0xa0
|
|
str r1, [r0]
|
|
_02235F94:
|
|
ldr r0, [r4]
|
|
mov r2, #0x3e
|
|
ldr r1, [r0, #0x24]
|
|
add r0, r4, #0
|
|
add r0, #0xa4
|
|
str r1, [r0]
|
|
add r1, r4, #0
|
|
ldr r0, _02235FB8 ; =0x022375F0
|
|
add r1, #0x90
|
|
bl FUN_02006234
|
|
str r0, [r4, #0x5c]
|
|
mov r0, #1
|
|
add r4, #0xac
|
|
str r0, [r4]
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
nop
|
|
_02235FB8: .word 0x022375F0
|
|
thumb_func_end MOD80_02235E08
|
|
|
|
thumb_func_start MOD80_02235FBC
|
|
MOD80_02235FBC: ; 0x02235FBC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x2c]
|
|
mov r6, #3
|
|
cmp r0, #0
|
|
beq _02235FD2
|
|
cmp r0, #1
|
|
bne _02235FD0
|
|
b _02236148
|
|
_02235FD0:
|
|
b _0223617E
|
|
_02235FD2:
|
|
ldr r0, [r4, #0x5c]
|
|
bl FUN_02006290
|
|
cmp r0, #0
|
|
bne _02235FDE
|
|
b _0223617E
|
|
_02235FDE:
|
|
ldr r0, [r4, #0x5c]
|
|
bl FUN_02006260
|
|
ldr r1, [r4, #0x24]
|
|
cmp r1, #9
|
|
bne _02236060
|
|
add r0, r4, #0
|
|
bl MOD80_022361E8
|
|
mov r1, #6
|
|
mov r2, #0
|
|
add r7, r0, #0
|
|
bl FUN_020671BC
|
|
add r3, r0, #0
|
|
add r0, sp, #0x30
|
|
lsl r3, r3, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
add r1, r7, #0
|
|
mov r2, #1
|
|
lsr r3, r3, #0x10
|
|
bl FUN_02069168
|
|
str r0, [sp, #0x24]
|
|
cmp r0, #0
|
|
beq _02236052
|
|
ldr r5, [r4]
|
|
ldr r0, [r5, #0x20]
|
|
bl FUN_0204C1A8
|
|
ldr r1, [r5, #0x3c]
|
|
ldr r2, [sp, #0x24]
|
|
str r1, [sp]
|
|
ldr r1, [r5, #0x10]
|
|
str r1, [sp, #4]
|
|
ldr r1, [r5, #0x30]
|
|
str r1, [sp, #8]
|
|
ldr r1, [r5, #0x28]
|
|
str r1, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x30]
|
|
add r1, r7, #0
|
|
str r0, [sp, #0x14]
|
|
mov r0, #4
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0x1c]
|
|
ldr r3, [r5, #0x24]
|
|
mov r0, #0
|
|
bl FUN_0206C700
|
|
add r1, r4, #0
|
|
add r1, #0xa8
|
|
str r0, [r1]
|
|
mov r0, #1
|
|
str r0, [r4, #0x2c]
|
|
b _0223617E
|
|
_02236052:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
mov r6, #4
|
|
b _0223617E
|
|
_02236060:
|
|
cmp r1, #8
|
|
beq _02236068
|
|
cmp r1, #0xa
|
|
bne _0223613A
|
|
_02236068:
|
|
add r0, r4, #0
|
|
bl MOD80_022361E8
|
|
add r7, r0, #0
|
|
mov r0, #0x3e
|
|
bl FUN_020669C0
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [r4]
|
|
ldr r1, [sp, #0x20]
|
|
ldr r0, [r0]
|
|
bl FUN_0202ABEC
|
|
add r0, r7, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
add r5, r0, #0
|
|
ldr r0, [sp, #0x20]
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
cmp r5, r0
|
|
bne _022360B6
|
|
mov r1, #0
|
|
add r0, r7, #0
|
|
add r2, r1, #0
|
|
bl FUN_020671BC
|
|
add r5, r0, #0
|
|
mov r1, #0
|
|
ldr r0, [sp, #0x20]
|
|
add r2, r1, #0
|
|
bl FUN_020671BC
|
|
cmp r5, r0
|
|
beq _02236126
|
|
_022360B6:
|
|
add r0, r7, #0
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl FUN_020671BC
|
|
add r3, r0, #0
|
|
add r0, sp, #0x2c
|
|
lsl r3, r3, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
add r1, r7, #0
|
|
mov r2, #1
|
|
lsr r3, r3, #0x10
|
|
bl FUN_02069168
|
|
str r0, [sp, #0x28]
|
|
cmp r0, #0
|
|
beq _02236118
|
|
ldr r5, [r4]
|
|
ldr r0, [r5, #0x20]
|
|
bl FUN_0204C1A8
|
|
ldr r1, [r5, #0x3c]
|
|
ldr r2, [sp, #0x28]
|
|
str r1, [sp]
|
|
ldr r1, [r5, #0x10]
|
|
str r1, [sp, #4]
|
|
ldr r1, [r5, #0x30]
|
|
str r1, [sp, #8]
|
|
ldr r1, [r5, #0x28]
|
|
str r1, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x2c]
|
|
add r1, r7, #0
|
|
str r0, [sp, #0x14]
|
|
mov r0, #4
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0x1c]
|
|
ldr r3, [r5, #0x24]
|
|
mov r0, #0
|
|
bl FUN_0206C700
|
|
add r1, r4, #0
|
|
add r1, #0xa8
|
|
str r0, [r1]
|
|
mov r0, #1
|
|
str r0, [r4, #0x2c]
|
|
b _02236132
|
|
_02236118:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
mov r6, #4
|
|
b _02236132
|
|
_02236126:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
mov r6, #4
|
|
_02236132:
|
|
ldr r0, [sp, #0x20]
|
|
bl FreeToHeap
|
|
b _0223617E
|
|
_0223613A:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
mov r6, #4
|
|
b _0223617E
|
|
_02236148:
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
bl FUN_0206C91C
|
|
cmp r0, #0
|
|
beq _0223617E
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
bl FUN_0206C92C
|
|
add r0, r4, #0
|
|
bl MOD80_02236218
|
|
mov r2, #1
|
|
lsl r2, r2, #0x1a
|
|
ldr r1, [r2]
|
|
ldr r0, _02236184 ; =0xFFFF1FFF
|
|
and r0, r1
|
|
str r0, [r2]
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
mov r2, #0xc
|
|
bl MOD80_0222E7A8
|
|
mov r6, #4
|
|
_0223617E:
|
|
add r0, r6, #0
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_02236184: .word 0xFFFF1FFF
|
|
thumb_func_end MOD80_02235FBC
|
|
|
|
thumb_func_start MOD80_02236188
|
|
MOD80_02236188: ; 0x02236188
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
lsl r0, r0, #0xc
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
bl MOD80_0222E7B0
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02236188
|
|
|
|
thumb_func_start MOD80_022361AC
|
|
MOD80_022361AC: ; 0x022361AC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x3e
|
|
bl FUN_02023928
|
|
add r4, r0, #0
|
|
bl FUN_02023948
|
|
mov r1, #0x43
|
|
lsl r1, r1, #2
|
|
add r0, r4, #0
|
|
add r1, r5, r1
|
|
bl FUN_0202395C
|
|
ldr r1, _022361E0 ; =0x00000122
|
|
add r0, r4, #0
|
|
ldrb r1, [r5, r1]
|
|
bl FUN_02023A6C
|
|
ldr r1, _022361E4 ; =0x00000123
|
|
add r0, r4, #0
|
|
ldrb r1, [r5, r1]
|
|
bl FUN_02023A74
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_022361E0: .word 0x00000122
|
|
_022361E4: .word 0x00000123
|
|
thumb_func_end MOD80_022361AC
|
|
|
|
thumb_func_start MOD80_022361E8
|
|
MOD80_022361E8: ; 0x022361E8
|
|
push {r3, lr}
|
|
cmp r1, #9
|
|
bne _02236200
|
|
mov r1, #0x7e
|
|
lsl r1, r1, #2
|
|
add r2, r0, r1
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
sub r1, #0xd4
|
|
mul r1, r0
|
|
add r0, r2, r1
|
|
pop {r3, pc}
|
|
_02236200:
|
|
cmp r1, #0xa
|
|
bne _02236208
|
|
add r0, #0xd4
|
|
pop {r3, pc}
|
|
_02236208:
|
|
cmp r1, #8
|
|
bne _02236210
|
|
add r0, #0xd4
|
|
pop {r3, pc}
|
|
_02236210:
|
|
bl ErrorHandling
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end MOD80_022361E8
|
|
|
|
thumb_func_start MOD80_02236218
|
|
MOD80_02236218: ; 0x02236218
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r1, [r5, #0x24]
|
|
bl MOD80_022361E8
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0xcc
|
|
ldr r0, [r0]
|
|
cmp r0, #0x12
|
|
bne _02236248
|
|
ldr r0, [r5]
|
|
add r5, #0xd0
|
|
ldr r0, [r0, #8]
|
|
ldr r1, [r5]
|
|
bl FUN_0206B9B0
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl FUN_02069B88
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
_02236248:
|
|
mov r0, #0
|
|
add r1, r5, #0
|
|
add r2, r5, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp]
|
|
ldr r0, [r5]
|
|
add r1, #0xcc
|
|
add r2, #0xd0
|
|
ldr r0, [r0, #0xc]
|
|
ldr r1, [r1]
|
|
ldr r2, [r2]
|
|
bl FUN_0206B2FC
|
|
ldr r0, [r5]
|
|
add r1, sp, #4
|
|
ldr r0, [r0, #0xc]
|
|
add r2, sp, #0
|
|
bl FUN_0206B384
|
|
add r0, r4, #0
|
|
bl FUN_020690E4
|
|
add r2, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [r0, #0xc]
|
|
bl FUN_0206B244
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD80_02236218
|
|
|
|
thumb_func_start MOD80_02236284
|
|
MOD80_02236284: ; 0x02236284
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
bl MOD80_02236664
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r2, r1, #0
|
|
add r3, r0, #0
|
|
bl FUN_0200E1D0
|
|
ldr r0, [r4, #4]
|
|
bl MOD80_02236378
|
|
add r0, r4, #0
|
|
bl MOD80_02236488
|
|
add r0, r4, #0
|
|
bl MOD80_02236580
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl FUN_0201E6E4
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl FUN_0201E6E4
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl FUN_0201E74C
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl FUN_0201E74C
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x20]
|
|
bl FUN_02033288
|
|
add r0, r4, #0
|
|
bl MOD80_02236D84
|
|
bl MOD04_021DDD7C
|
|
cmp r0, #0
|
|
bne _0223631E
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x40]
|
|
cmp r0, #0
|
|
beq _02236318
|
|
ldr r0, _02236328 ; =0x00000F0F
|
|
ldr r1, _0223632C ; =0x00000B3C
|
|
str r0, [sp]
|
|
mov r2, #1
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
add r3, r2, #0
|
|
bl MOD80_02236C70
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
mov r2, #2
|
|
bl MOD80_0222E6DC
|
|
add r0, r4, #0
|
|
bl MOD80_0222E8BC
|
|
b _02236322
|
|
_02236318:
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
b _02236322
|
|
_0223631E:
|
|
mov r0, #0xf
|
|
str r0, [r4, #0x2c]
|
|
_02236322:
|
|
mov r0, #2
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_02236328: .word 0x00000F0F
|
|
_0223632C: .word 0x00000B3C
|
|
thumb_func_end MOD80_02236284
|
|
|
|
thumb_func_start MOD80_02236330
|
|
MOD80_02236330: ; 0x02236330
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222E79C
|
|
bl FUN_02033EEC
|
|
ldr r1, [r4, #0x2c]
|
|
add r0, r4, #0
|
|
lsl r2, r1, #2
|
|
ldr r1, _0223634C ; =0x02237C68
|
|
ldr r1, [r1, r2]
|
|
blx r1
|
|
pop {r4, pc}
|
|
nop
|
|
_0223634C: .word 0x02237C68
|
|
thumb_func_end MOD80_02236330
|
|
|
|
thumb_func_start MOD80_02236350
|
|
MOD80_02236350: ; 0x02236350
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0223669C
|
|
add r0, r4, #0
|
|
bl MOD80_02236638
|
|
ldr r0, [r4, #4]
|
|
bl MOD80_02236464
|
|
add r0, r4, #0
|
|
bl MOD80_0222E7B0
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
bne _02236374
|
|
mov r0, #5
|
|
pop {r4, pc}
|
|
_02236374:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02236350
|
|
|
|
thumb_func_start MOD80_02236378
|
|
MOD80_02236378: ; 0x02236378
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x70
|
|
ldr r5, _02236454 ; =0x02237638
|
|
add r4, r0, #0
|
|
ldmia r5!, {r0, r1}
|
|
add r3, sp, #0x54
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
add r3, r1, #0
|
|
bl FUN_02016C18
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl FUN_0201E6E4
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_02018744
|
|
ldr r5, _02236458 ; =0x0223761C
|
|
add r3, sp, #0x38
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl FUN_0201E6E4
|
|
ldr r5, _0223645C ; =0x02237654
|
|
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, #4
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl FUN_0201E74C
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_02018744
|
|
ldr r5, _02236460 ; =0x02237600
|
|
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, #5
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl FUN_0201E74C
|
|
mov r0, #0
|
|
mov r1, #0x20
|
|
add r2, r0, #0
|
|
mov r3, #0x3e
|
|
bl FUN_02017F18
|
|
mov r0, #4
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #0x3e
|
|
bl FUN_02017F18
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
bl FUN_0201E74C
|
|
add sp, #0x70
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02236454: .word 0x02237638
|
|
_02236458: .word 0x0223761C
|
|
_0223645C: .word 0x02237654
|
|
_02236460: .word 0x02237600
|
|
thumb_func_end MOD80_02236378
|
|
|
|
thumb_func_start MOD80_02236464
|
|
MOD80_02236464: ; 0x02236464
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #5
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl FUN_020178A0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_020178A0
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02236464
|
|
|
|
thumb_func_start MOD80_02236488
|
|
MOD80_02236488: ; 0x02236488
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #4]
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
mov r0, #0x5c
|
|
mov r1, #3
|
|
add r3, r2, #0
|
|
bl FUN_02006930
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
mov r0, #0x5c
|
|
mov r1, #3
|
|
mov r2, #4
|
|
bl FUN_02006930
|
|
mov r1, #0x1a
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x3e
|
|
bl FUN_02002EEC
|
|
mov r1, #0x1a
|
|
mov r0, #4
|
|
lsl r1, r1, #4
|
|
mov r2, #0x3e
|
|
bl FUN_02002EEC
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #0x24]
|
|
bl FUN_02025084
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl FUN_0200CD68
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r2, #0x1f
|
|
mov r3, #0xb
|
|
bl FUN_0200CB00
|
|
mov r1, #0
|
|
mov r0, #0x36
|
|
str r1, [sp]
|
|
lsl r0, r0, #6
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x5c
|
|
mov r1, #2
|
|
add r2, r4, #0
|
|
mov r3, #1
|
|
bl FUN_0200687C
|
|
mov r1, #0
|
|
mov r0, #6
|
|
str r1, [sp]
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x5c
|
|
mov r1, #4
|
|
add r2, r4, #0
|
|
mov r3, #1
|
|
bl FUN_020068C8
|
|
mov r1, #0
|
|
mov r0, #0x36
|
|
str r1, [sp]
|
|
lsl r0, r0, #6
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x5c
|
|
mov r1, #9
|
|
add r2, r4, #0
|
|
mov r3, #5
|
|
bl FUN_0200687C
|
|
mov r1, #0
|
|
mov r0, #6
|
|
str r1, [sp]
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x5c
|
|
mov r1, #0xa
|
|
add r2, r4, #0
|
|
mov r3, #5
|
|
bl FUN_020068C8
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl FUN_02017FE4
|
|
mov r0, #4
|
|
mov r1, #0
|
|
bl FUN_02017FE4
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD80_02236488
|
|
|
|
thumb_func_start MOD80_02236580
|
|
MOD80_02236580: ; 0x02236580
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
mov r3, #4
|
|
add r4, r0, #0
|
|
str r3, [sp]
|
|
mov r0, #0x17
|
|
str r0, [sp, #4]
|
|
mov r0, #0x10
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x94
|
|
ldr r1, _02236628 ; =0x00000EC8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
bl FUN_02019064
|
|
ldr r0, _02236628 ; =0x00000EC8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
ldr r1, _0223662C ; =0x00000EB8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
mov r3, #4
|
|
bl FUN_02019064
|
|
ldr r0, _0223662C ; =0x00000EB8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
mov r3, #1
|
|
mov r1, #0xb5
|
|
ldr r0, _02236630 ; =0x000F0E00
|
|
str r3, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0223662C ; =0x00000EB8
|
|
lsl r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, r0
|
|
mov r2, #0
|
|
bl MOD80_02236D1C
|
|
mov r0, #0x13
|
|
str r0, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x28
|
|
ldr r1, _02236634 ; =0x00000E98
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
mov r3, #2
|
|
bl FUN_02019064
|
|
ldr r0, _02236634 ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_02019620
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02236628: .word 0x00000EC8
|
|
_0223662C: .word 0x00000EB8
|
|
_02236630: .word 0x000F0E00
|
|
_02236634: .word 0x00000E98
|
|
thumb_func_end MOD80_02236580
|
|
|
|
thumb_func_start MOD80_02236638
|
|
MOD80_02236638: ; 0x02236638
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02236658 ; =0x00000E98
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
ldr r0, _0223665C ; =0x00000EB8
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
ldr r0, _02236660 ; =0x00000EC8
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
pop {r4, pc}
|
|
nop
|
|
_02236658: .word 0x00000E98
|
|
_0223665C: .word 0x00000EB8
|
|
_02236660: .word 0x00000EC8
|
|
thumb_func_end MOD80_02236638
|
|
|
|
thumb_func_start MOD80_02236664
|
|
MOD80_02236664: ; 0x02236664
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xb4
|
|
mov r1, #0x3e
|
|
bl FUN_020219F4
|
|
ldr r1, _02236694 ; =0x00000B4C
|
|
str r0, [r4, r1]
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
mov r1, #0x3e
|
|
bl FUN_020219F4
|
|
ldr r1, _02236698 ; =0x00000B7C
|
|
str r0, [r4, r1]
|
|
sub r1, #0x48
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0x1f
|
|
bl FUN_0200A914
|
|
mov r1, #0xb5
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02236694: .word 0x00000B4C
|
|
_02236698: .word 0x00000B7C
|
|
thumb_func_end MOD80_02236664
|
|
|
|
thumb_func_start MOD80_0223669C
|
|
MOD80_0223669C: ; 0x0223669C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xb5
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
ldr r0, _022366BC ; =0x00000B7C
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
ldr r0, _022366C0 ; =0x00000B4C
|
|
ldr r0, [r4, r0]
|
|
bl FUN_02021A20
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_022366BC: .word 0x00000B7C
|
|
_022366C0: .word 0x00000B4C
|
|
thumb_func_end MOD80_0223669C
|
|
|
|
thumb_func_start MOD80_022366C4
|
|
MOD80_022366C4: ; 0x022366C4
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r1, _022366F4 ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r1, #0x2d
|
|
lsl r1, r1, #6
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x10
|
|
mov r3, #1
|
|
bl MOD80_02236C70
|
|
add r0, r4, #0
|
|
mov r1, #0xb
|
|
mov r2, #1
|
|
bl MOD80_0222E6DC
|
|
ldr r0, _022366F8 ; =0x0000100A
|
|
mov r1, #1
|
|
strh r1, [r4, r0]
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_022366F4: .word 0x00000F0F
|
|
_022366F8: .word 0x0000100A
|
|
thumb_func_end MOD80_022366C4
|
|
|
|
thumb_func_start MOD80_022366FC
|
|
MOD80_022366FC: ; 0x022366FC
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
ldr r0, _02236758 ; =0x00000FCC
|
|
mov r1, #0x3e
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020021AC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _02236750
|
|
sub r1, r1, #1
|
|
cmp r0, r1
|
|
bne _0223672E
|
|
bl FUN_020332DC
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #9
|
|
str r0, [r4, #0x2c]
|
|
b _02236750
|
|
_0223672E:
|
|
ldr r0, _0223675C ; =0x00000F0F
|
|
ldr r1, _02236760 ; =0x00000B3C
|
|
str r0, [sp]
|
|
mov r2, #1
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
add r3, r2, #0
|
|
bl MOD80_02236C70
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
mov r2, #2
|
|
bl MOD80_0222E6DC
|
|
add r0, r4, #0
|
|
bl MOD80_0222E8BC
|
|
_02236750:
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02236758: .word 0x00000FCC
|
|
_0223675C: .word 0x00000F0F
|
|
_02236760: .word 0x00000B3C
|
|
thumb_func_end MOD80_022366FC
|
|
|
|
thumb_func_start MOD80_02236764
|
|
MOD80_02236764: ; 0x02236764
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r1, _0223678C ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
ldr r1, _02236790 ; =0x00000B34
|
|
mov r2, #7
|
|
ldr r1, [r4, r1]
|
|
mov r3, #1
|
|
bl MOD80_02236C70
|
|
add r0, r4, #0
|
|
mov r1, #0xb
|
|
mov r2, #0xe
|
|
bl MOD80_0222E6DC
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_0223678C: .word 0x00000F0F
|
|
_02236790: .word 0x00000B34
|
|
thumb_func_end MOD80_02236764
|
|
|
|
thumb_func_start MOD80_02236794
|
|
MOD80_02236794: ; 0x02236794
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _022367F4 ; =0x00000FCC
|
|
mov r1, #0x3e
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020021AC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _022367F0
|
|
sub r1, r1, #1
|
|
cmp r0, r1
|
|
bne _022367D2
|
|
bl MOD04_021DDD7C
|
|
cmp r0, #0
|
|
bne _022367BE
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
b _022367F0
|
|
_022367BE:
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
mov r2, #0xb
|
|
bl MOD80_0222E7A8
|
|
mov r0, #1
|
|
str r0, [r4, #0x1c]
|
|
mov r0, #9
|
|
str r0, [r4, #0x2c]
|
|
b _022367F0
|
|
_022367D2:
|
|
bl MOD04_021DDD7C
|
|
cmp r0, #0
|
|
beq _022367DE
|
|
bl MOD04_021DDBBC
|
|
_022367DE:
|
|
bl FUN_020332DC
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #9
|
|
str r0, [r4, #0x2c]
|
|
_022367F0:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_022367F4: .word 0x00000FCC
|
|
thumb_func_end MOD80_02236794
|
|
|
|
thumb_func_start MOD80_022367F8
|
|
MOD80_022367F8: ; 0x022367F8
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r1, _02236820 ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r1, #0x2d
|
|
lsl r1, r1, #6
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x19
|
|
mov r3, #1
|
|
bl MOD80_02236C70
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
mov r2, #0x10
|
|
bl MOD80_0222E6DC
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_02236820: .word 0x00000F0F
|
|
thumb_func_end MOD80_022367F8
|
|
|
|
thumb_func_start MOD80_02236824
|
|
MOD80_02236824: ; 0x02236824
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl FUN_020332DC
|
|
bl MOD04_021DDBBC
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #0x11
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02236824
|
|
|
|
thumb_func_start MOD80_02236844
|
|
MOD80_02236844: ; 0x02236844
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r1, _0223686C ; =0x00000F0F
|
|
add r4, r0, #0
|
|
str r1, [sp]
|
|
mov r1, #0x2d
|
|
lsl r1, r1, #6
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x1a
|
|
mov r3, #1
|
|
bl MOD80_02236C70
|
|
add r0, r4, #0
|
|
mov r1, #0x12
|
|
mov r2, #9
|
|
bl MOD80_0222E6DC
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_0223686C: .word 0x00000F0F
|
|
thumb_func_end MOD80_02236844
|
|
|
|
thumb_func_start MOD80_02236870
|
|
MOD80_02236870: ; 0x02236870
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0x50
|
|
mov r1, #2
|
|
mov r2, #1
|
|
mov r3, #0x14
|
|
bl MOD04_021DDEE0
|
|
mov r0, #2
|
|
bl MOD04_021DDE7C
|
|
bl MOD04_021DDDCC
|
|
mov r0, #3
|
|
str r0, [r4, #0x2c]
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02236870
|
|
|
|
thumb_func_start MOD80_02236890
|
|
MOD80_02236890: ; 0x02236890
|
|
push {r3, r4, lr}
|
|
sub sp, #0x44
|
|
add r4, r0, #0
|
|
bl MOD04_021DDCE8
|
|
bl MOD04_021DDD7C
|
|
cmp r0, #0
|
|
beq _022368F4
|
|
bl MOD04_021DDC1C
|
|
cmp r0, #4
|
|
beq _022368EA
|
|
cmp r0, #7
|
|
beq _022368B4
|
|
cmp r0, #8
|
|
beq _022368D4
|
|
b _022368F4
|
|
_022368B4:
|
|
add r0, sp, #4
|
|
bl MOD04_021DD808
|
|
str r0, [r4, #0x40]
|
|
ldr r0, [sp, #4]
|
|
str r0, [r4, #0x44]
|
|
bl MOD04_021DD6F0
|
|
bl MOD04_021DDBBC
|
|
add r0, r4, #0
|
|
bl MOD80_0222E8D8
|
|
mov r0, #0x15
|
|
str r0, [r4, #0x2c]
|
|
b _022368F4
|
|
_022368D4:
|
|
add r0, sp, #0
|
|
bl MOD04_021DD808
|
|
add r0, r4, #0
|
|
bl MOD80_0222E8D8
|
|
mov r0, #0x13
|
|
str r0, [r4, #0x2c]
|
|
sub r0, #0x15
|
|
str r0, [r4, #0x3c]
|
|
b _022368F4
|
|
_022368EA:
|
|
add r0, sp, #8
|
|
bl MOD04_021DD9DC
|
|
mov r0, #4
|
|
str r0, [r4, #0x2c]
|
|
_022368F4:
|
|
mov r0, #3
|
|
add sp, #0x44
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02236890
|
|
|
|
thumb_func_start MOD80_022368FC
|
|
MOD80_022368FC: ; 0x022368FC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD04_021DE05C
|
|
cmp r0, #0
|
|
beq _0223690C
|
|
mov r0, #5
|
|
str r0, [r4, #0x2c]
|
|
_0223690C:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_022368FC
|
|
|
|
thumb_func_start MOD80_02236910
|
|
MOD80_02236910: ; 0x02236910
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
bl MOD04_021DDF4C
|
|
cmp r0, #3
|
|
beq _02236928
|
|
cmp r0, #4
|
|
beq _0223692E
|
|
cmp r0, #5
|
|
beq _0223692E
|
|
b _02236998
|
|
_02236928:
|
|
mov r0, #6
|
|
str r0, [r4, #0x2c]
|
|
b _02236998
|
|
_0223692E:
|
|
add r0, r4, #0
|
|
bl MOD80_0222E8D8
|
|
add r0, sp, #4
|
|
add r1, sp, #0
|
|
bl MOD04_021DD718
|
|
str r0, [r4, #0x40]
|
|
ldr r0, [sp, #4]
|
|
str r0, [r4, #0x44]
|
|
bl MOD04_021DD6F0
|
|
bl MOD04_021DDBBC
|
|
ldr r0, [sp]
|
|
cmp r0, #7
|
|
bhi _02236986
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0223695C: ; jump table
|
|
.short _02236986 - _0223695C - 2 ; case 0
|
|
.short _0223696C - _0223695C - 2 ; case 1
|
|
.short _0223696C - _0223695C - 2 ; case 2
|
|
.short _02236986 - _0223695C - 2 ; case 3
|
|
.short _02236972 - _0223695C - 2 ; case 4
|
|
.short _02236986 - _0223695C - 2 ; case 5
|
|
.short _0223697C - _0223695C - 2 ; case 6
|
|
.short _02236982 - _0223695C - 2 ; case 7
|
|
_0223696C:
|
|
mov r0, #0x15
|
|
str r0, [r4, #0x2c]
|
|
b _02236986
|
|
_02236972:
|
|
bl MOD04_021EB550
|
|
mov r0, #0x15
|
|
str r0, [r4, #0x2c]
|
|
b _02236986
|
|
_0223697C:
|
|
mov r0, #0x15
|
|
str r0, [r4, #0x2c]
|
|
b _02236986
|
|
_02236982:
|
|
bl FUN_020335E0
|
|
_02236986:
|
|
ldr r1, [sp, #4]
|
|
ldr r0, _022369A0 ; =0xFFFFB1E0
|
|
cmp r1, r0
|
|
bge _02236998
|
|
ldr r0, _022369A4 ; =0xFFFF8AD1
|
|
cmp r1, r0
|
|
blt _02236998
|
|
mov r0, #0x15
|
|
str r0, [r4, #0x2c]
|
|
_02236998:
|
|
mov r0, #3
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
nop
|
|
_022369A0: .word 0xFFFFB1E0
|
|
_022369A4: .word 0xFFFF8AD1
|
|
thumb_func_end MOD80_02236910
|
|
|
|
thumb_func_start MOD80_022369A8
|
|
MOD80_022369A8: ; 0x022369A8
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #0x14]
|
|
bl FUN_02028228
|
|
add r4, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #4]
|
|
bl FUN_02023830
|
|
cmp r0, #0
|
|
bne _022369CC
|
|
ldr r1, [r5]
|
|
ldr r0, [r1, #4]
|
|
ldr r1, [r1, #0x38]
|
|
bl FUN_02023834
|
|
_022369CC:
|
|
ldr r0, [r5]
|
|
ldr r0, [r0, #4]
|
|
bl FUN_02023830
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl DWC_CreateFriendKey
|
|
add r3, r0, #0
|
|
add r2, r1, #0
|
|
add r0, r6, #0
|
|
add r1, r3, #0
|
|
bl MOD80_0222D5C0
|
|
mov r0, #7
|
|
str r0, [r5, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD80_022369A8
|
|
|
|
thumb_func_start MOD80_022369F0
|
|
MOD80_022369F0: ; 0x022369F0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DEBC
|
|
mov r0, #8
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_022369F0
|
|
|
|
thumb_func_start MOD80_02236A00
|
|
MOD80_02236A00: ; 0x02236A00
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD80_0222DB98
|
|
cmp r0, #0
|
|
beq _02236A82
|
|
bl MOD80_0222DBB8
|
|
add r1, r0, #0
|
|
add r1, #0xf
|
|
cmp r1, #0x11
|
|
bhi _02236A82
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02236A24: ; jump table
|
|
.short _02236A68 - _02236A24 - 2 ; case 0
|
|
.short _02236A70 - _02236A24 - 2 ; case 1
|
|
.short _02236A78 - _02236A24 - 2 ; case 2
|
|
.short _02236A68 - _02236A24 - 2 ; case 3
|
|
.short _02236A82 - _02236A24 - 2 ; case 4
|
|
.short _02236A82 - _02236A24 - 2 ; case 5
|
|
.short _02236A82 - _02236A24 - 2 ; case 6
|
|
.short _02236A82 - _02236A24 - 2 ; case 7
|
|
.short _02236A82 - _02236A24 - 2 ; case 8
|
|
.short _02236A82 - _02236A24 - 2 ; case 9
|
|
.short _02236A82 - _02236A24 - 2 ; case 10
|
|
.short _02236A82 - _02236A24 - 2 ; case 11
|
|
.short _02236A82 - _02236A24 - 2 ; case 12
|
|
.short _02236A70 - _02236A24 - 2 ; case 13
|
|
.short _02236A60 - _02236A24 - 2 ; case 14
|
|
.short _02236A48 - _02236A24 - 2 ; case 15
|
|
.short _02236A58 - _02236A24 - 2 ; case 16
|
|
.short _02236A60 - _02236A24 - 2 ; case 17
|
|
_02236A48:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #9
|
|
str r0, [r4, #0x2c]
|
|
b _02236A82
|
|
_02236A58:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x13
|
|
str r0, [r4, #0x2c]
|
|
b _02236A82
|
|
_02236A60:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x13
|
|
str r0, [r4, #0x2c]
|
|
b _02236A82
|
|
_02236A68:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x13
|
|
str r0, [r4, #0x2c]
|
|
b _02236A82
|
|
_02236A70:
|
|
str r0, [r4, #0x3c]
|
|
mov r0, #0x13
|
|
str r0, [r4, #0x2c]
|
|
b _02236A82
|
|
_02236A78:
|
|
add r0, r4, #0
|
|
bl MOD80_0222E8D8
|
|
bl FUN_020335E0
|
|
_02236A82:
|
|
add r0, r4, #0
|
|
bl MOD80_0222E8D8
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02236A00
|
|
|
|
thumb_func_start MOD80_02236A8C
|
|
MOD80_02236A8C: ; 0x02236A8C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x44]
|
|
neg r0, r0
|
|
bl MOD04_021D80E0
|
|
ldr r2, [r4, #0x44]
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
neg r2, r2
|
|
bl MOD80_02236E04
|
|
mov r0, #0x16
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
thumb_func_end MOD80_02236A8C
|
|
|
|
thumb_func_start MOD80_02236AAC
|
|
MOD80_02236AAC: ; 0x02236AAC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02236AD4 ; =0x021C48B8
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
bne _02236AC0
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _02236ACE
|
|
_02236AC0:
|
|
ldr r0, _02236AD8 ; =0x00000EC8
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FUN_0200CCF8
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
_02236ACE:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_02236AD4: .word 0x021C48B8
|
|
_02236AD8: .word 0x00000EC8
|
|
thumb_func_end MOD80_02236AAC
|
|
|
|
thumb_func_start MOD80_02236ADC
|
|
MOD80_02236ADC: ; 0x02236ADC
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
bl FUN_02033ED0
|
|
add r0, r4, #0
|
|
bl MOD80_0222E8D8
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x3e
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl FUN_0200E1D0
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _02236B14 ; =0x0000100C
|
|
mov r1, #1
|
|
str r1, [r4, r0]
|
|
mov r0, #4
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_02236B14: .word 0x0000100C
|
|
thumb_func_end MOD80_02236ADC
|
|
|
|
thumb_func_start MOD80_02236B18
|
|
MOD80_02236B18: ; 0x02236B18
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02236B4C ; =0x00000FCC
|
|
mov r1, #0x3e
|
|
ldr r0, [r4, r0]
|
|
bl FUN_020021AC
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _02236B48
|
|
sub r1, r1, #1
|
|
cmp r0, r1
|
|
bne _02236B3A
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
b _02236B48
|
|
_02236B3A:
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #9
|
|
str r0, [r4, #0x2c]
|
|
_02236B48:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_02236B4C: .word 0x00000FCC
|
|
thumb_func_end MOD80_02236B18
|
|
|
|
thumb_func_start MOD80_02236B50
|
|
MOD80_02236B50: ; 0x02236B50
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x3c]
|
|
mov r2, #0
|
|
add r0, #0xf
|
|
cmp r0, #0x11
|
|
bhi _02236B9E
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02236B6C: ; jump table
|
|
.short _02236B9C - _02236B6C - 2 ; case 0
|
|
.short _02236B98 - _02236B6C - 2 ; case 1
|
|
.short _02236B9E - _02236B6C - 2 ; case 2
|
|
.short _02236B9C - _02236B6C - 2 ; case 3
|
|
.short _02236B9E - _02236B6C - 2 ; case 4
|
|
.short _02236B9E - _02236B6C - 2 ; case 5
|
|
.short _02236B9E - _02236B6C - 2 ; case 6
|
|
.short _02236B9E - _02236B6C - 2 ; case 7
|
|
.short _02236B9E - _02236B6C - 2 ; case 8
|
|
.short _02236B9E - _02236B6C - 2 ; case 9
|
|
.short _02236B9C - _02236B6C - 2 ; case 10
|
|
.short _02236B9E - _02236B6C - 2 ; case 11
|
|
.short _02236B9C - _02236B6C - 2 ; case 12
|
|
.short _02236B98 - _02236B6C - 2 ; case 13
|
|
.short _02236B94 - _02236B6C - 2 ; case 14
|
|
.short _02236B9E - _02236B6C - 2 ; case 15
|
|
.short _02236B90 - _02236B6C - 2 ; case 16
|
|
.short _02236B94 - _02236B6C - 2 ; case 17
|
|
_02236B90:
|
|
mov r2, #0x8c
|
|
b _02236B9E
|
|
_02236B94:
|
|
mov r2, #0x8d
|
|
b _02236B9E
|
|
_02236B98:
|
|
mov r2, #0x92
|
|
b _02236B9E
|
|
_02236B9C:
|
|
mov r2, #0x91
|
|
_02236B9E:
|
|
ldr r0, _02236BC0 ; =0x00000F0F
|
|
ldr r1, _02236BC4 ; =0x00000B34
|
|
str r0, [sp]
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
mov r3, #1
|
|
bl MOD80_02236C70
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
mov r2, #0x14
|
|
bl MOD80_0222E6DC
|
|
mov r0, #3
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02236BC0: .word 0x00000F0F
|
|
_02236BC4: .word 0x00000B34
|
|
thumb_func_end MOD80_02236B50
|
|
|
|
thumb_func_start MOD80_02236BC8
|
|
MOD80_02236BC8: ; 0x02236BC8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl FUN_020332DC
|
|
bl MOD04_021DDBBC
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl MOD80_0222E7A8
|
|
mov r0, #9
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02236BC8
|
|
|
|
thumb_func_start MOD80_02236BE8
|
|
MOD80_02236BE8: ; 0x02236BE8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02236C02
|
|
ldr r0, [r4, #0x30]
|
|
str r0, [r4, #0x2c]
|
|
_02236C02:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02236BE8
|
|
|
|
thumb_func_start MOD80_02236C08
|
|
MOD80_02236C08: ; 0x02236C08
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02236C32
|
|
ldr r0, _02236C38 ; =0x00000FDC
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0x1e
|
|
ble _02236C2A
|
|
ldr r0, [r4, #0x30]
|
|
str r0, [r4, #0x2c]
|
|
_02236C2A:
|
|
ldr r0, _02236C38 ; =0x00000FDC
|
|
ldr r1, [r4, r0]
|
|
add r1, r1, #1
|
|
str r1, [r4, r0]
|
|
_02236C32:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_02236C38: .word 0x00000FDC
|
|
thumb_func_end MOD80_02236C08
|
|
|
|
thumb_func_start MOD80_02236C3C
|
|
MOD80_02236C3C: ; 0x02236C3C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x2e
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl FUN_0201BD70
|
|
cmp r0, #0
|
|
bne _02236C66
|
|
mov r2, #0x8d
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0xd
|
|
lsl r2, r2, #2
|
|
bl MOD80_0222E6A8
|
|
ldr r1, _02236C6C ; =0x00000FCC
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, #0x30]
|
|
str r0, [r4, #0x2c]
|
|
_02236C66:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_02236C6C: .word 0x00000FCC
|
|
thumb_func_end MOD80_02236C3C
|
|
|
|
thumb_func_start MOD80_02236C70
|
|
MOD80_02236C70: ; 0x02236C70
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
add r1, r2, #0
|
|
add r4, r3, #0
|
|
bl FUN_0200A914
|
|
mov r1, #0xb3
|
|
add r6, r0, #0
|
|
lsl r1, r1, #4
|
|
ldr r0, [r5, r1]
|
|
add r1, #0x1c
|
|
ldr r1, [r5, r1]
|
|
add r2, r6, #0
|
|
bl FUN_0200B7B8
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
ldr r0, _02236CD8 ; =0x00000E98
|
|
mov r1, #0xf
|
|
add r0, r5, r0
|
|
bl FUN_02019620
|
|
ldr r0, _02236CD8 ; =0x00000E98
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
mov r2, #1
|
|
mov r3, #0xa
|
|
bl FUN_0200D0BC
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r4, [sp, #4]
|
|
ldr r0, _02236CD8 ; =0x00000E98
|
|
ldr r2, _02236CDC ; =0x00000B4C
|
|
str r3, [sp, #8]
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
bl FUN_0201BD84
|
|
mov r1, #0x2e
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
ldr r0, _02236CE0 ; =0x00000FDC
|
|
mov r1, #0
|
|
str r1, [r5, r0]
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_02236CD8: .word 0x00000E98
|
|
_02236CDC: .word 0x00000B4C
|
|
_02236CE0: .word 0x00000FDC
|
|
thumb_func_end MOD80_02236C70
|
|
|
|
thumb_func_start MOD80_02236CE4
|
|
MOD80_02236CE4: ; 0x02236CE4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
cmp r3, #1
|
|
beq _02236CF2
|
|
cmp r3, #2
|
|
beq _02236D08
|
|
b _02236D16
|
|
_02236CF2:
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #0
|
|
bl FUN_02002E14
|
|
ldrb r1, [r4, #7]
|
|
lsl r1, r1, #3
|
|
sub r1, r1, r0
|
|
lsr r0, r1, #0x1f
|
|
add r0, r1, r0
|
|
asr r2, r0, #1
|
|
b _02236D16
|
|
_02236D08:
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #0
|
|
bl FUN_02002E14
|
|
ldrb r1, [r4, #7]
|
|
lsl r1, r1, #3
|
|
sub r2, r1, r0
|
|
_02236D16:
|
|
add r0, r2, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02236CE4
|
|
|
|
thumb_func_start MOD80_02236D1C
|
|
MOD80_02236D1C: ; 0x02236D1C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r4, r3, #0
|
|
ldr r3, [sp, #0x24]
|
|
add r5, r0, #0
|
|
str r3, [sp]
|
|
mov r3, #1
|
|
str r3, [sp, #4]
|
|
ldr r3, [sp, #0x20]
|
|
add r6, r1, #0
|
|
bl MOD80_02236CE4
|
|
add r3, r0, #0
|
|
str r4, [sp]
|
|
mov r1, #0
|
|
ldr r0, [sp, #0x24]
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r2, r6, #0
|
|
bl FUN_0201BDE0
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD80_02236D1C
|
|
|
|
thumb_func_start MOD80_02236D50
|
|
MOD80_02236D50: ; 0x02236D50
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r4, r3, #0
|
|
ldr r3, [sp, #0x24]
|
|
add r5, r0, #0
|
|
str r3, [sp]
|
|
mov r3, #0
|
|
str r3, [sp, #4]
|
|
ldr r3, [sp, #0x20]
|
|
add r6, r1, #0
|
|
bl MOD80_02236CE4
|
|
add r3, r0, #0
|
|
str r4, [sp]
|
|
mov r1, #0
|
|
ldr r0, [sp, #0x24]
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD80_02236D50
|
|
|
|
thumb_func_start MOD80_02236D84
|
|
MOD80_02236D84: ; 0x02236D84
|
|
ldr r3, _02236D88 ; =FUN_02033E74
|
|
bx r3
|
|
.align 2, 0
|
|
_02236D88: .word FUN_02033E74
|
|
thumb_func_end MOD80_02236D84
|
|
|
|
thumb_func_start MOD80_02236D8C
|
|
MOD80_02236D8C: ; 0x02236D8C
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
add r6, r1, #0
|
|
lsl r0, r0, #8
|
|
mov r1, #0x3e
|
|
bl FUN_020219F4
|
|
add r4, r0, #0
|
|
mov r0, #0x2d
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl FUN_0200A8E0
|
|
mov r1, #0xb3
|
|
lsl r1, r1, #4
|
|
ldr r0, [r5, r1]
|
|
add r1, #0x4c
|
|
ldr r1, [r5, r1]
|
|
add r2, r4, #0
|
|
bl FUN_0200B7B8
|
|
ldr r0, _02236DFC ; =0x00000EC8
|
|
mov r1, #0xf
|
|
add r0, r5, r0
|
|
bl FUN_02019620
|
|
ldr r0, _02236DFC ; =0x00000EC8
|
|
mov r1, #1
|
|
add r0, r5, r0
|
|
mov r2, #0x1f
|
|
mov r3, #0xb
|
|
bl FUN_0200CCA4
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
ldr r0, _02236DFC ; =0x00000EC8
|
|
ldr r2, _02236E00 ; =0x00000B7C
|
|
str r3, [sp, #8]
|
|
ldr r2, [r5, r2]
|
|
add r0, r5, r0
|
|
mov r1, #1
|
|
bl FUN_0201BD84
|
|
mov r1, #0x2e
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
add r0, r4, #0
|
|
bl FUN_02021A20
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_02236DFC: .word 0x00000EC8
|
|
_02236E00: .word 0x00000B7C
|
|
thumb_func_end MOD80_02236D8C
|
|
|
|
thumb_func_start MOD80_02236E04
|
|
MOD80_02236E04: ; 0x02236E04
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
add r4, r1, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _02236E16
|
|
mov r4, #0xb
|
|
_02236E16:
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0xb3
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
mov r3, #5
|
|
bl FUN_0200AD38
|
|
ldr r0, _02236E44 ; =0x00000E98
|
|
mov r1, #1
|
|
add r0, r5, r0
|
|
bl FUN_0200D0E0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MOD80_02236D8C
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02236E44: .word 0x00000E98
|
|
thumb_func_end MOD80_02236E04
|
|
|
|
.section .rodata
|
|
; 0x02236E48
|
|
.byte 0x00, 0x17, 0x0D, 0x07, 0x04, 0x0D, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x38, 0x00, 0x32, 0x00, 0x60, 0x00, 0x32, 0x00, 0x88, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
.byte 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x1C, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x02, 0x00, 0x01, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x01, 0x1C, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x04
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x02, 0x00, 0x01, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x1C, 0x00
|
|
.byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x04, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x14, 0x00, 0x07, 0x00
|
|
.byte 0x14, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x04, 0x00, 0x02, 0x00, 0x06, 0x00, 0x03, 0x00, 0x09, 0x00
|
|
.byte 0x02, 0x00, 0x0B, 0x00, 0x03, 0x00, 0x0E, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x04
|
|
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xA2, 0x00, 0x24, 0x00, 0x16, 0x00, 0x24, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x2E, 0x00
|
|
.byte 0x2F, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x04
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x1C, 0x00, 0x00, 0x02, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x02
|
|
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x3C, 0x00, 0x33, 0x00, 0x3C, 0x00
|
|
.byte 0x4D, 0x00, 0x3C, 0x00, 0x67, 0x00, 0x3C, 0x00, 0x81, 0x00, 0x3C, 0x00, 0x9B, 0x00, 0x3C, 0x00
|
|
.byte 0x19, 0x00, 0x54, 0x00, 0x33, 0x00, 0x54, 0x00, 0x4D, 0x00, 0x54, 0x00, 0x67, 0x00, 0x54, 0x00
|
|
.byte 0x81, 0x00, 0x54, 0x00, 0x9B, 0x00, 0x54, 0x00, 0x19, 0x00, 0x6C, 0x00, 0x33, 0x00, 0x6C, 0x00
|
|
.byte 0x4D, 0x00, 0x6C, 0x00, 0x67, 0x00, 0x6C, 0x00, 0x81, 0x00, 0x6C, 0x00, 0x9B, 0x00, 0x6C, 0x00
|
|
.byte 0x19, 0x00, 0x84, 0x00, 0x33, 0x00, 0x84, 0x00, 0x4D, 0x00, 0x84, 0x00, 0x67, 0x00, 0x84, 0x00
|
|
.byte 0x81, 0x00, 0x84, 0x00, 0x9B, 0x00, 0x84, 0x00, 0x19, 0x00, 0x9C, 0x00, 0x33, 0x00, 0x9C, 0x00
|
|
.byte 0x4D, 0x00, 0x9C, 0x00, 0x67, 0x00, 0x9C, 0x00, 0x81, 0x00, 0x9C, 0x00, 0x9B, 0x00, 0x9C, 0x00
|
|
.byte 0xE0, 0x00, 0xAF, 0x00, 0x62, 0x00, 0x20, 0x00, 0x1F, 0x06, 0x05, 0x01, 0x1F, 0x07, 0x00, 0x02
|
|
.byte 0x1F, 0x08, 0x01, 0x03, 0x1F, 0x09, 0x02, 0x04, 0x1F, 0x0A, 0x03, 0x05, 0x1F, 0x0B, 0x04, 0x00
|
|
.byte 0x00, 0x0C, 0x0B, 0x07, 0x01, 0x0D, 0x06, 0x08, 0x02, 0x0E, 0x07, 0x09, 0x03, 0x0F, 0x08, 0x0A
|
|
.byte 0x04, 0x10, 0x09, 0x0B, 0x05, 0x11, 0x0A, 0x06, 0x06, 0x12, 0x11, 0x0D, 0x07, 0x13, 0x0C, 0x0E
|
|
.byte 0x08, 0x14, 0x0D, 0x0F, 0x09, 0x15, 0x0E, 0x10, 0x0A, 0x16, 0x0F, 0x11, 0x0B, 0x17, 0x10, 0x0C
|
|
.byte 0x0C, 0x18, 0x17, 0x13, 0x0D, 0x19, 0x12, 0x14, 0x0E, 0x1A, 0x13, 0x15, 0x0F, 0x1B, 0x14, 0x16
|
|
.byte 0x10, 0x1C, 0x15, 0x17, 0x11, 0x1D, 0x16, 0x12, 0x12, 0x1F, 0x1E, 0x19, 0x13, 0x1F, 0x18, 0x1A
|
|
.byte 0x14, 0x1F, 0x19, 0x1B, 0x15, 0x1F, 0x1A, 0x1C, 0x16, 0x1F, 0x1B, 0x1D, 0x17, 0x1F, 0x1C, 0x1E
|
|
.byte 0x1E, 0x1E, 0x1D, 0x18, 0x1A, 0x02, 0x63, 0x65, 0x72, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00
|
|
.byte 0x74, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x03, 0x00, 0x06, 0x00
|
|
.byte 0x01, 0x00, 0x08, 0x00, 0x01, 0x00, 0x0D, 0x00, 0x03, 0x00, 0x0F, 0x00, 0x01, 0x00, 0x11, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x01, 0x1C, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x04
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1D, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x06, 0x00
|
|
.byte 0x04, 0x08, 0x00, 0x12, 0x2F, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x78, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00
|
|
.byte 0x46, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x5A, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x82, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x1C, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x04, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x24, 0x00, 0x26, 0x00, 0x28, 0x00, 0x2A, 0x00, 0x2C, 0x00, 0x2E, 0x00, 0x30, 0x80, 0x00
|
|
.byte 0x36, 0x00, 0x60, 0x00, 0x37, 0x00, 0xA0, 0x00, 0x37, 0x00, 0x40, 0x00, 0x46, 0x00, 0xC0, 0x00
|
|
.byte 0x46, 0x00, 0x30, 0x00, 0x66, 0x00, 0xD0, 0x00, 0x66, 0x00, 0x26, 0x46, 0x70, 0x90, 0x27, 0x47
|
|
.byte 0x50, 0x70, 0x27, 0x47, 0x90, 0xB0, 0x36, 0x56, 0x30, 0x50, 0x36, 0x56, 0xB0, 0xD0, 0x56, 0x76
|
|
.byte 0x20, 0x40, 0x56, 0x76, 0xC0, 0xE0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04
|
|
.byte 0x03, 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x41, 0x7E, 0x23, 0x02, 0x65, 0x80, 0x23, 0x02
|
|
.byte 0x05, 0x80, 0x23, 0x02, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1B, 0x02, 0x00, 0x02, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x04
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.section .data
|
|
; 0x02237680
|
|
.byte 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x67, 0x61, 0x6D, 0x65, 0x73, 0x74, 0x61, 0x74, 0x73
|
|
.byte 0x32, 0x2E, 0x67, 0x73, 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66
|
|
.byte 0x69, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x70, 0x6F, 0x6B, 0x65, 0x6D, 0x6F, 0x6E, 0x64, 0x70, 0x64
|
|
.byte 0x73, 0x2F, 0x77, 0x6F, 0x72, 0x6C, 0x64, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x2F
|
|
.byte 0x70, 0x6F, 0x73, 0x74, 0x2E, 0x61, 0x73, 0x70, 0x00, 0x00, 0x00, 0x00, 0x68, 0x74, 0x74, 0x70
|
|
.byte 0x3A, 0x2F, 0x2F, 0x67, 0x61, 0x6D, 0x65, 0x73, 0x74, 0x61, 0x74, 0x73, 0x32, 0x2E, 0x67, 0x73
|
|
.byte 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65
|
|
.byte 0x74, 0x2F, 0x70, 0x6F, 0x6B, 0x65, 0x6D, 0x6F, 0x6E, 0x64, 0x70, 0x64, 0x73, 0x2F, 0x77, 0x6F
|
|
.byte 0x72, 0x6C, 0x64, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x2F, 0x70, 0x6F, 0x73, 0x74
|
|
.byte 0x5F, 0x66, 0x69, 0x6E, 0x69, 0x73, 0x68, 0x2E, 0x61, 0x73, 0x70, 0x00, 0x68, 0x74, 0x74, 0x70
|
|
.byte 0x3A, 0x2F, 0x2F, 0x67, 0x61, 0x6D, 0x65, 0x73, 0x74, 0x61, 0x74, 0x73, 0x32, 0x2E, 0x67, 0x73
|
|
.byte 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65
|
|
.byte 0x74, 0x2F, 0x70, 0x6F, 0x6B, 0x65, 0x6D, 0x6F, 0x6E, 0x64, 0x70, 0x64, 0x73, 0x2F, 0x77, 0x6F
|
|
.byte 0x72, 0x6C, 0x64, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x2F, 0x67, 0x65, 0x74, 0x2E
|
|
.byte 0x61, 0x73, 0x70, 0x00, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x67, 0x61, 0x6D, 0x65, 0x73
|
|
.byte 0x74, 0x61, 0x74, 0x73, 0x32, 0x2E, 0x67, 0x73, 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64
|
|
.byte 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x70, 0x6F, 0x6B, 0x65, 0x6D, 0x6F
|
|
.byte 0x6E, 0x64, 0x70, 0x64, 0x73, 0x2F, 0x77, 0x6F, 0x72, 0x6C, 0x64, 0x65, 0x78, 0x63, 0x68, 0x61
|
|
.byte 0x6E, 0x67, 0x65, 0x2F, 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x2E, 0x61, 0x73, 0x70, 0x00, 0x00
|
|
.byte 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x67, 0x61, 0x6D, 0x65, 0x73, 0x74, 0x61, 0x74, 0x73
|
|
.byte 0x32, 0x2E, 0x67, 0x73, 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66
|
|
.byte 0x69, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x70, 0x6F, 0x6B, 0x65, 0x6D, 0x6F, 0x6E, 0x64, 0x70, 0x64
|
|
.byte 0x73, 0x2F, 0x77, 0x6F, 0x72, 0x6C, 0x64, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x2F
|
|
.byte 0x64, 0x65, 0x6C, 0x65, 0x74, 0x65, 0x2E, 0x61, 0x73, 0x70, 0x00, 0x00, 0x68, 0x74, 0x74, 0x70
|
|
.byte 0x3A, 0x2F, 0x2F, 0x67, 0x61, 0x6D, 0x65, 0x73, 0x74, 0x61, 0x74, 0x73, 0x32, 0x2E, 0x67, 0x73
|
|
.byte 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65
|
|
.byte 0x74, 0x2F, 0x70, 0x6F, 0x6B, 0x65, 0x6D, 0x6F, 0x6E, 0x64, 0x70, 0x64, 0x73, 0x2F, 0x77, 0x6F
|
|
.byte 0x72, 0x6C, 0x64, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x2F, 0x72, 0x65, 0x74, 0x75
|
|
.byte 0x72, 0x6E, 0x2E, 0x61, 0x73, 0x70, 0x00, 0x00, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x67
|
|
.byte 0x61, 0x6D, 0x65, 0x73, 0x74, 0x61, 0x74, 0x73, 0x32, 0x2E, 0x67, 0x73, 0x2E, 0x6E, 0x69, 0x6E
|
|
.byte 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x70, 0x6F
|
|
.byte 0x6B, 0x65, 0x6D, 0x6F, 0x6E, 0x64, 0x70, 0x64, 0x73, 0x2F, 0x77, 0x6F, 0x72, 0x6C, 0x64, 0x65
|
|
.byte 0x78, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x2F, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2E, 0x61
|
|
.byte 0x73, 0x70, 0x00, 0x00, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x67, 0x61, 0x6D, 0x65, 0x73
|
|
.byte 0x74, 0x61, 0x74, 0x73, 0x32, 0x2E, 0x67, 0x73, 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64
|
|
.byte 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x70, 0x6F, 0x6B, 0x65, 0x6D, 0x6F
|
|
.byte 0x6E, 0x64, 0x70, 0x64, 0x73, 0x2F, 0x77, 0x6F, 0x72, 0x6C, 0x64, 0x65, 0x78, 0x63, 0x68, 0x61
|
|
.byte 0x6E, 0x67, 0x65, 0x2F, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x2E, 0x61, 0x73, 0x70
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x67, 0x61, 0x6D, 0x65, 0x73
|
|
.byte 0x74, 0x61, 0x74, 0x73, 0x32, 0x2E, 0x67, 0x73, 0x2E, 0x6E, 0x69, 0x6E, 0x74, 0x65, 0x6E, 0x64
|
|
.byte 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x70, 0x6F, 0x6B, 0x65, 0x6D, 0x6F
|
|
.byte 0x6E, 0x64, 0x70, 0x64, 0x73, 0x2F, 0x77, 0x6F, 0x72, 0x6C, 0x64, 0x65, 0x78, 0x63, 0x68, 0x61
|
|
.byte 0x6E, 0x67, 0x65, 0x2F, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x5F, 0x66, 0x69, 0x6E
|
|
.byte 0x69, 0x73, 0x68, 0x2E, 0x61, 0x73, 0x70, 0x00, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x67
|
|
.byte 0x61, 0x6D, 0x65, 0x73, 0x74, 0x61, 0x74, 0x73, 0x32, 0x2E, 0x67, 0x73, 0x2E, 0x6E, 0x69, 0x6E
|
|
.byte 0x74, 0x65, 0x6E, 0x64, 0x6F, 0x77, 0x69, 0x66, 0x69, 0x2E, 0x6E, 0x65, 0x74, 0x2F, 0x70, 0x6F
|
|
.byte 0x6B, 0x65, 0x6D, 0x6F, 0x6E, 0x64, 0x70, 0x64, 0x73, 0x2F, 0x77, 0x6F, 0x72, 0x6C, 0x64, 0x65
|
|
.byte 0x78, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x2F, 0x69, 0x6E, 0x66, 0x6F, 0x2E, 0x61, 0x73, 0x70
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x85, 0x62, 0x23, 0x02, 0x31, 0x63, 0x23, 0x02, 0x51, 0x63, 0x23, 0x02
|
|
.byte 0xF5, 0xE8, 0x22, 0x02, 0xB9, 0xE9, 0x22, 0x02, 0xD9, 0xE9, 0x22, 0x02, 0x95, 0xF3, 0x22, 0x02
|
|
.byte 0x5D, 0xF4, 0x22, 0x02, 0x71, 0xF4, 0x22, 0x02, 0x61, 0xFE, 0x22, 0x02, 0x35, 0xFF, 0x22, 0x02
|
|
.byte 0x49, 0xFF, 0x22, 0x02, 0x5D, 0x06, 0x23, 0x02, 0x29, 0x07, 0x23, 0x02, 0x3D, 0x07, 0x23, 0x02
|
|
.byte 0xF1, 0x19, 0x23, 0x02, 0x65, 0x1A, 0x23, 0x02, 0x85, 0x1A, 0x23, 0x02, 0x19, 0x32, 0x23, 0x02
|
|
.byte 0xA9, 0x32, 0x23, 0x02, 0xC9, 0x32, 0x23, 0x02, 0xFD, 0x46, 0x23, 0x02, 0x41, 0x47, 0x23, 0x02
|
|
.byte 0x61, 0x47, 0x23, 0x02, 0x35, 0x5D, 0x23, 0x02, 0xD5, 0x5D, 0x23, 0x02, 0xFD, 0x5D, 0x23, 0x02
|
|
.byte 0x09, 0x5E, 0x23, 0x02, 0xBD, 0x5F, 0x23, 0x02, 0x89, 0x61, 0x23, 0x02, 0x25, 0xEE, 0x22, 0x02
|
|
.byte 0x65, 0xEE, 0x22, 0x02, 0x75, 0xEE, 0x22, 0x02, 0x99, 0xEE, 0x22, 0x02, 0xAD, 0xEE, 0x22, 0x02
|
|
.byte 0xC1, 0xEE, 0x22, 0x02, 0xFD, 0xEE, 0x22, 0x02, 0xA9, 0xF0, 0x22, 0x02, 0xD1, 0xF0, 0x22, 0x02
|
|
.byte 0xE5, 0xF0, 0x22, 0x02, 0xB9, 0xF1, 0x22, 0x02, 0xD9, 0xF1, 0x22, 0x02, 0x2D, 0xF1, 0x22, 0x02
|
|
.byte 0x4D, 0xF1, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x05, 0x00, 0x00, 0x04, 0x03, 0x00
|
|
.byte 0x65, 0xF8, 0x22, 0x02, 0x6D, 0xF8, 0x22, 0x02, 0xCD, 0xF8, 0x22, 0x02, 0xE9, 0xFA, 0x22, 0x02
|
|
.byte 0x09, 0xFB, 0x22, 0x02, 0xF5, 0xF8, 0x22, 0x02, 0x19, 0xF9, 0x22, 0x02, 0x6D, 0xF9, 0x22, 0x02
|
|
.byte 0x05, 0xFA, 0x22, 0x02, 0xF1, 0x02, 0x23, 0x02, 0xF9, 0x02, 0x23, 0x02, 0x95, 0x03, 0x23, 0x02
|
|
.byte 0xD9, 0x04, 0x23, 0x02, 0xD9, 0x03, 0x23, 0x02, 0xF9, 0x03, 0x23, 0x02, 0xC9, 0x04, 0x23, 0x02
|
|
.byte 0x14, 0x00, 0x27, 0x00, 0x14, 0x00, 0x4F, 0x00, 0x14, 0x00, 0x77, 0x00, 0x8C, 0x00, 0x40, 0x00
|
|
.byte 0x8C, 0x00, 0x78, 0x00, 0x6D, 0x0B, 0x23, 0x02, 0x95, 0x0B, 0x23, 0x02, 0x15, 0x11, 0x23, 0x02
|
|
.byte 0x3D, 0x11, 0x23, 0x02, 0xC9, 0x11, 0x23, 0x02, 0x01, 0x12, 0x23, 0x02, 0xCD, 0x12, 0x23, 0x02
|
|
.byte 0x1D, 0x13, 0x23, 0x02, 0x91, 0x14, 0x23, 0x02, 0xED, 0x14, 0x23, 0x02, 0x25, 0x15, 0x23, 0x02
|
|
.byte 0x15, 0x16, 0x23, 0x02, 0x71, 0x16, 0x23, 0x02, 0xA9, 0x16, 0x23, 0x02, 0xC9, 0x0C, 0x23, 0x02
|
|
.byte 0xB9, 0x0D, 0x23, 0x02, 0x15, 0x0E, 0x23, 0x02, 0x9D, 0x0E, 0x23, 0x02, 0xFD, 0x0E, 0x23, 0x02
|
|
.byte 0x3D, 0x0F, 0x23, 0x02, 0x29, 0x18, 0x23, 0x02, 0x49, 0x18, 0x23, 0x02, 0x91, 0x17, 0x23, 0x02
|
|
.byte 0xB5, 0x17, 0x23, 0x02, 0xF9, 0x17, 0x23, 0x02, 0x01, 0x18, 0x23, 0x02, 0x79, 0x0F, 0x23, 0x02
|
|
.byte 0xB5, 0x0F, 0x23, 0x02, 0x29, 0x21, 0x23, 0x02, 0x3D, 0x21, 0x23, 0x02, 0x4D, 0x28, 0x23, 0x02
|
|
.byte 0xE9, 0x2A, 0x23, 0x02, 0x09, 0x2B, 0x23, 0x02, 0xA5, 0x28, 0x23, 0x02, 0xC9, 0x28, 0x23, 0x02
|
|
.byte 0x71, 0x24, 0x23, 0x02, 0x19, 0x25, 0x23, 0x02, 0x71, 0x26, 0x23, 0x02, 0x19, 0x27, 0x23, 0x02
|
|
.byte 0x01, 0x29, 0x23, 0x02, 0x2D, 0x29, 0x23, 0x02, 0x51, 0x29, 0x23, 0x02, 0x35, 0x2A, 0x23, 0x02
|
|
.byte 0x61, 0x2A, 0x23, 0x02, 0x85, 0x2A, 0x23, 0x02, 0x00, 0x06, 0x05, 0x00, 0x00, 0x04, 0x03, 0x00
|
|
.byte 0x00, 0x00, 0x57, 0x00, 0x88, 0x00, 0xBF, 0x00, 0xEB, 0x00, 0x2F, 0x01, 0x68, 0x01, 0xC9, 0x01
|
|
.byte 0xE7, 0x01, 0xED, 0x01, 0x72, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00
|
|
.byte 0xFE, 0xFF, 0xFF, 0xFF, 0xC5, 0x36, 0x23, 0x02, 0xF9, 0x36, 0x23, 0x02, 0x31, 0x3E, 0x23, 0x02
|
|
.byte 0x85, 0x37, 0x23, 0x02, 0xBD, 0x37, 0x23, 0x02, 0x91, 0x38, 0x23, 0x02, 0x0D, 0x39, 0x23, 0x02
|
|
.byte 0x6D, 0x3A, 0x23, 0x02, 0xC9, 0x3A, 0x23, 0x02, 0x01, 0x3B, 0x23, 0x02, 0xE9, 0x3B, 0x23, 0x02
|
|
.byte 0x45, 0x3C, 0x23, 0x02, 0x7D, 0x3C, 0x23, 0x02, 0x8D, 0x3D, 0x23, 0x02, 0xB5, 0x3D, 0x23, 0x02
|
|
.byte 0xD9, 0x3D, 0x23, 0x02, 0x85, 0x3E, 0x23, 0x02, 0xCD, 0x49, 0x23, 0x02, 0xCD, 0x51, 0x23, 0x02
|
|
.byte 0xC1, 0x4A, 0x23, 0x02, 0xE5, 0x4A, 0x23, 0x02, 0x61, 0x4B, 0x23, 0x02, 0x75, 0x4B, 0x23, 0x02
|
|
.byte 0xD1, 0x51, 0x23, 0x02, 0xD9, 0x4B, 0x23, 0x02, 0xF5, 0x4B, 0x23, 0x02, 0x8D, 0x4C, 0x23, 0x02
|
|
.byte 0x9D, 0x4C, 0x23, 0x02, 0xE9, 0x51, 0x23, 0x02, 0xFD, 0x4C, 0x23, 0x02, 0x3D, 0x4D, 0x23, 0x02
|
|
.byte 0xF9, 0x4D, 0x23, 0x02, 0x09, 0x4E, 0x23, 0x02, 0x01, 0x52, 0x23, 0x02, 0xAD, 0x52, 0x23, 0x02
|
|
.byte 0xF1, 0x50, 0x23, 0x02, 0x59, 0x51, 0x23, 0x02, 0x69, 0x51, 0x23, 0x02, 0x15, 0x52, 0x23, 0x02
|
|
.byte 0x2D, 0x52, 0x23, 0x02, 0x3D, 0x52, 0x23, 0x02, 0x69, 0x4E, 0x23, 0x02, 0x7D, 0x4E, 0x23, 0x02
|
|
.byte 0x2D, 0x50, 0x23, 0x02, 0x41, 0x50, 0x23, 0x02, 0x19, 0x50, 0x23, 0x02, 0x99, 0x53, 0x23, 0x02
|
|
.byte 0xB5, 0x53, 0x23, 0x02, 0xF5, 0x53, 0x23, 0x02, 0x11, 0x54, 0x23, 0x02, 0x31, 0x54, 0x23, 0x02
|
|
.byte 0x55, 0x54, 0x23, 0x02, 0x71, 0x54, 0x23, 0x02, 0xBD, 0x54, 0x23, 0x02, 0x15, 0x55, 0x23, 0x02
|
|
.byte 0x49, 0x53, 0x23, 0x02, 0x71, 0x53, 0x23, 0x02, 0xC5, 0x66, 0x23, 0x02, 0xFD, 0x66, 0x23, 0x02
|
|
.byte 0x71, 0x68, 0x23, 0x02, 0x91, 0x68, 0x23, 0x02, 0xFD, 0x68, 0x23, 0x02, 0x11, 0x69, 0x23, 0x02
|
|
.byte 0xA9, 0x69, 0x23, 0x02, 0xF1, 0x69, 0x23, 0x02, 0x01, 0x6A, 0x23, 0x02, 0xDD, 0x6A, 0x23, 0x02
|
|
.byte 0xE9, 0x6B, 0x23, 0x02, 0x3D, 0x6C, 0x23, 0x02, 0x19, 0x6B, 0x23, 0x02, 0x65, 0x67, 0x23, 0x02
|
|
.byte 0x95, 0x67, 0x23, 0x02, 0xF9, 0x67, 0x23, 0x02, 0x25, 0x68, 0x23, 0x02, 0x45, 0x68, 0x23, 0x02
|
|
.byte 0x09, 0x6C, 0x23, 0x02, 0x51, 0x6B, 0x23, 0x02, 0xC9, 0x6B, 0x23, 0x02, 0x8D, 0x6A, 0x23, 0x02
|
|
.byte 0xAD, 0x6A, 0x23, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.section .bss
|
|
; 0x02237CE0
|
|
.space 0x160
|