mirror of
https://github.com/pret/pokediamond.git
synced 2026-08-24 01:34:29 -05:00
4306 lines
79 KiB
ArmAsm
4306 lines
79 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
.section .text
|
|
.balign 4, 0
|
|
|
|
thumb_func_start MOD66_021D74E0
|
|
MOD66_021D74E0: ; 0x021D74E0
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl FUN_0200628C
|
|
mov r2, #2
|
|
add r5, r0, #0
|
|
mov r0, #3
|
|
mov r1, #0x11
|
|
lsl r2, r2, #0x10
|
|
bl FUN_0201681C
|
|
add r0, r4, #0
|
|
mov r1, #0xe4
|
|
mov r2, #0x11
|
|
bl FUN_02006268
|
|
mov r1, #0
|
|
mov r2, #0xe4
|
|
add r4, r0, #0
|
|
bl memset
|
|
ldr r0, _021D7534 ; =0x00000139
|
|
str r5, [r4, #0x2c]
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #3
|
|
bhs _021D7516
|
|
b _021D7518
|
|
_021D7516:
|
|
mov r0, #0
|
|
_021D7518:
|
|
strb r0, [r4]
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldrh r0, [r5, r0]
|
|
mov r1, #0
|
|
add r2, r1, #0
|
|
strh r0, [r4, #2]
|
|
mov r0, #0x11
|
|
str r0, [r4, #4]
|
|
mov r0, #0x37
|
|
bl FUN_0200433C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021D7534: .word 0x00000139
|
|
thumb_func_end MOD66_021D74E0
|
|
|
|
thumb_func_start MOD66_021D7538
|
|
MOD66_021D7538: ; 0x021D7538
|
|
push {r4, lr}
|
|
bl FUN_02006278
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #8]
|
|
cmp r1, #8
|
|
bhi _021D75AA
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021D7552: ; jump table
|
|
.short _021D7564 - _021D7552 - 2 ; case 0
|
|
.short _021D756C - _021D7552 - 2 ; case 1
|
|
.short _021D75AA - _021D7552 - 2 ; case 2
|
|
.short _021D7574 - _021D7552 - 2 ; case 3
|
|
.short _021D7582 - _021D7552 - 2 ; case 4
|
|
.short _021D75AA - _021D7552 - 2 ; case 5
|
|
.short _021D7590 - _021D7552 - 2 ; case 6
|
|
.short _021D75A6 - _021D7552 - 2 ; case 7
|
|
.short _021D759E - _021D7552 - 2 ; case 8
|
|
_021D7564:
|
|
bl MOD66_021D7A88
|
|
str r0, [r4, #8]
|
|
b _021D75AA
|
|
_021D756C:
|
|
bl MOD66_021D7AB0
|
|
str r0, [r4, #8]
|
|
b _021D75AA
|
|
_021D7574:
|
|
bl MOD66_021D7AE8
|
|
str r0, [r4, #8]
|
|
add r0, r4, #0
|
|
bl MOD66_021D77C4
|
|
b _021D75AA
|
|
_021D7582:
|
|
bl MOD66_021D7AFC
|
|
str r0, [r4, #8]
|
|
add r0, r4, #0
|
|
bl MOD66_021D77C4
|
|
b _021D75AA
|
|
_021D7590:
|
|
bl MOD66_021D7B38
|
|
str r0, [r4, #8]
|
|
add r0, r4, #0
|
|
bl MOD66_021D77C4
|
|
b _021D75AA
|
|
_021D759E:
|
|
bl MOD66_021D7B94
|
|
str r0, [r4, #8]
|
|
b _021D75AA
|
|
_021D75A6:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021D75AA:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D7538
|
|
|
|
thumb_func_start MOD66_021D75B0
|
|
MOD66_021D75B0: ; 0x021D75B0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl FUN_02006278
|
|
add r0, r4, #0
|
|
bl FUN_0200627C
|
|
mov r0, #0x11
|
|
bl FUN_020168D0
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end MOD66_021D75B0
|
|
|
|
thumb_func_start MOD66_021D75C8
|
|
MOD66_021D75C8: ; 0x021D75C8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrb r2, [r4]
|
|
mov r1, #0x24
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
ldr r1, _021D75FC ; =0x021D95E8
|
|
ldr r1, [r1, r3]
|
|
cmp r1, #0
|
|
beq _021D75DE
|
|
blx r1
|
|
_021D75DE:
|
|
bl FUN_020AEEB8
|
|
add r0, r4, #0
|
|
bl MOD66_021D9220
|
|
ldr r0, [r4, #0x28]
|
|
bl FUN_0201AB60
|
|
ldr r3, _021D7600 ; =0x027E0000
|
|
ldr r1, _021D7604 ; =0x00003FF8
|
|
mov r0, #1
|
|
ldr r2, [r3, r1]
|
|
orr r0, r2
|
|
str r0, [r3, r1]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D75FC: .word 0x021D95E8
|
|
_021D7600: .word 0x027E0000
|
|
_021D7604: .word 0x00003FF8
|
|
thumb_func_end MOD66_021D75C8
|
|
|
|
thumb_func_start MOD66_021D7608
|
|
MOD66_021D7608: ; 0x021D7608
|
|
push {r4, lr}
|
|
sub sp, #0x28
|
|
ldr r4, _021D7624 ; =0x021D95A0
|
|
add r3, sp, #0
|
|
mov r2, #5
|
|
_021D7612:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021D7612
|
|
add r0, sp, #0
|
|
bl FUN_0201E66C
|
|
add sp, #0x28
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D7624: .word 0x021D95A0
|
|
thumb_func_end MOD66_021D7608
|
|
|
|
thumb_func_start MOD66_021D7628
|
|
MOD66_021D7628: ; 0x021D7628
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
beq _021D763C
|
|
cmp r0, #1
|
|
beq _021D76E4
|
|
cmp r0, #2
|
|
beq _021D7710
|
|
b _021D772E
|
|
_021D763C:
|
|
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, _021D7738 ; =0xFFFFE0FF
|
|
and r1, r0
|
|
str r1, [r2]
|
|
ldr r2, _021D773C ; =0x04001000
|
|
ldr r1, [r2]
|
|
and r0, r1
|
|
str r0, [r2]
|
|
ldr r0, [r4, #0x2c]
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
bne _021D767C
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
bne _021D767C
|
|
mov r0, #3
|
|
str r0, [r4, #0x20]
|
|
mov r0, #0x1b
|
|
str r0, [r4, #0x24]
|
|
b _021D7694
|
|
_021D767C:
|
|
asr r0, r1, #4
|
|
lsr r0, r0, #0x1b
|
|
add r0, r1, r0
|
|
asr r0, r0, #5
|
|
str r0, [r4, #0x20]
|
|
ldr r0, [r4, #0x2c]
|
|
ldr r1, [r0, #4]
|
|
asr r0, r1, #4
|
|
lsr r0, r0, #0x1b
|
|
add r0, r1, r0
|
|
asr r0, r0, #5
|
|
str r0, [r4, #0x24]
|
|
_021D7694:
|
|
ldr r0, [r4, #0x20]
|
|
ldr r2, _021D7740 ; =0x0000017E
|
|
str r0, [r4, #0x18]
|
|
ldr r0, [r4, #0x24]
|
|
mov r1, #0x1a
|
|
str r0, [r4, #0x1c]
|
|
ldr r3, [r4, #4]
|
|
mov r0, #1
|
|
bl FUN_0200A86C
|
|
add r1, r4, #0
|
|
add r1, #0x80
|
|
str r0, [r1]
|
|
mov r2, #0x8b
|
|
ldr r3, [r4, #4]
|
|
mov r0, #1
|
|
mov r1, #0x1a
|
|
lsl r2, r2, #2
|
|
bl FUN_0200A86C
|
|
add r1, r4, #0
|
|
add r1, #0x84
|
|
str r0, [r1]
|
|
ldr r1, [r4, #4]
|
|
mov r0, #0x16
|
|
bl FUN_020219F4
|
|
add r1, r4, #0
|
|
add r1, #0x88
|
|
str r0, [r1]
|
|
ldr r0, [r4, #4]
|
|
bl FUN_020345A8
|
|
str r0, [r4, #0x30]
|
|
ldr r0, _021D7744 ; =0x021D9AA0
|
|
ldr r1, [r4, #4]
|
|
bl MOD66_021D94A4
|
|
str r0, [r4, #0x40]
|
|
b _021D772E
|
|
_021D76E4:
|
|
bl MOD66_021D7608
|
|
ldr r0, [r4, #4]
|
|
bl FUN_02016B94
|
|
str r0, [r4, #0x28]
|
|
ldr r1, [r4, #0x28]
|
|
add r0, r4, #0
|
|
bl MOD66_021D77E4
|
|
add r0, r4, #0
|
|
bl MOD66_021D78B4
|
|
bl FUN_0201CC08
|
|
mov r0, #4
|
|
bl FUN_0201CC24
|
|
add r0, r4, #0
|
|
bl MOD66_021D913C
|
|
b _021D772E
|
|
_021D7710:
|
|
ldr r0, _021D7748 ; =MOD66_021D75C8
|
|
add r1, r4, #0
|
|
bl FUN_02015F10
|
|
ldrb r1, [r4]
|
|
mov r0, #0x24
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
ldr r0, _021D774C ; =0x021D95D8
|
|
ldr r0, [r0, r2]
|
|
str r0, [r4, #0x38]
|
|
mov r0, #0
|
|
str r0, [r4, #0xc]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021D772E:
|
|
ldr r0, [r4, #0xc]
|
|
add r0, r0, #1
|
|
str r0, [r4, #0xc]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D7738: .word 0xFFFFE0FF
|
|
_021D773C: .word 0x04001000
|
|
_021D7740: .word 0x0000017E
|
|
_021D7744: .word 0x021D9AA0
|
|
_021D7748: .word MOD66_021D75C8
|
|
_021D774C: .word 0x021D95D8
|
|
thumb_func_end MOD66_021D7628
|
|
|
|
thumb_func_start MOD66_021D7750
|
|
MOD66_021D7750: ; 0x021D7750
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl FUN_0201CD04
|
|
mov r0, #0x1f
|
|
mov r1, #0
|
|
bl FUN_0201E6E4
|
|
mov r0, #0x1f
|
|
mov r1, #0
|
|
bl FUN_0201E74C
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl FUN_02015F10
|
|
bl FUN_02015F1C
|
|
add r0, r5, #0
|
|
bl MOD66_021D91F4
|
|
add r0, r5, #0
|
|
bl MOD66_021D7A34
|
|
mov r4, #0
|
|
_021D7782:
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r5, #0x28]
|
|
lsr r1, r1, #0x18
|
|
bl FUN_020178A0
|
|
add r4, r4, #1
|
|
cmp r4, #8
|
|
blt _021D7782
|
|
ldr r0, [r5, #0x28]
|
|
bl FreeToHeap
|
|
ldr r0, [r5, #0x40]
|
|
bl MOD66_021D9544
|
|
ldr r0, [r5, #0x30]
|
|
bl FUN_020345DC
|
|
add r0, r5, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
bl FUN_02021A20
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl FUN_0200A8B8
|
|
add r5, #0x80
|
|
ldr r0, [r5]
|
|
bl FUN_0200A8B8
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D7750
|
|
|
|
thumb_func_start MOD66_021D77C4
|
|
MOD66_021D77C4: ; 0x021D77C4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrb r2, [r4]
|
|
mov r1, #0x24
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
ldr r1, _021D77E0 ; =0x021D95E0
|
|
ldr r1, [r1, r3]
|
|
blx r1
|
|
add r0, r4, #0
|
|
bl MOD66_021D9214
|
|
pop {r4, pc}
|
|
nop
|
|
_021D77E0: .word 0x021D95E0
|
|
thumb_func_end MOD66_021D77C4
|
|
|
|
thumb_func_start MOD66_021D77E4
|
|
MOD66_021D77E4: ; 0x021D77E4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xf4
|
|
ldr r4, _021D78AC ; =0x021D9590
|
|
add r3, sp, #4
|
|
str r0, [sp]
|
|
add r6, r1, #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_02016BBC
|
|
ldr r4, _021D78B0 ; =0x021D9634
|
|
add r3, sp, #0x14
|
|
mov r2, #0x1c
|
|
_021D7806:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021D7806
|
|
mov r4, #0
|
|
add r7, r4, #0
|
|
add r5, sp, #0x14
|
|
_021D7814:
|
|
lsl r1, r4, #0x18
|
|
add r0, r6, #0
|
|
lsr r1, r1, #0x18
|
|
add r2, r5, #0
|
|
mov r3, #0
|
|
bl FUN_02016C18
|
|
lsl r1, r4, #0x18
|
|
add r0, r6, #0
|
|
lsr r1, r1, #0x18
|
|
add r4, r4, #1
|
|
bl FUN_02018744
|
|
add r7, r7, #1
|
|
add r5, #0x1c
|
|
cmp r7, #8
|
|
blt _021D7814
|
|
ldr r3, [sp]
|
|
mov r0, #0
|
|
ldr r3, [r3, #4]
|
|
mov r1, #0x20
|
|
add r2, r0, #0
|
|
bl FUN_02017F18
|
|
ldr r3, [sp]
|
|
mov r0, #1
|
|
ldr r3, [r3, #4]
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl FUN_02017F18
|
|
ldr r3, [sp]
|
|
mov r0, #2
|
|
ldr r3, [r3, #4]
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl FUN_02017F18
|
|
ldr r3, [sp]
|
|
mov r0, #3
|
|
ldr r3, [r3, #4]
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl FUN_02017F18
|
|
ldr r3, [sp]
|
|
mov r0, #4
|
|
ldr r3, [r3, #4]
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl FUN_02017F18
|
|
ldr r3, [sp]
|
|
mov r0, #5
|
|
ldr r3, [r3, #4]
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl FUN_02017F18
|
|
ldr r3, [sp]
|
|
mov r0, #6
|
|
ldr r3, [r3, #4]
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl FUN_02017F18
|
|
ldr r3, [sp]
|
|
mov r0, #7
|
|
ldr r3, [r3, #4]
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl FUN_02017F18
|
|
add sp, #0xf4
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021D78AC: .word 0x021D9590
|
|
_021D78B0: .word 0x021D9634
|
|
thumb_func_end MOD66_021D77E4
|
|
|
|
thumb_func_start MOD66_021D78B4
|
|
MOD66_021D78B4: ; 0x021D78B4
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r1, [r5, #4]
|
|
mov r0, #0x11
|
|
bl NARC_ctor
|
|
add r4, r0, #0
|
|
mov r0, #0x13
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, [r5, #4]
|
|
add r2, r4, #0
|
|
mov r3, #0x11
|
|
bl FUN_02079B60
|
|
mov r0, #0x14
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, [r5, #4]
|
|
add r2, r4, #0
|
|
mov r3, #0x11
|
|
bl FUN_02079B60
|
|
mov r0, #0x15
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, [r5, #4]
|
|
add r2, r4, #0
|
|
mov r3, #0x11
|
|
bl FUN_02079B60
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, [r5, #4]
|
|
add r2, r4, #0
|
|
mov r3, #0x11
|
|
bl FUN_02079B60
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, [r5, #4]
|
|
add r2, r4, #0
|
|
mov r3, #0x11
|
|
bl FUN_02079B60
|
|
ldr r0, [r5, #4]
|
|
add r3, r5, #0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x11
|
|
mov r2, #0x18
|
|
add r3, #0xb8
|
|
bl FUN_02079C40
|
|
add r1, r5, #0
|
|
add r1, #0x98
|
|
str r0, [r1]
|
|
ldr r0, [r5, #4]
|
|
add r3, r5, #0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x11
|
|
mov r2, #0x16
|
|
add r3, #0xbc
|
|
bl FUN_02079C40
|
|
add r1, r5, #0
|
|
add r1, #0x9c
|
|
str r0, [r1]
|
|
ldr r0, [r5, #4]
|
|
add r3, r5, #0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x11
|
|
mov r2, #0x17
|
|
add r3, #0xc0
|
|
bl FUN_02079C40
|
|
add r1, r5, #0
|
|
add r1, #0xa0
|
|
str r0, [r1]
|
|
ldr r0, [r5, #4]
|
|
add r3, r5, #0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x11
|
|
mov r2, #0x19
|
|
add r3, #0xc4
|
|
bl FUN_02079C40
|
|
add r1, r5, #0
|
|
add r1, #0xa4
|
|
str r0, [r1]
|
|
ldr r0, [r5, #4]
|
|
add r3, r5, #0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x11
|
|
mov r2, #0x1a
|
|
add r3, #0xc8
|
|
bl FUN_02079C40
|
|
add r1, r5, #0
|
|
add r1, #0xa8
|
|
str r0, [r1]
|
|
ldr r0, [r5, #4]
|
|
add r3, r5, #0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x11
|
|
mov r2, #0x1b
|
|
add r3, #0xcc
|
|
bl FUN_02079C40
|
|
add r1, r5, #0
|
|
add r1, #0xac
|
|
str r0, [r1]
|
|
ldr r0, [r5, #4]
|
|
add r3, r5, #0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x11
|
|
mov r2, #0x1c
|
|
add r3, #0xd0
|
|
bl FUN_02079C40
|
|
add r1, r5, #0
|
|
add r1, #0xb0
|
|
str r0, [r1]
|
|
ldr r0, [r5, #4]
|
|
add r3, r5, #0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x11
|
|
mov r2, #0x1d
|
|
add r3, #0xd4
|
|
bl FUN_02079C40
|
|
add r1, r5, #0
|
|
add r1, #0xb4
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
bl NARC_dtor
|
|
mov r1, #0x1e
|
|
ldr r2, [r5, #4]
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
bl FUN_02002ED0
|
|
mov r1, #0x1e
|
|
ldr r2, [r5, #4]
|
|
mov r0, #4
|
|
lsl r1, r1, #4
|
|
bl FUN_02002ED0
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D78B4
|
|
|
|
thumb_func_start MOD66_021D7A34
|
|
MOD66_021D7A34: ; 0x021D7A34
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
add r0, #0xac
|
|
ldr r0, [r0]
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
add r0, #0xa0
|
|
ldr r0, [r0]
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
add r0, #0x9c
|
|
ldr r0, [r0]
|
|
bl FreeToHeap
|
|
add r4, #0x98
|
|
ldr r0, [r4]
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D7A34
|
|
|
|
thumb_func_start MOD66_021D7A88
|
|
MOD66_021D7A88: ; 0x021D7A88
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl MOD66_021D7628
|
|
cmp r0, #1
|
|
beq _021D7A98
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021D7A98:
|
|
ldrb r2, [r4]
|
|
mov r1, #0x24
|
|
add r0, r4, #0
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
ldr r1, _021D7AAC ; =0x021D95C8
|
|
ldr r1, [r1, r3]
|
|
blx r1
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D7AAC: .word 0x021D95C8
|
|
thumb_func_end MOD66_021D7A88
|
|
|
|
thumb_func_start MOD66_021D7AB0
|
|
MOD66_021D7AB0: ; 0x021D7AB0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrb r2, [r4]
|
|
mov r1, #0x24
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
ldr r1, _021D7AE0 ; =0x021D95CC
|
|
ldr r1, [r1, r3]
|
|
blx r1
|
|
cmp r0, #1
|
|
beq _021D7ACA
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021D7ACA:
|
|
ldrb r2, [r4]
|
|
mov r1, #0x24
|
|
add r0, r4, #0
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
ldr r1, _021D7AE4 ; =0x021D95D0
|
|
ldr r1, [r1, r3]
|
|
blx r1
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
nop
|
|
_021D7AE0: .word 0x021D95CC
|
|
_021D7AE4: .word 0x021D95D0
|
|
thumb_func_end MOD66_021D7AB0
|
|
|
|
thumb_func_start MOD66_021D7AE8
|
|
MOD66_021D7AE8: ; 0x021D7AE8
|
|
push {r3, lr}
|
|
bl FUN_0200E308
|
|
cmp r0, #0
|
|
beq _021D7AF6
|
|
mov r0, #4
|
|
pop {r3, pc}
|
|
_021D7AF6:
|
|
mov r0, #3
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D7AE8
|
|
|
|
thumb_func_start MOD66_021D7AFC
|
|
MOD66_021D7AFC: ; 0x021D7AFC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #0x38]
|
|
blx r1
|
|
cmp r0, #1
|
|
beq _021D7B1C
|
|
ldrb r2, [r4]
|
|
mov r1, #0x24
|
|
add r0, r4, #0
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
ldr r1, _021D7B30 ; =0x021D95DC
|
|
ldr r1, [r1, r3]
|
|
blx r1
|
|
mov r0, #4
|
|
pop {r4, pc}
|
|
_021D7B1C:
|
|
ldrb r2, [r4]
|
|
mov r1, #0x24
|
|
add r0, r4, #0
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
ldr r1, _021D7B34 ; =0x021D95D4
|
|
ldr r1, [r1, r3]
|
|
blx r1
|
|
mov r0, #6
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D7B30: .word 0x021D95DC
|
|
_021D7B34: .word 0x021D95D4
|
|
thumb_func_end MOD66_021D7AFC
|
|
|
|
thumb_func_start MOD66_021D7B38
|
|
MOD66_021D7B38: ; 0x021D7B38
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
bl FUN_0200E308
|
|
cmp r0, #0
|
|
beq _021D7B76
|
|
mov r1, #0
|
|
ldr r0, _021D7B8C ; =0x04000050
|
|
add r2, r1, #0
|
|
mov r3, #0x1f
|
|
str r1, [sp]
|
|
bl G2x_SetBlendAlpha_
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl FUN_0200E3A0
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl FUN_0200E3A0
|
|
mov r0, #0
|
|
bl FUN_0200E388
|
|
mov r0, #1
|
|
bl FUN_0200E388
|
|
add sp, #4
|
|
mov r0, #8
|
|
pop {r3, r4, pc}
|
|
_021D7B76:
|
|
ldrb r2, [r4]
|
|
mov r1, #0x24
|
|
add r0, r4, #0
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
ldr r1, _021D7B90 ; =0x021D95DC
|
|
ldr r1, [r1, r3]
|
|
blx r1
|
|
mov r0, #6
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.align 2, 0
|
|
_021D7B8C: .word 0x04000050
|
|
_021D7B90: .word 0x021D95DC
|
|
thumb_func_end MOD66_021D7B38
|
|
|
|
thumb_func_start MOD66_021D7B94
|
|
MOD66_021D7B94: ; 0x021D7B94
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrb r2, [r4]
|
|
mov r1, #0x24
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
ldr r1, _021D7BB0 ; =0x021D95E4
|
|
ldr r1, [r1, r3]
|
|
blx r1
|
|
add r0, r4, #0
|
|
bl MOD66_021D7750
|
|
mov r0, #7
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D7BB0: .word 0x021D95E4
|
|
thumb_func_end MOD66_021D7B94
|
|
|
|
thumb_func_start MOD66_021D7BB4
|
|
MOD66_021D7BB4: ; 0x021D7BB4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #0x11
|
|
ldr r0, [r4, #4]
|
|
lsl r1, r1, #4
|
|
bl AllocFromHeap
|
|
mov r2, #0x11
|
|
mov r1, #0
|
|
lsl r2, r2, #4
|
|
str r0, [r4, #0x34]
|
|
bl memset
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D7BB4
|
|
|
|
thumb_func_start MOD66_021D7BD4
|
|
MOD66_021D7BD4: ; 0x021D7BD4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x34]
|
|
bl MOD66_021D89B8
|
|
ldrb r0, [r5]
|
|
cmp r0, #2
|
|
beq _021D7BEA
|
|
add r0, r5, #0
|
|
bl MOD66_021D8E34
|
|
_021D7BEA:
|
|
add r0, r4, #0
|
|
add r0, #0x9c
|
|
ldr r0, [r0]
|
|
bl MOD66_021D9350
|
|
add r0, r5, #0
|
|
bl MOD66_021D8670
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD66_021D7BD4
|
|
|
|
thumb_func_start MOD66_021D7C04
|
|
MOD66_021D7C04: ; 0x021D7C04
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x34]
|
|
ldr r1, [r4]
|
|
cmp r1, #0
|
|
beq _021D7C16
|
|
cmp r1, #1
|
|
beq _021D7C60
|
|
b _021D7CA2
|
|
_021D7C16:
|
|
ldr r1, [r5, #0x18]
|
|
str r1, [r4, #0x18]
|
|
ldr r1, [r5, #0x1c]
|
|
str r1, [r4, #0x1c]
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
str r1, [r4, #0x20]
|
|
ldr r1, [r4, #0x18]
|
|
lsl r2, r1, #4
|
|
add r1, r4, #0
|
|
sub r2, #0x68
|
|
add r1, #0x8c
|
|
str r2, [r1]
|
|
ldr r1, [r4, #0x1c]
|
|
lsl r2, r1, #4
|
|
add r1, r4, #0
|
|
sub r2, #0x60
|
|
add r1, #0x90
|
|
str r2, [r1]
|
|
add r1, r4, #0
|
|
add r2, r4, #0
|
|
add r1, #0x8c
|
|
add r2, #0x90
|
|
ldr r1, [r1]
|
|
ldr r2, [r2]
|
|
bl MOD66_021D8BF0
|
|
add r0, r5, #0
|
|
bl MOD66_021D8554
|
|
ldrb r0, [r5]
|
|
cmp r0, #2
|
|
beq _021D7CA2
|
|
add r0, r5, #0
|
|
bl MOD66_021D8CD0
|
|
b _021D7CA2
|
|
_021D7C60:
|
|
bl MOD66_021D8838
|
|
add r0, r5, #0
|
|
bl MOD66_021D8AF4
|
|
ldr r0, [r5, #4]
|
|
add r1, r5, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
mov r2, #0x49
|
|
ldr r3, [r5, #0x2c]
|
|
lsl r2, r2, #2
|
|
add r2, r3, r2
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r3, #0x14
|
|
bl MOD66_021D9228
|
|
add r1, r4, #0
|
|
add r1, #0x9c
|
|
str r0, [r1]
|
|
add r0, r5, #0
|
|
bl MOD66_021D818C
|
|
add r0, r5, #0
|
|
bl MOD66_021D8140
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021D7CA2:
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD66_021D7C04
|
|
|
|
thumb_func_start MOD66_021D7CAC
|
|
MOD66_021D7CAC: ; 0x021D7CAC
|
|
push {lr}
|
|
sub sp, #0xc
|
|
mov r3, #0
|
|
str r3, [r0, #0x14]
|
|
mov r1, #6
|
|
str r1, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0, #4]
|
|
mov r2, #0x25
|
|
str r0, [sp, #8]
|
|
add r0, r1, #0
|
|
mov r1, #0x11
|
|
bl FUN_0200E1D0
|
|
ldr r0, _021D7CF0 ; =0x0000068F
|
|
bl FUN_020054C8
|
|
mov r0, #0
|
|
bl FUN_0200E394
|
|
mov r0, #1
|
|
bl FUN_0200E394
|
|
mov r1, #4
|
|
ldr r0, _021D7CF4 ; =0x04000050
|
|
mov r2, #8
|
|
mov r3, #0x1c
|
|
str r1, [sp]
|
|
bl G2x_SetBlendAlpha_
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {pc}
|
|
.align 2, 0
|
|
_021D7CF0: .word 0x0000068F
|
|
_021D7CF4: .word 0x04000050
|
|
thumb_func_end MOD66_021D7CAC
|
|
|
|
thumb_func_start MOD66_021D7CF8
|
|
MOD66_021D7CF8: ; 0x021D7CF8
|
|
push {lr}
|
|
sub sp, #0xc
|
|
mov r3, #0
|
|
str r3, [r0, #0x14]
|
|
mov r1, #6
|
|
str r1, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0, #4]
|
|
mov r1, #0x10
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
mov r2, #0x24
|
|
bl FUN_0200E1D0
|
|
mov r0, #0x69
|
|
lsl r0, r0, #4
|
|
bl FUN_020054C8
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {pc}
|
|
thumb_func_end MOD66_021D7CF8
|
|
|
|
thumb_func_start MOD66_021D7D24
|
|
MOD66_021D7D24: ; 0x021D7D24
|
|
push {lr}
|
|
sub sp, #0xc
|
|
mov r3, #0
|
|
str r3, [r0, #0x14]
|
|
mov r1, #6
|
|
str r1, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0, #4]
|
|
mov r1, #0x11
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
bl FUN_0200E1D0
|
|
ldr r0, _021D7D64 ; =0x0000068F
|
|
bl FUN_020054C8
|
|
mov r0, #0
|
|
bl FUN_0200E394
|
|
mov r1, #4
|
|
ldr r0, _021D7D68 ; =0x04000050
|
|
mov r2, #8
|
|
mov r3, #0x1c
|
|
str r1, [sp]
|
|
bl G2x_SetBlendAlpha_
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {pc}
|
|
nop
|
|
_021D7D64: .word 0x0000068F
|
|
_021D7D68: .word 0x04000050
|
|
thumb_func_end MOD66_021D7D24
|
|
|
|
thumb_func_start MOD66_021D7D6C
|
|
MOD66_021D7D6C: ; 0x021D7D6C
|
|
push {lr}
|
|
sub sp, #0xc
|
|
mov r3, #0
|
|
str r3, [r0, #0x14]
|
|
mov r1, #6
|
|
str r1, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0, #4]
|
|
mov r1, #0x10
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r2, r1, #0
|
|
bl FUN_0200E1D0
|
|
mov r0, #0x69
|
|
lsl r0, r0, #4
|
|
bl FUN_020054C8
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {pc}
|
|
thumb_func_end MOD66_021D7D6C
|
|
|
|
thumb_func_start MOD66_021D7D98
|
|
MOD66_021D7D98: ; 0x021D7D98
|
|
push {r3, lr}
|
|
ldr r1, [r0, #0x34]
|
|
ldrb r3, [r1, #0x14]
|
|
cmp r3, #1
|
|
bhi _021D7DB6
|
|
ldr r1, _021D7DCC ; =0x021C48B8
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #2
|
|
tst r1, r2
|
|
beq _021D7DB6
|
|
ldr r0, _021D7DD0 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021D7DB6:
|
|
cmp r3, #1
|
|
bls _021D7DBE
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_021D7DBE:
|
|
ldr r1, _021D7DCC ; =0x021C48B8
|
|
ldr r1, [r1, #0x44]
|
|
bl MOD66_021D8054
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
nop
|
|
_021D7DCC: .word 0x021C48B8
|
|
_021D7DD0: .word 0x000005DD
|
|
thumb_func_end MOD66_021D7D98
|
|
|
|
thumb_func_start MOD66_021D7DD4
|
|
MOD66_021D7DD4: ; 0x021D7DD4
|
|
push {r3, lr}
|
|
ldr r1, [r0, #0x34]
|
|
ldrb r1, [r1, #0x14]
|
|
cmp r1, #1
|
|
bhi _021D7E0E
|
|
ldr r2, _021D7E24 ; =0x021C48B8
|
|
ldr r3, [r2, #0x48]
|
|
mov r2, #1
|
|
tst r2, r3
|
|
beq _021D7DFE
|
|
bl MOD66_021D90F0
|
|
cmp r0, #0
|
|
beq _021D7DFA
|
|
ldr r0, _021D7E28 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021D7DFA:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_021D7DFE:
|
|
mov r2, #2
|
|
tst r2, r3
|
|
beq _021D7E0E
|
|
ldr r0, _021D7E28 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021D7E0E:
|
|
cmp r1, #1
|
|
bls _021D7E16
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_021D7E16:
|
|
ldr r1, _021D7E24 ; =0x021C48B8
|
|
ldr r1, [r1, #0x44]
|
|
bl MOD66_021D8054
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
nop
|
|
_021D7E24: .word 0x021C48B8
|
|
_021D7E28: .word 0x000005DD
|
|
thumb_func_end MOD66_021D7DD4
|
|
|
|
thumb_func_start MOD66_021D7E2C
|
|
MOD66_021D7E2C: ; 0x021D7E2C
|
|
push {r3, lr}
|
|
ldr r2, _021D7E4C ; =0x021C48B8
|
|
mov r1, #2
|
|
ldr r3, [r2, #0x48]
|
|
tst r1, r3
|
|
beq _021D7E42
|
|
ldr r0, _021D7E50 ; =0x000005DD
|
|
bl FUN_020054C8
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021D7E42:
|
|
ldr r1, [r2, #0x44]
|
|
bl MOD66_021D8054
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.align 2, 0
|
|
_021D7E4C: .word 0x021C48B8
|
|
_021D7E50: .word 0x000005DD
|
|
thumb_func_end MOD66_021D7E2C
|
|
|
|
thumb_func_start MOD66_021D7E54
|
|
MOD66_021D7E54: ; 0x021D7E54
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x34]
|
|
mov r1, #1
|
|
ldrb r2, [r4, #0x12]
|
|
tst r1, r2
|
|
beq _021D7E80
|
|
ldrb r1, [r4, #0x15]
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, #2
|
|
blo _021D7E94
|
|
bl MOD66_021D8140
|
|
mov r0, #0
|
|
strb r0, [r4, #0x12]
|
|
strh r0, [r4, #0x16]
|
|
ldrb r1, [r4, #0x15]
|
|
mov r0, #0xf
|
|
bic r1, r0
|
|
strb r1, [r4, #0x15]
|
|
b _021D7E94
|
|
_021D7E80:
|
|
ldrb r1, [r4, #0x10]
|
|
cmp r1, #1
|
|
bne _021D7E94
|
|
ldrh r1, [r4, #0x16]
|
|
cmp r1, #1
|
|
bne _021D7E94
|
|
ldr r2, [r4, #0x20]
|
|
mov r1, #0
|
|
bl MOD66_021D8480
|
|
_021D7E94:
|
|
add r0, r5, #0
|
|
bl MOD66_021D8380
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D7E54
|
|
|
|
thumb_func_start MOD66_021D7EA0
|
|
MOD66_021D7EA0: ; 0x021D7EA0
|
|
push {r3, lr}
|
|
add r1, r0, #0
|
|
ldr r0, [r1, #0x34]
|
|
ldrb r1, [r1]
|
|
add r0, #0x9c
|
|
ldr r0, [r0]
|
|
bl MOD66_021D945C
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end MOD66_021D7EA0
|
|
|
|
thumb_func_start MOD66_021D7EB4
|
|
MOD66_021D7EB4: ; 0x021D7EB4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r6, r0, #0
|
|
add r1, r6, #0
|
|
add r1, #0x94
|
|
ldr r5, [r1]
|
|
add r1, r6, #0
|
|
add r1, #0x90
|
|
ldr r7, [r1]
|
|
add r1, r6, #0
|
|
add r1, #0x8c
|
|
ldr r1, [r1]
|
|
ldr r4, [r6, #0x34]
|
|
cmp r1, #0
|
|
bne _021D7ED8
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021D7ED8:
|
|
add r1, r6, #0
|
|
mov r2, #0
|
|
add r1, #0x8c
|
|
str r2, [r1]
|
|
cmp r5, #0
|
|
bne _021D7EF8
|
|
add r4, #0x58
|
|
add r1, r4, #0
|
|
bl MOD66_021D82B8
|
|
add r0, r6, #0
|
|
bl MOD66_021D8494
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021D7EF8:
|
|
add r1, r4, #0
|
|
add r1, #0x58
|
|
add r2, r5, #0
|
|
bl MOD66_021D82B8
|
|
add r0, r6, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
bl FUN_02021A4C
|
|
ldr r2, [r4, #0x18]
|
|
ldr r3, [r4, #0x1c]
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
bl MOD66_021D81B4
|
|
ldrh r0, [r5, #4]
|
|
ldr r2, _021D7FA0 ; =0x0000013B
|
|
mov r1, #4
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldrh r0, [r5, #6]
|
|
mov r3, #0xe
|
|
str r0, [sp, #4]
|
|
ldr r0, [r6, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r6, #0x28]
|
|
bl FUN_0200D300
|
|
ldrh r0, [r5, #4]
|
|
cmp r0, #1
|
|
bhi _021D7F40
|
|
add r7, r4, #0
|
|
add r7, #0x38
|
|
b _021D7F44
|
|
_021D7F40:
|
|
add r7, r4, #0
|
|
add r7, #0x48
|
|
_021D7F44:
|
|
str r7, [r4, #0x78]
|
|
ldrb r0, [r4, #0x15]
|
|
mov r1, #0xf0
|
|
ldr r2, _021D7FA0 ; =0x0000013B
|
|
bic r0, r1
|
|
ldrh r1, [r5, #4]
|
|
mov r3, #0xe
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x18
|
|
orr r0, r1
|
|
strb r0, [r4, #0x15]
|
|
ldrh r0, [r5, #4]
|
|
mov r1, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
add r0, r7, #0
|
|
bl FUN_0200D6F8
|
|
add r0, r7, #0
|
|
mov r1, #0xf
|
|
bl FUN_02019620
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
str r3, [sp, #8]
|
|
add r6, #0x88
|
|
ldr r2, [r6]
|
|
add r0, r7, #0
|
|
mov r1, #1
|
|
bl FUN_0201BD84
|
|
add r0, r7, #0
|
|
bl FUN_020191D0
|
|
add r4, #0x58
|
|
add r0, r4, #0
|
|
bl FUN_020191D0
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021D7FA0: .word 0x0000013B
|
|
thumb_func_end MOD66_021D7EB4
|
|
|
|
thumb_func_start MOD66_021D7FA4
|
|
MOD66_021D7FA4: ; 0x021D7FA4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r0, #1
|
|
sub r0, r0, r6
|
|
ldr r1, _021D7FF4 ; =0x021D9720
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
bl FUN_02020988
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _021D7FC8
|
|
cmp r6, #1
|
|
bne _021D7FCE
|
|
_021D7FC8:
|
|
add sp, #8
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021D7FCE:
|
|
mov r1, #0x12
|
|
add r0, sp, #4
|
|
strh r1, [r0]
|
|
add r0, sp, #4
|
|
str r0, [sp]
|
|
ldr r3, _021D7FF8 ; =0x021C48F8
|
|
ldr r0, [r5, #0x28]
|
|
ldrh r2, [r3, #0x1c]
|
|
ldrh r3, [r3, #0x1e]
|
|
mov r1, #5
|
|
bl FUN_0201AFBC
|
|
cmp r0, #0
|
|
beq _021D7FEE
|
|
mov r4, #0
|
|
mvn r4, r4
|
|
_021D7FEE:
|
|
add r0, r4, #0
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021D7FF4: .word 0x021D9720
|
|
_021D7FF8: .word 0x021C48F8
|
|
thumb_func_end MOD66_021D7FA4
|
|
|
|
thumb_func_start MOD66_021D7FFC
|
|
MOD66_021D7FFC: ; 0x021D7FFC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r1, [r5, #0x2c]
|
|
ldr r0, _021D8050 ; =0x00000139
|
|
ldr r4, [r5, #0x34]
|
|
ldrb r0, [r1, r0]
|
|
cmp r0, #2
|
|
bne _021D8010
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021D8010:
|
|
bl FUN_02020A98
|
|
cmp r0, #0
|
|
ldrb r0, [r4, #0x14]
|
|
beq _021D803E
|
|
cmp r0, #0
|
|
bne _021D804C
|
|
ldrb r1, [r4, #0x10]
|
|
add r0, r5, #0
|
|
bl MOD66_021D7FA4
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _021D804C
|
|
ldrb r1, [r4, #0x10]
|
|
add r0, r5, #0
|
|
bl MOD66_021D8E70
|
|
mov r0, #3
|
|
strb r0, [r4, #0x14]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021D803E:
|
|
cmp r0, #3
|
|
beq _021D8046
|
|
cmp r0, #1
|
|
bne _021D804C
|
|
_021D8046:
|
|
ldrb r0, [r4, #0x14]
|
|
sub r0, r0, #1
|
|
strb r0, [r4, #0x14]
|
|
_021D804C:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021D8050: .word 0x00000139
|
|
thumb_func_end MOD66_021D7FFC
|
|
|
|
thumb_func_start MOD66_021D8054
|
|
MOD66_021D8054: ; 0x021D8054
|
|
push {r3, r4, r5, lr}
|
|
ldr r4, [r0, #0x34]
|
|
add r5, r1, #0
|
|
ldrb r1, [r4, #0x11]
|
|
cmp r1, #0
|
|
beq _021D8084
|
|
mov r0, #0xf0
|
|
tst r0, r5
|
|
bne _021D813C
|
|
ldrb r2, [r4, #0x15]
|
|
lsl r0, r2, #0x1c
|
|
lsr r1, r0, #0x1c
|
|
cmp r1, #1
|
|
bne _021D813C
|
|
mov r0, #0xf
|
|
bic r2, r0
|
|
add r0, r1, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
mov r0, #0xf
|
|
and r0, r1
|
|
orr r0, r2
|
|
strb r0, [r4, #0x15]
|
|
pop {r3, r4, r5, pc}
|
|
_021D8084:
|
|
bl MOD66_021D7FFC
|
|
cmp r0, #0
|
|
bne _021D813C
|
|
mov r0, #0xf0
|
|
tst r0, r5
|
|
bne _021D80B0
|
|
ldrb r2, [r4, #0x15]
|
|
lsl r0, r2, #0x1c
|
|
lsr r1, r0, #0x1c
|
|
cmp r1, #1
|
|
bne _021D813C
|
|
mov r0, #0xf
|
|
bic r2, r0
|
|
add r0, r1, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
mov r0, #0xf
|
|
and r0, r1
|
|
orr r0, r2
|
|
strb r0, [r4, #0x15]
|
|
pop {r3, r4, r5, pc}
|
|
_021D80B0:
|
|
mov r0, #0x40
|
|
tst r0, r5
|
|
beq _021D80C8
|
|
ldr r0, [r4, #0x1c]
|
|
cmp r0, #7
|
|
blt _021D80C8
|
|
sub r0, r0, #1
|
|
str r0, [r4, #0x1c]
|
|
ldrb r1, [r4, #0x11]
|
|
mov r0, #8
|
|
orr r0, r1
|
|
strb r0, [r4, #0x11]
|
|
_021D80C8:
|
|
mov r0, #0x80
|
|
tst r0, r5
|
|
beq _021D80E0
|
|
ldr r0, [r4, #0x1c]
|
|
cmp r0, #0x1b
|
|
bgt _021D80E0
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x1c]
|
|
ldrb r1, [r4, #0x11]
|
|
mov r0, #4
|
|
orr r0, r1
|
|
strb r0, [r4, #0x11]
|
|
_021D80E0:
|
|
mov r0, #0x10
|
|
tst r0, r5
|
|
beq _021D80F8
|
|
ldr r0, [r4, #0x18]
|
|
cmp r0, #0x1b
|
|
bgt _021D80F8
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x18]
|
|
ldrb r1, [r4, #0x11]
|
|
mov r0, #1
|
|
orr r0, r1
|
|
strb r0, [r4, #0x11]
|
|
_021D80F8:
|
|
mov r0, #0x20
|
|
tst r0, r5
|
|
beq _021D8110
|
|
ldr r0, [r4, #0x18]
|
|
cmp r0, #2
|
|
blt _021D8110
|
|
sub r0, r0, #1
|
|
str r0, [r4, #0x18]
|
|
ldrb r1, [r4, #0x11]
|
|
mov r0, #2
|
|
orr r0, r1
|
|
strb r0, [r4, #0x11]
|
|
_021D8110:
|
|
mov r0, #3
|
|
strb r0, [r4, #0x13]
|
|
ldrb r1, [r4, #0x11]
|
|
mov r0, #0x80
|
|
orr r0, r1
|
|
strb r0, [r4, #0x11]
|
|
ldrb r0, [r4, #0x12]
|
|
cmp r0, #0
|
|
beq _021D8128
|
|
ldrh r0, [r4, #0x16]
|
|
add r0, r0, #1
|
|
b _021D812A
|
|
_021D8128:
|
|
mov r0, #0
|
|
_021D812A:
|
|
strh r0, [r4, #0x16]
|
|
mov r0, #0
|
|
strb r0, [r4, #0x12]
|
|
ldrb r1, [r4, #0x15]
|
|
mov r0, #0xf
|
|
bic r1, r0
|
|
mov r0, #1
|
|
orr r0, r1
|
|
strb r0, [r4, #0x15]
|
|
_021D813C:
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D8054
|
|
|
|
thumb_func_start MOD66_021D8140
|
|
MOD66_021D8140: ; 0x021D8140
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x34]
|
|
ldr r1, [r4, #0x1c]
|
|
str r1, [sp]
|
|
add r1, r4, #0
|
|
ldr r2, [r4, #0x20]
|
|
ldr r3, [r4, #0x18]
|
|
add r1, #0x28
|
|
bl MOD66_021D820C
|
|
add r0, r4, #0
|
|
add r0, #0x9c
|
|
ldr r0, [r0]
|
|
ldr r1, [r4, #0x20]
|
|
ldr r2, [r4, #0x18]
|
|
ldr r3, [r4, #0x1c]
|
|
bl MOD66_021D93F4
|
|
ldrb r0, [r4, #0x10]
|
|
cmp r0, #1
|
|
bne _021D818A
|
|
add r1, r4, #0
|
|
add r1, #0xa0
|
|
ldr r1, [r1]
|
|
ldr r2, [r4, #0x20]
|
|
add r0, r5, #0
|
|
bl MOD66_021D8480
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #4
|
|
bl FUN_0201AC68
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #5
|
|
bl FUN_0201AC68
|
|
_021D818A:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD66_021D8140
|
|
|
|
thumb_func_start MOD66_021D818C
|
|
MOD66_021D818C: ; 0x021D818C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x34]
|
|
ldr r0, [r4, #0x20]
|
|
str r0, [r4, #0x24]
|
|
ldr r0, [r5, #0x30]
|
|
ldr r1, [r4, #0x18]
|
|
ldr r2, [r4, #0x1c]
|
|
bl FUN_020345F0
|
|
str r0, [r4, #0x20]
|
|
ldrh r3, [r5, #2]
|
|
ldr r0, [r5, #0x40]
|
|
ldr r1, [r4, #0x18]
|
|
ldr r2, [r4, #0x1c]
|
|
bl MOD66_021D9558
|
|
add r4, #0xa0
|
|
str r0, [r4]
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD66_021D818C
|
|
|
|
thumb_func_start MOD66_021D81B4
|
|
MOD66_021D81B4: ; 0x021D81B4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
beq _021D81CA
|
|
add r0, r1, #0
|
|
ldr r1, [r4, #4]
|
|
add r4, #0x88
|
|
ldr r2, [r4]
|
|
bl FUN_02064E60
|
|
pop {r3, r4, r5, pc}
|
|
_021D81CA:
|
|
ldr r5, _021D8204 ; =0x021D97B4
|
|
mov r1, #0
|
|
_021D81CE:
|
|
ldrh r0, [r5]
|
|
cmp r2, r0
|
|
bne _021D81EC
|
|
ldrh r0, [r5, #2]
|
|
cmp r3, r0
|
|
bne _021D81EC
|
|
ldr r0, _021D8208 ; =0x021D97B8
|
|
lsl r1, r1, #3
|
|
ldr r0, [r0, r1]
|
|
ldr r1, [r4, #4]
|
|
add r4, #0x88
|
|
ldr r2, [r4]
|
|
bl FUN_02064E60
|
|
pop {r3, r4, r5, pc}
|
|
_021D81EC:
|
|
add r1, r1, #1
|
|
add r5, #8
|
|
cmp r1, #0xd
|
|
blo _021D81CE
|
|
ldr r1, [r4, #4]
|
|
add r4, #0x88
|
|
ldr r2, [r4]
|
|
mov r0, #0
|
|
bl FUN_02064E60
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021D8204: .word 0x021D97B4
|
|
_021D8208: .word 0x021D97B8
|
|
thumb_func_end MOD66_021D81B4
|
|
|
|
thumb_func_start MOD66_021D820C
|
|
MOD66_021D820C: ; 0x021D820C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
add r4, r1, #0
|
|
ldr r6, [r5, #0x34]
|
|
add r7, r2, #0
|
|
str r3, [sp, #0x10]
|
|
bl FUN_02021A4C
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r6, #0xa0
|
|
ldr r0, [r6]
|
|
cmp r0, #0
|
|
beq _021D8278
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x28]
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl MOD66_021D81B4
|
|
ldrb r0, [r5]
|
|
cmp r0, #1
|
|
bne _021D8248
|
|
mov r3, #0x7a
|
|
b _021D825C
|
|
_021D8248:
|
|
add r1, r5, #0
|
|
add r1, #0x88
|
|
mov r0, #0
|
|
ldr r1, [r1]
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
mov r1, #0xd0
|
|
sub r0, r1, r0
|
|
lsr r3, r0, #1
|
|
_021D825C:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021D82B4 ; =0x00010200
|
|
add r2, r5, #0
|
|
str r0, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
add r2, #0x88
|
|
ldr r2, [r2]
|
|
add r0, r4, #0
|
|
bl FUN_0201BDE0
|
|
_021D8278:
|
|
ldrb r0, [r5]
|
|
cmp r0, #1
|
|
bne _021D82AA
|
|
add r5, #0x84
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl FUN_0200A914
|
|
add r5, r0, #0
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021D82B4 ; =0x00010200
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r2, r5, #0
|
|
add r3, r1, #0
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r5, #0
|
|
bl FUN_02021A20
|
|
_021D82AA:
|
|
add r0, r4, #0
|
|
bl FUN_020191D0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021D82B4: .word 0x00010200
|
|
thumb_func_end MOD66_021D820C
|
|
|
|
thumb_func_start MOD66_021D82B8
|
|
MOD66_021D82B8: ; 0x021D82B8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r4, r2, #0
|
|
bne _021D82DC
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r6, #0
|
|
bl FUN_020191D0
|
|
add r0, r6, #0
|
|
bl FUN_02019570
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021D82DC:
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
ldrh r1, [r4, #8]
|
|
ldr r0, _021D8378 ; =0x0000FFFF
|
|
cmp r1, r0
|
|
beq _021D832C
|
|
ldr r2, [r5, #0x2c]
|
|
ldrh r0, [r4, #0x16]
|
|
add r2, #0x5c
|
|
ldrb r0, [r2, r0]
|
|
lsl r2, r0, #0x1e
|
|
lsr r2, r2, #0x1e
|
|
beq _021D8300
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1e
|
|
beq _021D832C
|
|
_021D8300:
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl FUN_0200A914
|
|
add r7, r0, #0
|
|
ldrh r0, [r4, #0xe]
|
|
mov r1, #0
|
|
add r2, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021D837C ; =0x00010200
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldrh r3, [r4, #0xc]
|
|
add r0, r6, #0
|
|
bl FUN_0201BDE0
|
|
add r0, r7, #0
|
|
bl FUN_02021A20
|
|
_021D832C:
|
|
ldrh r1, [r4, #0xa]
|
|
ldr r0, _021D8378 ; =0x0000FFFF
|
|
cmp r1, r0
|
|
beq _021D8372
|
|
ldr r2, [r5, #0x2c]
|
|
ldrh r0, [r4, #0x16]
|
|
add r2, #0x5c
|
|
ldrb r0, [r2, r0]
|
|
lsl r2, r0, #0x1a
|
|
lsr r2, r2, #0x1e
|
|
beq _021D8348
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1e
|
|
beq _021D8372
|
|
_021D8348:
|
|
add r5, #0x84
|
|
ldr r0, [r5]
|
|
bl FUN_0200A914
|
|
add r5, r0, #0
|
|
ldrh r0, [r4, #0x12]
|
|
mov r1, #0
|
|
add r2, r5, #0
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021D837C ; =0x00010200
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldrh r3, [r4, #0x10]
|
|
add r0, r6, #0
|
|
bl FUN_0201BDE0
|
|
add r0, r5, #0
|
|
bl FUN_02021A20
|
|
_021D8372:
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021D8378: .word 0x0000FFFF
|
|
_021D837C: .word 0x00010200
|
|
thumb_func_end MOD66_021D82B8
|
|
|
|
thumb_func_start MOD66_021D8380
|
|
MOD66_021D8380: ; 0x021D8380
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r6, r0, #0
|
|
ldr r5, [r6, #0x34]
|
|
mov r4, #5
|
|
ldrb r1, [r5, #0x13]
|
|
cmp r1, #0
|
|
beq _021D847C
|
|
sub r0, r1, #1
|
|
strb r0, [r5, #0x13]
|
|
cmp r1, #3
|
|
bne _021D83F0
|
|
ldr r1, [r5, #0x18]
|
|
add r0, r4, #0
|
|
mov r2, #7
|
|
add r3, r1, #0
|
|
mul r3, r2
|
|
add r3, #0x19
|
|
lsl r1, r3, #0x10
|
|
ldr r3, [r5, #0x1c]
|
|
add r0, #0xff
|
|
mul r2, r3
|
|
sub r2, #0x22
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r5, r0]
|
|
asr r1, r1, #0x10
|
|
asr r2, r2, #0x10
|
|
bl FUN_0200C6E4
|
|
add r0, r4, #0
|
|
add r0, #0xff
|
|
mov r1, #1
|
|
ldr r0, [r5, r0]
|
|
lsl r1, r1, #0xc
|
|
bl FUN_020201E4
|
|
add r0, r6, #0
|
|
bl MOD66_021D818C
|
|
ldr r0, [r5, #0x18]
|
|
ldr r7, [r5, #0x1c]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r6, #0x30]
|
|
ldr r1, [sp, #4]
|
|
add r2, r7, #0
|
|
bl FUN_020345F0
|
|
add r1, r5, #0
|
|
add r2, r0, #0
|
|
ldr r3, [sp, #4]
|
|
add r0, r6, #0
|
|
add r1, #0x28
|
|
str r7, [sp]
|
|
bl MOD66_021D820C
|
|
add r4, r4, #1
|
|
_021D83F0:
|
|
ldrb r1, [r5, #0x11]
|
|
mov r0, #8
|
|
tst r0, r1
|
|
beq _021D8406
|
|
add r0, r5, #0
|
|
add r0, #0x90
|
|
ldr r0, [r0]
|
|
sub r1, r0, r4
|
|
add r0, r5, #0
|
|
add r0, #0x90
|
|
str r1, [r0]
|
|
_021D8406:
|
|
ldrb r1, [r5, #0x11]
|
|
mov r0, #4
|
|
tst r0, r1
|
|
beq _021D841C
|
|
add r0, r5, #0
|
|
add r0, #0x90
|
|
ldr r0, [r0]
|
|
add r1, r0, r4
|
|
add r0, r5, #0
|
|
add r0, #0x90
|
|
str r1, [r0]
|
|
_021D841C:
|
|
ldrb r1, [r5, #0x11]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _021D8432
|
|
add r0, r5, #0
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
add r1, r0, r4
|
|
add r0, r5, #0
|
|
add r0, #0x8c
|
|
str r1, [r0]
|
|
_021D8432:
|
|
ldrb r1, [r5, #0x11]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021D8448
|
|
add r0, r5, #0
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
sub r1, r0, r4
|
|
add r0, r5, #0
|
|
add r0, #0x8c
|
|
str r1, [r0]
|
|
_021D8448:
|
|
add r1, r5, #0
|
|
add r2, r5, #0
|
|
add r1, #0x8c
|
|
add r2, #0x90
|
|
ldr r1, [r1]
|
|
ldr r2, [r2]
|
|
add r0, r6, #0
|
|
bl MOD66_021D8BF0
|
|
ldrb r0, [r5, #0x13]
|
|
cmp r0, #0
|
|
bne _021D847C
|
|
mov r0, #1
|
|
strb r0, [r5, #0x12]
|
|
mov r2, #0
|
|
strb r2, [r5, #0x11]
|
|
ldr r1, [r5, #0x24]
|
|
ldr r0, [r5, #0x20]
|
|
cmp r1, r0
|
|
beq _021D847C
|
|
add r5, #0x9c
|
|
ldr r0, [r5]
|
|
sub r1, r2, #1
|
|
add r3, r2, #0
|
|
bl MOD66_021D93F4
|
|
_021D847C:
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end MOD66_021D8380
|
|
|
|
thumb_func_start MOD66_021D8480
|
|
MOD66_021D8480: ; 0x021D8480
|
|
add r3, r0, #0
|
|
add r3, #0x90
|
|
str r2, [r3]
|
|
add r2, r0, #0
|
|
add r2, #0x94
|
|
str r1, [r2]
|
|
mov r1, #1
|
|
add r0, #0x8c
|
|
str r1, [r0]
|
|
bx lr
|
|
thumb_func_end MOD66_021D8480
|
|
|
|
thumb_func_start MOD66_021D8494
|
|
MOD66_021D8494: ; 0x021D8494
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
ldr r4, [r6, #0x34]
|
|
mov r1, #0
|
|
ldr r5, [r4, #0x78]
|
|
str r1, [r4, #0x78]
|
|
cmp r5, #0
|
|
beq _021D84C6
|
|
add r0, r5, #0
|
|
bl FUN_02019620
|
|
add r0, r5, #0
|
|
bl FUN_02019570
|
|
ldrb r1, [r4, #0x15]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x1c
|
|
bl FUN_0200D7A0
|
|
ldr r0, [r6, #0x28]
|
|
mov r1, #4
|
|
bl FUN_0201AC68
|
|
_021D84C6:
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end MOD66_021D8494
|
|
|
|
thumb_func_start MOD66_021D84C8
|
|
MOD66_021D84C8: ; 0x021D84C8
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x1c
|
|
add r4, r0, #0
|
|
add r0, #0xcc
|
|
add r5, r1, #0
|
|
ldr r0, [r0]
|
|
mov r1, #0xc
|
|
str r1, [sp]
|
|
mov r1, #2
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
mov r3, #0
|
|
str r3, [sp, #0xc]
|
|
mov r1, #7
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
mov r2, #0xa
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #5
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r4, #0x28]
|
|
bl FUN_020181EC
|
|
add r4, #0x84
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
bl FUN_0200A914
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
add r1, r6, #0
|
|
add r2, r0, #0
|
|
bl FUN_02002E14
|
|
mov r1, #0x50
|
|
sub r4, r1, r0
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021D8550 ; =0x00010200
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
lsr r3, r4, #1
|
|
str r1, [sp, #0xc]
|
|
bl FUN_0201BDE0
|
|
add r0, r5, #0
|
|
bl FUN_020191D0
|
|
add r0, r6, #0
|
|
bl FUN_02021A20
|
|
add sp, #0x1c
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_021D8550: .word 0x00010200
|
|
thumb_func_end MOD66_021D84C8
|
|
|
|
thumb_func_start MOD66_021D8554
|
|
MOD66_021D8554: ; 0x021D8554
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x34]
|
|
mov r0, #0x15
|
|
str r0, [sp]
|
|
mov r0, #0x1d
|
|
str r0, [sp, #4]
|
|
mov r3, #3
|
|
str r3, [sp, #8]
|
|
mov r0, #0xf
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xea
|
|
lsl r0, r0, #2
|
|
str r0, [sp, #0x10]
|
|
add r1, r4, #0
|
|
ldr r0, [r5, #0x28]
|
|
add r1, #0x28
|
|
mov r2, #1
|
|
bl FUN_02019064
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
mov r0, #0x15
|
|
str r0, [sp, #4]
|
|
mov r2, #4
|
|
add r1, r4, #0
|
|
str r2, [sp, #8]
|
|
mov r0, #0xe
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _021D8660 ; =0x000003AB
|
|
add r1, #0x38
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x28]
|
|
mov r3, #9
|
|
bl FUN_02019064
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
mov r0, #0x1c
|
|
str r0, [sp, #4]
|
|
mov r2, #4
|
|
add r1, r4, #0
|
|
str r2, [sp, #8]
|
|
mov r0, #0xe
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _021D8664 ; =0x0000033B
|
|
add r1, #0x48
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x28]
|
|
mov r3, #2
|
|
bl FUN_02019064
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r0, #0x1c
|
|
str r0, [sp, #4]
|
|
mov r0, #0xe
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _021D8668 ; =0x000001B3
|
|
add r1, r4, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x28]
|
|
add r1, #0x58
|
|
mov r2, #4
|
|
mov r3, #1
|
|
bl FUN_02019064
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0xa
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0xf
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _021D866C ; =0x0000019F
|
|
add r1, r4, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x28]
|
|
add r1, #0x68
|
|
mov r2, #4
|
|
mov r3, #0xb
|
|
bl FUN_02019064
|
|
add r0, r4, #0
|
|
add r0, #0x28
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r4, #0
|
|
add r0, #0x38
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r4, #0
|
|
add r0, #0x68
|
|
mov r1, #0
|
|
bl FUN_02019620
|
|
add r0, r4, #0
|
|
add r0, #0x28
|
|
bl FUN_020191D0
|
|
add r0, r4, #0
|
|
add r0, #0x38
|
|
bl FUN_02019570
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
bl FUN_02019570
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
bl FUN_02019570
|
|
add r4, #0x68
|
|
add r0, r4, #0
|
|
bl FUN_02019570
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_021D8660: .word 0x000003AB
|
|
_021D8664: .word 0x0000033B
|
|
_021D8668: .word 0x000001B3
|
|
_021D866C: .word 0x0000019F
|
|
thumb_func_end MOD66_021D8554
|
|
|
|
thumb_func_start MOD66_021D8670
|
|
MOD66_021D8670: ; 0x021D8670
|
|
push {r3, r4, r5, lr}
|
|
ldr r4, [r0, #0x34]
|
|
mov r5, #0
|
|
add r4, #0x28
|
|
_021D8678:
|
|
lsl r0, r5, #4
|
|
add r0, r4, r0
|
|
bl FUN_02019178
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
cmp r5, #5
|
|
blo _021D8678
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD66_021D8670
|
|
|
|
thumb_func_start MOD66_021D868C
|
|
MOD66_021D868C: ; 0x021D868C
|
|
push {r4, r5, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
cmp r2, #0
|
|
beq _021D86CA
|
|
add r0, #0xd0
|
|
ldr r0, [r0]
|
|
mov r1, #0x20
|
|
str r1, [sp]
|
|
mov r1, #0x18
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
mov r2, #0
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
add r3, r2, #0
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #5
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x28]
|
|
bl FUN_02018170
|
|
_021D86CA:
|
|
add r0, r5, #0
|
|
add r0, #0xcc
|
|
ldr r0, [r0]
|
|
mov r2, #6
|
|
str r2, [sp]
|
|
mov r1, #7
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
add r1, r4, #0
|
|
mul r1, r2
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0xc]
|
|
mov r1, #0
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
mov r2, #0xd
|
|
mov r3, #0xa
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #5
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x28]
|
|
bl FUN_020181EC
|
|
add sp, #0x1c
|
|
pop {r4, r5, pc}
|
|
thumb_func_end MOD66_021D868C
|
|
|
|
thumb_func_start MOD66_021D870C
|
|
MOD66_021D870C: ; 0x021D870C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
add r5, r0, #0
|
|
lsl r0, r1, #2
|
|
str r1, [sp, #0x1c]
|
|
mov r1, #6
|
|
add r2, r0, #0
|
|
mul r2, r1
|
|
ldr r1, _021D8834 ; =0x021D9754
|
|
add r3, r0, #1
|
|
add r6, r1, r2
|
|
mov r1, #6
|
|
add r2, r3, #0
|
|
mul r2, r1
|
|
ldr r1, _021D8834 ; =0x021D9754
|
|
mov r4, #6
|
|
add r3, r1, r2
|
|
add r1, r0, #2
|
|
mul r4, r1
|
|
ldr r1, _021D8834 ; =0x021D9754
|
|
add r0, r0, #3
|
|
add r4, r1, r4
|
|
mov r1, #6
|
|
mul r1, r0
|
|
ldr r0, _021D8834 ; =0x021D9754
|
|
str r1, [sp, #0x20]
|
|
add r7, r0, r1
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldrb r1, [r3, #4]
|
|
ldr r0, [r0]
|
|
str r1, [sp]
|
|
ldrb r1, [r3, #5]
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
ldr r1, _021D8834 ; =0x021D9754
|
|
ldrb r1, [r1, r2]
|
|
str r1, [sp, #0xc]
|
|
ldrb r1, [r3, #1]
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #2
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldrb r2, [r3, #2]
|
|
ldrb r3, [r3, #3]
|
|
ldr r0, [r5, #0x28]
|
|
bl FUN_02018170
|
|
add r0, r5, #0
|
|
add r0, #0xd4
|
|
ldrb r1, [r7, #4]
|
|
ldr r0, [r0]
|
|
ldr r2, _021D8834 ; =0x021D9754
|
|
str r1, [sp]
|
|
ldrb r1, [r7, #5]
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
ldr r1, [sp, #0x20]
|
|
ldrb r1, [r2, r1]
|
|
str r1, [sp, #0xc]
|
|
ldrb r1, [r7, #1]
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #6
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldrb r2, [r7, #2]
|
|
ldrb r3, [r7, #3]
|
|
ldr r0, [r5, #0x28]
|
|
bl FUN_020181EC
|
|
ldr r0, [sp, #0x1c]
|
|
cmp r0, #2
|
|
beq _021D882E
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldrb r1, [r6, #4]
|
|
ldr r0, [r0]
|
|
str r1, [sp]
|
|
ldrb r1, [r6, #5]
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
ldrb r1, [r6]
|
|
str r1, [sp, #0xc]
|
|
ldrb r1, [r6, #1]
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldrb r2, [r6, #2]
|
|
ldrb r3, [r6, #3]
|
|
ldr r0, [r5, #0x28]
|
|
bl FUN_02018170
|
|
add r0, r5, #0
|
|
add r0, #0xd4
|
|
ldrb r1, [r4, #4]
|
|
ldr r0, [r0]
|
|
str r1, [sp]
|
|
ldrb r1, [r4, #5]
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
ldrb r1, [r4]
|
|
str r1, [sp, #0xc]
|
|
ldrb r1, [r4, #1]
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #7
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldrb r2, [r4, #2]
|
|
ldrb r3, [r4, #3]
|
|
ldr r0, [r5, #0x28]
|
|
bl FUN_020181EC
|
|
_021D882E:
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021D8834: .word 0x021D9754
|
|
thumb_func_end MOD66_021D870C
|
|
|
|
thumb_func_start MOD66_021D8838
|
|
MOD66_021D8838: ; 0x021D8838
|
|
push {r3, r4, lr}
|
|
sub sp, #0x1c
|
|
add r4, r0, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
mov r1, #0x20
|
|
str r1, [sp]
|
|
mov r1, #0x18
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
mov r2, #0
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
add r3, r2, #0
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #2
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r4, #0x28]
|
|
bl FUN_02018170
|
|
add r0, r4, #0
|
|
add r0, #0xbc
|
|
mov r2, #0
|
|
ldr r0, [r0]
|
|
mov r1, #0x20
|
|
str r1, [sp]
|
|
mov r1, #0x18
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
add r3, r2, #0
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r4, #0x28]
|
|
bl FUN_02018170
|
|
ldrb r0, [r4]
|
|
cmp r0, #1
|
|
beq _021D88DE
|
|
add r0, r4, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
str r1, [sp]
|
|
mov r1, #3
|
|
add r2, r0, #0
|
|
str r1, [sp, #4]
|
|
add r2, #0xc
|
|
str r2, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
mov r3, #0x15
|
|
str r3, [sp, #0x10]
|
|
ldrh r2, [r0]
|
|
lsl r2, r2, #0x15
|
|
lsr r2, r2, #0x18
|
|
str r2, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r2, #0x10
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r4, #0x28]
|
|
bl FUN_02018170
|
|
_021D88DE:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl MOD66_021D868C
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
mov r2, #0
|
|
ldr r0, [r0]
|
|
mov r1, #0x40
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
add r3, r2, #0
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #6
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r4, #0x28]
|
|
bl FUN_020181EC
|
|
add r0, r4, #0
|
|
add r0, #0xc4
|
|
mov r2, #0
|
|
ldr r0, [r0]
|
|
mov r1, #0x40
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
add r3, r2, #0
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #7
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r4, #0x28]
|
|
bl FUN_020181EC
|
|
ldrh r1, [r4, #2]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _021D895C
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MOD66_021D870C
|
|
_021D895C:
|
|
ldrh r1, [r4, #2]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021D896C
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl MOD66_021D870C
|
|
_021D896C:
|
|
ldrh r1, [r4, #2]
|
|
mov r0, #4
|
|
tst r0, r1
|
|
beq _021D897C
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl MOD66_021D870C
|
|
_021D897C:
|
|
ldrh r1, [r4, #2]
|
|
mov r0, #8
|
|
tst r0, r1
|
|
beq _021D898C
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl MOD66_021D870C
|
|
_021D898C:
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #2
|
|
bl FUN_0201AC68
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #3
|
|
bl FUN_0201AC68
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #5
|
|
bl FUN_0201AC68
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #6
|
|
bl FUN_0201AC68
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #7
|
|
bl FUN_0201AC68
|
|
add sp, #0x1c
|
|
pop {r3, r4, pc}
|
|
thumb_func_end MOD66_021D8838
|
|
|
|
thumb_func_start MOD66_021D89B8
|
|
MOD66_021D89B8: ; 0x021D89B8
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #6
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl FUN_020179E0
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #7
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl FUN_020179E0
|
|
mov r2, #0
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #6
|
|
add r3, r2, #0
|
|
bl FUN_020179E0
|
|
mov r2, #0
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #7
|
|
add r3, r2, #0
|
|
bl FUN_020179E0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x11
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x28]
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl FUN_02018540
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x11
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #1
|
|
add r3, r2, #0
|
|
bl FUN_02018540
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x11
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #2
|
|
add r3, r2, #0
|
|
bl FUN_02018540
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x11
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #3
|
|
add r3, r2, #0
|
|
bl FUN_02018540
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x11
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #4
|
|
add r3, r2, #0
|
|
bl FUN_02018540
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x11
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #5
|
|
add r3, r2, #0
|
|
bl FUN_02018540
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x11
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #6
|
|
add r3, r2, #0
|
|
bl FUN_02018540
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x11
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #7
|
|
add r3, r2, #0
|
|
bl FUN_02018540
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #0
|
|
bl FUN_0201AC68
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #1
|
|
bl FUN_0201AC68
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #2
|
|
bl FUN_0201AC68
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #3
|
|
bl FUN_0201AC68
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #4
|
|
bl FUN_0201AC68
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #5
|
|
bl FUN_0201AC68
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #6
|
|
bl FUN_0201AC68
|
|
ldr r0, [r4, #0x28]
|
|
mov r1, #7
|
|
bl FUN_0201AC68
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D89B8
|
|
|
|
thumb_func_start MOD66_021D8AF4
|
|
MOD66_021D8AF4: ; 0x021D8AF4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r1, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
ldr r2, _021D8BE4 ; =0x021D981C
|
|
ldr r4, [r5, #0x34]
|
|
bl FUN_0200BE38
|
|
mov r1, #1
|
|
lsl r1, r1, #8
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
mov r1, #1
|
|
lsl r1, r1, #8
|
|
ldr r0, [r4, r1]
|
|
lsl r1, r1, #4
|
|
bl FUN_020200D8
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x80
|
|
mov r2, #0x6c
|
|
bl FUN_0200C6E4
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
ldr r2, _021D8BE8 ; =0x021D9844
|
|
bl FUN_0200BE38
|
|
mov r1, #0x41
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
mov r0, #0x41
|
|
lsl r0, r0, #2
|
|
mov r1, #2
|
|
ldr r0, [r4, r0]
|
|
lsl r1, r1, #0xc
|
|
bl FUN_020200D8
|
|
mov r0, #0x41
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl FUN_020200BC
|
|
ldr r1, [r4, #0x18]
|
|
mov r0, #0x41
|
|
lsl r0, r0, #2
|
|
mov r2, #7
|
|
add r3, r1, #0
|
|
mul r3, r2
|
|
add r3, #0x19
|
|
lsl r1, r3, #0x10
|
|
ldr r3, [r4, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
mul r2, r3
|
|
sub r2, #0x22
|
|
lsl r2, r2, #0x10
|
|
asr r1, r1, #0x10
|
|
asr r2, r2, #0x10
|
|
bl FUN_0200C6E4
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
ldr r2, _021D8BEC ; =0x021D986C
|
|
bl FUN_0200BE38
|
|
mov r1, #0x42
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
ldr r1, [r5, #0x2c]
|
|
mov r0, #0x42
|
|
ldr r1, [r1, #0xc]
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #0x10
|
|
ldr r0, [r4, r0]
|
|
lsr r1, r1, #0x10
|
|
bl FUN_02020208
|
|
ldr r1, [r4, #0x18]
|
|
mov r0, #0x42
|
|
lsl r0, r0, #2
|
|
mov r2, #7
|
|
add r3, r1, #0
|
|
mul r3, r2
|
|
add r3, #0x19
|
|
lsl r1, r3, #0x10
|
|
ldr r3, [r4, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
mul r2, r3
|
|
sub r2, #0x22
|
|
lsl r2, r2, #0x10
|
|
asr r1, r1, #0x10
|
|
asr r2, r2, #0x10
|
|
bl FUN_0200C6E4
|
|
pop {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
_021D8BE4: .word 0x021D981C
|
|
_021D8BE8: .word 0x021D9844
|
|
_021D8BEC: .word 0x021D986C
|
|
thumb_func_end MOD66_021D8AF4
|
|
|
|
thumb_func_start MOD66_021D8BF0
|
|
MOD66_021D8BF0: ; 0x021D8BF0
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
cmp r4, #8
|
|
bge _021D8C16
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #6
|
|
mov r2, #0
|
|
mov r3, #8
|
|
bl FUN_0201AEE4
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #7
|
|
mov r2, #0
|
|
mov r3, #8
|
|
bl FUN_0201AEE4
|
|
b _021D8C4A
|
|
_021D8C16:
|
|
cmp r4, #0xf8
|
|
ldr r0, [r5, #0x28]
|
|
ble _021D8C34
|
|
mov r1, #6
|
|
mov r2, #0
|
|
mov r3, #0xf8
|
|
bl FUN_0201AEE4
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #7
|
|
mov r2, #0
|
|
mov r3, #0xf8
|
|
bl FUN_0201AEE4
|
|
b _021D8C4A
|
|
_021D8C34:
|
|
mov r1, #6
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
bl FUN_0201AEE4
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #7
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
bl FUN_0201AEE4
|
|
_021D8C4A:
|
|
cmp r6, #0x50
|
|
bge _021D8C68
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #6
|
|
mov r2, #3
|
|
mov r3, #0x50
|
|
bl FUN_0201AEE4
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #7
|
|
mov r2, #3
|
|
mov r3, #0x50
|
|
bl FUN_0201AEE4
|
|
pop {r4, r5, r6, pc}
|
|
_021D8C68:
|
|
mov r3, #0x13
|
|
lsl r3, r3, #4
|
|
cmp r6, r3
|
|
ldr r0, [r5, #0x28]
|
|
ble _021D8C8A
|
|
mov r1, #6
|
|
mov r2, #3
|
|
bl FUN_0201AEE4
|
|
mov r3, #0x13
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #7
|
|
mov r2, #3
|
|
lsl r3, r3, #4
|
|
bl FUN_0201AEE4
|
|
pop {r4, r5, r6, pc}
|
|
_021D8C8A:
|
|
mov r1, #6
|
|
mov r2, #3
|
|
add r3, r6, #0
|
|
bl FUN_0201AEE4
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #7
|
|
mov r2, #3
|
|
add r3, r6, #0
|
|
bl FUN_0201AEE4
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D8BF0
|
|
|
|
thumb_func_start MOD66_021D8CA4
|
|
MOD66_021D8CA4: ; 0x021D8CA4
|
|
push {r4, r5}
|
|
ldr r5, [r0]
|
|
mov r4, #0
|
|
cmp r5, #0
|
|
ble _021D8CC8
|
|
_021D8CAE:
|
|
ldr r3, [r0, #0xc]
|
|
cmp r1, r3
|
|
bne _021D8CC0
|
|
ldr r3, [r0, #0x10]
|
|
cmp r2, r3
|
|
bne _021D8CC0
|
|
add r0, r4, #0
|
|
pop {r4, r5}
|
|
bx lr
|
|
_021D8CC0:
|
|
add r4, r4, #1
|
|
add r0, #0x10
|
|
cmp r4, r5
|
|
blt _021D8CAE
|
|
_021D8CC8:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, r5}
|
|
bx lr
|
|
thumb_func_end MOD66_021D8CA4
|
|
|
|
thumb_func_start MOD66_021D8CD0
|
|
MOD66_021D8CD0: ; 0x021D8CD0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r6, r0, #0
|
|
ldr r0, [r6, #0x34]
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
add r0, #0xa4
|
|
mov r2, #0x5c
|
|
bl MI_CpuFill8
|
|
mov r0, #0
|
|
ldr r7, [sp, #8]
|
|
str r0, [sp, #4]
|
|
str r0, [sp]
|
|
ldr r0, [sp, #8]
|
|
add r7, #0xa4
|
|
str r0, [sp, #0xc]
|
|
add r0, #0xb0
|
|
str r0, [sp, #0xc]
|
|
_021D8CF6:
|
|
ldr r1, [r6, #0x2c]
|
|
ldr r0, [sp]
|
|
add r1, #0x20
|
|
add r4, r1, r0
|
|
ldrh r0, [r4, #0xa]
|
|
cmp r0, #0
|
|
beq _021D8DAA
|
|
ldr r1, [r4]
|
|
ldr r0, [r6, #0x20]
|
|
cmp r1, r0
|
|
bne _021D8D14
|
|
ldr r2, [r4, #4]
|
|
ldr r0, [r6, #0x24]
|
|
cmp r2, r0
|
|
beq _021D8D9A
|
|
_021D8D14:
|
|
ldr r2, [r4, #4]
|
|
add r0, r7, #0
|
|
bl MOD66_021D8CA4
|
|
cmp r0, #0
|
|
bge _021D8D32
|
|
ldr r0, [sp, #8]
|
|
add r0, #0xa4
|
|
ldr r1, [r0]
|
|
ldr r0, [r7]
|
|
lsl r1, r1, #4
|
|
add r0, r0, #1
|
|
str r0, [r7]
|
|
ldr r0, [sp, #0xc]
|
|
b _021D8D36
|
|
_021D8D32:
|
|
lsl r1, r0, #4
|
|
ldr r0, [sp, #0xc]
|
|
_021D8D36:
|
|
add r5, r0, r1
|
|
ldr r0, [r4]
|
|
str r0, [r5]
|
|
ldr r0, [r4, #4]
|
|
str r0, [r5, #4]
|
|
ldrh r0, [r4, #8]
|
|
cmp r0, #3
|
|
bls _021D8D4A
|
|
mov r0, #0
|
|
b _021D8D50
|
|
_021D8D4A:
|
|
lsl r1, r0, #1
|
|
ldr r0, _021D8DD4 ; =0x021D9718
|
|
ldrh r0, [r0, r1]
|
|
_021D8D50:
|
|
strh r0, [r5, #8]
|
|
ldr r0, [sp, #4]
|
|
add r1, r6, #0
|
|
strb r0, [r5, #0xa]
|
|
mov r0, #1
|
|
strb r0, [r5, #0xb]
|
|
add r0, r6, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
ldr r2, _021D8DD8 ; =0x021D972C
|
|
bl FUN_0200BE38
|
|
str r0, [r5, #0xc]
|
|
ldr r2, [r5]
|
|
mov r1, #7
|
|
mul r1, r2
|
|
add r1, #0x19
|
|
lsl r1, r1, #0x10
|
|
ldr r3, [r5, #4]
|
|
mov r2, #7
|
|
mul r2, r3
|
|
sub r2, #0x22
|
|
lsl r2, r2, #0x10
|
|
asr r1, r1, #0x10
|
|
asr r2, r2, #0x10
|
|
bl FUN_0200C6E4
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
bl FUN_02020310
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
_021D8D9A:
|
|
ldr r0, [sp]
|
|
add r0, #0xc
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, #1
|
|
str r0, [sp, #4]
|
|
cmp r0, #5
|
|
blt _021D8CF6
|
|
_021D8DAA:
|
|
ldr r0, [sp, #8]
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021D8DD0
|
|
sub r1, r0, #1
|
|
ldr r0, [sp, #8]
|
|
mov r2, #1
|
|
add r0, #0xae
|
|
strb r1, [r0]
|
|
ldr r1, [sp, #8]
|
|
ldr r0, _021D8DDC ; =MOD66_021D8DE0
|
|
add r1, #0xa4
|
|
bl FUN_0200CA44
|
|
ldr r1, [sp, #8]
|
|
add r1, #0xa8
|
|
str r1, [sp, #8]
|
|
str r0, [r1]
|
|
_021D8DD0:
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021D8DD4: .word 0x021D9718
|
|
_021D8DD8: .word 0x021D972C
|
|
_021D8DDC: .word MOD66_021D8DE0
|
|
thumb_func_end MOD66_021D8CD0
|
|
|
|
thumb_func_start MOD66_021D8DE0
|
|
MOD66_021D8DE0: ; 0x021D8DE0
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
ldrh r0, [r4, #8]
|
|
add r1, r0, #1
|
|
strh r1, [r4, #8]
|
|
mov r1, #0x1a
|
|
bl _s32_div_f
|
|
cmp r1, #0
|
|
bgt _021D8E30
|
|
ldrb r0, [r4, #0xb]
|
|
mov r1, #0
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #0x18]
|
|
bl FUN_020200A0
|
|
ldrb r0, [r4, #0xa]
|
|
mov r1, #1
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #0x18]
|
|
bl FUN_020200A0
|
|
ldrb r0, [r4, #0xa]
|
|
strb r0, [r4, #0xb]
|
|
ldr r1, [r4]
|
|
ldrb r2, [r4, #0xa]
|
|
sub r0, r1, #1
|
|
add r0, r2, r0
|
|
bl _s32_div_f
|
|
strb r1, [r4, #0xa]
|
|
mov r0, #0x41
|
|
ldrh r1, [r4, #8]
|
|
lsl r0, r0, #2
|
|
cmp r1, r0
|
|
bls _021D8E30
|
|
mov r0, #1
|
|
strh r0, [r4, #8]
|
|
_021D8E30:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D8DE0
|
|
|
|
thumb_func_start MOD66_021D8E34
|
|
MOD66_021D8E34: ; 0x021D8E34
|
|
push {r4, r5, r6, lr}
|
|
ldr r6, [r0, #0x34]
|
|
add r0, r6, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021D8E46
|
|
bl FUN_0200CAB4
|
|
_021D8E46:
|
|
add r0, r6, #0
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _021D8E6C
|
|
add r5, r6, #0
|
|
_021D8E54:
|
|
add r0, r5, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
bl FUN_0200BC14
|
|
add r0, r6, #0
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, r0
|
|
blt _021D8E54
|
|
_021D8E6C:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D8E34
|
|
|
|
thumb_func_start MOD66_021D8E70
|
|
MOD66_021D8E70: ; 0x021D8E70
|
|
push {r4, lr}
|
|
add r3, r0, #0
|
|
ldr r4, [r3, #0x34]
|
|
mov r2, #0
|
|
str r2, [r4, #4]
|
|
str r2, [r4, #8]
|
|
cmp r1, #0
|
|
bne _021D8E90
|
|
ldr r0, _021D8EA0 ; =MOD66_021D8EA8
|
|
add r1, r3, #0
|
|
bl FUN_0200CA44
|
|
mov r1, #0x43
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
_021D8E90:
|
|
ldr r0, _021D8EA4 ; =MOD66_021D9020
|
|
add r1, r3, #0
|
|
bl FUN_0200CA44
|
|
mov r1, #0x43
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_021D8EA0: .word MOD66_021D8EA8
|
|
_021D8EA4: .word MOD66_021D9020
|
|
thumb_func_end MOD66_021D8E70
|
|
|
|
thumb_func_start MOD66_021D8EA8
|
|
MOD66_021D8EA8: ; 0x021D8EA8
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r1, #0
|
|
ldr r4, [r5, #0x34]
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #4
|
|
bls _021D8EBA
|
|
b _021D9014
|
|
_021D8EBA:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021D8EC6: ; jump table
|
|
.short _021D8ED0 - _021D8EC6 - 2 ; case 0
|
|
.short _021D8F04 - _021D8EC6 - 2 ; case 1
|
|
.short _021D8F40 - _021D8EC6 - 2 ; case 2
|
|
.short _021D8F7C - _021D8EC6 - 2 ; case 3
|
|
.short _021D8FF2 - _021D8EC6 - 2 ; case 4
|
|
_021D8ED0:
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl FUN_020200BC
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl FUN_02020208
|
|
ldr r0, _021D9018 ; =0x000005E4
|
|
bl FUN_020054C8
|
|
ldr r0, [r4, #4]
|
|
add sp, #0x10
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
pop {r4, r5, r6, pc}
|
|
_021D8F04:
|
|
ldr r1, [r4, #8]
|
|
mov r0, #0x1f
|
|
lsr r3, r1, #0x1f
|
|
lsl r2, r1, #0x1f
|
|
sub r2, r2, r3
|
|
ror r2, r0
|
|
add r0, r3, r2
|
|
beq _021D8F2C
|
|
add r3, r1, r3
|
|
ldr r1, _021D901C ; =0x021D9714
|
|
asr r2, r3, #1
|
|
ldrb r1, [r1, r2]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl MOD66_021D868C
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #5
|
|
bl FUN_0201AC68
|
|
_021D8F2C:
|
|
ldr r1, [r4, #8]
|
|
add r0, r1, #1
|
|
str r0, [r4, #8]
|
|
cmp r1, #7
|
|
ble _021D9014
|
|
ldr r0, [r4, #4]
|
|
add sp, #0x10
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
pop {r4, r5, r6, pc}
|
|
_021D8F40:
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl FUN_020200BC
|
|
mov r3, #0
|
|
str r3, [r5, #0x14]
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0xd
|
|
str r0, [sp, #8]
|
|
mov r0, #4
|
|
mov r2, #2
|
|
bl FUN_0200E1D0
|
|
ldr r0, [r4, #4]
|
|
add sp, #0x10
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
pop {r4, r5, r6, pc}
|
|
_021D8F7C:
|
|
bl FUN_0200E308
|
|
cmp r0, #0
|
|
beq _021D9014
|
|
mov r0, #1
|
|
strb r0, [r4, #0x10]
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x11
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #4
|
|
add r3, r2, #0
|
|
bl FUN_02018540
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x11
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #5
|
|
add r3, r2, #0
|
|
bl FUN_02018540
|
|
add r1, r4, #0
|
|
add r0, r5, #0
|
|
add r1, #0x68
|
|
bl MOD66_021D84C8
|
|
add r0, r5, #0
|
|
bl MOD66_021D818C
|
|
add r0, r5, #0
|
|
bl MOD66_021D8140
|
|
mov r3, #0
|
|
str r3, [r5, #0x14]
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0xd
|
|
str r0, [sp, #8]
|
|
mov r0, #4
|
|
mov r2, #5
|
|
bl FUN_0200E1D0
|
|
ldr r0, [r4, #4]
|
|
add sp, #0x10
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
pop {r4, r5, r6, pc}
|
|
_021D8FF2:
|
|
bl FUN_0200E308
|
|
cmp r0, #0
|
|
beq _021D9014
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
str r0, [r4, #4]
|
|
ldrb r0, [r4, #0x14]
|
|
sub r0, r0, #2
|
|
strb r0, [r4, #0x14]
|
|
add r0, r6, #0
|
|
bl FUN_0200CAB4
|
|
mov r0, #0x43
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_021D9014:
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021D9018: .word 0x000005E4
|
|
_021D901C: .word 0x021D9714
|
|
thumb_func_end MOD66_021D8EA8
|
|
|
|
thumb_func_start MOD66_021D9020
|
|
MOD66_021D9020: ; 0x021D9020
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r1, #0
|
|
ldr r4, [r5, #0x34]
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #0
|
|
beq _021D903C
|
|
cmp r0, #1
|
|
beq _021D9066
|
|
cmp r0, #2
|
|
beq _021D90C4
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
_021D903C:
|
|
mov r3, #0
|
|
str r3, [r5, #0x14]
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0xd
|
|
str r0, [sp, #8]
|
|
mov r0, #4
|
|
mov r2, #2
|
|
bl FUN_0200E1D0
|
|
ldr r0, _021D90EC ; =0x00000691
|
|
bl FUN_020054C8
|
|
ldr r0, [r4, #4]
|
|
add sp, #0x10
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
pop {r4, r5, r6, pc}
|
|
_021D9066:
|
|
bl FUN_0200E308
|
|
cmp r0, #0
|
|
beq _021D90E8
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x11
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #4
|
|
add r3, r2, #0
|
|
bl FUN_02018540
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl MOD66_021D868C
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #4
|
|
bl FUN_0201AC68
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #5
|
|
bl FUN_0201AC68
|
|
mov r3, #0
|
|
str r3, [r5, #0x14]
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0xd
|
|
str r0, [sp, #8]
|
|
mov r0, #4
|
|
mov r2, #5
|
|
bl FUN_0200E1D0
|
|
ldr r0, [r4, #4]
|
|
add sp, #0x10
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
pop {r4, r5, r6, pc}
|
|
_021D90C4:
|
|
bl FUN_0200E308
|
|
cmp r0, #0
|
|
beq _021D90E8
|
|
mov r0, #0
|
|
strb r0, [r4, #0x10]
|
|
str r0, [r4, #4]
|
|
str r0, [r4, #8]
|
|
ldrb r0, [r4, #0x14]
|
|
sub r0, r0, #2
|
|
strb r0, [r4, #0x14]
|
|
add r0, r6, #0
|
|
bl FUN_0200CAB4
|
|
mov r0, #0x43
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_021D90E8:
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_021D90EC: .word 0x00000691
|
|
thumb_func_end MOD66_021D9020
|
|
|
|
thumb_func_start MOD66_021D90F0
|
|
MOD66_021D90F0: ; 0x021D90F0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x34]
|
|
add r0, r4, #0
|
|
add r0, #0xa0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021D9104
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021D9104:
|
|
add r0, r4, #0
|
|
add r0, #0x9c
|
|
ldr r0, [r0]
|
|
ldr r1, [r4, #0x20]
|
|
ldr r2, [r4, #0x18]
|
|
ldr r3, [r4, #0x1c]
|
|
bl MOD66_021D9390
|
|
cmp r0, #0
|
|
beq _021D911E
|
|
ldr r0, [r0, #0x14]
|
|
cmp r0, #0
|
|
bne _021D9122
|
|
_021D911E:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021D9122:
|
|
ldr r1, [r5, #0x2c]
|
|
mov r0, #1
|
|
str r0, [r1, #0x10]
|
|
ldr r2, [r4, #0x18]
|
|
ldr r1, [r5, #0x2c]
|
|
str r2, [r1, #0x14]
|
|
ldr r2, [r4, #0x1c]
|
|
ldr r1, [r5, #0x2c]
|
|
str r2, [r1, #0x18]
|
|
ldr r2, [r4, #0x20]
|
|
ldr r1, [r5, #0x2c]
|
|
str r2, [r1, #0x1c]
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end MOD66_021D90F0
|
|
|
|
thumb_func_start MOD66_021D913C
|
|
MOD66_021D913C: ; 0x021D913C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x50
|
|
add r4, r0, #0
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl FUN_0201E6E4
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl FUN_0201E74C
|
|
ldr r1, [r4, #4]
|
|
mov r0, #0x20
|
|
bl FUN_0201C24C
|
|
ldr r0, [r4, #4]
|
|
bl FUN_0200BB14
|
|
add r1, r4, #0
|
|
add r1, #0xd8
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0xd8
|
|
ldr r0, [r0]
|
|
bl FUN_0200BB34
|
|
add r1, r4, #0
|
|
add r1, #0xdc
|
|
add r2, sp, #0x30
|
|
ldr r5, _021D91E8 ; =0x021D98C4
|
|
str r0, [r1]
|
|
ldmia r5!, {r0, r1}
|
|
add r3, r2, #0
|
|
stmia r2!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
ldr r6, _021D91EC ; =0x021D9894
|
|
stmia r2!, {r0, r1}
|
|
add r5, sp, #0x1c
|
|
ldmia r6!, {r0, r1}
|
|
add r2, r5, #0
|
|
stmia r5!, {r0, r1}
|
|
ldmia r6!, {r0, r1}
|
|
stmia r5!, {r0, r1}
|
|
ldr r0, [r6]
|
|
add r1, r3, #0
|
|
str r0, [r5]
|
|
add r0, r4, #0
|
|
add r0, #0xd8
|
|
ldr r0, [r0]
|
|
mov r3, #0x20
|
|
bl FUN_0200BB6C
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
mov r2, #0x1c
|
|
bl FUN_0200BBF0
|
|
ldr r5, _021D91F0 ; =0x021D98A8
|
|
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
|
|
add r0, #0xd8
|
|
add r4, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r4]
|
|
bl FUN_0200BD20
|
|
add sp, #0x50
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021D91E8: .word 0x021D98C4
|
|
_021D91EC: .word 0x021D9894
|
|
_021D91F0: .word 0x021D98A8
|
|
thumb_func_end MOD66_021D913C
|
|
|
|
thumb_func_start MOD66_021D91F4
|
|
MOD66_021D91F4: ; 0x021D91F4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r1, r4, #0
|
|
add r0, #0xd8
|
|
add r1, #0xdc
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl FUN_0200BCE0
|
|
add r4, #0xd8
|
|
ldr r0, [r4]
|
|
bl FUN_0200BD04
|
|
bl FUN_0201C29C
|
|
pop {r4, pc}
|
|
thumb_func_end MOD66_021D91F4
|
|
|
|
thumb_func_start MOD66_021D9214
|
|
MOD66_021D9214: ; 0x021D9214
|
|
ldr r3, _021D921C ; =FUN_0200BC1C
|
|
add r0, #0xdc
|
|
ldr r0, [r0]
|
|
bx r3
|
|
.align 2, 0
|
|
_021D921C: .word FUN_0200BC1C
|
|
thumb_func_end MOD66_021D9214
|
|
|
|
thumb_func_start MOD66_021D9220
|
|
MOD66_021D9220: ; 0x021D9220
|
|
ldr r3, _021D9224 ; =FUN_0200BC30
|
|
bx r3
|
|
.align 2, 0
|
|
_021D9224: .word FUN_0200BC30
|
|
thumb_func_end MOD66_021D9220
|
|
|
|
thumb_func_start MOD66_021D9228
|
|
MOD66_021D9228: ; 0x021D9228
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
ldr r5, [sp, #0x28]
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
add r0, r5, #0
|
|
mov r1, #0xc
|
|
str r2, [sp, #8]
|
|
add r4, r3, #0
|
|
bl AllocFromHeap
|
|
add r7, r0, #0
|
|
mov r0, #0
|
|
strb r0, [r7]
|
|
strb r0, [r7, #1]
|
|
strb r0, [r7, #2]
|
|
strb r0, [r7, #3]
|
|
strb r0, [r7, #4]
|
|
strb r0, [r7, #5]
|
|
strb r0, [r7, #6]
|
|
strb r0, [r7, #7]
|
|
strb r0, [r7, #8]
|
|
strb r0, [r7, #9]
|
|
strb r0, [r7, #0xa]
|
|
strb r0, [r7, #0xb]
|
|
strh r4, [r7]
|
|
ldrh r2, [r7]
|
|
mov r1, #0x1c
|
|
add r0, r5, #0
|
|
mul r1, r2
|
|
bl AllocFromHeap
|
|
str r0, [r7, #8]
|
|
ldrh r3, [r7]
|
|
mov r2, #0x1c
|
|
mov r1, #0
|
|
mul r2, r3
|
|
bl memset
|
|
ldrh r0, [r7]
|
|
mov r6, #0
|
|
ldr r5, _021D9344 ; =0x021D990C
|
|
cmp r0, #0
|
|
ble _021D933E
|
|
str r6, [sp, #0xc]
|
|
_021D9282:
|
|
ldr r0, [r7, #8]
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [r5]
|
|
add r4, r0, r1
|
|
str r2, [r0, r1]
|
|
ldrb r0, [r5, #8]
|
|
ldr r1, [sp, #4]
|
|
ldr r2, _021D9348 ; =0x021D98E4
|
|
strb r0, [r4, #8]
|
|
ldrb r0, [r5, #9]
|
|
strb r0, [r4, #9]
|
|
ldrh r0, [r5, #0xa]
|
|
strh r0, [r4, #0xa]
|
|
ldr r0, [r5, #0xc]
|
|
str r0, [r4, #0xc]
|
|
ldr r0, [r5, #0x10]
|
|
str r0, [r4, #0x10]
|
|
ldr r0, [sp, #8]
|
|
ldrb r0, [r0, r6]
|
|
str r0, [r4, #0x14]
|
|
ldr r0, [sp]
|
|
bl FUN_0200BE38
|
|
str r0, [r4, #0x18]
|
|
mov r1, #1
|
|
bl FUN_020200A0
|
|
ldr r1, [r4, #0x14]
|
|
cmp r1, #0
|
|
beq _021D92CC
|
|
ldrb r2, [r4, #9]
|
|
ldr r0, [r4, #0x18]
|
|
add r2, r2, #5
|
|
add r1, r2, r1
|
|
bl FUN_02020248
|
|
b _021D92E2
|
|
_021D92CC:
|
|
ldrh r1, [r4, #0xa]
|
|
ldr r0, _021D934C ; =0x0000FFFF
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
cmp r0, #1
|
|
bhi _021D92E2
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #0
|
|
bl FUN_020200A0
|
|
_021D92E2:
|
|
ldrb r0, [r4, #8]
|
|
cmp r0, #0
|
|
beq _021D92FA
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _021D9308
|
|
_021D92FA:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_021D9308:
|
|
bl _ffix
|
|
add r1, r0, #0
|
|
ldr r0, [r4, #0x18]
|
|
bl FUN_020201E4
|
|
ldr r1, [r4, #0xc]
|
|
ldr r2, [r4, #0x10]
|
|
add r1, #0x19
|
|
sub r2, #0x22
|
|
lsl r1, r1, #0x10
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r4, #0x18]
|
|
asr r1, r1, #0x10
|
|
asr r2, r2, #0x10
|
|
bl FUN_0200C6E4
|
|
ldr r0, [sp, #0xc]
|
|
add r5, #0x14
|
|
add r0, #0x1c
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #1
|
|
lsl r0, r0, #0x10
|
|
asr r6, r0, #0x10
|
|
ldrh r0, [r7]
|
|
cmp r6, r0
|
|
blt _021D9282
|
|
_021D933E:
|
|
add r0, r7, #0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_021D9344: .word 0x021D990C
|
|
_021D9348: .word 0x021D98E4
|
|
_021D934C: .word 0x0000FFFF
|
|
thumb_func_end MOD66_021D9228
|
|
|
|
thumb_func_start MOD66_021D9350
|
|
MOD66_021D9350: ; 0x021D9350
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldrh r0, [r5]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
ble _021D9380
|
|
add r4, r6, #0
|
|
_021D935E:
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0
|
|
add r7, r0, r4
|
|
ldr r0, [r7, #0x18]
|
|
add r2, r1, #0
|
|
bl FUN_0202008C
|
|
ldr r0, [r7, #0x18]
|
|
bl FUN_0201FFC8
|
|
add r0, r6, #1
|
|
lsl r0, r0, #0x10
|
|
asr r6, r0, #0x10
|
|
ldrh r0, [r5]
|
|
add r4, #0x1c
|
|
cmp r6, r0
|
|
blt _021D935E
|
|
_021D9380:
|
|
ldr r0, [r5, #8]
|
|
bl FreeToHeap
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D9350
|
|
|
|
thumb_func_start MOD66_021D9390
|
|
MOD66_021D9390: ; 0x021D9390
|
|
push {r3, r4, r5, r6}
|
|
ldrh r5, [r0]
|
|
mov r4, #0
|
|
cmp r5, #0
|
|
ble _021D93EC
|
|
ldr r0, [r0, #8]
|
|
_021D939C:
|
|
ldr r6, [r0]
|
|
cmp r6, r1
|
|
bne _021D93E0
|
|
ldrh r6, [r0, #0xa]
|
|
cmp r6, #3
|
|
bhi _021D93E0
|
|
add r6, r6, r6
|
|
add r6, pc
|
|
ldrh r6, [r6, #6]
|
|
lsl r6, r6, #0x10
|
|
asr r6, r6, #0x10
|
|
add pc, r6
|
|
_021D93B4: ; jump table
|
|
.short _021D93BC - _021D93B4 - 2 ; case 0
|
|
.short _021D93C0 - _021D93B4 - 2 ; case 1
|
|
.short _021D93CC - _021D93B4 - 2 ; case 2
|
|
.short _021D93D8 - _021D93B4 - 2 ; case 3
|
|
_021D93BC:
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
_021D93C0:
|
|
cmp r2, #9
|
|
bne _021D93E0
|
|
cmp r3, #0x1c
|
|
bne _021D93E0
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
_021D93CC:
|
|
cmp r2, #0x1a
|
|
bne _021D93E0
|
|
cmp r3, #0x12
|
|
bne _021D93E0
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
_021D93D8:
|
|
cmp r2, #0x1a
|
|
bne _021D93E0
|
|
cmp r3, #0x11
|
|
beq _021D93EE
|
|
_021D93E0:
|
|
add r4, r4, #1
|
|
lsl r4, r4, #0x10
|
|
asr r4, r4, #0x10
|
|
add r0, #0x1c
|
|
cmp r4, r5
|
|
blt _021D939C
|
|
_021D93EC:
|
|
mov r0, #0
|
|
_021D93EE:
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D9390
|
|
|
|
thumb_func_start MOD66_021D93F4
|
|
MOD66_021D93F4: ; 0x021D93F4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bne _021D93FE
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021D93FE:
|
|
bl MOD66_021D9390
|
|
add r4, r0, #0
|
|
beq _021D940C
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
bne _021D9426
|
|
_021D940C:
|
|
ldr r3, [r5, #4]
|
|
cmp r3, #0
|
|
beq _021D9420
|
|
ldrb r1, [r3, #9]
|
|
ldr r0, [r3, #0x18]
|
|
add r2, r1, #5
|
|
ldr r1, [r3, #0x14]
|
|
add r1, r2, r1
|
|
bl FUN_02020248
|
|
_021D9420:
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
pop {r3, r4, r5, pc}
|
|
_021D9426:
|
|
ldr r1, [r5, #4]
|
|
cmp r1, #0
|
|
bne _021D9434
|
|
mov r0, #0
|
|
strb r0, [r5, #2]
|
|
strb r0, [r5, #3]
|
|
b _021D9450
|
|
_021D9434:
|
|
ldrh r2, [r4, #0xa]
|
|
ldr r0, _021D9458 ; =0x0000FFFE
|
|
add r0, r2, r0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
cmp r0, #1
|
|
bhi _021D9450
|
|
ldrb r2, [r1, #9]
|
|
ldr r0, [r1, #0x18]
|
|
ldr r1, [r1, #0x14]
|
|
add r2, r2, #5
|
|
add r1, r2, r1
|
|
bl FUN_02020248
|
|
_021D9450:
|
|
str r4, [r5, #4]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021D9458: .word 0x0000FFFE
|
|
thumb_func_end MOD66_021D93F4
|
|
|
|
thumb_func_start MOD66_021D945C
|
|
MOD66_021D945C: ; 0x021D945C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r3, [r4, #4]
|
|
cmp r3, #0
|
|
beq _021D94A0
|
|
cmp r1, #1
|
|
bne _021D94A0
|
|
ldrb r0, [r4, #3]
|
|
cmp r0, #0
|
|
ldr r0, [r3, #0x18]
|
|
bne _021D947C
|
|
ldrb r1, [r3, #9]
|
|
add r1, #8
|
|
bl FUN_02020248
|
|
b _021D9488
|
|
_021D947C:
|
|
ldrb r1, [r3, #9]
|
|
add r2, r1, #5
|
|
ldr r1, [r3, #0x14]
|
|
add r1, r2, r1
|
|
bl FUN_02020248
|
|
_021D9488:
|
|
ldrb r0, [r4, #2]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #2]
|
|
ldrb r0, [r4, #2]
|
|
cmp r0, #0x10
|
|
bne _021D94A0
|
|
mov r0, #0
|
|
strb r0, [r4, #2]
|
|
ldrb r1, [r4, #3]
|
|
mov r0, #1
|
|
eor r0, r1
|
|
strb r0, [r4, #3]
|
|
_021D94A0:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D945C
|
|
|
|
thumb_func_start MOD66_021D94A4
|
|
MOD66_021D94A4: ; 0x021D94A4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x4c
|
|
add r5, r0, #0
|
|
add r0, sp, #4
|
|
add r4, r1, #0
|
|
bl FS_InitFile
|
|
add r0, sp, #4
|
|
add r1, r5, #0
|
|
bl FS_OpenFile
|
|
cmp r0, #0
|
|
bne _021D94C8
|
|
bl ErrorHandling
|
|
add sp, #0x4c
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021D94C8:
|
|
add r0, sp, #4
|
|
add r1, sp, #0
|
|
mov r2, #4
|
|
bl FS_ReadFile
|
|
cmp r0, #0
|
|
bge _021D94DA
|
|
bl ErrorHandling
|
|
_021D94DA:
|
|
add r0, r4, #0
|
|
mov r1, #8
|
|
bl AllocFromHeap
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
strb r0, [r6]
|
|
strb r0, [r6, #1]
|
|
strb r0, [r6, #2]
|
|
strb r0, [r6, #3]
|
|
strb r0, [r6, #4]
|
|
strb r0, [r6, #5]
|
|
strb r0, [r6, #6]
|
|
strb r0, [r6, #7]
|
|
ldr r2, [sp]
|
|
mov r1, #0x18
|
|
add r0, r4, #0
|
|
mul r1, r2
|
|
bl AllocFromHeap
|
|
str r0, [r6, #4]
|
|
ldr r3, [sp]
|
|
mov r2, #0x18
|
|
mov r1, #0
|
|
mul r2, r3
|
|
bl memset
|
|
ldr r0, [sp]
|
|
mov r4, #0
|
|
str r0, [r6]
|
|
cmp r0, #0
|
|
ble _021D9536
|
|
add r5, r4, #0
|
|
_021D951C:
|
|
ldr r0, [r6, #4]
|
|
mov r2, #0x18
|
|
add r7, r0, r5
|
|
add r0, sp, #4
|
|
add r1, r7, #0
|
|
bl FS_ReadFile
|
|
strh r4, [r7, #0x16]
|
|
ldr r0, [r6]
|
|
add r4, r4, #1
|
|
add r5, #0x18
|
|
cmp r4, r0
|
|
blt _021D951C
|
|
_021D9536:
|
|
add r0, sp, #4
|
|
bl FS_CloseFile
|
|
add r0, r6, #0
|
|
add sp, #0x4c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D94A4
|
|
|
|
thumb_func_start MOD66_021D9544
|
|
MOD66_021D9544: ; 0x021D9544
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D9544
|
|
|
|
thumb_func_start MOD66_021D9558
|
|
MOD66_021D9558: ; 0x021D9558
|
|
push {r3, r4, r5, r6}
|
|
ldr r6, [r0]
|
|
mov r5, #0
|
|
cmp r6, #0
|
|
ble _021D9588
|
|
ldr r0, [r0, #4]
|
|
_021D9564:
|
|
ldrh r4, [r0]
|
|
cmp r4, r1
|
|
bne _021D9580
|
|
ldrh r4, [r0, #2]
|
|
cmp r4, r2
|
|
bne _021D9580
|
|
ldrh r1, [r0, #0x14]
|
|
cmp r1, #0
|
|
beq _021D958A
|
|
tst r1, r3
|
|
bne _021D958A
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
_021D9580:
|
|
add r5, r5, #1
|
|
add r0, #0x18
|
|
cmp r5, r6
|
|
blt _021D9564
|
|
_021D9588:
|
|
mov r0, #0
|
|
_021D958A:
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end MOD66_021D9558
|
|
|
|
.section .rodata
|
|
; 0x021D9590
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB5, 0x7B, 0x1D, 0x02, 0x05, 0x7C, 0x1D, 0x02
|
|
.byte 0xAD, 0x7C, 0x1D, 0x02, 0xF9, 0x7C, 0x1D, 0x02, 0x99, 0x7D, 0x1D, 0x02, 0x55, 0x7E, 0x1D, 0x02
|
|
.byte 0xA1, 0x7E, 0x1D, 0x02, 0xD5, 0x7B, 0x1D, 0x02, 0xB5, 0x7E, 0x1D, 0x02, 0xB5, 0x7B, 0x1D, 0x02
|
|
.byte 0x05, 0x7C, 0x1D, 0x02, 0xAD, 0x7C, 0x1D, 0x02, 0xF9, 0x7C, 0x1D, 0x02, 0xD5, 0x7D, 0x1D, 0x02
|
|
.byte 0x55, 0x7E, 0x1D, 0x02, 0xA1, 0x7E, 0x1D, 0x02, 0xD5, 0x7B, 0x1D, 0x02, 0xB5, 0x7E, 0x1D, 0x02
|
|
.byte 0xB5, 0x7B, 0x1D, 0x02, 0x05, 0x7C, 0x1D, 0x02, 0x25, 0x7D, 0x1D, 0x02, 0x6D, 0x7D, 0x1D, 0x02
|
|
.byte 0x2D, 0x7E, 0x1D, 0x02, 0x55, 0x7E, 0x1D, 0x02, 0xA1, 0x7E, 0x1D, 0x02, 0xD5, 0x7B, 0x1D, 0x02
|
|
.byte 0xB5, 0x7E, 0x1D, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1E, 0x00, 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, 0x1D, 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, 0x1C, 0x00, 0x00, 0x03, 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, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1E, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x1A, 0x04
|
|
.byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x16, 0x04, 0x00, 0x03, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x01, 0x00
|
|
.byte 0x00, 0xBF, 0x00, 0xFF, 0x50, 0x88, 0x68, 0x98, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x03, 0x01, 0x02, 0x03, 0x05, 0x03, 0x03, 0x02, 0x02, 0x02
|
|
.byte 0x08, 0x00, 0x03, 0x10, 0x04, 0x04, 0x08, 0x04, 0x03, 0x10, 0x04, 0x04, 0x00, 0x00, 0x06, 0x01
|
|
.byte 0x02, 0x03, 0x00, 0x03, 0x06, 0x02, 0x02, 0x02, 0x00, 0x00, 0x08, 0x10, 0x04, 0x04, 0x00, 0x04
|
|
.byte 0x08, 0x10, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x05, 0x16, 0x0D, 0x03, 0x03
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x30, 0x2A, 0x05, 0x06, 0x02, 0x00, 0x1A, 0x00
|
|
.byte 0x03, 0x03, 0x02, 0x03, 0x1B, 0x00, 0x02, 0x09, 0x04, 0x00, 0x39, 0x0C, 0x04, 0x04, 0x04, 0x04
|
|
.byte 0x39, 0x0C, 0x04, 0x13, 0x0B, 0x00, 0x13, 0x00, 0xCF, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x14, 0x00
|
|
.byte 0xCF, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x15, 0x00, 0xCF, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x16, 0x00
|
|
.byte 0xCF, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0xCF, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x0D, 0x00
|
|
.byte 0xCF, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x0E, 0x00, 0xCF, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x0F, 0x00
|
|
.byte 0xCF, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x00, 0xCF, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x11, 0x00
|
|
.byte 0xCF, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x12, 0x00, 0xCF, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x13, 0x00
|
|
.byte 0xCF, 0x00, 0x00, 0x00, 0x14, 0x00, 0x0C, 0x00, 0x42, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xCC, 0x9A, 0x1D, 0x02, 0xB4, 0x9A, 0x1D, 0x02
|
|
.byte 0xFC, 0x9A, 0x1D, 0x02, 0xE4, 0x9A, 0x1D, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x14, 0x9B, 0x1D, 0x02, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x01, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0xBD, 0x00, 0x00, 0x00
|
|
.byte 0xA2, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00
|
|
.byte 0xB6, 0x00, 0x00, 0x00, 0xAA, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x23, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0xB1, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x00, 0xBA, 0x01, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00
|
|
.byte 0xC2, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x00
|
|
.byte 0x46, 0x00, 0x00, 0x00, 0xC9, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xAF, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x01, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x9D, 0x00, 0x00, 0x00
|
|
.byte 0x2D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
|
|
.byte 0xA4, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00
|
|
.byte 0x42, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x01, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x00, 0x00
|
|
.byte 0x84, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00
|
|
.byte 0x81, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00
|
|
.byte 0xB9, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x01, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0xBC, 0x00, 0x00, 0x00
|
|
.byte 0x11, 0x00, 0x00, 0x00, 0x05, 0x01, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00
|
|
.byte 0x88, 0x01, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x06, 0x01, 0x01, 0x00, 0x3F, 0x00, 0x00, 0x00
|
|
.byte 0xC4, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06, 0x01, 0x02, 0x00
|
|
.byte 0xB6, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x01, 0x03, 0x00, 0xB6, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00
|
|
|
|
.section .data
|
|
; 0x021D9AA0
|
|
.byte 0x64, 0x61, 0x74, 0x61, 0x2F, 0x74, 0x6D, 0x61, 0x70, 0x5F, 0x62, 0x6C, 0x6F, 0x63, 0x6B, 0x2E
|
|
.byte 0x64, 0x61, 0x74, 0x00, 0x64, 0x61, 0x74, 0x61, 0x2F, 0x74, 0x6D, 0x61, 0x70, 0x6E, 0x5F, 0x70
|
|
.byte 0x61, 0x6C, 0x2E, 0x72, 0x65, 0x73, 0x64, 0x61, 0x74, 0x00, 0x00, 0x00, 0x64, 0x61, 0x74, 0x61
|
|
.byte 0x2F, 0x74, 0x6D, 0x61, 0x70, 0x6E, 0x5F, 0x63, 0x68, 0x72, 0x2E, 0x72, 0x65, 0x73, 0x64, 0x61
|
|
.byte 0x74, 0x00, 0x00, 0x00, 0x64, 0x61, 0x74, 0x61, 0x2F, 0x74, 0x6D, 0x61, 0x70, 0x6E, 0x5F, 0x63
|
|
.byte 0x61, 0x6E, 0x6D, 0x2E, 0x72, 0x65, 0x73, 0x64, 0x61, 0x74, 0x00, 0x00, 0x64, 0x61, 0x74, 0x61
|
|
.byte 0x2F, 0x74, 0x6D, 0x61, 0x70, 0x6E, 0x5F, 0x63, 0x65, 0x6C, 0x6C, 0x2E, 0x72, 0x65, 0x73, 0x64
|
|
.byte 0x61, 0x74, 0x00, 0x00, 0x64, 0x61, 0x74, 0x61, 0x2F, 0x74, 0x6D, 0x61, 0x70, 0x6E, 0x5F, 0x63
|
|
.byte 0x65, 0x6C, 0x61, 0x63, 0x74, 0x2E, 0x63, 0x6C, 0x64, 0x61, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|